Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 /**
  * функция проверки авторизации админа
  * Берет логин и пароль админа из сесси и сверяет их с данными в БД
  * 
  * @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);
     }
 }
Example #4
0
############################### 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&amp;id=' . $retFields['id'] . '&amp;id_user='******'id_user'] . '&amp;author=' . $retFields['author'] . '&amp;title=' . $retFields['title'] . '&amp;id_section=' . $retFields['id_section'] . '&amp;sDate=' . $retFields['sDate'] . '&amp;eDate=' . $retFields['eDate'] . '&amp;records=' . $retFields['records'] . '&amp;';
 }
 /** смещение, всегда 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();
 // получаем общее количество статей
Example #7
0
     // массив всех новостей
     $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&amp;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&amp;action=archive&amp;year=' . $year . '&amp;page=offset&amp;';
     $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'] . '&amp;do=user.articles&amp;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'] . '&amp;do=user.articles&amp;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'] . '&amp;do=user.data'));
            } else {
                $smarty->assignByRef('errors', $arrErrors);
            }
        }
    } else {
        messages::error404();
    }
} else {
    messages::error404();
}
Example #11
0
 $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;
                 }
Example #12
0
	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();
Example #13
0
 /**
  * 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&amp;s=regions');
             }
         } else {
             if ($silentMode) {
                 return true;
             } else {
                 messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=dictionary&amp;s=regions');
             }
         }
     } else {
         if ($silentMode) {
             return false;
         } else {
             messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE . '?m=dictionary&amp;s=regions');
         }
     }
 }
Example #14
0
<?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;
 }
Example #16
0
 /**
  * функция получает стоки помеченные на удаления в таблице БД
  * производит проверку на совпадение значений уникальных полей и резервирует строку для обновления данных
  * если такая строка не найдена - возвращает: 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&amp;s=vacancys') : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=announces&amp;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&&amp;';
 $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&amp;s=manager&amp;action=filter&amp;id=' . $returnData['id'] . '&amp;' . 'email=' . $returnData['email'] . '&amp;alias=' . $returnData['alias'] . '&amp;reg_ip=' . $returnData['reg_ip'] . '&amp;' . 'user_type=' . $returnData['user_type'] . '&amp;user_group=' . $returnData['user_group'] . '&amp;token=' . $returnData['token'] . '&amp;';
 // получаем данные пользователя
 $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&amp;s=subscriptions&amp;do=filter&amp;id_user='******'id_user'] . '&amp;period=' . $return_data['period'] . '&amp;type_subscription=' . $return_data['type_subscription'] . '&amp;payment=' . $return_data['payment'] . '&amp;id_section=' . $return_data['id_section'] . '&amp;id_profession=' . $return_data['id_profession'] . '&amp;id_region=' . $return_data['id_region'] . '&amp;id_city=' . $return_data['id_city'] . '&amp;';
 $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);
 // формируем странциы
Example #23
0
<?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/';
Example #25
0
<?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>
Example #26
0
*/
!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'] . '&amp;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 . '%;">&nbsp;</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;
     }
 }
Example #28
0
            } 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!';
Example #29
0
 // если пользователь уже вошел на сайт, не пускаем его в форму авторизации
 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;
             }
Example #30
0
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();