protected function configureDatabase() { $db = new DBM(); $db->addConnection(['driver' => 'sqlite', 'database' => ':memory:', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '']); $db->bootEloquent(); $db->setAsGlobal(); }
/** * method instance. * - static, for singleton, for creating a global instance of this object * * @return - DBM Object */ public static function run() { if (!isset(self::$instance)) { self::$instance = new DBM(); } return self::$instance; }
/** * Initialize Config class: read config file and define global variables * * @param string $config_file * @param string $root_path * @return void */ public function init($config_file, $root_path) { // read ini file $cfg = parse_ini_file($config_file, true); // ==== Global definitions ==== define('M_ROOT_PATH', $root_path); // path from web root directory if (!empty($cfg['globals']['PHP_LOG_PATH'])) { ini_set("log_errors", 'On'); ini_set("error_log", self::isAbsolutePath($cfg['globals']['PHP_LOG_PATH']) ? $cfg['globals']['PHP_LOG_PATH'] : M_ROOT_PATH . $cfg['globals']['PHP_LOG_PATH']); } ini_set('display_errors', empty($cfg['globals']['ERROR_DISPLAY']) ? 'Off' : strval($cfg['globals']['ERROR_DISPLAY'])); define('M_ERR_PATH', !isset($cfg['globals']['ERROR_LOG_PATH']) || empty($cfg['globals']['ERROR_LOG_PATH']) ? null : (self::isAbsolutePath($cfg['globals']['ERROR_LOG_PATH']) ? $cfg['globals']['ERROR_LOG_PATH'] : M_ROOT_PATH . $cfg['globals']['ERROR_LOG_PATH'])); define('M_APP_PATH', empty($cfg['globals']['M_APP_PATH']) ? M_ROOT_PATH . 'app/' : M_ROOT_PATH . $cfg['globals']['APP_PATH']); define('M_SITE_NAME', empty($cfg['globals']['SITE_NAME']) ? 'Mantella Site' : $cfg['globals']['SITE_NAME']); define('M_ADMIN_EMAIL', empty($cfg['globals']['ADMIN_EMAIL']) ? null : $cfg['globals']['ADMIN_EMAIL']); define('M_URL_PREFIX', empty($cfg['globals']['URL_PREFIX']) ? null : $cfg['globals']['URL_PREFIX']); if (!$cfg['globals']['BASE_URL']) { $_path = str_replace('\\', '/', M_ROOT_PATH); $_proto = $_SERVER['SERVER_PORT'] != 443 ? 'http://' : 'https://'; $_port = $_SERVER['SERVER_PORT'] != 443 && $_SERVER['SERVER_PORT'] != 80 ? ':' . $_SERVER['SERVER_PORT'] : ''; $cfg['globals']['BASE_URL'] = strtolower($_proto . $_SERVER['SERVER_NAME'] . $_port . preg_replace('/^[\\w:\\/]*' . str_replace('/', '\\/', $_SERVER["DOCUMENT_ROOT"]) . '/i', '', $_path)); } define('M_BASE_URL', $cfg['globals']['BASE_URL']); // ==== Custom definitions ==== foreach ($cfg['definitions'] as $name => $value) { define($name, $value); } // ==== Read databases and init DBManager ==== $databases = array(); foreach ($cfg['databases'] as $name => $value) { $db = explode(".", $name); if (!isset($databases[$db[0]])) { $databases[$db[0]] = array('driver' => "unknown", 'host' => "localhost", 'port' => null, 'database' => "base", 'username' => null, 'password' => null, 'charset' => null, 'prefix' => null); } $databases[$db[0]][$db[1]] = $value; } if (class_exists('DBM')) { DBM::init($databases); } // ==== Vendors ==== foreach ($cfg['vendors'] as $name => $params) { self::set("vendor_" . $name, $params); $init_path = realpath(M_ROOT_PATH . "vendors/" . $name . "/init.php"); if (file_exists($init_path)) { include_once $init_path; } } }
/** * Initialize MantellaSession class: init database authorization, renew session * * @param void * @return void */ public static function init($preset) { self::$settings['dblink'] = DBM::get(trim($preset['connection'])); self::$settings['table'] = trim($preset['table']); $tmp = explode(",", trim($preset['fields'])); for ($i = 0; $i < count($tmp); $i++) { self::$settings['fields'][] = trim($tmp[$i]); } self::$settings['login'] = explode("|", trim($preset['login'])); self::$settings['secret'] = trim($preset['password']); self::$settings['encode'] = empty($preset['encoding']) ? null : trim($preset['encoding']); if (isset($_SESSION[self::SESSION_NAME])) { self::$session = $_SESSION[self::SESSION_NAME]; } self::$initialized = TRUE; }
public static function getOption($name) { $dbm = DBM::instance(); if (is_array($name)) { $que = "SELECT * FROM {options} WHERE name IN ('" . implode("','", $name) . "')"; } else { $que = "SELECT * FROM {options} WHERE name = '" . $name . "'"; } if (is_array($name)) { while ($row = $dbm->getFetchArray($que)) { $options[$row['name']] = self::fetchOption($row['vlaue']); } return $options; } else { $row = $dbm->getFetchArray($que); return self::fetchOption($row['value']); } }
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';
$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('Ошибка! Данного адресата не существует!'); }
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']);
$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 />';
/** * Create a new model instance. * * @param void * @return void */ public function __construct() { if ($this->DATABASE) { $this->_DBLINK = DBM::get($this->DATABASE); } if (is_string($this->VALIDATORS_ERRORS)) { $this->VALIDATORS_ERRORS = LNG::get($this->VALIDATORS_ERRORS); } }
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 {
<?php require_once 'config.php'; require_once 'functions.php'; //動画No取得 if (preg_match('/^[1-9][0-9]*$/', $_GET['movie_num'])) { $movie_num = (int) $_GET['movie_num']; } else { $movie_num = 0; } // 人気タグ20個読み込み $popTags = getPopTags(); $dbm = new DBM(); $dbm->setMovieDataFromMovieId($movie_num); $dbm->getMovieData($movieData); // movie_urlを実際に表示させる形に変換する $pattern = '/^http/'; if (preg_match($pattern, $movieData['movie_url'])) { // xvideos形式だった場合 $movieData['movie_url'] = "<iframe width=\"480\" height=\"400\" src=\"{$movieData['movie_url']}\" title=\"xhamster\" scrolling=\"no\">iframeが無効です。</iframe>"; } // おすすめ動画取得 // おすすめ動画 $recomMovies = []; $dbm->setRecomMovieData(30); $dbm->getMovieData($recomMovies); // おすすめ動画のtext修正 foreach ($recomMovies as &$movie) { $movie['text'] = mb_substr($movie['text'], 30, mb_strlen($movie['text']) - 30); } /* $recomMovies = [];
<?php require_once './DataGet/config.php'; require_once './DataGet/functions.php'; // 必要なデータ $dbm = new DBM(); // 新着動画 $newMovies = []; $dbm->setMovieData(12, ""); $dbm->getMovieData($newMovies); // おすすめ動画 $recomMovies = []; $dbm->setRecomMovieData(30); $dbm->getMovieData($recomMovies); // おすすめ動画のtext修正 foreach ($recomMovies as &$movie) { $movie['text'] = mb_substr($movie['text'], 30, mb_strlen($movie['text']) - 30); } // 人気タグ一覧 $popTags = getPopTags(); // 総動画数取得 $numberOfMovie = getNumberOfMovie(); // Debug /* var_dump(count($newMovies)); echo '<br>'; foreach($newMovies as $movie) { var_dump($movie['title']); 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 />'; }
<?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';
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('Ошибка! В данный раздел запрещена загрузка файлов!'); }
// 表示ページGET if (preg_match('/^[1-9][0-9]*$/', $_GET['page'])) { $page = (int) $_GET['page']; } else { $page = 1; } // 検索ワードGET $keyword = $_GET['keyword']; $keyword_converted = mb_convert_kana($keyword, 's', 'UTF-8'); $ary_keyword = preg_split('/[\\s]+/', $keyword_converted, -1, PREG_SPLIT_NO_EMPTY); // キーワード成形 foreach ($ary_keyword as $row) { $sql_input_keyword .= $row . '%'; } $popTags = getPopTags(); $dbm = new DBM(); $movieDataRow = array(); $dbm->setMovieData(1000, "{$keyword}"); $dbm->getMovieData($movieDataRow); if ($page < 1) { $offset = 0; } else { $offset = $page - 1; } $movieData = array_slice($movieDataRow, $offset * FILES_PER_PAGE, FILES_PER_PAGE); // page_nav用 $totalMovies = count($movieDataRow); $totalPages = $totalMovies / FILES_PER_PAGE; /* if($totalPages < 1) { $totalPages = 1;
/** * Return database connection, or FALSE if database connection not assigned/connected * * @param void * @return MantellaDB|boolean */ private function getDB() { $db = DBM::get($this->DATABASE); return $db && $db->isConnected() ? $db : false; }
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: