$ban) { if ($ban['until'] < time()) { switch ($ban['type']) { case 'bozo': bb_update_usermeta($ban['user_id'], 'is_bozo', 0); unset($temporary_bans[$ban_key]); $temp_ban_over = true; break; case 'blocked': bb_fix_password($ban['user_id']); case 'inactive': bb_give_user_default_role(bb_get_user($ban['user_id'])); unset($temporary_bans[$ban_key]); $temp_ban_over = true; } } } if ($temp_ban_over) { bb_update_option('temporary_bans', $temporary_bans); } } function temporary_ban_admin_page_add() { if (function_exists('bb_admin_add_submenu')) { // Build 794+ bb_admin_add_submenu(__('Temporary ban', 'temporary-ban'), 'moderate', 'temporary_ban_admin_page', 'content.php'); } else { global $bb_submenu; $bb_submenu['content.php'][] = array(__('Temporary ban', 'temporary-ban'), 'moderate', 'temporary_ban_admin_page'); } } add_action('bb_admin_menu_generator', 'temporary_ban_admin_page_add'); function temporary_ban_admin_page() { global $temporary_bans; if($_GET['action'] == 'remove_ban') { if (!isset($temporary_bans[(int) $_GET['ban_key']])) bb_die(sprintf(__('Error! Go back to the temporary bans admin page and try again.', 'temporary-ban'), 'admin-base.php?plugin=temporary_ban_admin_page')); $ban = $temporary_bans[$_GET['ban_key']]; $ban_key = $_GET['ban_key']; switch ($ban['type']) { case 'bozo': bb_update_usermeta($ban['user_id'], 'is_bozo', 0); unset($temporary_bans[$ban_key]); break; case 'blocked': bb_fix_password($ban['user_id']); case 'inactive': bb_give_user_default_role(bb_get_user($ban['user_id'])); unset($temporary_bans[$ban_key]); } bb_update_option('temporary_bans', $temporary_bans); } /* if ($_GET['action'] == 'update_ban') { if (!isset($temporary_bans[(int) $_POST['ban_key']])) bb_die(sprintf(__('Error! Go back to the temporary bans admin page and try again.', 'temporary-ban'), 'admin-base.php?plugin=temporary_ban_admin_page')); $ban = $temporary_bans[$_POST['ban_key']]; $ban_key = $_POST['ban_key']; if (isset($_POST['ban_type']) && $_POST['ban_type'] != $ban['type'] && in_array($_POST['ban_type'], array('bozo', 'inactive', 'blocked'))) { switch ($ban['type']) { case 'bozo': bb_update_usermeta($ban['user_id'], 'is_bozo', 0); $temporary_bans[$ban_key]['type'] = $_POST['ban_type']; $user = bb_get_user($ban['user_id']); $user->set_role($_POST['ban_type']); break; case 'inactive': case 'blocked': if ($_POST['ban_type'] == 'bozo') { bb_update_usermeta($ban['user_id'], 'is_bozo', 1); } else { $user = bb_get_user($ban['user_id']); $user->set_role($_POST['ban_type']); } $temporary_bans[$ban_key]['type'] = $_POST['ban_type']; } } bb_update_option('temporary_bans', $temporary_bans); }*/ if ($_GET['action'] == 'add_ban' && $_SERVER['REQUEST_METHOD'] == 'POST') { global $bb_table_prefix; if (!bb_current_user_can('edit_user', $_POST['user_id'])) bb_die(sprintf(__('Error! Go back to the temporary bans admin page and try again.', 'temporary-ban'), 'admin-base.php?plugin=temporary_ban_admin_page')); $new_ban = array(); if ($_POST['ban_type'] == 'bozo') { $new_ban['type'] = 'bozo'; bb_update_usermeta($_POST['user_id'], 'is_bozo', 1); } elseif ($_POST['ban_type'] == 'blocked' || $_POST['ban_type'] == 'inactive') { if ($_POST['ban_type'] == 'blocked') bb_break_password($_POST['user_id']); $new_ban['type'] = $_POST['ban_type']; bb_update_usermeta($_POST['user_id'], $bb_table_prefix.'capabilities', array($_POST['ban_type'] => true)); } else { bb_die(sprintf(__('Error! Go back to the temporary bans admin page and try again.', 'temporary-ban'), 'admin-base.php?plugin=temporary_ban_admin_page')); } $new_ban['until'] = time() + ($_POST['length'] * $_POST['lengthmultiplier']); $new_ban['user_id'] = $_POST['user_id']; global $temporary_bans; if (!$temporary_bans) $temporary_bans = array(); $temporary_bans[] = $new_ban; bb_update_option('temporary_bans', $temporary_bans); } if ($_GET['action'] == 'add_ban' && $_SERVER['REQUEST_METHOD'] == 'GET') { ?>

— «

wp_table_prefix ) $users = $bbdb->get_results("SELECT * FROM ".$bb->wp_table_prefix."users ORDER BY user_login"); else $users = $bbdb->get_results("SELECT * FROM $bbdb->users ORDER BY user_login"); $usersbanned = array(); foreach ($temporary_bans as $ban) { $usersbanned[] = $ban['user_id']; } ?>

— »

$ban) { ?>