Example #1
0
     ##                                     Изменение ника                                     ##
     ############################################################################################
 ############################################################################################
 ##                                     Изменение ника                                     ##
 ############################################################################################
 case 'editnick':
     $uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0;
     $nickname = isset($_POST['nickname']) ? check($_POST['nickname']) : '';
     $validation = new Validation();
     $validation->addRule('equal', array($uid, $_SESSION['token']), 'Неверный идентификатор сессии, повторите действие!')->addRule('max', array($udata['users_point'], $config['editnickpoint']), 'У вас недостаточно актива для изменения ника!')->addRule('min', array($udata['users_timenickname'], SITETIME), 'Изменять ник можно не чаще чем 1 раз в сутки!')->addRule('regex', array($nickname, '|^[0-9a-zA-Zа-яА-ЯЁё_\\.\\-\\s]+$|u'), 'Разрешены символы русского, латинского алфавита и цифры!')->addRule('string', $nickname, 'Слишком длинный или короткий ник!', false, 3, 20)->addRule('not_equal', array($nickname, $udata['users_nickname']), 'Новый ник должен отличаться от текущего!');
     if (!empty($nickname)) {
         $reglogin = DB::run()->querySingle("SELECT `users_id` FROM `users` WHERE lower(`users_login`)=? LIMIT 1;", array(utf_lower($nickname)));
         $validation->addRule('empty', $reglogin, 'Выбранный вами ник используется кем-то в качестве логина!');
         $regnick = DB::run()->querySingle("SELECT `users_id` FROM `users` WHERE lower(`users_nickname`)=? LIMIT 1;", array(utf_lower($nickname)));
         $validation->addRule('empty', $regnick, 'Выбранный вами ник уже используется на сайте!');
         $blacklogin = DB::run()->querySingle("SELECT `black_id` FROM `blacklist` WHERE `black_type`=? AND `black_value`=? LIMIT 1;", array(2, utf_lower($nickname)));
         $validation->addRule('empty', $blacklogin, 'Выбранный вами ник занесен в черный список!');
     }
     if ($validation->run()) {
         DB::run()->query("UPDATE `users` SET `users_nickname`=?, `users_timenickname`=? WHERE `users_login`=? LIMIT 1;", array($nickname, SITETIME + 86400, $log));
         save_nickname();
         notice('Ваш ник успешно изменен!');
         redirect("account.php");
     } else {
         show_error($validation->getErrors());
     }
     echo '<img src="/images/img/back.gif" alt="image" /> <a href="account.php">Вернуться</a><br />';
     break;
     ############################################################################################
     ##                                    Изменение вопроса                                   ##
     ############################################################################################
