$data = array(':id' => $warning_type['id']); $db->update('warning_types', $update, 'id=:id', $data); $redirect_msg = $lang_warnings['Type updated redirect']; } } else { $db->insert('warning_types', $update); $redirect_msg = $lang_warnings['Type added redirect']; } } else { $warning_title = isset($_POST['warning_title']) ? panther_trim($_POST['warning_title']) : ''; $warning_points = isset($_POST['warning_points']) ? intval($_POST['warning_points']) : 0; if ($warning_title == '') { message($lang_warnings['No title']); } // Determine expiration time $expiration_time = get_expiration_time($_POST['expiration_time'], $_POST['expiration_unit']); $update = array('points' => $warning_points, 'message' => $warning_title, 'period' => $expiration_time); if (isset($_POST['id']) && $id > 0) { $data = array(':id' => $id); $db->update('warning_levels', $update, 'id=:id', $data); $redirect_msg = $lang_warnings['Level update redirect']; } else { $db->insert('warning_levels', $update); $redirect_msg = $lang_warnings['Level added redirect']; } } redirect(panther_link($panther_url['admin_warnings']), $redirect_msg); } $page_title = array($panther_config['o_board_title'], $lang_admin_common['Admin'], $lang_admin_common['Warnings']); define('PANTHER_ACTIVE_PAGE', 'admin'); if (isset($_POST['add_type'])) {
$errors[] = $lang_warnings['No warning reason']; } else { if (panther_strlen($warning_title) > 120) { $errors[] = $lang_warnings['Too long warning reason']; } } $warning_points = isset($_POST['custom_points']) ? intval($_POST['custom_points']) : 0; if ($warning_points < 0) { $errors[] = $lang_warnings['No points']; } $expiration_time = isset($_POST['custom_expiration_time']) ? intval($_POST['custom_expiration_time']) : 0; $expiration_unit = isset($_POST['custom_expiration_unit']) ? panther_trim($_POST['custom_expiration_unit']) : ''; if ($expiration_time < 1 && $expiration_unit != 'never') { $errors[] = $lang_warnings['No expiration time']; } $expiration = get_expiration_time($expiration_time, $expiration_unit); } $admin_note = panther_linebreaks(panther_trim($_POST['note_admin'])); if (strlen($admin_note) > 65535) { $errors[] = $lang_warnings['Too long admin note']; } if ($panther_config['o_private_messaging'] == '1') { $link = '[url]' . panther_link($panther_url['warning_view'], array($user_id)) . '[/url]'; $pm_subject = isset($_POST['req_subject']) ? panther_trim($_POST['req_subject']) : ''; if ($panther_config['o_censoring'] == '1') { $censored_subject = panther_trim(censor_words($pm_subject)); } if ($pm_subject == '') { $errors[] = $lang_warnings['No subject']; } else { if ($panther_config['o_censoring'] == '1' && $censored_subject == '') {
if (!$panther_user['is_admin']) { message($lang_common['No permission']); } $data = array(':id' => $id); $ps = $db->select('users', 'username, group_id', $data, 'id=:id'); $cur_user = $ps->fetch(); if ($panther_groups[$cur_user['group_id']]['g_admin'] == '1' || $cur_user['group_id'] == PANTHER_ADMIN) { message(sprintf($lang_profile['posting ban admin'], $cur_user['username'])); } if ($panther_groups[$cur_user['group_id']]['g_moderator'] == '1') { message(sprintf($lang_profile['posting ban moderator'], $cur_user['username'])); } $expiration_time = isset($_POST['expiration_time']) ? intval($_POST['expiration_time']) : 0; $expiration_unit = isset($_POST['expiration_unit']) ? panther_trim($_POST['expiration_unit']) : $lang_profile['Days']; $delete_ban = isset($_POST['remove_ban']) ? '1' : '0'; $time = $delete_ban == '1' ? '0' : time() + get_expiration_time($expiration_time, $expiration_unit); $update = array('posting_ban' => $time); $db->update('users', $update, 'id=:id', $data); redirect(panther_link($panther_url['profile_admin'], array($id)), $lang_profile['Update posting ban redirect']); } else { if (isset($_POST['ban'])) { if (!$panther_user['is_admin'] && ($panther_user['g_moderator'] != '1' || $panther_user['g_mod_ban_users'] == '0')) { message($lang_common['No permission'], false, '403 Forbidden'); } // Get the username of the user we are banning $data = array(':id' => $id); $ps = $db->select('users', 'username', $data, 'id=:id'); $username = $ps->fetchColumn(); // Check whether user is already banned $data = array(':username' => $username); $ps = $db->select('bans', 'id', $data, 'username=:username', 'expire IS NULL DESC, expire DESC LIMIT 1');