Skip to content

Commit 825eea9

Browse files
committed
Massive rewrite
1 parent 28230fb commit 825eea9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+443
-446
lines changed

extern.php

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ function get_current_url($max_length = 0)
136136
}
137137

138138
//
139-
// Fill $feather->user with default values (for guests)
139+
// Fill Container::get('user') with default values (for guests)
140140
//
141141
function set_default_user()
142142
{
@@ -161,11 +161,11 @@ function set_default_user()
161161
exit('Unable to fetch guest information. Your database must contain both a guest user and a guest user group.');
162162
}
163163

164-
foreach ($result as $feather->user);
164+
foreach ($result as Container::get('user'));
165165

166166
// Update online list
167-
if (!$feather->user->logged) {
168-
$feather->user->logged = time();
167+
if (!Container::get('user')->logged) {
168+
Container::get('user')->logged = time();
169169

170170
// With MySQL/MySQLi/SQLite, REPLACE INTO avoids a user having two rows in the online table
171171
switch (Config::get('forum_settings')['db_type']) {
@@ -175,26 +175,26 @@ function set_default_user()
175175
case 'mysqli_innodb':
176176
case 'sqlite':
177177
case 'sqlite3':
178-
\DB::for_table('online')->raw_execute('REPLACE INTO '.Config::get('forum_settings')['db_prefix'].'online (user_id, ident, logged) VALUES(1, :ident, :logged)', array(':ident' => $remote_addr, ':logged' => $feather->user->logged));
178+
\DB::for_table('online')->raw_execute('REPLACE INTO '.Config::get('forum_settings')['db_prefix'].'online (user_id, ident, logged) VALUES(1, :ident, :logged)', array(':ident' => $remote_addr, ':logged' => Container::get('user')->logged));
179179
break;
180180

181181
default:
182-
\DB::for_table('online')->raw_execute('INSERT INTO '.Config::get('forum_settings')['db_prefix'].'online (user_id, ident, logged) SELECT 1, :ident, :logged WHERE NOT EXISTS (SELECT 1 FROM '.Config::get('forum_settings')['db_prefix'].'online WHERE ident=:ident)', array(':ident' => $remote_addr, ':logged' => $feather->user->logged));
182+
\DB::for_table('online')->raw_execute('INSERT INTO '.Config::get('forum_settings')['db_prefix'].'online (user_id, ident, logged) SELECT 1, :ident, :logged WHERE NOT EXISTS (SELECT 1 FROM '.Config::get('forum_settings')['db_prefix'].'online WHERE ident=:ident)', array(':ident' => $remote_addr, ':logged' => Container::get('user')->logged));
183183
break;
184184
}
185185
} else {
186186
\DB::for_table('online')->where('ident', $remote_addr)
187187
->update_many('logged', time());
188188
}
189189

190-
$feather->user->disp_topics = Config::get('forum_settings')['o_disp_topics_default'];
191-
$feather->user->disp_posts = Config::get('forum_settings')['o_disp_posts_default'];
192-
$feather->user->timezone = Config::get('forum_settings')['o_default_timezone'];
193-
$feather->user->dst = Config::get('forum_settings')['o_default_dst'];
194-
$feather->user->language = Config::get('forum_settings')['o_default_lang'];
195-
$feather->user->style = Config::get('forum_settings')['o_default_style'];
196-
$feather->user->is_guest = true;
197-
$feather->user->is_admmod = false;
190+
Container::get('user')->disp_topics = Config::get('forum_settings')['o_disp_topics_default'];
191+
Container::get('user')->disp_posts = Config::get('forum_settings')['o_disp_posts_default'];
192+
Container::get('user')->timezone = Config::get('forum_settings')['o_default_timezone'];
193+
Container::get('user')->dst = Config::get('forum_settings')['o_default_dst'];
194+
Container::get('user')->language = Config::get('forum_settings')['o_default_lang'];
195+
Container::get('user')->style = Config::get('forum_settings')['o_default_style'];
196+
Container::get('user')->is_guest = true;
197+
Container::get('user')->is_admmod = false;
198198
}
199199

200200
//
@@ -224,26 +224,26 @@ function authenticate_user($user, $password, $password_is_hash = false)
224224

225225
$result = $result->find_result_set();
226226

227-
foreach ($result as $feather->user);
227+
foreach ($result as Container::get('user'));
228228

229-
if (!isset($feather->user->id) ||
230-
($password_is_hash && $password != $feather->user->password) ||
231-
(!$password_is_hash && \FeatherBB\Core\Random::hash($password) != $feather->user->password)) {
229+
if (!isset(Container::get('user')->id) ||
230+
($password_is_hash && $password != Container::get('user')->password) ||
231+
(!$password_is_hash && \FeatherBB\Core\Random::hash($password) != Container::get('user')->password)) {
232232
set_default_user();
233233
} else {
234-
$feather->user->is_guest = false;
234+
Container::get('user')->is_guest = false;
235235
}
236236

237-
load_textdomain('featherbb', FEATHER_ROOT.'featherbb/lang/'.$feather->user->language.'/common.mo');
238-
load_textdomain('featherbb', FEATHER_ROOT.'featherbb/lang/'.$feather->user->language.'/index.mo');
237+
load_textdomain('featherbb', FEATHER_ROOT.'featherbb/lang/'.Container::get('user')->language.'/common.mo');
238+
load_textdomain('featherbb', FEATHER_ROOT.'featherbb/lang/'.Container::get('user')->language.'/index.mo');
239239
}
240240