Example #2
0
     echo 'Восстанавливать пароль можно не чаще чем раз в 12 часов<br /><br />';
     echo '<div class="form">';
     echo '<form method="post" action="lostpassword.php?act=remind">';
     echo 'Логин, ник или email:<br />';
     echo '<input name="uz" type="text" maxlength="20" value="' . $cooklog . '" /><br />';
     echo '<input value="Продолжить" type="submit" /></form></div><br />';
     echo 'Если у вас установлен секретный вопрос, вам будет предложено на него ответить<br /><br />';
     break;
     ############################################################################################
     ##                                  Восстановление пароля                                 ##
     ############################################################################################
 ############################################################################################
 ##                                  Восстановление пароля                                 ##
 ############################################################################################
 case 'remind':
     $uz = check(utf_lower(strval($_REQUEST['uz'])));
     if (!empty($uz)) {
         $user = DB::run()->queryFetch("SELECT * FROM `users` WHERE LOWER(`users_login`)=? OR `users_email`=? OR LOWER(`users_nickname`)=? LIMIT 1;", array($uz, $uz, $uz));
         if (!empty($user)) {
             $email = $uz == $user['users_email'] ? $user['users_email'] : '';
             echo '<div class="b">' . user_gender($user['users_login']) . ' <b>' . profile($user['users_login']) . '</b> ' . user_visit($user['users_login']) . '</div>';
             if (!empty($user['users_email'])) {
                 echo '<b><big>Восстановление на e-mail:</big></b><br />';
                 echo '<div class="form">';
                 echo '<form method="post" action="lostpassword.php?act=send">';
                 echo 'Введите e-mail:<br />';
                 echo '<input name="email" type="text" value="' . $email . '" maxlength="50" /><br />';
                 echo 'Проверочный код:<br /> ';
                 echo '<img src="/gallery/protect.php" alt="" /><br />';
                 echo '<input name="provkod" size="6" maxlength="6" /><br />';
                 echo '<input name="uz" type="hidden" value="' . $user['users_login'] . '" />';
Example #3
0
     DB::run()->query("INSERT INTO `posts` (`posts_topics_id`, `posts_forums_id`, `posts_user`, `posts_text`, `posts_time`, `posts_ip`, `posts_brow`) VALUES (?, ?, ?, ?, ?, ?, ?);", array($tid, $topics['topics_forums_id'], $log, $msg, SITETIME, $ip, $brow));
     $lastid = DB::run()->lastInsertId();
     DB::run()->query("UPDATE `users` SET `users_allforum`=`users_allforum`+1, `users_point`=`users_point`+1, `users_money`=`users_money`+5 WHERE `users_login`=? LIMIT 1;", array($log));
     DB::run()->query("UPDATE `topics` SET `topics_posts`=`topics_posts`+1, `topics_last_user`=?, `topics_last_time`=? WHERE `topics_id`=?;", array($log, SITETIME, $tid));
     DB::run()->query("UPDATE `forums` SET `forums_posts`=`forums_posts`+1, `forums_last_id`=?, `forums_last_themes`=?, `forums_last_user`=?, `forums_last_time`=? WHERE `forums_id`=?;", array($tid, $topics['topics_title'], $log, SITETIME, $topics['topics_forums_id']));
     // Обновление родительского форума
     if ($topics['forums_parent'] > 0) {
         DB::run()->query("UPDATE `forums` SET `forums_last_id`=?, `forums_last_themes`=?, `forums_last_user`=?, `forums_last_time`=? WHERE `forums_id`=?;", array($tid, $topics['topics_title'], $log, SITETIME, $topics['forums_parent']));
     }
 }
 // -- Загрузка файла -- //
 if (!empty($_FILES['file']['name']) && !empty($lastid)) {
     if ($udata['users_point'] >= $config['forumloadpoints']) {
         if (is_uploaded_file($_FILES['file']['tmp_name'])) {
             $filename = check($_FILES['file']['name']);
             $filename = !is_utf($filename) ? utf_lower(win_to_utf($filename)) : utf_lower($filename);
             $filesize = $_FILES['file']['size'];
             if ($filesize > 0 && $filesize <= $config['forumloadsize']) {
                 $arrext = explode(',', $config['forumextload']);
                 $ext = getExtension($filename);
                 if (in_array($ext, $arrext) && $ext != 'php') {
                     if (utf_strlen($filename) > 50) {
                         $filename = utf_substr($filename, 0, 45) . '.' . $ext;
                     }
                     if (!file_exists(BASEDIR . '/upload/forum/' . $topics['topics_id'])) {
                         $old = umask(0);
                         mkdir(BASEDIR . '/upload/forum/' . $topics['topics_id'], 0777, true);
                         umask($old);
                     }
                     $num = 0;
                     $hash = $lastid . '.' . $ext;
Example #4
0
     ##                                          Поиск                                         ##
     ############################################################################################
 ############################################################################################
 ##                                          Поиск                                         ##
 ############################################################################################
 case 'search':
     $find = check(strval($_GET['find']));
     $type = abs(intval($_GET['type']));
     $where = abs(intval($_GET['where']));
     $period = abs(intval($_GET['period']));
     $section = abs(intval($_GET['section']));
     if (!is_utf($find)) {
         $find = win_to_utf($find);
     }
     if (utf_strlen($find) >= 3 && utf_strlen($find) <= 50) {
         $findmewords = explode(" ", utf_lower($find));
         $arrfind = array();
         foreach ($findmewords as $val) {
             if (utf_strlen($val) >= 3) {
                 $arrfind[] = empty($type) ? '+' . $val . '*' : $val . '*';
             }
         }
         $findme = implode(" ", $arrfind);
         if ($type == 2 && count($findmewords) > 1) {
             $findme = "\"{$find}\"";
         }
         $config['newtitle'] = $find . ' - Результаты поиска';
         $wheres = empty($where) ? 'topics' : 'posts';
         $forumfind = $type . $wheres . $period . $section . $find;
         // ----------------------------- Поиск в темах -------------------------------//
         if ($wheres == 'topics') {
Example #5
0
         echo '<input type="text" name="uz" value="' . $log . '" />';
         echo '<input type="submit" value="Искать" /></form></div><br />';
         echo 'Всего пользователей: <b>' . $total . '</b><br /><br />';
     } else {
         show_error('Пользователей еще нет!');
     }
     break;
     ############################################################################################
     ##                                  Поиск пользователя                                    ##
     ############################################################################################
 ############################################################################################
 ##                                  Поиск пользователя                                    ##
 ############################################################################################
 case 'search':
     if (!empty($uz)) {
         $queryuser = DB::run()->querySingle("SELECT `users_login` FROM `users` WHERE LOWER(`users_login`)=? OR LOWER(`users_nickname`)=? LIMIT 1;", array(strtolower($uz), utf_lower($uz)));
         if (!empty($queryuser)) {
             $queryrating = DB::run()->query("SELECT `users_login` FROM `users` ORDER BY `users_rating` DESC, `users_login` ASC;");
             $ratusers = $queryrating->fetchAll(PDO::FETCH_COLUMN);
             foreach ($ratusers as $key => $ratval) {
                 if ($queryuser == $ratval) {
                     $rat = $key + 1;
                 }
             }
             if (!empty($rat)) {
                 $page = floor(($rat - 1) / $config['avtorlist']) * $config['avtorlist'];
                 $_SESSION['note'] = 'Позиция в рейтинге: ' . $rat;
                 redirect("authoritylist.php?start={$page}&uz={$queryuser}");
             } else {
                 show_error('Пользователь с данным логином не найден!');
             }
Example #6
0
#            Email  :  visavi.net@mail.ru     #
#             Site  :  http://visavi.net      #
#              ICQ  :  36-44-66               #
#            Skype  :  vantuzilla             #
#---------------------------------------------#
require_once 'includes/start.php';
require_once 'includes/functions.php';
require_once 'includes/header.php';
$act = isset($_GET['act']) ? check($_GET['act']) : 'index';
$domain = check_string($config['home']);
switch ($act) {
    ############################################################################################
    ##                                       Авторизация                                      ##
    ############################################################################################
    case 'index':
        $login = isset($_REQUEST['login']) ? check(utf_lower($_REQUEST['login'])) : '';
        $pass = isset($_REQUEST['pass']) ? md5(md5(trim($_REQUEST['pass']))) : '';
        if (!empty($_POST['cookietrue']) || !empty($_GET['login'])) {
            $cookietrue = 1;
        }
        if (!empty($login) && !empty($pass)) {
            $udata = DB::run()->queryFetch("SELECT `users_login`, `users_pass` FROM `users` WHERE LOWER(`users_login`)=? OR LOWER(`users_nickname`)=? LIMIT 1;", array($login, $login));
            if (!empty($udata)) {
                if ($pass == $udata['users_pass']) {
                    if (!empty($cookietrue)) {
                        setcookie('cooklog', $udata['users_login'], time() + 3600 * 24 * 365, '/', $domain);
                        setcookie('cookpar', md5($pass . $config['keypass']), time() + 3600 * 24 * 365, '/', $domain, null, true);
                    }
                    $_SESSION['log'] = $udata['users_login'];
                    $_SESSION['par'] = md5($config['keypass'] . $pass);
                    $_SESSION['my_ip'] = $ip;
Example #7
0
     echo '<img src="/images/img/back.gif" alt="image" /> <a href="pyramid.php">Вернуться</a><br />';
     break;
     ############################################################################################
     ##                                    Изменение ссылки                                    ##
     ############################################################################################
 ############################################################################################
 ##                                    Изменение ссылки                                    ##
 ############################################################################################
 case 'change':
     if (isset($_GET['id'])) {
         $id = abs(intval($_GET['id']));
     } else {
         $id = 0;
     }
     $uid = check($_GET['uid']);
     $link = check(utf_lower($_POST['link']));
     $name = check($_POST['name']);
     if ($uid == $_SESSION['token']) {
         if (utf_strlen($link) >= 10 && utf_strlen($link) <= 50) {
             if (utf_strlen($name) >= 5 && utf_strlen($name) <= 25) {
                 if (preg_match('#^http://([а-яa-z0-9_\\-\\.])+(\\.([а-яa-z0-9\\/])+)+$#u', $link)) {
                     $querypyr = DB::run()->querySingle("SELECT `pyramid_id` FROM `pyramid` WHERE `pyramid_id`=? LIMIT 1;", array($id));
                     if (!empty($querypyr)) {
                         DB::run()->query("UPDATE `pyramid` SET `pyramid_link`=?, `pyramid_name`=? WHERE`pyramid_id`=?;", array($link, $name, $id));
                         $_SESSION['note'] = 'Рекламная ссылка успешно изменена!';
                         redirect("pyramid.php");
                     } else {
                         show_error('Ошибка! Данной ссылки нет в списке!');
                     }
                 } else {
                     show_error('Ошибка! Недопустимый адрес сайта! (http://sitename.domen)!');
Example #8
0
     echo 'Адрес сайта:<br />';
     echo '<input type="text" name="linkurl" value="http://" maxlength="50" /><br />';
     echo 'Название (max25):<br />';
     echo '<input type="text" name="linkname" maxlength="25" /><br />';
     echo '<input type="submit" value="Добавить" /></form></div><br />';
     echo 'В названии ссылки запрещено использовать любые ненормативные и матные слова<br />';
     echo 'За нарушение правил предусмотрено наказание в виде строгого бана<br /><br />';
     break;
     ############################################################################################
     ##                                  Добавление ссылки                                     ##
     ############################################################################################
 ############################################################################################
 ##                                  Добавление ссылки                                     ##
 ############################################################################################
 case "add":
     $linkurl = check(utf_lower($_POST['linkurl']));
     $linkname = check($_POST['linkname']);
     if (utf_strlen($linkurl) >= 10 && utf_strlen($linkurl) <= 50) {
         if (utf_strlen($linkname) >= 5 && utf_strlen($linkname) <= 25) {
             if (preg_match('#^http://([а-яa-z0-9_\\-\\.])+(\\.([а-яa-z0-9\\/])+)+$#u', $linkurl)) {
                 $pyrurl = DB::run()->querySingle("SELECT `pyramid_id` FROM `pyramid` WHERE `pyramid_link`=? LIMIT 1;", array($linkurl));
                 if (empty($pyrurl)) {
                     $pyruser = DB::run()->querySingle("SELECT `pyramid_id` FROM `pyramid` WHERE `pyramid_user`=? LIMIT 1;", array($log));
                     if (empty($pyruser)) {
                         $linkurl = antimat($linkurl);
                         $linkname = antimat($linkname);
                         DB::run()->query("INSERT INTO `pyramid` (`pyramid_link`, `pyramid_name`, `pyramid_user`) VALUES (?, ?, ?);", array($linkurl, $linkname, $log));
                         DB::run()->query("DELETE FROM `pyramid` WHERE `pyramid_id` < (SELECT MIN(`pyramid_id`) FROM (SELECT `pyramid_id` FROM `pyramid` ORDER BY `pyramid_id` DESC LIMIT " . $config['showlink'] . ") AS del);");
                         $_SESSION['note'] = 'Ваш сайт успешно добавлен в список партнеров и друзей!';
                         redirect("pyramid.php");
                     } else {
Example #9
0
     break;
     ############################################################################################
     ##                                          Поиск                                         ##
     ############################################################################################
 ############################################################################################
 ##                                          Поиск                                         ##
 ############################################################################################
 case 'search':
     $find = check(strval($_GET['find']));
     $type = abs(intval($_GET['type']));
     $where = abs(intval($_GET['where']));
     if (!is_utf($find)) {
         $find = win_to_utf($find);
     }
     if (utf_strlen($find) <= 50) {
         $findme = utf_lower($find);
         $findmewords = explode(" ", $findme);
         $arrfind = array();
         foreach ($findmewords as $valfind) {
             if (utf_strlen($valfind) >= 3) {
                 $arrfind[] = $valfind;
             }
         }
         array_splice($arrfind, 3);
         if (count($arrfind) > 0) {
             $config['newtitle'] = $find . ' - Результаты поиска';
             $types = empty($type) ? 'AND' : 'OR';
             $wheres = empty($where) ? 'title' : 'text';
             $blogfind = $types . $wheres . $find;
             // ----------------------------- Поиск в названии -------------------------------//
             if ($wheres == 'title') {
Example #10
0
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#
if (!defined("BASEDIR")) {
    header("Location:../index.php");
    exit;
}
$msg = utf_lower($msg);
$msg = str_replace(array('настя', 'настенька', 'настюша', 'настюшка'), 'настюха', $msg);
$mssg = "";
$namebots = 'Настюха';
$namebot = utf_lower($namebots);
if (stristr($msg, $namebot) and stristr($msg, 'работа') or stristr($msg, $namebot) and stristr($msg, 'делаешь') or stristr($msg, $namebot) and stristr($msg, 'занимаеш')) {
    $answers = array('Ем!', 'Музыку слушаю...', 'Телевизор смотрю...', 'Да так... ничем, а ты?', 'Туплю понемногу');
    $answernumber = array_rand($answers);
    $mssg = $answers[$answernumber];
}
if ($mssg == "") {
    if (stristr($msg, 'всем привет') or stristr($msg, 'здравствуйте') or stristr($msg, 'всем хай') or stristr($msg, 'всем здарова') or stristr($msg, 'хочу общения') or stristr($msg, 'класс')) {
        $answers = array('как дела?', 'как жизнь?', 'хай!', 'давай пообщаемся');
        $answernumber = array_rand($answers);
        $mssg = $newname . ', ' . $answers[$answernumber];
    }
}
if ($mssg == "") {
    if (stristr($msg, $namebot) and stristr($msg, 'привет') or stristr($msg, $namebot) and stristr($msg, 'приветик') or stristr($msg, $namebot) and stristr($msg, 'с возвращением') or stristr($msg, 'всем привет') or stristr($msg, 'привет всем')) {
        $answers = array('Здравствуй!', 'Приветик  ', 'Ооо привет =)!', 'Угумс  Тебе тоже.', 'Дарова =)');
Example #11
0
     echo '<input type="text" name="mat" />';
     echo '<input type="submit" value="Добавить" /></form></div><br />';
     echo 'Всего слов в базе: <b>' . $total . '</b><br /><br />';
     if (is_admin(array(101)) && $total > 0) {
         echo '<img src="/images/img/error.gif" alt="image" /> <a href="antimat.php?act=prodel">Очистить</a><br />';
     }
     break;
     ############################################################################################
     ##                                Добавление в список                                     ##
     ############################################################################################
 ############################################################################################
 ##                                Добавление в список                                     ##
 ############################################################################################
 case "add":
     $uid = check($_GET['uid']);
     $mat = check(utf_lower($_POST['mat']));
     if ($uid == $_SESSION['token']) {
         if (!empty($mat)) {
             $querymat = DB::run()->querySingle("SELECT mat_id FROM antimat WHERE mat_string=? LIMIT 1;", array($mat));
             if (empty($querymat)) {
                 DB::run()->query("INSERT INTO antimat (mat_string) VALUES (?);", array($mat));
                 $_SESSION['note'] = 'Слово успешно добавлено в список антимата!';
                 redirect("antimat.php");
             } else {
                 show_error('Ошибка! Введенное слово уже имеетеся в списке!');
             }
         } else {
             show_error('Ошибка! Вы не ввели слово для занесения в список!');
         }
     } else {
         show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
Example #12
0
     echo '<div class="form">';
     echo '<form action="blacklist.php?act=add&amp;page=' . $page . '&amp;uid=' . $_SESSION['token'] . '" method="post">';
     echo '<b>Запись:</b><br />';
     echo '<input name="value" type="text" maxlength="100" value="' . $placeholder . '" />';
     echo '<input type="submit" value="Добавить" /></form></div><br />';
     echo 'Всего в списке: <b>' . $total . '</b><br /><br />';
     break;
     ############################################################################################
     ##                                 Добавление записи                                      ##
     ############################################################################################
 ############################################################################################
 ##                                 Добавление записи                                      ##
 ############################################################################################
 case 'add':
     $uid = check($_GET['uid']);
     $value = check(utf_lower($_POST['value']));
     if ($uid == $_SESSION['token']) {
         if (!empty($value) && utf_strlen($value) <= 100) {
             if ($page != 'mail' || preg_match('#^([a-z0-9_\\-\\.])+\\@([a-z0-9_\\-\\.])+(\\.([a-z0-9])+)+$#', $value)) {
                 if ($page != 'login' || preg_match('|^[a-z0-9\\-]+$|', $value)) {
                     if ($page != 'domain' || preg_match('#^http://([а-яa-z0-9_\\-\\.])+(\\.([а-яa-z0-9\\/])+)+$#u', $value)) {
                         $value = str_replace('http://', '', $value);
                         $black = DB::run()->querySingle("SELECT `black_id` FROM `blacklist` WHERE `black_type`=? AND `black_value`=? LIMIT 1;", array($type, $value));
                         if (empty($black)) {
                             DB::run()->query("INSERT INTO `blacklist` (`black_type`, `black_value`, `black_user`, `black_time`) VALUES (?, ?, ?, ?);", array($type, $value, $log, SITETIME));
                             $_SESSION['note'] = 'Запись успешно добавлена в черный список!';
                             redirect("blacklist.php?page={$page}&start={$start}");
                         } else {
                             show_error('Ошибка! Данная запись уже имеется в списках!');
                         }
                     } else {
Example #13
0
     echo 'Пароль необходимо выбирать посложнее, лучше всего состоящий из цифр, маленьких и больших латинских символов одновременно, длинее 5 символов<br /><br />';
     echo '<img src="../images/img/back.gif" alt="image" /> <a href="index.php?act=2">Вернуться</a>';
     break;
     ############################################################################################
     ##                                     Создание аккаунта                                  ##
     ############################################################################################
 ############################################################################################
 ##                                     Создание аккаунта                                  ##
 ############################################################################################
 case '5':
     echo '<img src="../images/img/setting.png" alt="img" /> <b>Результат установки RotorCMS</b><br /><br />';
     $login = htmlspecialchars($_POST['login']);
     $password = htmlspecialchars($_POST['password']);
     $password2 = htmlspecialchars($_POST['password2']);
     $mail = strtolower(htmlspecialchars($_POST['mail']));
     $site = utf_lower(htmlspecialchars($_POST['site']));
     if (strlen($login) <= 20 && strlen($password) <= 20) {
         if (strlen($login) >= 3 && strlen($password) >= 3) {
             if (preg_match('|^[a-z0-9\\-]+$|i', $login)) {
                 if (preg_match('|^[a-z0-9\\-]+$|i', $password)) {
                     if ($password == $password2) {
                         if (preg_match('#^([a-z0-9_\\-\\.])+\\@([a-z0-9_\\-\\.])+(\\.([a-z0-9])+)+$#', $mail)) {
                             if (preg_match('#^http://([а-яa-z0-9_\\-\\.])+(\\.([а-яa-z0-9\\/])+)?+$#u', $site)) {
                                 try {
                                     $db = new PDO('mysql:host=' . DBHOST . ';port=' . DBPORT . ';dbname=' . DBNAME, DBUSER, DBPASS);
                                     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                                     $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
                                     $db->exec('SET CHARACTER SET utf8');
                                     $db->exec('SET NAMES utf8');
                                 } catch (PDOException $e) {
                                     echo '<b><span style="color:#ff0000">Ошибка! Невозможно соединиться с базой данных!</span></b><br />';
Example #14
0
         echo '<input type="text" name="code" value="' . $smile['smiles_code'] . '" /> <i>Код смайла должен начинаться со знака двоеточия</i><br />';
         echo '<input type="submit" value="Изменить" /></form></div><br />';
     } else {
         show_error('Ошибка! Смайла для редактирования не существует!');
     }
     render('includes/back', array('link' => 'smiles.php?start=' . $start, 'title' => 'Вернуться'));
     break;
     /**
      * Изменение смайла
      */
 /**
  * Изменение смайла
  */
 case 'change':
     $uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0;
     $code = isset($_POST['code']) ? check(utf_lower($_POST['code'])) : '';
     $smile = DBM::run()->selectFirst('smiles', array('smiles_id' => $id));
     $checkcode = DBM::run()->selectFirst('smiles', array('smiles_code' => $code, 'smiles_id' => $id));
     $checkcode = DBM::run()->queryFirst("SELECT `smiles_id` FROM `smiles` WHERE `smiles_code`=:code AND `smiles_id`<>:id LIMIT 1;", compact('code', 'id'));
     $validation = new Validation();
     $validation->addRule('equal', array($uid, $_SESSION['token']), 'Неверный идентификатор сессии, повторите действие!')->addRule('not_empty', $smile, 'Не найден смайл для редактирования!')->addRule('empty', $checkcode, 'Смайл с данным кодом уже имеется в списке!')->addRule('string', $code, 'Слишком длинный или короткий код смайла!', true, 1, 20)->addRule('regex', array($code, '|^:+[a-яa-z0-9_\\-/\\(\\)]+$|i'), 'Код смайла должен начинаться с двоеточия. Разрешены буквы, цифры и дефис!', true);
     if ($validation->run()) {
         if (!preg_match('/[А-Яа-яЁё]/u', $code)) {
             $newname = rename_file($smile['smiles_name'], substr($code, 1));
         } else {
             $newname = $smile['smiles_name'];
         }
         if (rename(BASEDIR . '/images/smiles/' . $smile['smiles_name'], BASEDIR . '/images/smiles/' . $newname)) {
             $smile = DBM::run()->update('smiles', array('smiles_name' => $newname, 'smiles_code' => $code), array('smiles_id' => $id));
             clearCache();
             notice('Смайл успешно отредактирован!');