/** * Конструктор * * Вызывает конструктор родительского класса * Инициирует имя таблицы БД */ public function __construct() { $arrBindFields = filesys::getSerializedData('core/data/vacancy.bindfields.mda') or $arrBindFields = array(); $arrNoBindFields = filesys::getSerializedData('core/data/vacancy.nobindfields.mda') or $arrNoBindFields = array(); $this->arrBindFields = array_merge($this->arrBindFields, $arrBindFields); $this->arrNoBindFields = array_merge($this->arrNoBindFields, $arrNoBindFields); $this->setTable('vacancy'); parent::__construct(array('caching/vacancy.last.cache', 'caching/vacancy.api.last.cache')); }
/** * Конструктор * * Вызывает конструктор родительского класса * Инициирует имя таблицы БД * Инициирует массив данных хранимых в XML-формате * */ public function __construct() { $arrBindFields = filesys::getSerializedData('core/data/resume.bindfields.mda') or $arrBindFields = array(); $arrNoBindFields = filesys::getSerializedData('core/data/resume.nobindfields.mda') or $arrNoBindFields = array(); $this->arrBindFields = array_merge($this->arrBindFields, $arrBindFields); $this->arrNoBindFields = array_merge($this->arrNoBindFields, $arrNoBindFields); $this->arrFieldsXmlData['educations'][1] = filesys::getSerializedData('core/data/resume.education.mda') or $this->arrFieldsXmlData['educations'][1] = array(); $this->arrFieldsXmlData['expires'][1] = filesys::getSerializedData('core/data/resume.expire.mda') or $this->arrFieldsXmlData['expires'][1] = array(); $this->arrFieldsXmlData['languages'][2] = $this->arrFieldsXmlData['languages'][1] = filesys::getSerializedData('core/data/resume.language.mda') or $this->arrFieldsXmlData['languages'][2] = $this->arrFieldsXmlData['languages'][1] = array(); $this->setTable('resume'); parent::__construct(array('caching/resume_m.last.cache', 'caching/resume_v.last.cache', 'caching/resume.api.last.cache')); }
/** * Функция возвращает массив доступной для показа рекламы (active) по ключу * @param string $key (один из ключей расположения рекламы) * @return array */ public function get($key) { if (!in_array($key, self::$adPosition)) { return array(); } $dbData = filesys::getSerializedData(self::$dbFile); $ret = array(); foreach ($dbData[$key] as $value) { if ('active' == $value['token']) { $ret[] = $value; } } return $ret; }
/** * Функция логирует входы в админку * Если вход выполнен успешно, вместо пароля будет записано true (в целях защиты инф-ции) * * @param array $arrData - массив данных, для записи в лог (array('login' => $_POST['login'], 'password' => $_POST['password'] or false)) * @param bool $status - признак авторизации. TRUE - успешно, FALSE - ошибка * * @return void */ static function logAdminAccess($arrData, $status) { /* $mess = "\n" . '================== ' . ($status ? 'SUCCESS' : 'FAIL') . ' (' . terms::currentDateTime() . ') ==================' . "\n" . 'LOGIN: '******'login'] . "\n" . 'PASSWORD: '******'yes' === $arrData['password'] ? 'true' : $arrData['password']) . "\n" //. '$_POST DATA: ' . serialize($_POST) . "\n\n" - отключил, т.к. массив содержит логин и пароль администратора, что недопустимо логировать. . 'USER IP: ' . $_SERVER['REMOTE_ADDR'] . "\n" . 'USER ID: ' . (!isset($_SESSION['sd_user']['data']) ? 'false' : $_SESSION['sd_user']['data']['id']) . "\n" . 'USER LOGIN: '******'sd_user']['data']) ? 'false' : $_SESSION['sd_user']['data']['email']) . "\n" . '============================================================================' . "\n\n"; @error_log($mess, 3, 'core/data/log/adm.access.log'); */ // Формируем данные для записи в MDA-файл $mdaData = filesys::getSerializedData('core/data/log/adm.access.mda'); $mdaData[] = array('login' => $arrData['login'], 'password' => 'yes' === $arrData['password'] ? 'true' : $arrData['password'], 'ip' => $_SERVER['REMOTE_ADDR'], 'user_id' => !isset($_SESSION['sd_user']['data']) ? 'false' : $_SESSION['sd_user']['data']['id'], 'user_login' => !isset($_SESSION['sd_user']['data']) ? 'false' : $_SESSION['sd_user']['data']['email'], 'datetime' => terms::currentDateTime()); filesys::putSerializedData('core/data/log/adm.access.mda', $mdaData); }
/** * конструктор * * Инициирует private свойства $arrPayments и $subscription * */ protected function __construct($arrCacheFilesAdd = false) { // инициируем список платных услуг !empty($GLOBALS['arrPayments']) ? $this->arrPayments =& $GLOBALS['arrPayments'] : null; // инициируем объект подписки $this->subscription = new subscription(); // инициируем массив сортировки !($this->arrAnnSortList = filesys::getSerializedData('core/data/' . $this->retTableName() . '.list.sort.mda')) ? $this->arrAnnSortList = array('act_datetime' => 'ASC') : null; // массив (список) файлов кешируемых данных $arrCacheFiles = array(); if (!CONF_DISABLE_AUTO_COUNTERS) { $arrCacheFiles = array('caching/region.cache', 'caching/city.cache', 'caching/section.cache', 'caching/profession.cache', 'caching/statistic.cache'); } // добавляем в список данные !empty($arrCacheFilesAdd) && is_array($arrCacheFilesAdd) ? $arrCacheFiles = array_merge($arrCacheFiles, $arrCacheFilesAdd) : null; // формируем массив параметров для вызова конструктора родительского класса $arrParams = array('arrCacheFiles' => &$arrCacheFiles, 'tIdForce' => true); // вызываем конструктор родительского класса parent::__construct($arrParams); }
} $arrResumeTitle = array('title' => array('discription' => ANNOUNCE_PAGE_TITLE_DESCRIPT_TITLE, 'varValue' => '&$return_data[\'title\']', 'varChecked' => false), 'id_section' => array('discription' => ANNOUNCE_PAGE_TITLE_DESCRIPT_ID_SECTION, 'varValue' => '&$arrDataSections[$return_data[\'id_section\']][\'name\']', 'varChecked' => false), 'id_profession' => array('discription' => ANNOUNCE_PAGE_TITLE_DESCRIPT_ID_PROFESSION, 'varValue' => '&$arrDataProfession[$return_data[\'id_profession\']][\'name\']', 'varChecked' => false), 'id_region' => array('discription' => ANNOUNCE_PAGE_TITLE_DESCRIPT_ID_REGION, 'varValue' => '&$arrDataRegions[$return_data[\'id_region\']][\'name\']', 'varChecked' => false), 'id_city' => array('discription' => ANNOUNCE_PAGE_TITLE_DESCRIPT_ID_CITY, 'varValue' => '&$arrDataCity[$return_data[\'id_city\']][\'name\']', 'varChecked' => false)); $smarty->assign('pTitle', $arrTitle + $arrResumeTitle); } /** * Настройки анкеты - Резюме */ if ($arrActions['confQuestResume']) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_ANNOUNCES_RESUMES, 'link' => false); $arrNamePage[] = array('name' => MENU_ANNOUNCES_CONFIG_QUESTIONARY, 'link' => false); $arrBindFields = filesys::getSerializedData('core/data/resume.bindfields.mda') or $arrBindFields = array(); $arrNoBindFields = filesys::getSerializedData('core/data/resume.nobindfields.mda') or $arrNoBindFields = array(); $arrEducation = filesys::getSerializedData('core/data/resume.education.mda') or $arrEducation = array(); $arrExpire = filesys::getSerializedData('core/data/resume.expire.mda') or $arrExpire = array(); $arrLanguage = filesys::getSerializedData('core/data/resume.language.mda') or $arrLanguage = array(); $arrBasicFields = array('arrBindFields' => &$arrBindFields, 'arrNoBindFields' => &$arrNoBindFields); if (isset($_POST['save'])) { // сохраняем данные, переданные из формы /** * Определяем массивы, если пришел пустой результат */ if (empty($_POST['arrBasicFields']['arrBindFields']) || !is_array($_POST['arrBasicFields']['arrBindFields'])) { $_POST['arrBasicFields']['arrBindFields'] = array(); } if (empty($_POST['arrEducation']['arrBindFields']) || !is_array($_POST['arrEducation']['arrBindFields'])) { $_POST['arrEducation']['arrBindFields'] = array(); } if (empty($_POST['arrExpire']['arrBindFields']) || !is_array($_POST['arrExpire']['arrBindFields'])) { $_POST['arrExpire']['arrBindFields'] = array(); }
/** * Функция получает кешированные данные из файла * * @param (string) $file - путь к файлу * * @return (array or bool) */ static function getCahing($file) { return filesys::getSerializedData($file); }
/** * Функция настройки робота для удаления файлов кеша * * @param (array) $arrData - массив значений, содержащий список файлов кеша для удаления роботом * * @return bool */ static function putClearCacheData(&$arrData) { $arrRobotData = filesys::getSerializedData('core/data/robot.mda'); $arrRobotData['clear_cache'] = $arrData; return filesys::putSerializedData('core/data/robot.mda', $arrRobotData); }
static function saveLogData() { if (!empty(self::$logData)) { $logData = filesys::getSerializedData(CONF_UPDATES_PATH_TO_LOG_FILES . terms::currentDate() . '_update.log'); if (is_array($logData)) { self::$logData = array_merge($logData, self::$logData); } filesys::putSerializedData(CONF_UPDATES_PATH_TO_LOG_FILES . terms::currentDate() . '_update.log', self::$logData); self::clearLogData(); } }
/** * static функция получения данных кто онлайн * * @return array */ static function getWhoOnline(&$arrXmlTemplate, &$objUser) { $sides = array_merge($arrXmlTemplate['left_side'], $arrXmlTemplate['right_side']); if (false !== array_search('block.who.online.tpl', $sides)) { $currTime = time(); $currSessionId = session_id(); if (!($arrWhoOnline = filesys::getSerializedData('core/data/who.online.mda'))) { $arrWhoOnline = array('guests' => array(), 'users' => array()); } else { foreach ($arrWhoOnline as $type => $whoOnline) { foreach ($whoOnline as $key => $timestamp) { if ($currTime > $timestamp || $currSessionId === $key) { unset($arrWhoOnline[$type][$key]); } } } } $keyWhoOnline = !$objUser->getAuthorized() ? 'guests' : 'users'; $arrWhoOnline[$keyWhoOnline][$currSessionId] = $currTime + 180; filesys::putSerializedData('core/data/who.online.mda', $arrWhoOnline); $arrWhoOnline = array('guests' => count($arrWhoOnline['guests']), 'users' => count($arrWhoOnline['users'])); } else { $arrWhoOnline = false; } return $arrWhoOnline; }
$payments = new payments(); // платные услуги $arrData = array('title' => trim($_POST['modTitle']), 'description' => trim($_POST['modDescr'])); $strWhere = "id=" . secure::escQuoteData($_POST['savePamentModData']); if ($payments->getRecord($strWhere)) { if ($payments->updateRecords($arrData, $strWhere)) { echo ajax::sdgJSONencode(array('success' => true)); } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_CHANGE_NOT_SAVED)); } } else { 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)); }
/** * Функция выполнения импорта * * @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)); } }
} } if (!$flag) { $dbData[$_POST['ad_position']][] = array('code' => $_POST['advert'], 'htmlcode' => htmlentities($_POST['advert'], ENT_COMPAT, CONF_DEFAULT_CHARSET), 'token' => isset($_POST['token']) ? 'active' : 'disabled'); } } if (filesys::putSerializedData(adsimple::$dbFile, $dbData)) { messages::messageChangeSaved(MOD_ADSIMPLE_MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=mods&s=adsimple'); } else { $arrErrors[] = MOD_ADSIMPLE_ERROR_CHANGE_NOT_SAVED; } } else { $arrErrors[] = MOD_ADSIMPLE_ERROR_EMPTY_FIELDS; $smarty->assign('return_data', array('ad_position' => $_POST['ad_position'], 'advert' => $_POST['advert'], 'token' => isset($_POST['token']) ? true : false)); } } if (isset($_POST['delete'])) { $dbData = filesys::getSerializedData(adsimple::$dbFile); foreach ($_POST as $key => $value) { if (is_array($value)) { $dbData[$key] = array_diff_key($dbData[$key], $value); } } if (filesys::putSerializedData(adsimple::$dbFile, $dbData)) { messages::messageChangeSaved(MOD_ADSIMPLE_MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=mods&s=adsimple'); } else { $arrErrors[] = MOD_ADSIMPLE_ERROR_CHANGE_NOT_SAVED; } } $smarty->assign('advert', filesys::getSerializedData(adsimple::$dbFile)); $smarty->assign('errors', $arrErrors);
/** * метод получает список существующих модов из файла БД, * если файла не существует, данные модов берутся из таблицы БД * @return array */ protected function getMods() { if (@file_exists($this->dbFile)) { return filesys::getSerializedData($this->dbFile); } else { // Работаем с БД $arrMods = array(); $arrRecords = $this->pGetRecords("token IN ('active','disabled')", array('name' => 'ASC'), false, false); if (!empty($arrRecords) && is_array($arrRecords)) { // Это необходимо, чтобы массив соответствовал массиву, // который мы получаем из файла. // в данном случае, в качестве ключа используется имя мода foreach ($arrRecords as $value) { $arrMods[$value['name']] = $value; } } return $arrMods; } }
!defined('SDG') ? die('Triple protection!') : null; /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrActions = array('mds' => false); // определяем шаблон для отображения isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null; // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_SYSTEM, 'link' => false), array('name' => MENU_SYSTEM_IMPORT, 'link' => false)); if (!empty($arrActions['mds'])) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_SYSTEM_IMPORT_MDS, 'link' => false); if (file_exists('core/data/mdsImport.mda')) { $arrData = filesys::getSerializedData('core/data/mdsImport.mda'); foreach ($arrData as $table => &$arrDataTable) { if (empty($arrData[USR_PREFIX . 'users']) && DB_PREFIX . 'conf_users' === $table) { $table = USR_PREFIX . 'users'; } elseif (DB_PREFIX . 'conf_users' === $table) { continue; } $arrResult[] = array('table' => $table, 'size' => USR_PREFIX . 'users' === $table ? count($arrDataTable) * 2 : count($arrDataTable)); } // передаем данные для отображения прогресса импорта $smarty->assign('importData', ajax::sdgJSONencode($arrResult)); // включаем страницу отображения прогресса импорта $smarty->assign('importContinueProgress', true); // включаем предупреждение $arrWarnings[] = FORM_SYSTEM_IMPORT_WARNING; $smarty->assign('warnings', $arrWarnings);
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; // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_LOGS, 'link' => false), array('name' => MENU_LOGS_ADMIN_ACCESS, 'link' => false)); // Получаем данные из файла $logData = filesys::getSerializedData('core/data/log/adm.access.mda'); // действия if (isset($_POST['action'])) { // очистка логов if ('clear' === $_POST['action']) { if (@unlink('core/data/log/adm.access.mda')) { filesys::putSerializedData('core/data/log/adm.access.mda', array_slice($logData, -10)); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=logs&s=admin'); } else { $arrErrors[] = ERROR_FILES_NOT_DELETE; } } } $smarty->assignByRef('logData', $logData); $smarty->assignByRef('errors', $arrErrors);