241241
// If we're a guest and we've sent a username/pass, we can try to authenticate using those details
242-
if ($feather->user->is_guest && isset($_SERVER['PHP_AUTH_USER'])) {
242+
if (Container::get('user')->is_guest && isset($_SERVER['PHP_AUTH_USER'])) {
243243
authenticate_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
244244
}
245245

246-
if ($feather->user->g_read_board == '0') {
246+
if (Container::get('user')->g_read_board == '0') {
247247
http_authenticate_user();
248248
exit(__('No view'));
249249
}
@@ -270,7 +270,7 @@ function http_authenticate_user()
270270
{
271271
global $feather;
272272

273-
if (!$feather->user->is_guest) {
273+
if (!Container::get('user')->is_guest) {
274274
return;
275275
}
276276

@@ -473,7 +473,7 @@ function output_html($feed)
473473
$cur_topic = \DB::for_table('topics')->table_alias('t')
474474
->select_many($select_show_recent_topics)
475475
->left_outer_join('forum_perms', array('fp.forum_id', '=', 't.forum_id'), 'fp')
476-
->left_outer_join('forum_perms', array('fp.group_id', '=', $feather->user->g_id), null, true)
476+
->left_outer_join('forum_perms', array('fp.group_id', '=', Container::get('user')->g_id), null, true)
477477
->where_any_is($where_show_recent_topics)
478478
->where_null('t.moved_to')
479479
->where('t.id', $tid)
@@ -524,12 +524,12 @@ function output_html($feed)
524524
);
525525

526526
if ($cur_post['poster_id'] > 1) {
527-
if ($cur_post['email_setting'] == '0' && !$feather->user->is_guest) {
527+
if ($cur_post['email_setting'] == '0' && !Container::get('user')->is_guest) {
528528
$item['author']['email'] = $cur_post['email'];
529529
}
530530

531531
$item['author']['uri'] = Url::get('user/'.$cur_post['poster_id'].'/');
532-
} elseif ($cur_post['poster_email'] != '' && !$feather->user->is_guest) {
532+
} elseif ($cur_post['poster_email'] != '' && !Container::get('user')->is_guest) {
533533
$item['author']['email'] = $cur_post['poster_email'];
534534
}
535535

@@ -563,7 +563,7 @@ function output_html($feed)
563563

564564
$cur_topic = \DB::for_table('forums')->table_alias('f')
565565
->left_outer_join('forum_perms', array('fp.forum_id', '=', 'f.id'), 'fp')
566-
->left_outer_join('forum_perms', array('fp.group_id', '=', $feather->user->g_id), null, true)
566+
->left_outer_join('forum_perms', array('fp.group_id', '=', Container::get('user')->g_id), null, true)
567567
->where_any_is($where_show_forum_name)
568568
->where('f.id', $fids[0])
569569
->find_one_col('f.forum_name');
@@ -586,7 +586,7 @@ function output_html($feed)
586586

587587
// Only attempt to cache if caching is enabled and we have all or a single forum
588588
if (Config::get('forum_settings')['o_feed_ttl'] > 0 && ($forum_sql == '' || ($forum_name != '' && !isset($_GET['nfid'])))) {
589-
$cache_id = 'feed'.sha1($feather->user->g_id.'|'.__('lang_identifier').'|'.($order_posted ? '1' : '0').($forum_name == '' ? '' : '|'.$fids[0]));
589+
$cache_id = 'feed'.sha1(Container::get('user')->g_id.'|'.__('lang_identifier').'|'.($order_posted ? '1' : '0').($forum_name == '' ? '' : '|'.$fids[0]));
590590
}
591591

592592
// Load cached feed
@@ -616,7 +616,7 @@ function output_html($feed)
616616
->inner_join('posts', array('p.id', '=', ($order_posted ? 't.first_post_id' : 't.last_post_id')), 'p')
617617
->inner_join('users', array('u.id', '=', 'p.poster_id'), 'u')
618618
->left_outer_join('forum_perms', array('fp.forum_id', '=', 't.forum_id'), 'fp')
619-
->left_outer_join('forum_perms', array('fp.group_id', '=', $feather->user->g_id), null, true)
619+
->left_outer_join('forum_perms', array('fp.group_id', '=', Container::get('user')->g_id), null, true)
620620
->where_any_is($where_print_posts)
621621
->where_null('t.moved_to')
622622
->order_by(($order_posted ? 't.posted' : 't.last_post'))
@@ -642,12 +642,12 @@ function output_html($feed)
642642
);
643643

644644
if ($cur_topic['poster_id'] > 1) {
645-
if ($cur_topic['email_setting'] == '0' && !$feather->user->is_guest) {
645+
if ($cur_topic['email_setting'] == '0' && !Container::get('user')->is_guest) {
646646
$item['author']['email'] = $cur_topic['email'];
647647
}
648648

649649
$item['author']['uri'] = Url::get('user/'.$cur_topic['poster_id'].'/');
650-
} elseif ($cur_topic['poster_email'] != '' && !$feather->user->is_guest) {
650+
} elseif ($cur_topic['poster_email'] != '' && !Container::get('user')->is_guest) {
651651
$item['author']['email'] = $cur_topic['poster_email'];
652652
}
653653

@@ -707,7 +707,7 @@ function output_html($feed)
707707

708708
foreach ($result as $feather_user_online) {
709709
if ($feather_user_online['user_id'] > 1) {
710-
$users[] = ($feather->user->g_view_users == '1') ? '<a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3C%2Fspan%3E%27%3C%2Fspan%3E.Url%3A%3A%3Cspan+class%3D"pl-en">get('user/'.$feather_user_online['user_id'].'/').'">'.Utils::escape($feather_user_online['ident']).'</a>' : Utils::escape($feather_user_online['ident']);
710+
$users[] = (Container::get('user')->g_view_users == '1') ? '<a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3C%2Fspan%3E%27%3C%2Fspan%3E.Url%3A%3A%3Cspan+class%3D"pl-en">get('user/'.$feather_user_online['user_id'].'/').'">'.Utils::escape($feather_user_online['ident']).'</a>' : Utils::escape($feather_user_online['ident']);
711711
++$num_users;
712712
} else {
713713
++$num_guests;
@@ -755,7 +755,7 @@ function output_html($feed)
755755
header('Pragma: public');
756756

757757
echo sprintf(__('No of users'), Utils::forum_number_format($stats['total_users'])).'<br />'."\n";
758-
echo sprintf(__('Newest user'), (($feather->user->g_view_users == '1') ? '<a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3C%2Fspan%3E%27%3C%2Fspan%3E.Url%3A%3A%3Cspan+class%3D"pl-en">get('user/'.$stats['last_user']['id'].'/').'">'.Utils::escape($stats['last_user']['username']).'</a>' : Utils::escape($stats['last_user']['username']))).'<br />'."\n";
758+
echo sprintf(__('Newest user'), ((Container::get('user')->g_view_users == '1') ? '<a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3C%2Fspan%3E%27%3C%2Fspan%3E.Url%3A%3A%3Cspan+class%3D"pl-en">get('user/'.$stats['last_user']['id'].'/').'">'.Utils::escape($stats['last_user']['username']).'</a>' : Utils::escape($stats['last_user']['username']))).'<br />'."\n";
759759
echo sprintf(__('No of topics'), Utils::forum_number_format($stats['total_topics'])).'<br />'."\n";
760760
echo sprintf(__('No of posts'), Utils::forum_number_format($stats['total_posts'])).'<br />'."\n";
761761

featherbb/Controller/Admin/Maintenance.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function display()
3636
$this->model->rebuild();
3737

3838
View::setPageInfo(array(
39-
'page_title' => array(Utils::escape($this->feather->forum_settings['o_board_title']), __('Rebuilding search index')),
39+
'page_title' => array(Utils::escape(Config::get('forum_settings')['o_board_title']), __('Rebuilding search index')),
4040
'query_str' => $this->model->get_query_str()
4141
)
4242
)->addTemplate('admin/maintenance/rebuild.php')->display();
@@ -53,7 +53,7 @@ public function display()
5353
}
5454

5555
View::setPageInfo(array(
56-
'title' => array(Utils::escape($this->feather->forum_settings['o_board_title']), __('Admin'), __('Prune')),
56+
'title' => array(Utils::escape(Config::get('forum_settings')['o_board_title']), __('Admin'), __('Prune')),
5757
'active_page' => 'admin',
5858
'admin_console' => true,
5959
'prune_sticky' => $prune_sticky,
@@ -66,7 +66,7 @@ public function display()
6666
AdminUtils::generateAdminMenu('maintenance');
6767

6868
View::setPageInfo(array(
69-
'title' => array(Utils::escape($this->feather->forum_settings['o_board_title']), __('Admin'), __('Maintenance')),
69+
'title' => array(Utils::escape(Config::get('forum_settings')['o_board_title']), __('Admin'), __('Maintenance')),
7070
'active_page' => 'admin',
7171
'admin_console' => true,
7272
'first_id' => $this->model->get_first_id(),

featherbb/Controller/Auth.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function login()
4343
$form_password_hash = Random::hash($form_password); // Will result in a SHA-1 hash
4444
if ($user->password == $form_password_hash) {
4545
if ($user->group_id == Config::get('forum_env')['FEATHER_UNVERIFIED']) {
46-
ModelAuth::update_group($user->id, $this->feather->forum_settings['o_default_user_group']);
46+
ModelAuth::update_group($user->id, Config::get('forum_settings')['o_default_user_group']);
4747
if (!$this->feather->cache->isCached('users_info')) {
4848
$this->feather->cache->store('users_info', Cache::get_users_info());
4949
}
@@ -53,18 +53,18 @@ public function login()
5353
// Reset tracked topics
5454
Track::set_tracked_topics(null);
5555

56-
$expire = ($save_pass) ? $this->feather->now + 1209600 : $this->feather->now + $this->feather->forum_settings['o_timeout_visit'];
56+
$expire = ($save_pass) ? $this->feather->now + 1209600 : $this->feather->now + Config::get('forum_settings')['o_timeout_visit'];
5757
$expire = Container::get('hooks')->fire('controller.expire_login', $expire);
5858
ModelAuth::feather_setcookie($user->id, $form_password_hash, $expire);
5959

6060
Router::redirect(Router::pathFor('home'), __('Login redirect'));
6161
}
6262
}
63-
throw new Error(__('Wrong user/pass').' <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3C%2Fspan%3E%27%3C%2Fspan%3E.%3Cspan+class%3D"pl-s1">$this->feather->urlFor('resetPassword').'">'.__('Forgotten pass').'</a>', 403);
63+
throw new Error(__('Wrong user/pass').' <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3C%2Fspan%3E%27%3C%2Fspan%3E.%3Cspan+class%3D"x x-first">Router::pathFor('resetPassword').'">'.__('Forgotten pass').'</a>', 403);
6464
} else {
6565
View::setPageInfo(array(
6666
'active_page' => 'login',
67-
'title' => array(Utils::escape($this->feather->forum_settings['o_board_title']), __('Login')),
67+
'title' => array(Utils::escape(Config::get('forum_settings')['o_board_title']), __('Login')),
6868
'required_fields' => array('req_username' => __('Username'), 'req_password' => __('Password')),
6969
'focus_element' => array('login', 'req_username'),
7070
)
@@ -119,7 +119,7 @@ public function forget()
119119

120120
// Do the generic replacements first (they apply to all emails sent out here)
121121
$mail_message = str_replace('<base_url>', Url::base().'/', $mail_message);
122-
$mail_message = str_replace('<board_mailer>', $this->feather->forum_settings['o_board_title'], $mail_message);
122+
$mail_message = str_replace('<board_mailer>', Config::get('forum_settings')['o_board_title'], $mail_message);
123123

124124
$mail_message = Container::get('hooks')->fire('controller.mail_message_password_forgotten', $mail_message);
125125

@@ -135,13 +135,13 @@ public function forget()
135135

136136
// Do the user specific replacements to the template
137137
$cur_mail_message = str_replace('<username>', $user->username, $mail_message);
138-
$cur_mail_message = str_replace('<activation_url>', $this->feather->urlFor('profileAction', ['action' => 'change_pass']).'?key='.$new_password_key, $cur_mail_message);
138+
$cur_mail_message = str_replace('<activation_url>', Router::pathFor('profileAction', ['action' => 'change_pass']).'?key='.$new_password_key, $cur_mail_message);
139139
$cur_mail_message = str_replace('<new_password>', $new_password, $cur_mail_message);
140140
$cur_mail_message = Container::get('hooks')->fire('controller.cur_mail_message_password_forgotten', $cur_mail_message);
141141

142142
$this->feather->email->feather_mail($email, $mail_subject, $cur_mail_message);
143143

144-
Router::redirect(Router::pathFor('home'), __('Forget mail').' <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2Fmailto%3A%3C%2Fspan%3E%27%3C%2Fspan%3E.%3Cspan+class%3D"pl-s1">$this->feather->utils->escape($this->feather->forum_settings['o_admin_email']).'">'.$this->feather->utils->escape($this->feather->forum_settings['o_admin_email']).'</a>.', 200);
144+
Router::redirect(Router::pathFor('home'), __('Forget mail').' <a href="proxy.php?url=https%3A%2F%2Fgithub.com%2Fmailto%3A%3C%2Fspan%3E%27%3C%2Fspan%3E.%3Cspan+class%3D"x x-first x-last">Utils::escape(Config::get('forum_settings')['o_admin_email']).'">'.Utils::escape(Config::get('forum_settings')['o_admin_email']).'</a>.', 200);
145145
} else {
146146
throw new Error(__('No email match').' '.Utils::escape($email).'.', 400);
147147
}
@@ -150,7 +150,7 @@ public function forget()
150150
View::setPageInfo(array(
151151
// 'errors' => $this->model->password_forgotten(),
152152
'active_page' => 'login',
153-
'title' => array(Utils::escape($this->feather->forum_settings['o_board_title']), __('Request pass')),
153+
'title' => array(Utils::escape(Config::get('forum_settings')['o_board_title']), __('Request pass')),
154154
'required_fields' => array('req_email' => __('Email')),
155155
'focus_element' => array('request_pass', 'req_email'),
156156
)

0 commit comments

Comments
 (0)