Exemplo n.º 1
0
 /**
  * Функция запуска робота
  * 
  * @param (array) $arrConf - массив настроек робота
  * 
  * @return bool
  */
 static function start(&$arrConf)
 {
     $arrRobotData = filesys::getSerializedData('core/data/robot.mda');
     if (!empty($arrRobotData['clear_cache']) && is_array($arrRobotData['clear_cache'])) {
         foreach ($arrRobotData['clear_cache'] as $cacheKey => &$caheData) {
             !empty($caheData) && $caheData < time() ? caching::clearCache($cacheKey) : null;
         }
     }
     if (!empty($arrConf['configs']['robot_running']) && !empty($arrConf['configs']['robot_running_firsttime']) && $arrConf['configs']['robot_running_firsttime'] <= time()) {
         if (!($arrRobotData = filesys::getSerializedData('core/data/robot.mda')) || !isset($arrRobotData['next_running']) || $arrRobotData['next_running'] <= time()) {
             control::actionsControl($arrConf['actions']);
             $arrRobotData['next_running'] = time() + $arrConf['configs']['robot_term'] * $arrConf['configs']['robot_term_coef'];
             return filesys::putSerializedData('core/data/robot.mda', $arrRobotData);
         } else {
             return true;
         }
     } else {
         return true;
     }
 }
Exemplo n.º 2
0
 * Copyright 2010-2015 (c) SD-Group
 * All rights reserved
 * ===================================================
 * Настройки - Сайт
 * ===================================================
 *
 * @package
 *
 * @todo
 *
 */
!defined('SDG') ? die('Triple protection!') : null;
// инициируем "Наименование страницы" отображаемое в форме
$arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_CONFIG, 'link' => false), array('name' => MENU_CONFIG_SITE, 'link' => false));
// сохраняем данные, переданные из формы
if (isset($_POST['save'])) {
    $chpu = !isset($_POST['chpu']) ? 0 : 1;
    $tChpu = empty($chpu) ? CONF_ENABLE_TRANSLITERATION_CHPU : (!isset($_POST['tChpu']) ? 0 : 1);
    $tChpuPutToEnd = empty($chpu) || empty($tChpu) ? CONF_TRANSLITERATION_CHPU_ID_PUT_TO_END : (empty($_POST['tChpuPutToEnd']) ? 0 : 1);
    $tChpuMaxLen = empty($chpu) || empty($tChpu) ? CONF_TRANSLITERATION_CHPU_MAX_LENGHT : (($tChpuMaxLen = (int) $_POST['tChpuMaxLenght']) ? $tChpuMaxLen : 0);
    $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_DEFAULT_TITLE", "' . htmlspecialchars($_POST['title'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_DEFAULT_DESCRIPTION", "' . $_POST['description'] . '");' . "\n\n" . 'define("CONF_DEFAULT_KEYWORDS", "' . $_POST['keywords'] . '");' . "\n\n" . 'define("CONF_SITE_NAME", "' . htmlspecialchars($_POST['site_name'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_SITE_NAME_TO_TITLE", "' . (!empty($_POST['site_name_to_title']) ? 1 : 0) . '");' . "\n\n" . 'define("CONF_TITLE_PAGE_SEPERATOR", "' . htmlspecialchars($_POST['title_page_separator'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_LANGUAGE", "' . htmlspecialchars($_POST['language'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_SITE_URL", "' . htmlspecialchars(filesys::setPath($_POST['site_url'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . '");' . "\n\n" . 'define("CONF_SCRIPT_URL", "' . htmlspecialchars(filesys::setPath($_POST['script_url'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . '");' . "\n\n" . 'define("CONF_USE_VISUAL_EDITOR", "' . (!isset($_POST['visual_editor']) ? 0 : 1) . '");' . "\n\n" . 'define("CONF_USE_REDIRECT_EXTERNAL_LINK", "' . (!isset($_POST['redirect_extLink']) ? 0 : 1) . '");' . "\n\n" . 'define("CONF_ENABLE_CACHING", "' . ($_POST['caching'] = !isset($_POST['caching']) ? 0 : 1) . '");' . "\n\n" . 'define("CONF_DISABLE_AUTO_COUNTERS", "' . ($_POST['disable_auto_counters'] = !isset($_POST['disable_auto_counters']) ? 0 : 1) . '");' . "\n\n" . 'define("CONF_ENABLE_CHPU", "' . $chpu . '");' . "\n\n" . 'define("CONF_ENABLE_TRANSLITERATION_CHPU", "' . $tChpu . '");' . "\n\n" . 'define("CONF_TRANSLITERATION_CHPU_ID_PUT_TO_END", "' . $tChpuPutToEnd . '");' . "\n\n" . 'define("CONF_TRANSLITERATION_CHPU_MAX_LENGHT", "' . htmlspecialchars($tChpuMaxLen, ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_CHPU_HTML_DATA_EXT", "' . htmlspecialchars($_POST['tChpuHtmlDataExt'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_CHPU_XML_DATA_EXT", "' . htmlspecialchars($_POST['tChpuXmlDataExt'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n";
    // сброс кеша сайта
    CONF_ENABLE_CACHING != $_POST['caching'] || CONF_ENABLE_CHPU != $chpu || CONF_ENABLE_TRANSLITERATION_CHPU != $tChpu || CONF_TRANSLITERATION_CHPU_ID_PUT_TO_END != $tChpuPutToEnd ? caching::dropCache() : null;
    // сохраняем изменения
    if (!tools::saveConfig('core/conf/const.config.site.php', $data, CONF_ADMIN_FILE . '?m=config&s=site')) {
        $arrErrors[] = ERROR_FILES_MISSING_FILE;
    }
}
$smarty->assign('language_dirs', filesys::getChildDirs('lang/'));
// получаем список доступных дирректорий языков
$smarty->assignByRef('errors', $arrErrors);
     $crpt = isset($_POST['crpt']) && (int) $_POST['crpt'] ? (int) abs($_POST['crpt']) : 72;
     $crct = isset($_POST['crct']) && (int) $_POST['crct'] ? (int) abs($_POST['crct']) : 72;
     $crvipt = isset($_POST['crvipt']) && (int) $_POST['crvipt'] ? (int) abs($_POST['crvipt']) : 0;
     $crvips = isset($_POST['crvips']) ? 1 : 0;
     $crvipsp = isset($_POST['crvipsp']) && (int) $_POST['crvipsp'] ? (int) abs($_POST['crvipsp']) : 5;
     $crhott = isset($_POST['crhott']) && (int) $_POST['crhott'] ? (int) abs($_POST['crhott']) : 0;
     $crhotsp = isset($_POST['crhotsp']) && (int) $_POST['crhotsp'] ? (int) abs($_POST['crhotsp']) : 5;
     $crls = isset($_POST['crls']) ? 1 : 0;
     $crlsp = isset($_POST['crlsp']) && (int) $_POST['crlsp'] ? (int) abs($_POST['crlsp']) : 5;
     $crap = isset($_POST['crap']) ? 1 : 0;
     $crapmw = isset($_POST['crapmw']) && (int) $_POST['crapmw'] ? (int) abs($_POST['crapmw']) : 150;
     $crapmh = isset($_POST['crapmh']) && (int) $_POST['crapmh'] ? (int) abs($_POST['crapmh']) : 150;
     $crapfms = isset($_POST['crapfms']) && (int) $_POST['crapfms'] ? (int) abs($_POST['crapfms']) : 1024;
     $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_ANNOUNCE_USER_AGREEMENT_NOMEMBERS_REQUIRED", ' . CONF_ANNOUNCE_USER_AGREEMENT_NOMEMBERS_REQUIRED . ');' . "\n\n" . 'define("CONF_ANNOUNCE_ADD_SUCCESS_ADMIN_INFORM", ' . CONF_ANNOUNCE_ADD_SUCCESS_ADMIN_INFORM . ');' . "\n\n" . 'define("CONF_ANNOUNCE_ADD_SUCCESS_USER_INFORM", ' . CONF_ANNOUNCE_ADD_SUCCESS_USER_INFORM . ');' . "\n\n" . 'define("CONF_ANNOUNCE_USE_VISUAL_EDITOR", ' . CONF_ANNOUNCE_USE_VISUAL_EDITOR . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PREVIEW", ' . CONF_ANNOUNCE_PREVIEW . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PERPAGE_SITE", ' . CONF_ANNOUNCE_PERPAGE_SITE . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL", ' . CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL . ');' . "\n\n" . 'define("CONF_CATEGORY_PERLINE", ' . CONF_CATEGORY_PERLINE . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_FILES_ALLOW", ' . CONF_EMAIL_ATTACHMENT_FILES_ALLOW . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_MAX_FILES", ' . CONF_EMAIL_ATTACHMENT_MAX_FILES . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_FILE_MAX_SIZE", ' . CONF_EMAIL_ATTACHMENT_FILE_MAX_SIZE . ');' . "\n\n" . 'define("CONF_VACANCY_ACTIVATE_THERM", ' . CONF_VACANCY_ACTIVATE_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_CORRECTION_THERM", ' . CONF_VACANCY_CORRECTION_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_PAYMENT_THERM", ' . CONF_VACANCY_PAYMENT_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_THERM", ' . CONF_VACANCY_VIP_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_SHOW", ' . CONF_VACANCY_VIP_SHOW . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_SHOW_PERPAGE", ' . CONF_VACANCY_VIP_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_VACANCY_HOT_THERM", ' . CONF_VACANCY_HOT_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_HOT_SHOW_PERPAGE", ' . CONF_VACANCY_HOT_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_VACANCY_LAST_SHOW", ' . CONF_VACANCY_LAST_SHOW . ');' . "\n\n" . 'define("CONF_VACANCY_LAST_SHOW_PERPAGE", ' . CONF_VACANCY_LAST_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_ACTIVATE_THERM", ' . $crat . ');' . "\n\n" . 'define("CONF_RESUME_CORRECTION_THERM", ' . $crct . ');' . "\n\n" . 'define("CONF_RESUME_PAYMENT_THERM", ' . $crpt . ');' . "\n\n" . 'define("CONF_RESUME_VIP_THERM", ' . $crvipt . ');' . "\n\n" . 'define("CONF_RESUME_VIP_SHOW", ' . $crvips . ');' . "\n\n" . 'define("CONF_RESUME_VIP_SHOW_PERPAGE", ' . $crvipsp . ');' . "\n\n" . 'define("CONF_RESUME_HOT_THERM", ' . $crhott . ');' . "\n\n" . 'define("CONF_RESUME_HOT_SHOW_PERPAGE", ' . $crhotsp . ');' . "\n\n" . 'define("CONF_RESUME_LAST_SHOW", ' . $crls . ');' . "\n\n" . 'define("CONF_RESUME_LAST_SHOW_PERPAGE", ' . $crlsp . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO", ' . $crap . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_MAXWIDTH", ' . $crapmw . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_MAXHEIGHT", ' . $crapmh . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_FILE_MAXSIZE", ' . $crapfms . ');' . "\n";
     // чистим кеш
     caching::clearCache('resume.last');
     // сохраняем изменения
     if (!tools::saveConfig('core/conf/const.config.announces.php', $data, CONF_ADMIN_FILE . '?m=announces&s=common&action=confResume')) {
         $arrErrors[] = ERROR_FILES_MISSING_FILE;
     }
 } elseif (isset($_POST['sort']) && isset($_POST['arrSortList'])) {
     // сохраняем данные сортировки, переданные из формы
     !$resume->putSortFields($_POST['arrSortList']) ? messages::printDie(ERROR_FILE_NOT_WRITE) : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=announces&s=common&action=confResume');
 } elseif (isset($_POST['pTitle']) && !empty($_POST['title']) && is_array($_POST['title'])) {
     // сохраняем данные, переданные из формы
     $arrTitle = array();
     foreach ($_POST['title'] as &$value) {
         $arrTitle[] = "\tarray('name' => " . stripcslashes($value) . ')';
     }
     $data = "<?php\n" . '$arrTitle = array(' . "\n" . implode(",\n", $arrTitle) . "\n);\n";
     !file_put_contents('core/data/resume.pagetitle.pda', $data) ? messages::printDie(ERROR_FILE_NOT_WRITE) : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=announces&s=common&action=confResume');
Exemplo n.º 4
0
 /**
  * protected функция получает последние новости в соответствии с настройкой в панели администратора
  * 
  * @return array or false
  */
 public function getLastNewses()
 {
     if (CONF_ENABLE_CACHING) {
         if (false === ($result = caching::getCahing('caching/newses.last.cache'))) {
             $result = $this->getNewses("token IN ('active') AND datetime<=NOW()", array('datetime' => 'DESC'), array('strLimit' => '0, ' . CONF_NEWSES_LAST_SHOW_PERPAGE, 'calcRows' => false), array('id', 'title', 'small_text', 'datetime'));
             empty($result) ? $result = array() : null;
             caching::setCaching('caching/newses.last.cache', $result);
         }
     } else {
         $result = $this->getNewses("token IN ('active') AND datetime<=NOW()", array('datetime' => 'DESC'), array('strLimit' => '0, ' . CONF_NEWSES_LAST_SHOW_PERPAGE, 'calcRows' => false), array('id', 'title', 'small_text', 'datetime'));
     }
     return $result;
 }
 /**
  * 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);
 }
$arrActions = array('config' => false, 'seo' => false);
// определяем шаблон для отображения
isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null;
// создаем объект
$user = new user();
/**
* Настройки компаний
*/
if ($arrActions['config']) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false);
    // сохраняем данные, переданные из формы
    if (isset($_POST['save'])) {
        $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_COMPANIES_STRINGS_PERPAGE_ADMIN_PANEL", "' . ((int) $_POST['admperpage'] ? (int) abs($_POST['admperpage']) : 30) . '");' . "\n\n" . 'define("CONF_COMPANIES_PERPAGE", "' . ((int) $_POST['perpage'] ? (int) abs($_POST['perpage']) : 30) . '");' . "\n\n" . 'define("CONF_COMPANIES_SHOW_ONLY_WITH_LOGO", "' . (!isset($_POST['with_logo']) ? false : true) . '");' . "\n\n" . 'define("CONF_COMPANIES_DELETE_LOGO", "' . (!isset($_POST['delete_logo']) ? false : true) . '");' . "\n\n" . 'define("CONF_COMPANIES_USE_VISUAL_EDITOR", "' . (!isset($_POST['html']) ? false : true) . '");' . "\n\n" . 'define("CONF_COMPANIES_SHOW_MAIN_LOGO", "' . (!isset($_POST['show_main_logo']) ? false : true) . '");' . "\n\n" . 'define("CONF_COMPANIES_SHOW_MAIN_LOGO_QTY", "' . (!empty($_POST['logo_qty']) && (int) $_POST['logo_qty'] ? (int) abs($_POST['logo_qty']) : 5) . '");' . "\n";
        // чистим кеш
        caching::clearCache('company.logo');
        if (!tools::saveConfig('core/conf/const.config.companies.php', $data, CONF_ADMIN_FILE . '?m=users&s=companies&action=config')) {
            $arrErrors[] = ERROR_FILES_MISSING_FILE;
        }
    }
} else {
    if ($arrActions['seo']) {
        // инициируем "Наименование страницы" отображаемое в форме
        $arrNamePage[] = array('name' => MENU_SEO, 'link' => false);
        $selects = isset($_POST['currLocaliz']) ? new selects($_POST['currLocaliz']) : new selects();
        $currLang = $selects->retCurrLang();
        $smarty->assignByRef('currLang', $currLang);
        // текущая локализация
        // получаем список доступных дирректорий языков
        $langs = $selects->retLangs();
        $smarty->assignByRef('langs', $langs);
Exemplo n.º 7
0
 /**
  * static функция получения статистики из БД
  * 
  * @return array
  */
 static function getStatistics(&$arrXmlTemplate, &$objVacancy, &$objResume, &$objUser)
 {
     $sides = array_merge($arrXmlTemplate['left_side'], $arrXmlTemplate['right_side']);
     if (false !== array_search('block.statistics.tpl', $sides)) {
         if (!CONF_ENABLE_CACHING || false === ($arrStat = caching::getCahing('caching/statistic.cache'))) {
             $arrStat = array('users' => $objUser->cntActiveUsers(), 'vacancys' => $objVacancy->cntAnnounces("token IN ('active')"), 'resumes_v' => $objResume->cntAnnounces("token IN ('active') AND visibility IN ('visible','visiblehc')"), 'resumes_m' => $objResume->cntAnnounces("token IN ('active') AND visibility IN ('visible','visiblehc','members','membershc')"));
             CONF_ENABLE_CACHING ? caching::setCaching('caching/statistic.cache', $arrStat) : null;
         }
     } else {
         $arrStat = false;
     }
     return $arrStat;
 }
Exemplo n.º 8
0
 /**
  * функция обновления страниц
  *
  * @param array $arrData - массив даных для обновления
  * @param (array) $arrPages - массив, содержащий id страниц для обновления (id_1, id_2, ..., id_n)
  *
  * @return bool
  */
 protected function updatePages($arrData, $arrPages)
 {
     if ($this->editEntrys(secure::escQuoteData($arrData), 'id IN (' . implode(',', secure::escQuoteData($arrPages)) . ')')) {
         caching::clearCache($this->retTableName());
         return true;
     } else {
         return false;
     }
 }
Exemplo n.º 9
0
 /**
  * Функция выполнения импорта
  * 
  * @return (string) - JSON-строка с описанием текущего состояния процесса импорта
  */
 static function mdsDoImportDB()
 {
     if ($arrData = filesys::getSerializedData('core/data/mdsImport.mda')) {
         foreach ($arrData as $table => &$arrDataTable) {
             $arrQueryData = array_shift($arrDataTable);
             $oldId =& $arrQueryData['old_id'];
             unset($arrQueryData['old_id']);
             $newId = db::dbInsertTable($table, secure::escQuoteData($arrQueryData));
             switch ($table) {
                 case USR_PREFIX . 'city':
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_city' => $newId, 'token' => 'reserved'), 'strWhere' => "id_city IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_city' => $newId, 'token' => 'deleted'), 'strWhere' => "id_city IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_city' => $newId, 'token' => 'reserved'), 'strWhere' => "id_city IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_city' => $newId, 'token' => 'deleted'), 'strWhere' => "id_city IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_city' => $newId, 'token' => 'reserved'), 'strWhere' => "id_city IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_city' => $newId, 'token' => 'deleted'), 'strWhere' => "id_city IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case USR_PREFIX . 'region':
                     $arrUpdateQuerys[USR_PREFIX . 'city'][] = array('arrData' => array('parent_id' => $newId, 'token' => 'reserved'), 'strWhere' => "parent_id IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_region' => $newId, 'token' => 'reserved'), 'strWhere' => "id_region IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_region' => $newId, 'token' => 'deleted'), 'strWhere' => "id_region IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_region' => $newId, 'token' => 'reserved'), 'strWhere' => "id_region IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_region' => $newId, 'token' => 'deleted'), 'strWhere' => "id_region IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_region' => $newId, 'token' => 'reserved'), 'strWhere' => "id_region IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_region' => $newId, 'token' => 'deleted'), 'strWhere' => "id_region IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case DB_PREFIX . 'profession':
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_profession' => $newId, 'token' => 'reserved'), 'strWhere' => "id_profession IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_profession' => $newId, 'token' => 'deleted'), 'strWhere' => "id_profession IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_profession' => $newId, 'token' => 'reserved'), 'strWhere' => "id_profession IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_profession' => $newId, 'token' => 'deleted'), 'strWhere' => "id_profession IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_profession' => $newId, 'token' => 'reserved'), 'strWhere' => "id_profession IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_profession' => $newId, 'token' => 'deleted'), 'strWhere' => "id_profession IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case DB_PREFIX . 'section':
                     $arrUpdateQuerys[DB_PREFIX . 'profession'][] = array('arrData' => array('parent_id' => $newId, 'token' => 'reserved'), 'strWhere' => "parent_id IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_section' => $newId, 'token' => 'reserved'), 'strWhere' => "id_section IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_section' => $newId, 'token' => 'deleted'), 'strWhere' => "id_section IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_section' => $newId, 'token' => 'reserved'), 'strWhere' => "id_section IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_section' => $newId, 'token' => 'deleted'), 'strWhere' => "id_section IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_section' => $newId, 'token' => 'reserved'), 'strWhere' => "id_section IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_section' => $newId, 'token' => 'deleted'), 'strWhere' => "id_section IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case DB_PREFIX . 'vacancy':
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_announce' => $newId, 'token' => 'reserved'), 'strWhere' => "id_announce IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_announce' => $newId, 'token' => 'deleted'), 'strWhere' => "id_announce IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case DB_PREFIX . 'resume':
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_announce' => $newId, 'token' => 'reserved'), 'strWhere' => "id_announce IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_announce' => $newId, 'token' => 'deleted'), 'strWhere' => "id_announce IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case USR_PREFIX . 'users':
                     $arrData[DB_PREFIX . 'conf_users'][$oldId]['id'] = $newId;
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_user' => $newId, 'token' => 'reserved'), 'strWhere' => "id_user IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'subscription'][] = array('arrData' => array('id_user' => $newId, 'token' => 'deleted'), 'strWhere' => "id_user IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_user' => $newId, 'token' => 'reserved'), 'strWhere' => "id_user IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('id_user' => $newId, 'token' => 'deleted'), 'strWhere' => "id_user IN ('{$oldId}') AND token IN ('archived')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_user' => $newId, 'token' => 'reserved'), 'strWhere' => "id_user IN ('{$oldId}') AND token IN ('active')");
                     $arrUpdateQuerys[DB_PREFIX . 'resume'][] = array('arrData' => array('id_user' => $newId, 'token' => 'deleted'), 'strWhere' => "id_user IN ('{$oldId}') AND token IN ('archived')");
                     break;
                 case DB_PREFIX . 'conf_users':
                     'competitor' !== $arrQueryData['user_type'] ? $arrUpdateQuerys[DB_PREFIX . 'vacancy'][] = array('arrData' => array('user_type' => $arrQueryData['user_type']), 'strWhere' => "id_user IN ('" . $arrQueryData['id'] . "')") : null;
                     break;
                 default:
                     break;
             }
             if (!empty($arrUpdateQuerys)) {
                 foreach ($arrUpdateQuerys as $keyT => &$valueT) {
                     foreach ($valueT as &$arrUpdData) {
                         db::dbUpdateTable($keyT, secure::escQuoteData($arrUpdData['arrData']), $arrUpdData['strWhere']);
                     }
                     db::dbUpdateTable($keyT, secure::escQuoteData(array('token' => 'active')), "token IN ('reserved')");
                     db::dbUpdateTable($keyT, secure::escQuoteData(array('token' => 'archived')), "token IN ('deleted')");
                 }
             }
             if (empty($arrDataTable)) {
                 unset($arrData[$table]);
             }
             DB_PREFIX . 'conf_users' == $table ? $table = USR_PREFIX . 'users' : null;
             if (!empty($arrData)) {
                 filesys::putSerializedData('core/data/mdsImport.mda', $arrData);
                 $result = array('onProgress' => true, 'table' => &$table);
             } else {
                 @unlink('core/data/mdsImport.mda');
                 caching::dropCache();
                 $result = array('onProgress' => false, 'table' => &$table);
             }
             return ajax::sdgJSONencode($result);
         }
     } else {
         caching::dropCache();
         return ajax::sdgJSONencode(array('onProgress' => false));
     }
 }
