## Изменение ника ## ############################################################################################ ############################################################################################ ## Изменение ника ## ############################################################################################ 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; ############################################################################################ ## Изменение вопроса ## ############################################################################################
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'] . '" />';
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;
## Поиск ## ############################################################################################ ############################################################################################ ## Поиск ## ############################################################################################ 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') {
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('Пользователь с данным логином не найден!'); }
# 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;
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)!');
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 {
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') {
# 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('Здравствуй!', 'Приветик ', 'Ооо привет =)!', 'Угумс Тебе тоже.', 'Дарова =)');
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('Ошибка! Неверный идентификатор сессии, повторите действие!');
echo '<div class="form">'; echo '<form action="blacklist.php?act=add&page=' . $page . '&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 {
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 />';
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('Смайл успешно отредактирован!');