static function clear($key = null, $is_secret_key = false) { $is_secret_key and $key = secure::token($key); if (is_null($key)) { session_unset(); } elseif (is_array($key)) { foreach ($key as $k) { unset($_SESSION[$k]); } } else { unset($_SESSION[$key]); } return true; }
static function csrf($mode, $csrf = '') { $key = config('secure.csrf_name', 'secure'); if ($mode === 'get') { return session::get($key); } if ($mode === 'check') { //Notice 是否只用一次并清掉cookie // input::cookie($key,$value,1); return $csrf && $csrf === session::get($key); } if ($mode === 'set') { $value = substr(secure::token(time()), 5, 8); session::set($key, $value); input::cookie($key, $value, 7200); } return true; }
/** * функция проверки авторизации админа * Берет логин и пароль админа из сесси и сверяет их с данными в БД * * @param (string) $login - новый логин (может быть false) * @param (string) $password - новый пароль (может быть false) * * @return bool (сообщение перезагружающее страницу) */ static function changeAdminPassword($login, $password) { $link = isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : ''; if ($login && $password) { $change = "login='******', password='******'"; $arrSession = array('administrator_login' => md5($login), 'administrator_password' => md5($password)); } elseif (!$login && $password) { $change = "password='******'"; $arrSession = array('administrator_password' => md5($password)); } elseif ($login && !$password) { $change = "login='******'"; $arrSession = array('administrator_login' => md5($login)); } else { $change = false; } $strQuery = "UPDATE " . USR_PREFIX . "admin SET " . $change . " WHERE login IN (" . secure::escQuoteData($_SESSION['administrator_login']) . ") AND password IN (" . secure::escQuoteData($_SESSION['administrator_password']) . ")"; if (!empty($change) && db::dbQuery($strQuery)) { // обновляем пароль в сессии tools::updateSessionData($_SESSION, $arrSession); messages::messageChangeSaved(MESSAGE_DATA_HAS_BEEN_CHANGED, false, CONF_ADMIN_FILE . $link); } else { messages::messageChangeSaved(MESSAGE_DATA_HAS_NOT_BEEN_CHANGED, false, CONF_ADMIN_FILE . $link); } }
############################### INIT ############################### #################################################################### /********** Автозагрузчик классов **********/ spl_autoload_register('expert__autoload'); function expert__autoload($className) { /********** Библиотека статических классов **********/ if (file_exists(SD_ROOT_DIR . 'core/classes/lib/' . $className . '.class.php')) { require_once SD_ROOT_DIR . 'core/classes/lib/' . $className . '.class.php'; } else { // Файл класса ненайден печатаем сообщение об ошибке spl_autoload_register('smartyAutoload'); } } /********** Очистка полученных данных **********/ secure::clearRequestData(); /********** Языковые файлы **********/ if (!empty($_COOKIE['instLang']) && is_dir(SD_ROOT_DIR . 'install/lang/' . $_COOKIE['instLang'] . '/')) { $currLang = $_COOKIE['instLang']; } else { $currLang = SDG_DEFAULT_LANGUAGE; } foreach (filesys::getFilesInDir(SD_ROOT_DIR . 'install/lang/' . $currLang . '/') as $fileLang) { require_once SD_ROOT_DIR . 'install/lang/' . $currLang . '/' . $fileLang; } /********** Инициализация Smarty **********/ define('SMARTY_SPL_AUTOLOAD', 1); require_once SD_ROOT_DIR . 'install/Smarty/Smarty.class.php'; $smarty = new Smarty(); //core smarty object $smarty->error_reporting = E_ALL & ~E_NOTICE;
/** * Функция отправляет пользователю сообщение о том, что его статья удалена * * @param (array) $arrData - массив данных статьи * * @return void */ public function sendUserDeletedArticle(&$arrData) { /** Получаем данные пользователя **/ $user = new user(); if ($uData = $user->getUser("id IN (" . secure::escQuoteData($arrData['id']) . ")")) { $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%ARTICLE_TITLE%' => $arrData['title'], '%COMMENTS%' => CONF_MAIL_FORMAT_HTML ? nl2br($arrData['comments']) : $arrData['comments'])); // отправляем письмо администратору $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $uData['email'], $uData['first_name'], MAIL_MODERATE_ARTICLES_DELETED . ': ' . $arrData['title'], 'user.article.deleted.txt'); unset($mailer); // уничтожаем объект } unset($user); // уничтожаем объект }
$arrID = array_filter(explode('-', $retFields['id_user']), 'strings::ifInt'); !empty($arrID[0]) && !empty($arrID[1]) ? $strWhere .= " AND id_user>=" . $arrID[0] . " AND id_user<=" . $arrID[1] : null; } elseif ((int) $retFields['id_user']) { $strWhere .= " AND id_user IN (" . secure::escQuoteData((int) abs($retFields['id_user'])) . ")"; } } /** Автор **/ !empty($retFields['author']) ? $strWhere .= " AND author LIKE " . secure::escQuoteData($retFields['author']) : null; /** Заголовок **/ !empty($retFields['title']) ? $strWhere .= " AND title LIKE " . secure::escQuoteData($retFields['title']) : null; /** Раздел **/ !empty($retFields['id_section']) ? $strWhere .= " AND id_section IN (" . secure::escQuoteData($retFields['id_section']) . ")" : null; // проверяем поле "Дата от" и создаем условие для запроса !empty($retFields['sDate']) ? !validate::validateMySqlDate($retFields['sDate']) ? $arrErrors[] = ERROR_DATE_FORMAT : ($strWhere .= " AND datetime>=" . secure::escQuoteData($retFields['sDate'])) : null; // проверяем поле "Дата до" и создаем условие для запроса !empty($retFields['eDate']) ? !validate::validateMySqlDate($retFields['eDate']) ? $arrErrors[] = ERROR_DATE_FORMAT : ($strWhere .= " AND datetime<=" . secure::escQuoteData($retFields['eDate'])) : null; /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// $smarty->assignByRef('retFields', $retFields); /** текущий обработанный URL **/ $path .= 'do=filter&id=' . $retFields['id'] . '&id_user='******'id_user'] . '&author=' . $retFields['author'] . '&title=' . $retFields['title'] . '&id_section=' . $retFields['id_section'] . '&sDate=' . $retFields['sDate'] . '&eDate=' . $retFields['eDate'] . '&records=' . $retFields['records'] . '&'; } /** смещение, всегда 0 (затем берется из $_GET) **/ $offset = !empty($_GET['offset']) && strings::ifInt($_GET['offset']) && (int) $_GET['offset'] > 0 ? (int) abs($_GET['offset']) : 0; $strLimit = array('strLimit' => $offset . ',' . $retFields['records'], 'calcRows' => true); $arrFields = array('id', 'title', 'id_section', 'id_user', 'author', 'datetime'); $smarty->assign('arrArticles', $articles->getArticles($strWhere, false, $strLimit, $arrFields)); // массив всех статей /** формируем страницы **/ $allRecords = $articles->cntArticles(); // получаем общее количество статей
// массив всех новостей $smarty->assignByRef('news', $arrNews); // для блока боковой части $currMonth = terms::currentDateTime('n'); $smarty->assignByRef('currMonth', $currMonth); //$smarty->assignByRef('arrMonth', $arrAddDict['Month']['values']); } elseif (isset($_GET['month'])) { messages::error404(); } elseif (!empty($_GET['year']) && ($year = chpu::getId_out_tId($_GET['year'])) && 4 == strlen($year)) { $arrNamePage[] = array('name' => MENU_ACTION_ARCHIVED, 'link' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=news&action=archive')); $arrNamePage[] = array('name' => $year, 'link' => false); //смещение, всегда 0 (затем берется из $_GET) $offset = !empty($_GET['offset']) && validate::checkNaturalNumber($_GET['offset']) ? validate::checkNaturalNumber($_GET['offset']) : 0; //получаем массив, содержащий текущий обработанный URL $path = CONF_SCRIPT_URL . 'index.php?do=news&action=archive&year=' . $year . '&page=offset&'; $strWhere = "token IN ('archived') AND YEAR(`datetime`)=" . secure::escQuoteData($year); $arrOrderBy = array('datetime' => 'DESC'); $arrLimit = array('strLimit' => $offset . ',' . CONF_NEWS_PERPAGE, 'calcRows' => true); $arrNews = $news->getNewses($strWhere, $arrOrderBy, $arrLimit, false); // формируем страницы // получаем общее количество новостей $allRecords = $news->cntNews(); // формируем странциы $strPages = strings::generatePage($allRecords, $offset, CONF_NEWS_PERPAGE, $path); //передаем в шаблон строку сформированных страниц $smarty->assignByRef('string_page', $strPages); // массив всех новостей $smarty->assignByRef('news', $arrNews); // для блока боковой части $currMonth = terms::currentDateTime('n'); $smarty->assignByRef('currMonth', $currMonth);
if (!empty($_POST['action'])) { // удаление if ('delete' === $_POST['action'] && !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['del_articles']) && !empty($_POST['articles'])) { $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ")"; !$articles->deleteArticles(array_keys($_POST['articles']), $strWhere) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.articles&action=active')); } // архивация if ('archive' === $_POST['action'] && !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['arc_articles']) && !empty($_POST['articles'])) { $arrData = array('token' => 'archived'); $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ")"; !$articles->updateArticles($arrData, array_keys($_POST['articles']), $strWhere) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.articles&action=active')); } } // инициируем "Наименование страницы" отображаемое в заголовке формы $arrNamePage[] = array('name' => constant('MENU_ACTION_ACTIVE'), 'link' => false); $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ") AND token IN ('active')"; if ($arrArticles = $articles->getArticles($strWhere, false, false, false)) { // если есть статьи, устанавливаем признак публикации foreach ($arrArticles as $key => &$value) { $value['link'] = strtotime($value['datetime']) > time() ? false : true; $arrArticles[$key] = $value; } } $smarty->assignByRef('arrArticles', $arrArticles); } else { messages::error404(); } $smarty->assignByRef('retFields', $retFields); $smarty->assignByRef('arrUser', $arrUser); $smarty->assignByRef('errors', $arrErrors); $smarty->assignByRef('warnings', $arrWarnings);
/** * protected функция помечает разделы и сатьи этих разделов как удаленные * * @param (array) $arrSections - массив, содержащий id разделов для удаления * * @return bool */ protected function pDeleteSections(&$arrSections) { // помечаем статьи разделов как удаленные foreach ($arrSections as &$value) { $articles = new articles(); $articles->deleteArticlesBySection($value); } $strWhere = 'id IN (' . implode(',', secure::escQuoteData($arrSections)) . ')'; caching::clearCache($this->retTableName()); return $this->delEntrys($strWhere); }
$new_password = md5($_POST['new_password']); if (md5($_POST['password']) !== $_SESSION['sd_user']['data']['password']) { $arrErrors[] = ERROR_PASSWORD; } if (strlen($_POST['new_password']) < CONF_REGISTER_USER_PASSWORD) { $arrErrors[] = ERROR_PASSWORD_SHORT; } if (md5($_POST['password']) === md5($_POST['new_password'])) { $arrErrors[] = ERROR_PASSWORD_NOT_NEW_PASSWORD; } if ($_POST['new_password'] !== $_POST['confirm_password']) { $arrErrors[] = ERROR_PASSWORD_NOT_CONFIRM_PASSWORD; } } else { $arrErrors[] = ERROR_EMPTY_FIELDS; } if (!$arrErrors) { $user->updateUser(array('password' => md5($_POST['new_password'])), "id IN (" . secure::escQuoteData($_SESSION['sd_user']['data']['id']) . ")"); // обновляем пароль в сессии tools::updateSessionData($_SESSION['sd_user']['data'], array('password' => md5($_POST['new_password']))); messages::messageChangeSaved(MESSAGE_PASSWORD_HAS_BEEEN_CHANGED, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.data')); } else { $smarty->assignByRef('errors', $arrErrors); } } } else { messages::error404(); } } else { messages::error404(); }
$arrUser = array_merge($_SESSION['sd_user']['data'], $_SESSION['sd_user'][DB_PREFIX . 'conf']); // объединяем данные пользователя /** * Действия */ if (isset($_GET['action'])) { /** * Редактирование личных данных */ if ('edit' === $_GET['action']) { /** * Сохранение личных данных пользователя */ if (isset($_POST['save'])) { if (!empty($_POST['alias'])) { if ($user->issetUser("id NOT IN (" . secure::escQuoteData($_SESSION['sd_user']['data']['id']) . ") AND alias IN (" . secure::escQuoteData($_POST['alias']) . ") AND token IN ('active','archived','moderate','new')")) { $arrErrors[] = ERROR_USER_ALIAS_EXISTS; } } else { $arrErrors[] = ERROR_EMPTY_BIND_FIELDS; } // массив основных данных пользователя $arrData = array('alias' => $_POST['alias'], 'middle_name' => !empty($_POST['middle_name']) ? $_POST['middle_name'] : ''); // Разрешаем пользователю изменять имя и фамилиию только если включена соотв. настройка if (CONF_USER_CHANGE_NAME) { if (!empty($_POST['first_name']) && !empty($_POST['last_name'])) { $arrData['first_name'] = $_POST['first_name']; $arrData['last_name'] = $_POST['last_name']; } else { $arrErrors[] = ERROR_EMPTY_NAME_OR_SURNAME; }
JobExpert v1.0 powered by Script Developers Group (SD-Group) email: info@sd-group.org.ua url: http://sd-group.org.ua/ Copyright 2010-2015 (c) SD-Group All rights reserved ========================================================= Дополнительные страницы ********************************************************/ /** * @package * @todo */ !defined('SDG') ? die('Triple protection!') : null; if (!empty($_GET['action']) && 'view' === $_GET['action'] && !empty($_GET['id'])) { $strWhere = "id IN (" . secure::escQuoteData($_GET['id']) . ") AND token IN ('active')"; $fields = array('title', 'text', 'meta_keywords', 'meta_description'); if ($arrData = $pages->getPage($strWhere, $fields)) { $arrNamePage[] = array('name' => $arrData['title'], 'link' => false); $smarty->assignByRef('menu', $_GET['id']); // выбранный пункт меню // HEAD страницы $smarty->assignByRef('meta_keywords', $arrData['meta_keywords']); $smarty->assignByRef('meta_description', $arrData['meta_description']); $smarty->assignByRef('arrPage', $arrData); // параметры выбранной страницы } else { messages::error404(); } } else { messages::error404();
/** * public функция выполняет действия над группой регионов * * @param string $action * @param array $arrFields * * @return bool */ public function actionRegions($action, $arrFields, $silentMode = false) { if ('edit' === $action || 'sort' === $action || 'del' === $action || 'setRegionMajor' === $action || 'resetRegionMajor' === $action || 'setAddCityAllowed' === $action || 'resetAddCityAllowed' === $action) { if ('del' === $action) { global $citys; $citys->delCategorys('parent_id IN (' . implode(',', secure::escQuoteData($arrFields)) . ')'); } if (!$this->actionCategorys($action, $arrFields)) { if ($silentMode) { return false; } else { messages::messageChangeSaved(ERROR_NOT_SAVE_CHANGE, false, CONF_ADMIN_FILE . '?m=dictionary&s=regions'); } } else { if ($silentMode) { return true; } else { messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=dictionary&s=regions'); } } } else { if ($silentMode) { return false; } else { messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE . '?m=dictionary&s=regions'); } } }
<?php $secure = new secure(); $payflow = new payflow(); $module_name = $args[2]; $module_id = $args[3]; $selected_option = $args[0]; $chart_assign_id = $args[1]; $result = $this->db->query("SELECT * FROM payments WHERE chart_assign_id = '{$chart_assign_id}'"); $tmp1 = $this->db->fetch_assoc($this->db->query("SELECT grant_total FROM erp_order WHERE order_id = {$module_id}")); $full_amount = $tmp1["grant_total"]; $bill_amount = $full_amount / 2; $total_arr = $this->db->fetch_assoc($this->db->query("SELECT SUM( amount ) total FROM `payments` WHERE for_module_name = 'order' AND for_module_id = '{$module_id}' AND refund='no'")); $already_payed = $total_arr["total"]; // $return["javascript"] = "alert('ba: $bill_amount|ap: $already_payed');"; //$return["javascript"] = "alert('" . $this->db->num_rows($result) . "| $already_payed | $bill_amount" . "');"; if ($this->db->num_rows($result) == 0 && $already_payed < $bill_amount) { $return["stop"] = "YES"; $bill = $bill_amount - $already_payed; $contacts = $this->get_contact_by_module($module_id, $module_name); $credit_cards = $secure->get_creditcards("contacts", $contacts[0]); $tmp1 = $this->db->fetch_assoc($this->db->query("SELECT ccid FROM erp_order WHERE order_id = {$module_id}")); $ccid = $tmp1["ccid"]; if (array_key_exists($ccid, $credit_cards) == false && $ccid != '0') { $cc2 = $secure->get_creditcard($ccid); $credit_cards[$ccid] = $cc2[$ccid]; } $ccoptions = '<option value="">--SELECT ONE--</option>'; foreach ($credit_cards as $num => $card) { if ($num = $ccid) { $select = " SELECTED ";
/** * protected функция выполняет действия над группой строк в таблице БД * * @param string $action * @param array $arrFields * * @return bool */ protected function actionCategorys($action, $arrFields, $silentMode = false) { switch ($action) { case 'edit': foreach ($arrFields as $key => $value) { $arrData = isset($value['arrNoBindFields']) ? $value['arrBindFields'] + $value['arrNoBindFields'] : $value['arrBindFields']; $result = $this->editEntrys(secure::escQuoteData($arrData), "id IN (" . secure::escQuoteData($key) . ")"); } break; case 'sort': foreach ($arrFields as $key => $value) { $arrSort[$value][] = $key; } foreach ($arrSort as $key => $value) { $result = $this->editEntrys(array('sort' => "'{$key}'"), "id IN (" . implode(',', secure::escQuoteData($value)) . ")"); } break; case 'del': $table = $this->retTableName(); $strFields = implode(',', secure::escQuoteData($arrFields)); $vacancy = new vacancy(); $result = $vacancy->delAnnounces('id_' . $table . ' IN (' . $strFields . ')'); $resume = new resume(); $result = $resume->delAnnounces('id_' . $table . ' IN (' . $strFields . ')'); $subscription = new subscription(); $strWhere = 'profession' !== $table ? 'id_' . $table . ' IN (' . $strFields . ')' : 'id_' . $table . ' IN (' . $strFields . ') OR id_' . $table . '_1 IN (' . $strFields . ') OR id_' . $table . '_2 IN (' . $strFields . ')'; $result = $subscription->delSubscriptions($strWhere); $result = $this->delCategorys('id IN (' . $strFields . ')'); break; case 'setcapital': $result = $this->editEntrys(array('capital' => "'on'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND capital IN ('0')"); break; case 'resetcapital': $result = $this->editEntrys(array('capital' => "'0'"), "parent_id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND capital IN ('on')"); break; case 'setRegionMajor': $result = $this->editEntrys(array('major' => "'on'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND major IN ('0')"); break; case 'resetRegionMajor': $result = $this->editEntrys(array('major' => "'0'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND major IN ('on')"); break; case 'setAddCityAllowed': $result = $this->editEntrys(array('add_city_allowed' => "'on'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND add_city_allowed IN ('0')"); break; case 'resetAddCityAllowed': $result = $this->editEntrys(array('add_city_allowed' => "'0'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND add_city_allowed IN ('on')"); break; default: if ($silentMode) { $result = false; } else { messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE); } } return $result; }
/** * функция получает стоки помеченные на удаления в таблице БД * производит проверку на совпадение значений уникальных полей и резервирует строку для обновления данных * если такая строка не найдена - возвращает: false * * @param (string) $table - имя таблицы БД * @param (array) $arrUniFields - массив уникальных полей таблицы БД * * @return int id-строки or false */ static function dbGetTableFreeId($table, $arrUniFields) { if (!is_array($arrUniFields)) { db::$dbTypeSelect = 'single'; $arrLimit = array('strLimit' => '0, 1', 'calcRows' => false); $resultQuery = self::dbSelectTable(array('id'), $table, "token IN ('deleted')", false, $arrLimit, false, true); if (!empty($resultQuery)) { $id = $resultQuery['id']; $set = secure::escQuoteData(array('token' => 'reserved')); return !self::dbUpdateTable($table, $set, "id IN ('{$id}')") ? false : $id; } else { return false; } } else { $fields = array_keys($arrUniFields); !in_array('id', $fields) ? $fields[] = 'id' : null; db::$dbTypeSelect = 'multi'; $resultQuery = self::dbSelectTable($fields, $table, "token IN ('deleted')", false, false, true); if (!empty($resultQuery)) { foreach ($resultQuery as $key => &$value) { foreach ($arrUniFields as &$needle) { if (in_array($needle, $value)) { $id =& $resultQuery[$key]['id']; break 2; } } } if (empty($id)) { $resultQuery = reset($resultQuery); $id =& $resultQuery['id']; } $set = secure::escQuoteData(array('token' => 'reserved')); return !self::dbUpdateTable($table, $set, "id IN ('{$id}')") ? false : $id; } else { return false; } } }
!empty($arrConf['robot_running_firsttime']) && $arrConf['robot_running_firsttime'] < time() ? $arrConf['robot_running_firsttime'] += 86400 : null; $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . '$arrRobotConf = array(' . "\n\t\t\t\t\t\t'configs' => array(\n"; foreach ($arrConf as $confKey => $confVal) { $arrConfData[] = "\t\t\t\t\t\t\t\t\t\t\t\t'{$confKey}' => {$confVal}"; } $data .= implode(",\n", $arrConfData) . "\n\t\t\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t'actions' => array(\n"; foreach ($arrRobotConf['actions'] as $actionKey => $actionVal) { $actionVal = false === $actionVal ? 'false' : (true === $actionVal ? 'true' : "'{$actionVal}'"); $arrActData[] = "\t\t\t\t\t\t\t\t\t\t\t\t'{$actionKey}' => {$actionVal}"; } $data .= implode(",\n", $arrActData) . "\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t );\n"; if (!tools::saveConfig($fileName, $data, CONF_ADMIN_FILE . '?m=service&s=robot&action=config')) { $arrErrors[] = ERROR_FILES_MISSING_FILE; } } elseif (isset($_POST['ctrl_save'])) { $arrCtrl = array('updateCounters' => isset($_POST['arrCtrl']['updateCounters']) ? 'true' : 'false', 'delNonverifyUsers' => isset($_POST['arrCtrl']['delNonverifyUsers']) ? 'true' : 'false', 'delNontypeUsers' => isset($_POST['arrCtrl']['delNontypeUsers']) ? 'true' : 'false', 'delUnpaidUsers' => isset($_POST['arrCtrl']['delUnpaidUsers']) ? 'true' : 'false', 'delUnpaidSubscr' => isset($_POST['arrCtrl']['delUnpaidSubscr']) ? 'true' : 'false', 'vacActionSlo' => isset($_POST['arrCtrl']['vacActionSlo']) && ('deleted' === $_POST['arrCtrl']['vacActionSlo'] || 'archived' === $_POST['arrCtrl']['vacActionSlo']) ? secure::escQuoteData($_POST['arrCtrl']['vacActionSlo']) : 'false', 'resActionSlo' => isset($_POST['arrCtrl']['resActionSlo']) && ('deleted' === $_POST['arrCtrl']['resActionSlo'] || 'archived' === $_POST['arrCtrl']['resActionSlo']) ? secure::escQuoteData($_POST['arrCtrl']['resActionSlo']) : 'false', 'vacDelNonverify' => isset($_POST['arrCtrl']['vacDelNonverify']) ? 'true' : 'false', 'resDelNonverify' => isset($_POST['arrCtrl']['resDelNonverify']) ? 'true' : 'false', 'vacDelUnpaid' => isset($_POST['arrCtrl']['vacDelUnpaid']) ? 'true' : 'false', 'resDelUnpaid' => isset($_POST['arrCtrl']['resDelUnpaid']) ? 'true' : 'false', 'vacVipResetSlo' => isset($_POST['arrCtrl']['vacVipResetSlo']) ? 'true' : 'false', 'resVipResetSlo' => isset($_POST['arrCtrl']['resVipResetSlo']) ? 'true' : 'false', 'vacHotResetSlo' => isset($_POST['arrCtrl']['vacHotResetSlo']) ? 'true' : 'false', 'resHotResetSlo' => isset($_POST['arrCtrl']['resHotResetSlo']) ? 'true' : 'false'); $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . '$arrRobotConf = array(' . "\n\t'configs' => array(\n"; foreach ($arrRobotConf['configs'] as $configKey => $configVal) { $configVal = false === $configVal ? 'false' : (true === $configVal ? 'true' : $configVal); $arrConfData[] = "\t\t'{$configKey}' => {$configVal}"; } $data .= implode(",\n", $arrConfData) . "\n\t),\n\n\t'actions' => array(\n"; foreach ($arrCtrl as $ctrlKey => $ctrlVal) { $arrActData[] = "\t\t'{$ctrlKey}' => {$ctrlVal}"; } $data .= implode(",\n", $arrActData) . "\n\t)\n);\n"; if (!tools::saveConfig($fileName, $data, CONF_ADMIN_FILE . '?m=service&s=robot&action=config')) { $arrErrors[] = ERROR_FILES_MISSING_FILE; } } } else {
} else { /** * действия с объявлениями */ isset($_POST['arrVacData']['action']) ? !$vacancy->actionAnnounces($_POST['arrVacData']) ? messages::messageChangeSaved(ERROR_NOT_SAVE_CHANGE, false, CONF_ADMIN_FILE . '?m=announces&s=vacancys') : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=announces&s=vacancys') : null; // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_ANNOUNCES_VACANCYS, 'link' => false); /** * передаем данные в шаблон */ $smarty->assign('professions', $professions->retCategorys()); $smarty->assign('citys', $citys->retCategorys()); /** * Проверяем фильтр */ $strWhere = isset($_GET['filter']) && ('company_name' === $_GET['filter'] || 'email' === $_GET['filter'] || 'user_type' === $_GET['filter'] || 'id_region' === $_GET['filter'] || 'id_city' === $_GET['filter'] || 'id_section' === $_GET['filter'] || 'id_profession' === $_GET['filter']) && isset($_GET['in']) && !empty($_GET['in']) ? $_GET['filter'] . " IN (" . secure::escQuoteData($_GET['in']) . ")" : false; /** * Проверяем сортировку */ $arrOrderBy = array(); isset($_GET['order']) && ('act_datetime' === $_GET['order'] || 'token_datetime' === $_GET['order']) && isset($_GET['by']) && ('ASC' === $_GET['by'] || 'DESC' === $_GET['by']) ? $arrOrderBy[$_GET['order']] = $_GET['by'] : ($arrOrderBy = false); /** * Формируем страницы и передаем полученные данные в шаблон */ $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) $arrLimit = array('strLimit' => $offset . ',' . CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL, 'calcRows' => true); $smarty->assign('return_data', $vacancy->getAnnouncesByToken('active', $strWhere, $arrLimit, $arrOrderBy)); $allRecords = $vacancy->cntAnnounces(); // получаем общее количество объявлений $smarty->assignByRef('allRecords', $allRecords);
/** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrActions = array('payments' => false, 'config' => false, 'mt' => false, 'lt' => false); // определяем шаблон для отображения isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null; $payments = new payments(); $modMenu = array(); // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_MODS_PAYMENTS, 'link' => CONF_ADMIN_FILE . '?m=mods&s=payments'); /** * Действия */ $issetMod = !empty($_GET['id']) ? $payments->issetMod("id IN (" . secure::escQuoteData($_GET['id']) . ") AND token IN ('active', 'disabled')") : false; /** * Настройки модов */ if ($arrActions['config'] && !empty($_GET['id']) && $issetMod) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => strtoupper($_GET['id']), 'link' => false); $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false); include_once 'core/mods/payments/' . $_GET['id'] . '/admin.php'; include_once 'core/mods/payments/' . $_GET['id'] . '/conf/' . $_GET['id'] . '.conf.php'; include_once 'core/mods/payments/' . $_GET['id'] . '/conf/' . $_GET['id'] . '.tariffs.php'; $smarty->assign('config_template', SD_ROOT_DIR . 'core/mods/payments/' . $_GET['id'] . '/templates/' . $_GET['id'] . '.conf.tpl'); $smarty->assign('tariffs_template', SD_ROOT_DIR . 'core/mods/payments/' . $_GET['id'] . '/templates/' . $_GET['id'] . '.tariffs.tpl'); /** * Сохраняем настройки самого мода */
*/ if (!empty($_POST['action'])) { // отображение на главной if ('show' === $_POST['action'] && !empty($_POST['companies'])) { $user->updateConfUser(array('main_logo' => 1), 'id IN (' . implode(',', secure::escQuoteData(array_keys($_POST['companies']))) . ')'); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=users&s=companies'); } // удаление с главной if ('remove' === $_POST['action'] && !empty($_POST['companies'])) { $user->updateConfUser(array('main_logo' => 0), 'id IN (' . implode(',', secure::escQuoteData(array_keys($_POST['companies']))) . ')'); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=users&s=companies'); } // сортировка if ('sorting' === $_POST['action'] && !empty($_POST['sort'])) { foreach ($_POST['sort'] as $key => $value) { $user->updateConfUser(array('sort_logo' => $value), 'id IN (' . secure::escQuoteData($key) . ')'); } messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=users&s=companies'); } } //смещение, всегда 0 (затем берется из $_GET) $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //получаем массив, содержащий текущий обработанный URL $path = CONF_ADMIN_FILE . '?m=users&s=companies&&'; $strWhere = "conf_users.token IN ('active') AND conf_users.user_type IN ('company')"; $strLimit = $offset . ',' . CONF_COMPANIES_STRINGS_PERPAGE_ADMIN_PANEL; $arrOrderBy = array('conf_users.main_logo' => 'DESC', 'conf_users.sort_logo' => 'ASC', 'conf_users.logo' => 'DESC'); $arrCompanies = $user->getCombinedUsersData(false, $strWhere, $arrOrderBy, $strLimit); $allRecords = $user->cntUsers(); // формируем странциы $strPages = strings::generatePage($allRecords, $offset, CONF_COMPANIES_STRINGS_PERPAGE_ADMIN_PANEL, $path, true);
if (!empty($_GET['alias'])) { $strWhereAlias = '()' === $_GET['alias'] ? "users.alias=''" : "users.alias LIKE " . secure::escQuoteData($_GET['alias']); } // формируем условие в соответствии с IP пользователя $strWhereIP = !empty($_GET['reg_ip']) ? "users.reg_ip LIKE " . secure::escQuoteData($_GET['reg_ip']) : false; // формируем условие в соответствии с user_type пользователя $strWhereUserType = isset($_GET['user_type']) && $_GET['user_type'] ? "conf_users.user_type IN (" . secure::escQuoteData($_GET['user_type']) . ")" : false; // формируем условие в соответствии с user_type пользователя $strWhereUserGroup = isset($_GET['user_group']) && $_GET['user_group'] ? "conf_users.user_group IN (" . secure::escQuoteData($_GET['user_group']) . ")" : false; // формируем условие в соответствии с token пользователя $strWhereToken = "conf_users.token IN ('active')"; if (isset($_GET['token']) && $_GET['token']) { if ('new' === $_GET['token']) { $strWhereToken = "users.token IN (" . secure::escQuoteData($_GET['token']) . ")"; } elseif ('active' === $_GET['token'] || 'moderate' === $_GET['token'] || 'payment' === $_GET['token']) { $strWhereToken = "conf_users.token IN (" . secure::escQuoteData($_GET['token']) . ")"; } } // формируем общее условие $strWhere = ($strWhereId ? $strWhereId . ' AND ' : null) . ($strWhereEmail ? $strWhereEmail . ' AND ' : null) . ($strWhereAlias ? $strWhereAlias . ' AND ' : null) . ($strWhereIP ? $strWhereIP . ' AND ' : null) . ($strWhereUserType ? $strWhereUserType . ' AND ' : null) . ($strWhereUserGroup ? $strWhereUserGroup . ' AND ' : null) . $strWhereToken; /** * END ФОРМИРУЕМ УСЛОВИЯ ДЛЯ ЗАПРОСА */ //смещение, всегда 0 (затем берется из $_GET) $offset = isset($_GET['offset']) && (int) $_GET['offset'] > 0 ? (int) $_GET['offset'] : 0; //текущий обработанный URL $path = CONF_ADMIN_FILE . '?m=users&s=manager&action=filter&id=' . $returnData['id'] . '&' . 'email=' . $returnData['email'] . '&alias=' . $returnData['alias'] . '&reg_ip=' . $returnData['reg_ip'] . '&' . 'user_type=' . $returnData['user_type'] . '&user_group=' . $returnData['user_group'] . '&token=' . $returnData['token'] . '&'; // получаем данные пользователя $usersData = $user->getCombinedUsersData(false, $strWhere, array($order => $by), $offset . ',' . CONF_USERS_STRINGS_PERPAGE_ADMIN_PANEL); $allRecords = $user->cntUsers(); // получаем общее количество записей
$strWhere .= " AND payment IN (" . secure::escQuoteData($return_data['payment']) . ")"; } if ($return_data['period']) { $strWhere .= " AND period IN (" . secure::escQuoteData($return_data['period']) . ")"; } if ($return_data['id_section']) { $strWhere .= " AND id_section IN (" . secure::escQuoteData($return_data['id_section']) . ")"; } if ($return_data['id_profession']) { $strWhere .= " AND id_profession IN (" . secure::escQuoteData($return_data['id_profession']) . ")"; } if ($return_data['id_region']) { $strWhere .= " AND id_region IN (" . secure::escQuoteData($return_data['id_region']) . ")"; } if ($return_data['id_city']) { $strWhere .= " AND id_city IN (" . secure::escQuoteData($return_data['id_city']) . ")"; } } $arrNamePage[] = array('name' => MENU_MANAGER_SUBSCRIPTIONS, 'link' => false); $arrNamePage[] = array('name' => MENU_USERS_SUBSCRIPTIONS, 'link' => false); $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) //текущий обработанный URL $path = CONF_ADMIN_FILE . '?m=manager&s=subscriptions&do=filter&id_user='******'id_user'] . '&period=' . $return_data['period'] . '&type_subscription=' . $return_data['type_subscription'] . '&payment=' . $return_data['payment'] . '&id_section=' . $return_data['id_section'] . '&id_profession=' . $return_data['id_profession'] . '&id_region=' . $return_data['id_region'] . '&id_city=' . $return_data['id_city'] . '&'; $arrLimit = array('strLimit' => $offset . ',' . CONF_SUBSCRIPTIONS_STRINGS_PERPAGE_ADMIN_PANEL, 'calcRows' => true); $arrSubscr = $subscription->getSubscriptions($strWhere, false, $arrLimit, false); // формируем страницы $allRecords = $subscription->cntSubscriptions(); // получаем общее количество $strPages = strings::generatePage($allRecords, $offset, CONF_SUBSCRIPTIONS_STRINGS_PERPAGE_ADMIN_PANEL, $path, true); // формируем странциы
<?php class secure { function encryption_decryption($action, $str) { $key = 'naveen'; $string = $str; if ($action == "encrypt") { $output = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); } else { if ($action == "decrypt") { $output = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), ""); } } return $output; } } $obj = new secure(); $result = $obj->encryption_decryption("encrypt", "hello"); echo $result;
*/ // set script time out higher, to help with thumbnail generation set_time_limit(240); $tinybrowser = array(); // Default is rtrim($_SERVER['DOCUMENT_ROOT'],'/') (suitable when using absolute paths, but can be set to '' if using relative paths) $tinybrowser['docroot'] = rtrim($_SERVER['DOCUMENT_ROOT'], '/'); //$tinybrowser['docroot'] = pathinfo($_SERVER['DOCUMENT_ROOT'], PATHINFO_DIRNAME) . '/' . $_SERVER['HTTP_HOST']; require_once $tinybrowser['docroot'] . '/core/conf/const.config.file.manager.php'; if (file_exists($tinybrowser['docroot'] . '/core/classes/lib/secure.class.php')) { require_once $tinybrowser['docroot'] . '/core/classes/lib/secure.class.php'; } elseif (file_exists('i:/home/expert.core/classes/lib/secure.class.php')) { require_once 'i:/home/expert.core/classes/lib/secure.class.php'; } else { die(TB_DENIED); } secure::clearRequestData(true); // Session control and security check - to enable please uncomment //if(isset($_GET['sessidpass'])) session_id($_GET['sessidpass']); // workaround for Flash session bug //session_start(); //$tinybrowser['sessioncheck'] = 'auth_user'; //name of session variable to check // Random string used to secure Flash upload if session control not enabled - be sure to change! $tinybrowser['obfuscate'] = 's0merand0mjunk!!!111'; // Set default language (ISO 639-1 code) $tinybrowser['language'] = 'en'; // Set the integration type (TinyMCE is default) $tinybrowser['integration'] = 'tinymce'; // Possible values: 'tinymce', 'fckeditor' // Folder permissions for Unix servers only $tinybrowser['unixpermissions'] = 0777; // File upload paths (set to absolute by default) $tinybrowser['path']['image'] = '/uploads/filemanager/images/';
<?php // abre y mantiene la sesion session_start(); header("Cache-control: private"); // importo las librerias require "./../_funciones/parametros.php"; require "./../_funciones/secure.php"; require "./../_funciones/funciones.php"; require "./../_funciones/database_{$aplDataBaseLibrary}.php"; //funcion de seguridad $seguro = new secure(); $seguro->secureGlobals(); // verifico si la sesion de usuario esta activa y si no lo está redirecciono al fin if (!$_SESSION['User_Permit_Access']) { header("Location: " . $aplAplicationURL . "mantenimiento/cgiClose.php"); } ?> <html> <head> <title>.: KFC :.</title> <script language="javascript" src="./../_funciones/tigra_tables.js"></script> <link rel="stylesheet" href="./../_funciones/style.css" type="text/css"> </head> <body bgcolor="<?php echo $aplBackGroundColor; ?> " topmargin="0" marginheight="0" leftmargin="0" marginwidth="0"> <center>
*/ !defined('SDG') ? die('Triple protection!') : null; /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrAction = array('view' => false); /** * Подключаем выбранный мод */ if (!empty($_GET['mod'])) { $arrNamePage = array(array('name' => MENU_PAYMENTS, 'link' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=payments')), array('name' => strtoupper($_GET['mod']), 'link' => false)); // проверяем: существует ли выбранный мод (и включен ли он) и наличие обязательных файлов мода // а также, для модов требующих авторизацию пользователя, авторизирован ли пользователь if (!$payments->issetMod("id IN (" . secure::escQuoteData($_GET['mod']) . ") AND token IN ('active')") || !$payments->checkBindFiles($_GET['mod']) || $_GET['mod'] == 'hand' && !$user->getAuthorized()) { $arrErrors[] = ERROR_PAY_SYSTEM_NOT_EXISTS; } else { // если проверка прошла, подключаем тарифную сетку мода include_once 'core/mods/payments/' . $_GET['mod'] . '/conf/' . $_GET['mod'] . '.tariffs.php'; include_once 'core/mods/payments/' . $_GET['mod'] . '/conf/' . $_GET['mod'] . '.conf.php'; include_once 'core/mods/payments/' . $_GET['mod'] . '/lang/' . (!empty($_COOKIE['currLang']) ? $_COOKIE['currLang'] : CONF_LANGUAGE) . '/' . $_GET['mod'] . '.lang.php'; include_once 'core/mods/payments/' . $_GET['mod'] . '/lang/' . (!empty($_COOKIE['currLang']) ? $_COOKIE['currLang'] : CONF_LANGUAGE) . '/lang._custom.php'; include_once 'core/mods/payments/' . $_GET['mod'] . '/classes/' . $_GET['mod'] . '.class.php'; include_once 'core/mods/payments/' . $_GET['mod'] . '/index.php'; } } else { !($modsList = $payments->getActiveMods()) ? $arrErrors[] = ERROR_NOT_PAY_SYSTEM : null; // если нет ошибок и пользователь не авторизирован, удаляем моды, которые только для зарегистрированных пользователей if (empty($arrErrors) && !$user->getAuthorized()) { foreach ($modsList as $key => &$value) {
/** * protected функция оцнеки статьи * * @param int $score - оценка статьи * @param int $id - id статьи * * @return echo (печатает результат) */ protected function pRateArticle(&$score, &$id) { // проверяем наличие id статьи в куках пользователя // если $flag = true, значит пользователь уже голосовал за статью isset($_COOKIE['artvote']) && $_COOKIE['artvote'] ? !in_array($id, explode(':', $_COOKIE['artvote'])) ? $flag = false : ($flag = true) : ($flag = false); if (!$flag) { if ($arrData = $this->pGetArticle("id IN (" . secure::escQuoteData($id) . ") AND token IN ('active')")) { // проверяем, голосовал ли пользователь за эту статью if ($_SERVER['REMOTE_ADDR'] !== $arrData['ip_last']) { // вычисляем рейтинг с учетом всех голосов // считаем балл, и доавляем его к рейтингу $fullRating = $arrData['rating'] * $arrData['votes'] + $score * 20; // увеличиваем количество голосов $votes = !$arrData['votes'] ? 1 : $arrData['votes'] + 1; // высчитываем новый средний рейтинг $rating = $fullRating / $votes; $this->pUpdateArticles(array('rating' => $rating, 'votes' => $votes, 'ip_last' => $_SERVER['REMOTE_ADDR']), array($id)); // устанавливаем куку isset($_COOKIE['artvote']) && $_COOKIE['artvote'] ? cookies::setCookieSite('artvote', $_COOKIE['artvote'] . ':' . $id) : cookies::setCookieSite('artvote', $id); // выводим результат $result = '<div class="rate">' . '<div class="rating">' . FORM_ARTICLES_RATING . ': ' . $rating . '</div>' . '<div class="base" style="height:16px;"><div class="average" style="width: ' . $rating . '%;"> </div></div>' . '<div class="votes">' . $votes . ' ' . FORM_ARTICLES_VOTES . '</div>' . '</div>' . '<div class="status">' . '</div>'; print $result; } else { print ERROR_ONLY_ONE_VOTING_ARTICLE; } } else { print ERROR_SELECTED_ARTICLE; } } else { print ERROR_ONLY_ONE_VOTING_ARTICLE; } }
} else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_COMPLAINT_NOT_SEND)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_COMPLAINT_NOT_SEND)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_COMPLAINT_NOT_SEND)); } } elseif (isset($_POST['deleteCommentA']) && !empty($_POST['articleId'])) { if (!empty($_POST['deleteCommentA'])) { $articles = new articles(); $aComments = new articlesComments(); if ($arrData = $articles->getPublishedArticle("id=" . secure::escQuoteData($_POST['articleId']))) { if (!empty($_SESSION['sd_user']['data']['id']) && $_SESSION['sd_user']['data']['id'] == $arrData['id_user']) { if ($aComments->deleteRecords("id=" . secure::escQuoteData($_POST['deleteCommentA']))) { echo ajax::sdgJSONencode(array('success' => true)); } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo 'Error AJAX-Query!';
// если пользователь уже вошел на сайт, не пускаем его в форму авторизации if ($user->getAuthorized()) { messages::error404(); } else { $return_data = array('email' => false); // сохраняем в сесиию рефер-ссылку !isset($_SESSION['referer']) && secure::checkServerCalls() && isset($_GET['do']) && !strpos($_SERVER['HTTP_REFERER'], $_GET['do']) ? $_SESSION['referer'] = $_SERVER['HTTP_REFERER'] : null; if (!empty($_POST['email']) && !empty($_POST['password'])) { if (validate::postDataNotEmpty()) { // проверяем капчу if (isset($_POST['keystring'])) { $securimage = new securimage(); !$securimage->check($_POST['keystring']) ? $arrErrors[] = ERROR_CAPTCHA : null; } $_POST['remember'] = isset($_POST['remember']) ? true : false; if ($user->issetUser("email IN (" . secure::escQuoteData($_POST['email']) . ") AND password IN ('" . md5($_POST['password']) . "') AND token IN ('active', 'new')")) { if ($user->authorizeUser($_POST['email'], $_POST['password'], $_POST['remember'])) { unset($_SESSION['user_fail_auth']); if (isset($_SESSION['referer']) && !strstr($_SESSION['referer'], 'do=payments')) { $referer = $_SESSION['referer']; unset($_SESSION['referer']); die('<script type="text/javascript">window.location="' . $referer . '";</script>'); } else { die('<script type="text/javascript">window.location="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=user.data') . '";</script>'); } } else { $arrErrors[] = ERROR_AUTHORIZE_ACCOUNT_NOT_ACTIVATE; } } else { $arrErrors[] = ERROR_DATA; }
session_start(); //ini_set('display_errors',1); $open_task = $_GET["open_task"]; require_once 'app_code/config.inc.php'; require_once 'class/class.contacts.php'; require_once 'app_code/zipcode.class.php'; require_once 'app_code/class.Event_Contacts.php'; require_once 'class/class.note.php'; require_once 'class/class.tasks.php'; require_once 'app_code/global.config.php'; require_once 'app_code/class.CertificationType.php'; require_once 'app_code/class.application.php'; require_once 'app_code/class.Event.php'; require_once 'class/class.securenote.php'; $secure = new secure(); if (PHONE_SYSTEM == "asterisk") { require_once 'class/class.asterisk.php'; $asterisk = new Asterisk(); } $page = new basic_page(); $page->auth->Checklogin(); if ($_REQUEST[contact_id] == '') { $page->gotoPage('contacts.php'); exit; } /* if( $page->auth->checkPermessionView('TBL_CONTACT',$_REQUEST[contact_id])==0 and $page->auth->isOwner(TBL_CONTACT," and contact_id='$_REQUEST[contact_id]'")==0) { $page->auth->SendToRefrerPage();