aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_main.php
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2007-02-27 20:03:52 +0000
committerDavid M <davidmj@users.sourceforge.net>2007-02-27 20:03:52 +0000
commit9b3c2a664e8921c595b7b39bbfbb277d96348970 (patch)
tree1143b571bd41b4d799179c54861692d73899d769 /phpBB/includes/acp/acp_main.php
parentd5cfa341f3ee1fb70b8a702c5ca84702293ce78f (diff)
downloadforums-9b3c2a664e8921c595b7b39bbfbb277d96348970.tar
forums-9b3c2a664e8921c595b7b39bbfbb277d96348970.tar.gz
forums-9b3c2a664e8921c595b7b39bbfbb277d96348970.tar.bz2
forums-9b3c2a664e8921c595b7b39bbfbb277d96348970.tar.xz
forums-9b3c2a664e8921c595b7b39bbfbb277d96348970.zip
#8376
git-svn-id: file:///svn/phpbb/trunk@7093 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/acp/acp_main.php')
-rw-r--r--phpBB/includes/acp/acp_main.php359
1 files changed, 182 insertions, 177 deletions
diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php
index 14f6571177..367b38fd25 100644
--- a/phpBB/includes/acp/acp_main.php
+++ b/phpBB/includes/acp/acp_main.php
@@ -51,206 +51,211 @@ class acp_main
$action = request_var('action', '');
- if ($action && !confirm_box(true))
+ if ($action)
{
- switch ($action)
+ if (!confirm_box(true))
{
- case 'online':
- $confirm = true;
- $confirm_lang = 'RESET_ONLINE_CONFIRM';
- break;
- case 'stats':
- $confirm = true;
- $confirm_lang = 'RESYNC_STATS_CONFIRM';
- break;
- case 'user':
- $confirm = true;
- $confirm_lang = 'RESYNC_POSTCOUNTS_CONFIRM';
- break;
- case 'date':
- $confirm = true;
- $confirm_lang = 'RESET_DATE_CONFIRM';
- break;
- case 'db_track':
- $confirm = true;
- $confirm_lang = 'RESYNC_POST_MARKING_CONFIRM';
- break;
-
- default:
- $confirm = true;
- $confirm_lang = 'CONFIRM_OPERATION';
- }
+ switch ($action)
+ {
+ case 'online':
+ $confirm = true;
+ $confirm_lang = 'RESET_ONLINE_CONFIRM';
+ break;
+ case 'stats':
+ $confirm = true;
+ $confirm_lang = 'RESYNC_STATS_CONFIRM';
+ break;
+ case 'user':
+ $confirm = true;
+ $confirm_lang = 'RESYNC_POSTCOUNTS_CONFIRM';
+ break;
+ case 'date':
+ $confirm = true;
+ $confirm_lang = 'RESET_DATE_CONFIRM';
+ break;
+ case 'db_track':
+ $confirm = true;
+ $confirm_lang = 'RESYNC_POST_MARKING_CONFIRM';
+ break;
- if ($confirm)
- {
- confirm_box(false, $user->lang[$confirm_lang], build_hidden_fields(array(
- 'i' => $id,
- 'mode' => $mode,
- 'action' => $action,
- )));
- }
- }
+ default:
+ $confirm = true;
+ $confirm_lang = 'CONFIRM_OPERATION';
+ }
- switch ($action)
- {
- case 'online':
- if (!$auth->acl_get('a_board'))
+ if ($confirm)
{
- trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
+ confirm_box(false, $user->lang[$confirm_lang], build_hidden_fields(array(
+ 'i' => $id,
+ 'mode' => $mode,
+ 'action' => $action,
+ )));
}
+ }
+ else
+ {
+ switch ($action)
+ {
+ case 'online':
+ if (!$auth->acl_get('a_board'))
+ {
+ trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
- set_config('record_online_users', 1, true);
- set_config('record_online_date', time(), true);
- add_log('admin', 'LOG_RESET_ONLINE');
- break;
+ set_config('record_online_users', 1, true);
+ set_config('record_online_date', time(), true);
+ add_log('admin', 'LOG_RESET_ONLINE');
+ break;
- case 'stats':
- if (!$auth->acl_get('a_board'))
- {
- trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
- }
+ case 'stats':
+ if (!$auth->acl_get('a_board'))
+ {
+ trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
- $sql = 'SELECT COUNT(post_id) AS stat
- FROM ' . POSTS_TABLE . '
- WHERE post_approved = 1';
- $result = $db->sql_query($sql);
- set_config('num_posts', (int) $db->sql_fetchfield('stat'), true);
- $db->sql_freeresult($result);
-
- $sql = 'SELECT COUNT(topic_id) AS stat
- FROM ' . TOPICS_TABLE . '
- WHERE topic_approved = 1';
- $result = $db->sql_query($sql);
- set_config('num_topics', (int) $db->sql_fetchfield('stat'), true);
- $db->sql_freeresult($result);
-
- $sql = 'SELECT COUNT(user_id) AS stat
- FROM ' . USERS_TABLE . '
- WHERE user_type IN (' . USER_NORMAL . ',' . USER_FOUNDER . ')';
- $result = $db->sql_query($sql);
- set_config('num_users', (int) $db->sql_fetchfield('stat'), true);
- $db->sql_freeresult($result);
-
- $sql = 'SELECT COUNT(attach_id) as stat
- FROM ' . ATTACHMENTS_TABLE . '
- WHERE is_orphan = 0';
- $result = $db->sql_query($sql);
- set_config('num_files', (int) $db->sql_fetchfield('stat'), true);
- $db->sql_freeresult($result);
-
- $sql = 'SELECT SUM(filesize) as stat
- FROM ' . ATTACHMENTS_TABLE . '
- WHERE is_orphan = 0';
- $result = $db->sql_query($sql);
- set_config('upload_dir_size', (int) $db->sql_fetchfield('stat'), true);
- $db->sql_freeresult($result);
-
- add_log('admin', 'LOG_RESYNC_STATS');
- break;
-
- case 'user':
- if (!$auth->acl_get('a_board'))
- {
- trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
- }
+ $sql = 'SELECT COUNT(post_id) AS stat
+ FROM ' . POSTS_TABLE . '
+ WHERE post_approved = 1';
+ $result = $db->sql_query($sql);
+ set_config('num_posts', (int) $db->sql_fetchfield('stat'), true);
+ $db->sql_freeresult($result);
+
+ $sql = 'SELECT COUNT(topic_id) AS stat
+ FROM ' . TOPICS_TABLE . '
+ WHERE topic_approved = 1';
+ $result = $db->sql_query($sql);
+ set_config('num_topics', (int) $db->sql_fetchfield('stat'), true);
+ $db->sql_freeresult($result);
+
+ $sql = 'SELECT COUNT(user_id) AS stat
+ FROM ' . USERS_TABLE . '
+ WHERE user_type IN (' . USER_NORMAL . ',' . USER_FOUNDER . ')';
+ $result = $db->sql_query($sql);
+ set_config('num_users', (int) $db->sql_fetchfield('stat'), true);
+ $db->sql_freeresult($result);
+
+ $sql = 'SELECT COUNT(attach_id) as stat
+ FROM ' . ATTACHMENTS_TABLE . '
+ WHERE is_orphan = 0';
+ $result = $db->sql_query($sql);
+ set_config('num_files', (int) $db->sql_fetchfield('stat'), true);
+ $db->sql_freeresult($result);
+
+ $sql = 'SELECT SUM(filesize) as stat
+ FROM ' . ATTACHMENTS_TABLE . '
+ WHERE is_orphan = 0';
+ $result = $db->sql_query($sql);
+ set_config('upload_dir_size', (int) $db->sql_fetchfield('stat'), true);
+ $db->sql_freeresult($result);
+
+ add_log('admin', 'LOG_RESYNC_STATS');
+ break;
- $sql = 'SELECT COUNT(post_id) AS num_posts, poster_id
- FROM ' . POSTS_TABLE . '
- WHERE post_postcount = 1
- GROUP BY poster_id';
- $result = $db->sql_query($sql);
+ case 'user':
+ if (!$auth->acl_get('a_board'))
+ {
+ trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
- while ($row = $db->sql_fetchrow($result))
- {
- $db->sql_query('UPDATE ' . USERS_TABLE . " SET user_posts = {$row['num_posts']} WHERE user_id = {$row['poster_id']}");
- }
- $db->sql_freeresult($result);
+ $sql = 'SELECT COUNT(post_id) AS num_posts, poster_id
+ FROM ' . POSTS_TABLE . '
+ WHERE post_postcount = 1
+ GROUP BY poster_id';
+ $result = $db->sql_query($sql);
- add_log('admin', 'LOG_RESYNC_POSTCOUNTS');
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $db->sql_query('UPDATE ' . USERS_TABLE . " SET user_posts = {$row['num_posts']} WHERE user_id = {$row['poster_id']}");
+ }
+ $db->sql_freeresult($result);
- break;
-
- case 'date':
- if (!$auth->acl_get('a_board'))
- {
- trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
- }
+ add_log('admin', 'LOG_RESYNC_POSTCOUNTS');
- set_config('board_startdate', time() - 1);
- add_log('admin', 'LOG_RESET_DATE');
- break;
-
- case 'db_track':
- switch ($db->sql_layer)
- {
- case 'sqlite':
- case 'firebird':
- $db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE);
break;
+
+ case 'date':
+ if (!$auth->acl_get('a_board'))
+ {
+ trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
- default:
- $db->sql_query('TRUNCATE TABLE ' . TOPICS_POSTED_TABLE);
+ set_config('board_startdate', time() - 1);
+ add_log('admin', 'LOG_RESET_DATE');
break;
- }
+
+ case 'db_track':
+ switch ($db->sql_layer)
+ {
+ case 'sqlite':
+ case 'firebird':
+ $db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE);
+ break;
+
+ default:
+ $db->sql_query('TRUNCATE TABLE ' . TOPICS_POSTED_TABLE);
+ break;
+ }
- // This can get really nasty... therefore we only do the last six months
- $get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60);
-
- // Select forum ids, do not include categories
- $sql = 'SELECT forum_id
- FROM ' . FORUMS_TABLE . '
- WHERE forum_type <> ' . FORUM_CAT;
- $result = $db->sql_query($sql);
-
- $forum_ids = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $forum_ids[] = $row['forum_id'];
- }
- $db->sql_freeresult($result);
+ // This can get really nasty... therefore we only do the last six months
+ $get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60);
+
+ // Select forum ids, do not include categories
+ $sql = 'SELECT forum_id
+ FROM ' . FORUMS_TABLE . '
+ WHERE forum_type <> ' . FORUM_CAT;
+ $result = $db->sql_query($sql);
+
+ $forum_ids = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $forum_ids[] = $row['forum_id'];
+ }
+ $db->sql_freeresult($result);
- // Any global announcements? ;)
- $forum_ids[] = 0;
+ // Any global announcements? ;)
+ $forum_ids[] = 0;
- // Now go through the forums and get us some topics...
- foreach ($forum_ids as $forum_id)
- {
- $sql = 'SELECT p.poster_id, p.topic_id
- FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
- WHERE t.forum_id = ' . $forum_id . '
- AND t.topic_moved_id = 0
- AND t.topic_last_post_time > ' . $get_from_time . '
- AND t.topic_id = p.topic_id
- AND p.poster_id <> ' . ANONYMOUS . '
- GROUP BY p.poster_id, p.topic_id';
- $result = $db->sql_query($sql);
-
- $posted = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $posted[$row['poster_id']][] = $row['topic_id'];
- }
- $db->sql_freeresult($result);
-
- $sql_ary = array();
- foreach ($posted as $user_id => $topic_row)
- {
- foreach ($topic_row as $topic_id)
+ // Now go through the forums and get us some topics...
+ foreach ($forum_ids as $forum_id)
{
- $sql_ary[] = array(
- 'user_id' => $user_id,
- 'topic_id' => $topic_id,
- 'topic_posted' => 1,
- );
+ $sql = 'SELECT p.poster_id, p.topic_id
+ FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
+ WHERE t.forum_id = ' . $forum_id . '
+ AND t.topic_moved_id = 0
+ AND t.topic_last_post_time > ' . $get_from_time . '
+ AND t.topic_id = p.topic_id
+ AND p.poster_id <> ' . ANONYMOUS . '
+ GROUP BY p.poster_id, p.topic_id';
+ $result = $db->sql_query($sql);
+
+ $posted = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $posted[$row['poster_id']][] = $row['topic_id'];
+ }
+ $db->sql_freeresult($result);
+
+ $sql_ary = array();
+ foreach ($posted as $user_id => $topic_row)
+ {
+ foreach ($topic_row as $topic_id)
+ {
+ $sql_ary[] = array(
+ 'user_id' => $user_id,
+ 'topic_id' => $topic_id,
+ 'topic_posted' => 1,
+ );
+ }
+ }
+ unset($posted);
+
+ $db->sql_multi_insert(TOPICS_POSTED_TABLE, $sql_ary);
}
- }
- unset($posted);
-
- $db->sql_multi_insert(TOPICS_POSTED_TABLE, $sql_ary);
+
+ add_log('admin', 'LOG_RESYNC_POST_MARKING');
+ break;
}
-
- add_log('admin', 'LOG_RESYNC_POST_MARKING');
- break;
+ }
}
// Get forum statistics