'.$lang_admin_common['Information'].'';
$forum_page['admin_submenu']['users'] = '';
if ($forum_config['o_censoring'] == '1')
$forum_page['admin_submenu']['censoring'] = '';
$forum_page['admin_submenu']['reports'] = '';
if ($forum_user['g_mod_ban_users'] == '1')
$forum_page['admin_submenu']['bans'] = '';
}
else
{
if (FORUM_PAGE_SECTION == 'start')
{
$forum_page['admin_submenu']['index'] = '';
$forum_page['admin_submenu']['categories'] = '';
$forum_page['admin_submenu']['forums'] = '';
}
else if (FORUM_PAGE_SECTION == 'users')
{
$forum_page['admin_submenu']['users'] = '';
$forum_page['admin_submenu']['groups'] = '';
$forum_page['admin_submenu']['ranks'] = '';
$forum_page['admin_submenu']['bans'] = '';
}
else if (FORUM_PAGE_SECTION == 'settings')
{
$forum_page['admin_submenu']['settings_setup'] = '';
$forum_page['admin_submenu']['settings_features'] = '';
$forum_page['admin_submenu']['settings-announcements'] = '';
$forum_page['admin_submenu']['settings-email'] = '';
$forum_page['admin_submenu']['settings-registration'] = '';
$forum_page['admin_submenu']['censoring'] = '';
}
else if (FORUM_PAGE_SECTION == 'management')
{
$forum_page['admin_submenu']['reports'] = '';
$forum_page['admin_submenu']['prune'] = '';
$forum_page['admin_submenu']['reindex'] = '';
$forum_page['admin_submenu']['options-maintenance'] = ''.$lang_admin_common['Maintenance mode'].'';
}
else if (FORUM_PAGE_SECTION == 'extensions')
{
$forum_page['admin_submenu']['extensions-manage'] = '';
$forum_page['admin_submenu']['extensions-hotfixes'] = '';
}
}
($hook = get_hook('ca_fn_generate_admin_menu_new_sublink')) ? eval($hook) : null;
return (!empty($forum_page['admin_submenu'])) ? implode("\n\t\t", $forum_page['admin_submenu']) : '';
}
else
{
if ($forum_user['g_id'] != FORUM_ADMIN)
$forum_page['admin_menu']['index'] = ''.$lang_admin_common['Moderate'].'';
else
{
$forum_page['admin_menu']['index'] = '';
$forum_page['admin_menu']['settings_setup'] = '';
$forum_page['admin_menu']['users'] = '';
$forum_page['admin_menu']['reports'] = '';
$forum_page['admin_menu']['extensions_manage'] = '';
}
($hook = get_hook('ca_fn_generate_admin_menu_new_link')) ? eval($hook) : null;
return implode("\n\t\t", $forum_page['admin_menu']);
}
}
//
// Delete topics from $forum_id that are "older than" $prune_date (if $prune_sticky is 1, sticky topics will also be deleted)
//
function prune($forum_id, $prune_sticky, $prune_date)
{
global $forum_db, $db_type;
$return = ($hook = get_hook('ca_fn_prune_start')) ? eval($hook) : null;
if ($return != null)
return;
// Fetch topics to prune
$query = array(
'SELECT' => 't.id',
'FROM' => 'topics AS t',
'WHERE' => 't.forum_id='.$forum_id
);
if ($prune_date != -1)
$query['WHERE'] .= ' AND last_post<'.$prune_date;
if (!$prune_sticky)
$query['WHERE'] .= ' AND sticky=\'0\'';
($hook = get_hook('ca_fn_prune_qr_get_topics_to_prune')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
$topic_ids = array();
while ($row = $forum_db->fetch_row($result))
$topic_ids[] = $row[0];
if (!empty($topic_ids))
{
$topic_ids = implode(',', $topic_ids);
// Fetch posts to prune (used lated for updating the search index)
$query = array(
'SELECT' => 'p.id',
'FROM' => 'posts AS p',
'WHERE' => 'p.topic_id IN('.$topic_ids.')'
);
($hook = get_hook('ca_fn_prune_qr_get_posts_to_prune')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
$post_ids = array();
while ($row = $forum_db->fetch_row($result))
$post_ids[] = $row[0];
// Delete topics
$query = array(
'DELETE' => 'topics',
'WHERE' => 'id IN('.$topic_ids.')'
);
($hook = get_hook('ca_fn_prune_qr_prune_topics')) ? eval($hook) : null;
$forum_db->query_build($query) or error(__FILE__, __LINE__);
// Delete posts
$query = array(
'DELETE' => 'posts',
'WHERE' => 'topic_id IN('.$topic_ids.')'
);
($hook = get_hook('ca_fn_prune_qr_prune_posts')) ? eval($hook) : null;
$forum_db->query_build($query) or error(__FILE__, __LINE__);
// Delete subscriptions
$query = array(
'DELETE' => 'subscriptions',
'WHERE' => 'topic_id IN('.$topic_ids.')'
);
($hook = get_hook('ca_fn_prune_qr_prune_subscriptions')) ? eval($hook) : null;
$forum_db->query_build($query) or error(__FILE__, __LINE__);
// We removed a bunch of posts, so now we have to update the search index
if (!defined('FORUM_SEARCH_IDX_FUNCTIONS_LOADED'))
require FORUM_ROOT.'include/search_idx.php';
strip_search_index($post_ids);
}
}
($hook = get_hook('ca_new_function')) ? eval($hook) : null;