Beispiel #1
0
 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('Ошибка! В данный раздел запрещена загрузка файлов!');
                                     }
Beispiel #2
0
 $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='******'&amp;pass='******'">Вход на сайт</a></b><br /><br />';
 echo 'Вы можете сделать закладку для быстрого входа:<br />';
Beispiel #3
0
 /**
  * Обработка смайлов
  * @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;
 }
Beispiel #4
0
     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 />';
             }
Beispiel #5
0
     $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('Ошибка! Данного адресата не существует!');
 }
Beispiel #6
0
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';
Beispiel #7
0
<?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';
Beispiel #8
0
            redirect("notice.php?act=edit&id={$id}");
        } else {
            show_error($validation->getErrors());
        }
        render('includes/back', array('link' => 'notice.php?act=edit&amp;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';
Beispiel #9
0
      */
 /**
  * Редактирование сообщения
  */
 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 {
Beispiel #10
0
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']);
Beispiel #11
0
 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: