Файл: CMS/core/admin/status.php
Строк: 111
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if (is_admin(array(101, 102))) {
if (!empty($_POST['add'])) { // Добавление статуса
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$color = !empty($_POST['color']) ? check($_POST['color']) : '';
$to = !empty($_POST['to']) ? num($_POST['to']) : 0;
$from = !empty($_POST['from']) ? num($_POST['from']) : 0;
if (!empty($name)) {
$last_id = (int) $db->query("INSERT INTO ?_users_status SET `status_topoint` = ?, `status_point` = ?, `status_name` = ?, `status_color` = ?", $to, $from, $name, $color);
if ($last_id > 0) {
$inSes->addMessage('Статус успешно добавлен!', 'ok');
}
else $inSes->addMessage('Ошибка! Не удалось добавить статус!');
}
else $inSes->addMessage('Ошибка! Вы не ввели название!');
}
else $inSes->addMessage('Неверный идентификатор сессии, повторите действие!');
redirect('?m=status&' . RND);
}
if (!empty($_POST['edit'])) { // Редактирование статуса
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$color = !empty($_POST['color']) ? check($_POST['color']) : '';
$to = !empty($_POST['to']) ? num($_POST['to']) : 0;
$from = !empty($_POST['from']) ? num($_POST['from']) : 0;
if (!empty($name)) {
$row = array();
$row = $db->selectRow("SELECT * FROM ?_users_status WHERE `status_id` = ?", $id);
if (!empty($row)) {
$db->query("UPDATE ?_users_status SET `status_topoint` = ?, `status_point` = ?, `status_name` = ?, `status_color` = ?
WHERE `status_id` = ?", $to, $from, $name, $color, $id);
$inSes->addMessage('Статус успешно отредактирован!', 'ok');
}
else $inSes->addMessage('Ошибка! Статус не найден!');
}
else $inSes->addMessage('Ошибка! Вы не ввели название!');
}
else $inSes->addMessage('Неверный идентификатор сессии, повторите действие!');
redirect('?m=status&' . RND);
}
if (!empty($_REQUEST['del'])) { // Удаление статуса
$del = intar($_REQUEST['del']);
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (!empty($del)) {
$del = is_array($del) ? $del : array($del);
$del = implode(',', $del);
$db->query("DELETE FROM ?_users_status WHERE `status_id` IN (" . $del . ");");
del_vars('anecdots');
$inSes->addMessage('Статус успешно удален!', 'ok');
}
else $inSes->addMessage('Ошибка! Отсутствуют выбранные статусы!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
redirect('?m=status&' . RND);
}
show_header('Управление статусами');
$onpage = !empty($config['blog_num']) ? num($config['blog_num']) : 10;
if ($page > 1) $from = ($page - 1) * $onpage; else $from = 0;
$rows = $db->selectPage($total, "SELECT * FROM ?_users_status
ORDER BY `status_id` ASC
LIMIT ?d, ?d", $from, $onpage );
if (!empty($rows) && $total > 0) {
$i = $from + 1;
foreach($rows as $row) {
echo '<div class="b">' . icon('user.png');
if (empty($row['status_color'])) {
echo '<b>' . $row['status_name'] . '</b> — ' . num2name($row['status_topoint'], $config['score_name']) . '<br />';
}
else {
echo '<b><span style="color:' . $row['status_color'] . '">' . $row['status_name'] . '</span></b> — ';
echo num2name($row['status_topoint'], $config['score_name']) . '<br />';
}
echo '<a href="?m=status&edit=' . num($row['status_id']) . '&' . RND . '#form">Редактировать</a> | ';
echo '<a href="?m=status&del=' . num($row['status_id']) . '&rnd=' . $_SESSION['token'] . '">Удалить</a>';
echo '</div>';
}
echo show_pages('?m=status');
echo '<div class="b">Всего статусов: <b>' . $total . '</b><br /></div>';
}
else {
show_error('Статусов пока ещё нет!');
}
if (!empty($_GET['edit'])) {
$data = $db->selectRow("SELECT * FROM ?_users_status WHERE `status_id` = ? LIMIT 1", num($_GET['edit']));
if (!empty($data)) {
$form = new cmsForm('?m=status&id=' . num($data['status_id']) . '&rnd=' . $_SESSION['token'], 'post', ' id="form"');
$form->addText('Название:', 'name', $data['status_name']);
$form->addText('Цвет:', 'color', $data['status_color']);
$form->addText('От:', 'to', $data['status_topoint']);
$form->addText('До:', 'from', $data['status_point']);
echo $form->Submit(array('Изменить', 'Отмена'), array('edit', 'cancel'));
unset($form);
}
else show_error('Ошибка! Статус не найден!');
}
else if (!empty($_GET['add'])) {
$form = new cmsForm('?m=status&rnd=' . $_SESSION['token'], 'post', ' id="form"');
$form->addText('Название:', 'name', request('name'));
$form->addText('Цвет:', 'color', request('color'));
$form->addText('От:', 'to', request('to'));
$form->addText('До:', 'from', request('from'));
echo $form->Submit(array('Добавить', 'Отмена'), array('add', 'cancel'));
unset($form);
}
else {
echo '<div class="b">';
echo icon('add.png') . ' <a href="?m=status&add=1#form">Добавить статус</a><br />';
echo '</div>';
}
echo <<<JSCRIPT
<script language='JavaScript' type="text/javascript">
<!--
function ckeck_uncheck_all() {
var frm = document.anek;
if(frm.master_box.checked == true){ frm.master_box.checked = false; }
else{ frm.master_box.checked = true; }
for (var i=0;i<frm.elements.length;i++) {
var elmnt = frm.elements[i];
if (elmnt.type=='checkbox') {
if(frm.master_box.checked == true){ elmnt.checked=false; }
else{ elmnt.checked=true; }
}
}
//if(frm.master_box.checked == true){ frm.master_box.checked = false; }
//else{ frm.master_box.checked = true; }
}
-->
</script>
JSCRIPT;
echo '<div class="b">' . icon('return.png') . ' <a href="?' . RND . '">В админку</a><br /></div>';
show_footer();
}
else {
redirect('/?' . RND);
}
?>