case 'addfile': $config['newtitle'] = 'Публикация нового файла'; $uid = check($_GET['uid']); $cid = abs(intval($_POST['cid'])); $title = check($_POST['title']); $text = check($_POST['text']); $author = !empty($_POST['author']) ? check($_POST['author']) : ''; $site = $_POST['site'] != 'http://' ? check($_POST['site']) : ''; if ($uid == $_SESSION['token']) { if (!empty($cid)) { if (utf_strlen($title) >= 5 && utf_strlen($title) < 50) { if (utf_strlen($text) >= 10 && utf_strlen($text) < 5000) { if (utf_strlen($author) <= 50) { if (utf_strlen($site) <= 50) { if (empty($site) || preg_match('#^http://([а-яa-z0-9_\\-\\.])+(\\.([а-яa-z0-9\\/])+)+$#u', $site)) { $downs = DBM::run()->selectFirst('cats', array('cats_id' => $cid)); if (!empty($downs)) { if (empty($downs['closed'])) { $downtitle = DB::run()->querySingle("SELECT `downs_title` FROM `downs` WHERE `downs_title`=? LIMIT 1;", array($title)); if (empty($downtitle)) { DB::run()->query("UPDATE `cats` SET `cats_count`=`cats_count`+1 WHERE `cats_id`=?", array($cid)); DB::run()->query("INSERT INTO `downs` (`downs_cats_id`, `downs_title`, `downs_text`, `downs_link`, `downs_user`, `downs_author`, `downs_site`, `downs_screen`, `downs_time`, `downs_active`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", array($cid, $title, $text, '', $log, $author, $site, '', SITETIME, 1)); $lastid = DB::run()->lastInsertId(); notice('Данные успешно добавлены!'); redirect("load.php?act=editdown&id={$lastid}"); } else { show_error('Ошибка! Название ' . $title . ' уже имеется в файлах!'); } } else { show_error('Ошибка! В данный раздел запрещена загрузка файлов!'); }
$regmessage = "Добро пожаловать, " . $logs . " \nТеперь вы зарегистрированный пользователь сайта " . $config['home'] . " , сохраните ваш пароль и логин в надежном месте, они вам еще пригодятся. \nВаши данные для входа на сайт \nЛогин: " . $logs . " \nПароль: " . $pars . " \n\nСсылка для автоматического входа на сайт: \n" . $config['home'] . "/input.php?login="******"&pass="******" \nНадеемся вам понравится на нашем портале! \nС уважением администрация сайта \nЕсли это письмо попало к вам по ошибке, то просто проигнорируйте его \n\n"; if ($config['regkeys'] == 1) { $registration_key = generate_password(); echo '<b><span style="color:#ff0000">Внимание! После входа на сайт, вам будет необходимо ввести мастер-ключ для подтверждения регистрации<br />'; echo 'Мастер-ключ был выслан вам на почтовый ящик: ' . $meil . '</span></b><br /><br />'; $regmessage .= "Внимание! \nДля подтверждения регистрации необходимо в течении 24 часов ввести мастер-ключ! \nВаш мастер-ключ: " . $registration_key . " \nВведите его после авторизации на сайте \nИли перейдите по прямой ссылке: \n\n" . $config['home'] . "/pages/key.php?act=inkey&key=" . $registration_key . " \n\nЕсли в течении 24 часов вы не подтвердите регистрацию, ваш профиль будет автоматически удален"; } if ($config['regkeys'] == 2) { echo '<b><span style="color:#ff0000">Внимание! Ваш аккаунт будет активирован только после проверки администрацией!</span></b><br /><br />'; $regmessage .= "Внимание! \nВаш аккаунт будет активирован только после проверки администрацией! \nПроверить статус активации вы сможете после авторизации на сайте"; } // Активация пригласительного ключа if (!empty($config['invite'])) { DB::run()->query("UPDATE `invite` SET `used`=?, `invited`=? WHERE `key`=? LIMIT 1;", array(1, $logs, $invite)); } $registration = DBM::run()->insert('users', array('users_login' => $logs, 'users_pass' => md5(md5($pars)), 'users_email' => $meil, 'users_joined' => SITETIME, 'users_level' => 107, 'users_gender' => $gender, 'users_themes' => 0, 'users_postguest' => $config['bookpost'], 'users_postnews' => $config['postnews'], 'users_postprivat' => $config['privatpost'], 'users_postforum' => $config['forumpost'], 'users_themesforum' => $config['forumtem'], 'users_postboard' => $config['boardspost'], 'users_point' => 0, 'users_money' => $config['registermoney'], 'users_timelastlogin' => SITETIME, 'users_confirmreg' => $config['regkeys'], 'users_confirmregkey' => $registration_key, 'users_navigation' => $config['navigation'], 'users_subscribe' => generate_password(32))); // ------------------------------ Уведомление в приват ----------------------------------// $textpriv = text_private(1, array('%USERNAME%' => $logs, '%SITENAME%' => $config['home'])); send_private($logs, $config['nickname'], $textpriv); if (!empty($config['regmail'])) { sendMail($meil, 'Регистрация на сайте ' . $config['title'], nl2br($regmessage)); } // ----------------------------------------------------------------------------------------// $_SESSION['reguser'] = 1; echo 'Вы удачно зарегистрированы!<br /><br />'; echo 'Логин: <b>' . $logs . '</b><br />'; echo 'Пароль: <b>' . $pars . '</b><br /><br />'; echo 'Теперь вы можете войти<br />'; echo '<br /><img src="/images/img/open.gif" alt="image" /> '; echo '<b><a href="/input.php?login='******'&pass='******'">Вход на сайт</a></b><br /><br />'; echo 'Вы можете сделать закладку для быстрого входа:<br />';
/** * Обработка смайлов * @param string $text Необработанный текст * @return string Обработанный текст */ public function parseSmiles($source) { static $list_smiles; if (empty($list_smiles)) { if (!file_exists(DATADIR . '/temp/smiles.dat')) { $smiles = DBM::run()->query("SELECT `smiles_name`, `smiles_code` FROM `smiles` ORDER BY CHAR_LENGTH(`smiles_code`) DESC;"); file_put_contents(DATADIR . '/temp/smiles.dat', serialize($smiles)); } $list_smiles = unserialize(file_get_contents(DATADIR . "/temp/smiles.dat")); } $count = 0; foreach ($list_smiles as $smile) { $source = preg_replace('|' . preg_quote($smile['smiles_code']) . '|', '<img src="/images/smiles/' . $smile['smiles_name'] . '" alt="' . $smile['smiles_name'] . '" /> ', $source, $this->setting['resmiles'] - $count, $cnt); $count += $cnt; if ($count >= $this->setting['resmiles']) { break; } } return $source; }
echo '<img src="/images/img/back.gif" alt="image" /> <a href="reklama.php">Вернуться</a><br />'; break; ############################################################################################ ## Просмотр всех ссылок ## ############################################################################################ ############################################################################################ ## Просмотр всех ссылок ## ############################################################################################ case 'all': $config['newtitle'] = 'Список всех ссылок'; $total = DBM::run()->count('rekuser', array('rek_time' => array('>', SITETIME))); if ($total > 0) { if ($start >= $total) { $start = 0; } $reklama = DBM::run()->select('rekuser', array('rek_time' => array('>', SITETIME)), $config['rekuserpost'], $start, array('rek_time' => 'DESC')); foreach ($reklama as $data) { echo '<div class="b">'; echo '<img src="/images/img/online.gif" alt="image" /> '; echo '<b><a href="' . $data['rek_site'] . '">' . $data['rek_name'] . '</a></b> (' . profile($data['rek_user']) . ')</div>'; echo 'Истекает: ' . date_fixed($data['rek_time']) . '<br />'; if (!empty($data['rek_color'])) { echo 'Цвет: <span style="color:' . $data['rek_color'] . '">' . $data['rek_color'] . '</span>, '; } else { echo 'Цвет: нет, '; } if (!empty($data['rek_bold'])) { echo 'Жирность: есть<br />'; } else { echo 'Жирность: нет<br />'; }
$uztotal = DB::run()->querySingle("SELECT count(*) FROM `inbox` WHERE `inbox_user`=?;", array($uz)); if ($uztotal < $config['limitmail']) { // ----------------------------- Проверка на игнор ----------------------------// $ignorstr = DB::run()->querySingle("SELECT `ignore_id` FROM `ignore` WHERE `ignore_user`=? AND `ignore_name`=? LIMIT 1;", array($uz, $log)); if (empty($ignorstr)) { if (is_flood($log)) { $msg = antimat($msg); DB::run()->query("UPDATE `users` SET `users_newprivat`=`users_newprivat`+1 WHERE `users_login`=? LIMIT 1;", array($uz)); DB::run()->query("INSERT INTO `inbox` (`inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`) VALUES (?, ?, ?, ?);", array($uz, $log, $msg, SITETIME)); DB::run()->query("INSERT INTO `outbox` (`outbox_user`, `outbox_author`, `outbox_text`, `outbox_time`) VALUES (?, ?, ?, ?);", array($uz, $log, $msg, SITETIME)); DB::run()->query("DELETE FROM `outbox` WHERE `outbox_author`=? AND `outbox_time` < (SELECT MIN(`outbox_time`) FROM (SELECT `outbox_time` FROM `outbox` WHERE `outbox_author`=? ORDER BY `outbox_time` DESC LIMIT " . $config['limitoutmail'] . ") AS del);", array($log, $log)); save_usermail(60); $deliveryUsers = DBM::run()->select('users', array('users_newprivat' => array('>', 0), 'users_sendprivatmail' => 0, 'users_timelastlogin' => array('<', SITETIME - 86400 * $config['sendprivatmailday']), 'users_subscribe' => array('<>', ''), 'users_email' => array('<>', ''), 'users_confirmreg' => 0), $config['sendmailpacket'], null, array('users_timelastlogin' => 'ASC')); foreach ($deliveryUsers as $user) { sendMail($user['users_email'], $user['users_newprivat'] . ' непрочитанных сообщений (' . $config['title'] . ')', nl2br("Здравствуйте " . nickname($user['users_login']) . "! \nУ вас имеются непрочитанные сообщения (" . $user['users_newprivat'] . " шт.) на сайте " . $config['title'] . " \nПрочитать свои сообщения вы можете по адресу " . $config['home'] . "/pages/private.php"), array('unsubkey' => $user['users_subscribe'])); $user = DBM::run()->update('users', array('users_sendprivatmail' => 1), array('users_login' => $user['users_login'])); } notice('Ваше письмо успешно отправлено!'); redirect("private.php"); } else { show_error('Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' секунд!'); } } else { show_error('Ошибка! Вы внесены в игнор-лист получателя!'); } } else { show_error('Ошибка! Ящик получателя переполнен!'); } } else { show_error('Ошибка! Данного адресата не существует!'); }
require_once '../includes/start.php'; require_once '../includes/functions.php'; require_once '../includes/header.php'; include_once '../themes/header.php'; $act = isset($_GET['act']) ? check($_GET['act']) : 'index'; $start = isset($_GET['start']) ? abs(intval($_GET['start'])) : 0; show_title('Список смайлов'); switch ($act) { /** * Главная страница */ case "index": $total = DBM::run()->count('smiles'); if ($total > 0) { if ($start >= $total) { $start = 0; } $smiles = DBM::run()->query("SELECT * FROM `smiles` ORDER BY CHAR_LENGTH(`smiles_code`) ASC LIMIT :start, :limit;", array('start' => intval($start), 'limit' => intval($config['smilelist']))); foreach ($smiles as $smile) { echo '<img src="/images/smiles/' . $smile['smiles_name'] . '" alt="" /> — <b>' . $smile['smiles_code'] . '</b><br />'; } page_strnavigation('smiles.php?', $config['smilelist'], $start, $total); echo 'Всего cмайлов: <b>' . $total . '</b><br /><br />'; } else { show_error('Смайлы не найдены!'); } break; default: redirect("smiles.php"); } include_once '../themes/footer.php';
<?php #---------------------------------------------# # ********* RotorCMS ********* # # Author : Vantuz # # 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'; include_once '../themes/header.php'; $key = isset($_GET['key']) ? check($_GET['key']) : ''; show_title('Отписка от рассылки'); ############################################################################################ ## Главная страница ## ############################################################################################ if (!empty($key)) { $user = DBM::run()->queryFirst("SELECT * FROM `users` WHERE BINARY `users_subscribe`=:key LIMIT 1;", compact('key')); if ($user) { $user = DBM::run()->update('users', array('users_subscribe' => ''), array('users_login' => $user['users_login'])); echo '<img src="/images/img/open.gif" alt="image" /> <b>Вы успешно отписались от рассылки!</b><br />'; } else { show_error('Ошибка! Ключ для отписки от рассылки устарел!'); } } else { show_error('Ошибка! Отсутствует ключ для отписки от рассылки!'); } include_once '../themes/footer.php';
redirect("notice.php?act=edit&id={$id}"); } else { show_error($validation->getErrors()); } render('includes/back', array('link' => 'notice.php?act=edit&id=' . $id, 'title' => 'Вернуться')); break; /** * Удаление шаблона */ /** * Удаление шаблона */ case 'del': $uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0; $notice = DBM::run()->selectFirst('notice', array('notice_id' => $id)); $validation = new Validation(); $validation->addRule('equal', array($uid, $_SESSION['token']), 'Неверный идентификатор сессии, повторите действие!')->addRule('not_empty', $notice, 'Не найден шаблон для удаления!')->addRule('empty', $notice['notice_protect'], 'Запрещено удалять защищенный шаблон!'); if ($validation->run()) { $delete = DBM::run()->delete('notice', array('notice_id' => $id)); notice('Выбранный шаблон успешно удален!'); redirect("notice.php"); } else { show_error($validation->getErrors()); } render('includes/back', array('link' => 'notice.php', 'title' => 'Вернуться')); break; default: redirect("notice.php"); } render('includes/back', array('link' => '/admin/', 'title' => 'В админку', 'icon' => 'panel.gif')); include_once '../themes/footer.php';
*/ /** * Редактирование сообщения */ case 'editpost': $uid = check($_GET['uid']); $id = abs(intval($_GET['id'])); $msg = check($_POST['msg']); if (is_user()) { if ($uid == $_SESSION['token']) { if (utf_strlen($msg) >= 5 && utf_strlen($msg) < $config['guesttextlength']) { $post = DBM::run()->selectFirst('guest', array('guest_id' => $id, 'guest_user' => $log)); if (!empty($post)) { if ($post['guest_time'] + 600 > SITETIME) { $msg = antimat($msg); $guest = DBM::run()->update('guest', array('guest_text' => $msg, 'guest_edit' => $log, 'guest_edit_time' => SITETIME), array('guest_id' => $id)); notice('Сообщение успешно отредактировано!'); redirect("index.php?start={$start}"); } else { show_error('Ошибка! Редактирование невозможно, прошло более 10 минут!!'); } } else { show_error('Ошибка! Сообщение удалено или вы не автор этого сообщения!'); } } else { show_error('Ошибка! Слишком длинное или короткое сообщение!'); } } else { show_error('Ошибка! Неверный идентификатор сессии, повторите действие!'); } } else {
define('DATADIR', BASEDIR . '/local'); define('SITETIME', time()); define('PCLZIP_TEMPORARY_DIR', BASEDIR . '/local/temp/'); session_name('SID'); session_start(); if (file_exists(BASEDIR . '/includes/connect.php')) { include_once BASEDIR . '/includes/connect.php'; } else { die('Переименуйте файл connect.example.php в connect.php в директории include!'); } if (file_exists(BASEDIR . '/includes/vendor/autoload.php')) { include_once BASEDIR . '/includes/vendor/autoload.php'; } // -------- Автозагрузка классов ---------- // function autoloader($class) { $class = str_replace('\\', '/', $class); if (file_exists(BASEDIR . '/includes/classes/' . $class . '.php')) { include_once BASEDIR . '/includes/classes/' . $class . '.php'; } include_once BASEDIR . '/includes/classes/swiftmailer/swift_required.php'; } spl_autoload_register('autoloader'); DBM::run()->config(DBHOST, DBNAME, DBUSER, DBPASS, DBPORT); if (!file_exists(DATADIR . '/temp/setting.dat')) { $queryset = DB::run()->query("SELECT `setting_name`, `setting_value` FROM `setting`;"); $config = $queryset->fetchAssoc(); file_put_contents(DATADIR . '/temp/setting.dat', serialize($config), LOCK_EX); } $config = unserialize(file_get_contents(DATADIR . '/temp/setting.dat')); date_default_timezone_set($config['timezone']);
case 'del': $uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0; $del = isset($_POST['del']) ? intar($_POST['del']) : 0; if ($uid == $_SESSION['token']) { if (!empty($del)) { if (is_writeable(BASEDIR . '/images/smiles')) { $del = implode(',', $del); $arr_smiles = DBM::run()->query("SELECT `smiles_name` FROM `smiles` WHERE `smiles_id` IN(" . $del . ");"); if (count($arr_smiles) > 0) { foreach ($arr_smiles as $delfile) { if (file_exists(BASEDIR . '/images/smiles/' . $delfile['smiles_name'])) { unlink(BASEDIR . '/images/smiles/' . $delfile['smiles_name']); } } } DBM::run()->execute("DELETE FROM `smiles` WHERE `smiles_id` IN (" . $del . ");"); clearCache(); notice('Выбранные смайлы успешно удалены!'); redirect("smiles.php?start={$start}"); } else { show_error('Ошибка! Не установлены атрибуты доступа на дирекоторию со смайлами!'); } } else { show_error('Ошибка! Отсутствуют выбранные смайлы!'); } } else { show_error('Ошибка! Неверный идентификатор сессии, повторите действие!'); } render('includes/back', array('link' => 'smiles.php?start=' . $start, 'title' => 'Вернуться')); break; default: