Ejemplo n.º 1
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);
Ejemplo n.º 2
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));
     }
 }
Ejemplo n.º 3
0
         echo ajax::sdgJSONencode(array('error' => ERROR_COULD_NOT_FOUND_RECORD_TO_UPDATE));
     }
 } elseif (!empty($_POST['getUpdatesLogsDetail'])) {
     if (file_exists(CONF_UPDATES_PATH_TO_LOG_FILES . $_POST['getUpdatesLogsDetail'])) {
         $arrData = filesys::getSerializedData(CONF_UPDATES_PATH_TO_LOG_FILES . $_POST['getUpdatesLogsDetail']);
         if (!empty($arrData) && is_array($arrData)) {
             $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";
Ejemplo n.º 4
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;
 }