Exemplo n.º 10
0
             $smarty->assignByRef('arrData', $arrData);
             $smarty->display('adm.system.updates.logs.detail.tpl');
         } else {
             echo 'errorUncorrectParams';
         }
     } else {
         echo 'errorFileNotExists';
     }
 } elseif (!empty($_POST['deleteDBCache'])) {
     if (caching::dropCache()) {
         echo ajax::sdgJSONencode(array('success' => true));
     } else {
         echo ajax::sdgJSONencode(array('error' => true));
     }
 } elseif (!empty($_POST['deleteTmplCache'])) {
     if (caching::dropTmplCache()) {
         echo ajax::sdgJSONencode(array('success' => true));
     } else {
         echo ajax::sdgJSONencode(array('error' => true));
     }
     // Сохранение .htaccess
 } elseif (!empty($_POST['defaultHtaccess'])) {
     $def = '# Copyright © 2010 - 2015 SD-GROUP' . "\n";
     $def .= '# Website: http://sd-group.org.ua/' . "\n\n";
     $def .= '# Defaul Charset' . "\n";
     $def .= 'AddDefaultCharset UTF-8' . "\n\n";
     $def .= '# Set the default handler.' . "\n";
     $def .= 'DirectoryIndex index.php' . "\n\n";
     $def .= '# Security' . "\n";
     $def .= 'php_flag register_globals off' . "\n";
     $def .= '# Disable Magic Quotes' . "\n";
Exemplo n.º 11
0
 static function actionsControl(&$arrActions)
 {
     $user = new user();
     $subscription = new subscription();
     $vacancy = new vacancy();
     $resume = new resume();
     foreach ($arrActions as $action => $type) {
         switch ($action) {
             case 'updateCounters':
                 $result = caching::dropCache();
                 break;
             case 'delNonverifyUsers':
                 $uData = $user->getCombinedUsersData(array(array('users', 'id')), "users.token IN ('new') AND users.token_datetime < NOW()", false, false);
                 if (!empty($uData) && is_array($uData)) {
                     foreach ($uData as $data) {
                         $arrId[] = $data['id'];
                     }
                 }
                 $result = !empty($arrId) ? $user->deleteUsers($arrId, false, false, false, false, false) : true;
                 break;
             case 'delNontypeUsers':
                 $uData = $user->getCombinedUsersData(array(array('users', 'id')), "conf_users.token IN ('new') AND users.token IN ('active') AND users.token_datetime < NOW()", false, false);
                 if (!empty($uData) && is_array($uData)) {
                     foreach ($uData as $data) {
                         $arrId[] = $data['id'];
                     }
                 }
                 $result = !empty($arrId) ? $user->deleteUsers($arrId, false, false, false, false, false) : true;
                 break;
             case 'delUnpaidUsers':
                 $uData = $user->getCombinedUsersData(array(array('users', 'id')), "conf_users.token IN ('payment') AND users.token_datetime < NOW()", false, false);
                 if (!empty($uData) && is_array($uData)) {
                     foreach ($uData as $data) {
                         $arrId[] = $data['id'];
                     }
                 }
                 $result = !empty($arrId) ? $user->deleteUsers($arrId, false, false, false, false, false) : true;
                 break;
             case 'delUnpaidSubscr':
                 $result = $subscription->delSubscriptions("token IN ('payment') AND token_datetime < NOW()");
                 break;
             case 'vacDelNonverify':
                 $result = $vacancy->delAnnounces("token IN ('new') AND token_datetime < NOW()");
                 break;
             case 'resDelNonverify':
                 $result = $resume->delAnnounces("token IN ('new') AND token_datetime < NOW()");
                 break;
             case 'vacDelUnpaid':
                 $result = $vacancy->delAnnounces("token IN ('payment') AND token_datetime < NOW()");
                 break;
             case 'resDelUnpaid':
                 $result = $resume->delAnnounces("token IN ('payment') AND token_datetime < NOW()");
                 break;
             case 'vacVipResetSlo':
                 $result = $vacancy->controlAnnounces("vip AND token IN ('active') AND vip_unset_datetime NOT IN ('0000-00-00 00:00:00') AND vip_unset_datetime < NOW()", 'vip');
                 break;
             case 'resVipResetSlo':
                 $result = $resume->controlAnnounces("vip AND token IN ('active') AND vip_unset_datetime NOT IN ('0000-00-00 00:00:00') AND vip_unset_datetime < NOW()", 'vip');
                 break;
             case 'vacHotResetSlo':
                 $result = $vacancy->controlAnnounces("hot AND token IN ('active') AND hot_unset_datetime NOT IN ('0000-00-00 00:00:00') AND hot_unset_datetime < NOW()", 'hot');
                 break;
             case 'resHotResetSlo':
                 $result = $resume->controlAnnounces("hot AND token IN ('active') AND hot_unset_datetime NOT IN ('0000-00-00 00:00:00') AND hot_unset_datetime < NOW()", 'hot');
                 break;
             case 'vacActionSlo':
                 $result = $vacancy->controlAnnounces("token IN ('active') AND token_datetime < NOW()", $type);
                 break;
             case 'resActionSlo':
                 $result = $resume->controlAnnounces("token IN ('active') AND token_datetime < NOW()", $type);
                 break;
             default:
                 $result = true;
                 break;
         }
         if (!$result) {
             return false;
         } else {
             continue;
         }
     }
     return true;
 }
Exemplo n.º 12
0
 /**
  * private функция считывает данные структуры таблицы БД
  *
  * @return bool
  */
 private function tbReadFieldList()
 {
     $strQuery = "SHOW COLUMNS FROM " . $this->tbPrefix . $this->tbPostfix;
     if (CONF_ENABLE_CACHING) {
         if ($this->tbTableStructure = caching::getCahing('caching/' . $this->tbPrefix . $this->tbPostfix . '.tsc')) {
             return true;
         } else {
             db::$dbTypeSelect = 'multi';
             return !($this->tbTableStructure = db::dbMultiQuery($strQuery)) ? false : caching::setCaching('caching/' . $this->tbPrefix . $this->tbPostfix . '.tsc', $this->tbTableStructure);
         }
     } else {
         db::$dbTypeSelect = 'multi';
         return !($this->tbTableStructure = db::dbMultiQuery($strQuery)) ? false : true;
     }
 }
Exemplo n.º 13
0
if ($arrActions['config']) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false);
    // сохраняем данные, переданные из формы
    if (isset($_POST['save'])) {
        $perpage = !empty($_POST['news_perpage']) && validate::checkNaturalNumber($_POST['news_perpage']) ? validate::checkNaturalNumber($_POST['news_perpage']) : 30;
        $newsesLastShow = !empty($_POST['newses_last_show']) ? 1 : 0;
        $newsesLastShowPerPage = !empty($_POST['newses_last_show_perpage']) && validate::checkNaturalNumber($_POST['newses_last_show_perpage']) ? validate::checkNaturalNumber($_POST['newses_last_show_perpage']) : 5;
        $correctionTerm = isset($_POST['correctionTerm']) && validate::checkNaturalNumber($_POST['correctionTerm']) ? validate::checkNaturalNumber($_POST['correctionTerm']) : 72;
        $newsesComments = !empty($_POST['newses_comments']) ? 1 : 0;
        $newsesCommentsRegister = !empty($_POST['newses_comments_register']) ? 1 : 0;
        $commentsNameUnregister = !empty($_POST['name_unregister']) ? htmlspecialchars($_POST['name_unregister'], ENT_QUOTES, CONF_DEFAULT_CHARSET) : 'Guest';
        $titleNewsName = !empty($_POST['titleNewsName']) ? 1 : 0;
        $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_NEWS_PERPAGE", "' . $perpage . '");' . "\n\n" . 'define("CONF_NEWSES_LAST_SHOW", "' . $newsesLastShow . '");' . "\n\n" . 'define("CONF_NEWSES_LAST_SHOW_PERPAGE", "' . $newsesLastShowPerPage . '");' . "\n\n" . 'define("CONF_NEWSES_CORRECTION_THERM", "' . $correctionTerm . '");' . "\n\n" . 'define("CONF_NEWSES_COMMENTS", ' . $newsesComments . ');' . "\n\n" . 'define("CONF_NEWSES_COMMENTS_REGISTER", ' . $newsesCommentsRegister . ');' . "\n\n" . 'define("CONF_NEWSES_COMMENTS_NAME_UNREGISTER", "' . $commentsNameUnregister . '");' . "\n\n" . 'define("CONF_NEWSES_DISPLAY_ON_TITLE_ONLY_NEWS_NAME", ' . $titleNewsName . ');' . "\n";
        // чистим кеш
        caching::clearCache('newses.last');
        // сохраняем изменения
        if (!tools::saveConfig('core/conf/const.config.news.php', $data, CONF_ADMIN_FILE . '?' . $qString)) {
            $arrErrors[] = ERROR_FILES_MISSING_FILE;
        }
    }
} elseif ($arrActions['add']) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_MANAGER_NEWS_ADD, 'link' => false);
    if (isset($_POST['save'])) {
        // получаем из формы поля обязательные для заполнения
        $arrBindFields = $_POST['arrBindFields'];
        $arrBindFields['author'] = 'Administrator';
        // получаем из формы поля не обязательные для заполнения
        $arrNoBindFields = $_POST['arrNoBindFields'];
        $arrNoBindFields['noComments'] = !empty($_POST['arrNoBindFields']['noComments']) ? 1 : 0;
Exemplo n.º 14
0
 public function getApiLastAnnounces($arrParams = false)
 {
     $returnData = false;
     $cacheFileName = 'caching/resume.api.last.cache';
     $strWhere = "!vip AND !hot AND visibility IN ('visible','visiblehc')";
     if (!empty($arrParams['limit']) && strings::ifInt($arrParams['limit'])) {
         $limit = $arrParams['limit'];
     } else {
         $limit = CONF_VACANCY_LAST_SHOW_PERPAGE;
     }
     if (false === ($result = caching::getCahing($cacheFileName)) || $limit > count($result)) {
         $result = $this->getAnnouncesByToken('active', $strWhere, array('strLimit' => '0, ' . $limit, 'calcRows' => false), array('act_datetime' => 'DESC'));
         empty($result) ? $result = array() : null;
         foreach ($result as $id => &$announce) {
             if ('visiblehc' === $announce['visibility']) {
                 unset($announce['first_name'], $announce['last_name'], $announce['middle_name'], $announce['phone'], $announce['note_phone'], $announce['addition_phone_1'], $announce['note_addition_phone_1'], $announce['addition_phone_2'], $announce['note_addition_phone_2'], $announce['image'], $announce['video']);
             }
             if (empty($announce['public_email'])) {
                 unset($announce['email']);
             }
             /**
              * инициализация списка разделов
              */
             global $sections;
             $arrDataSections = $sections->retCategorys();
             /**
              * инициализация списка профессий
              */
             global $professions;
             $arrDataProfessions = $professions->retCategorysByIds(array($announce['id_profession'], $announce['id_profession_1'], $announce['id_profession_2']));
             /**
              * инициализация списка регионов
              */
             global $regions;
             $arrDataRegions = $regions->retCategorys();
             /**
              * инициализация списка городов
              */
             global $citys;
             $arrDataCitys = $citys->retCategorysByIds($announce['id_city']);
             $announce['section'] = @$arrDataSections[$announce['id_section']]['name'];
             $announce['profession'] = @$arrDataProfessions[$announce['id_profession']]['name'];
             $announce['profession_1'] = @$arrDataProfessions[$announce['id_profession_1']]['name'];
             $announce['profession_2'] = @$arrDataProfessions[$announce['id_profession_2']]['name'];
             $announce['region'] = @$arrDataRegions[$announce['id_region']]['name'];
             $announce['city'] = @$arrDataCitys[$announce['id_city']]['name'];
             unset($announce['xml_data'], $announce['id_section'], $announce['id_profession'], $announce['id_profession_1'], $announce['id_profession_2'], $announce['id_region'], $announce['id_city'], $announce['unikey'], $announce['id_user'], $announce['public_email'], $announce['birthday'], $announce['act_period'], $announce['subscription'], $announce['vip'], $announce['vip_unset_datetime'], $announce['hot'], $announce['hot_unset_datetime'], $announce['rate'], $announce['cnt_views_total'], $announce['cnt_views_temp'], $announce['cnt_views_temp_datetime'], $announce['cnt_views_last_ip'], $announce['token'], $announce['token_datetime'], $announce['visibility'], $announce['comments']);
         }
         caching::setCaching($cacheFileName, $result);
     }
     $result = array_slice($result, 0, $limit);
     $returnData = array('resume' => &$result);
     return $returnData;
 }
Exemplo n.º 15
0
 /**
  * protected Функция выборки логотипов для вывода на главной
  *
  * @return mixed (array | false)
  */
 protected function getLogoToMain()
 {
     $arrFields = array(array('conf_users', 'id'), array('conf_users', 'company_name'), array('conf_users', 'company_city'), array('conf_users', 'logo'));
     $strWhere = "conf_users.main_logo AND conf_users.logo!='' AND conf_users.token IN ('active') AND conf_users.user_type IN ('company')";
     $arrOrderBy = array('conf_users.sort_logo' => 'ASC');
     if (CONF_ENABLE_CACHING) {
         if (false === ($result = caching::getCahing('caching/company.logo.cache'))) {
             $result = $this->getCombinedUsersData($arrFields, $strWhere, $arrOrderBy, false);
             empty($result) ? $result = array() : null;
             caching::setCaching('caching/company.logo.cache', $result);
         }
     } else {
         $result = $this->getCombinedUsersData($arrFields, $strWhere, $arrOrderBy, false);
     }
     return $result;
 }