Ejemplo n.º 1
0
 /**
  * Функция формирует массив языковых файлов с именами констант в виде ключей их значений
  * В качестве эталона для формирования массива используется локализация по умолчанию: 'russian'
  * Возврашает массив языковых файлов и языковых констант в локализации по умолчанию.
  * Значения констант берутся в запрашиваемой локализациии, если они существуют. Иначе вместо значения устанавливается имя константы.
  *
  * @param (string) $localiz - запрашиваемая локализация (по умолчанию 'russian')
  *
  * @return (array) $arrConst - массив языковых файлов с именами констант в виде ключей их значений
  */
 static function getLocalizConst($localiz, $ownAdmin, $langDir = 'lang/')
 {
     $arrConst = array();
     $langDir = filesys::setPath($langDir);
     foreach (filesys::getFilesInDir($langDir . 'russian/') as $fileLocaliz) {
         if (empty($ownAdmin) && 0 === strpos($fileLocaliz, 'adm.') || !empty($ownAdmin) && 0 !== strpos($fileLocaliz, 'adm.')) {
             continue;
         }
         if ('russian' !== $localiz && file_exists($langDir . $localiz . '/' . $fileLocaliz)) {
             $currLocalizConst = self::getConstForParsingFile($langDir . $localiz . '/' . $fileLocaliz);
         }
         foreach (file($langDir . 'russian/' . $fileLocaliz) as $string) {
             if (false !== strpos($string, 'define(')) {
                 $arrExplode = explode(',', trim($string));
                 $constName = substr(array_shift($arrExplode), 8, -1);
                 if ('russian' !== $localiz) {
                     $arrConst[$fileLocaliz][$constName] = isset($currLocalizConst[$constName]) ? $currLocalizConst[$constName] : $constName;
                 } else {
                     $arrConst[$fileLocaliz][$constName] = substr(implode(', ', $arrExplode), 2, -3);
                 }
             }
         }
     }
     return $arrConst;
 }
Ejemplo n.º 2
0
 /**
  * Получить все файлы SEO относящиеся к выбранному разделу
  * @param string $part раздел. Пример: agencies, companies
  * @param string $language текущий язык сайта (глобальная переменная $currLang)
  */
 public static function getSeoFiles($part, $language = 'russian')
 {
     $files = filesys::getFilesInDir('lang/' . $language . '/seo/');
     $resArray = array();
     if (!empty($files)) {
         foreach ($files as $value) {
             if (strpos($value, $part) !== false) {
                 $resArray[$value] = self::getSeo($value, $language);
             }
         }
     }
     return $resArray;
 }
Ejemplo n.º 3
0
    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;
$smarty->template_dir = SD_ROOT_DIR . 'install/templates/';
$smarty->compile_dir = SD_ROOT_DIR . 'install/templates_c/';
$smarty->debugging = false;
$smarty->force_compile = true;
####################################################################
############################### INIT ###############################
####################################################################
Ejemplo n.º 4
0
 /**
  * Функция полностью очишает кеш шаблонов сайта
  *
  * @return bool
  */
 static function dropTmplCache()
 {
     $result = true;
     foreach (filesys::getFilesInDir(TEMPLATE_COMPILE_DIR) as $cacheFile) {
         if (!unlink(TEMPLATE_COMPILE_DIR . $cacheFile)) {
             $result = false;
         }
     }
     return $result;
 }
Ejemplo n.º 5
0
    			$arrErrors[] = ERROR_FILES_MISSING_FILE;
    		}
    	}
    */
} elseif ($arrActions['logs']) {
    // удаление логов
    if (!empty($_POST['action'])) {
        if ('deleted' === $_POST['action'] && !empty($_POST['files']) && is_array($_POST['files'])) {
            foreach ($_POST['files'] as $key => $value) {
                unlink(CONF_UPDATES_PATH_TO_LOG_FILES . $key);
            }
            messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=system&s=updates&action=logs');
        }
    }
    $arrNamePage[] = array('name' => MENU_UPDATES_LOGS, 'link' => false);
    $logFiles = filesys::getFilesInDir(CONF_UPDATES_PATH_TO_LOG_FILES);
    $arrData = array();
    if (!empty($logFiles) && is_array($logFiles)) {
        foreach ($logFiles as &$value) {
            $fData = filesys::getFileSystemData(CONF_UPDATES_PATH_TO_LOG_FILES . $value);
            if (!empty($fData) && is_array($fData)) {
                $arrData[$value] = $fData;
            }
        }
    }
    $smarty->assignByRef('arrData', $arrData);
} elseif ($arrActions['backup'] && !empty($_GET['file']) && file_exists(CONF_UPDATES_PATH_TO_FILES . $_GET['file'])) {
    // массив проверки обновлений. Указывает, где будут производиться изменения
    // на основании этих данных определятся какие бэкапы нужно делать
    $arrBackup = array('php' => true, 'sql' => false);
    $zip = new PclZip(CONF_UPDATES_PATH_TO_FILES . $_GET['file']);
Ejemplo n.º 6
0
    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->assignByRef('arrPayments', $arrPayments);
    $smarty->assignByRef('arrTariffs', $arrTariffs);
} elseif ($arrActions['mt'] && !empty($_GET['id']) && $issetMod) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => strtoupper($_GET['id']), 'link' => false);
    $arrNamePage[] = array('name' => MENU_MANAGER_TEMPLATES, 'link' => false);
    include_once 'core/mods/payments/' . $_GET['id'] . '/admin.php';
} elseif ($arrActions['lt'] && !empty($_GET['id']) && $issetMod) {
    $formUrl = CONF_ADMIN_FILE . '?m=mods&s=payments&action=lt&id=' . $_GET['id'];
    $langDir = 'core/mods/payments/' . $_GET['id'] . '/lang/';
    $selects = isset($_POST['currLocaliz']) ? new selects($_POST['currLocaliz']) : new selects();
    $currLang = $selects->retCurrLang();
    if (!empty($_POST['fileNameLocaliz']) && in_array($_POST['fileNameLocaliz'], filesys::getFilesInDir($langDir . 'russian/'))) {
        $fileNameLocaliz = array_pop($_POST);
        $arrData = array();
        foreach ($_POST as $constName => &$constValue) {
            $arrData[] = "define('" . strtoupper($constName) . "', '" . (!empty($constValue) ? $constValue : strtoupper($constName)) . "');";
        }
        $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . implode("\n\n", $arrData) . "\n";
        if (file_put_contents($langDir . $currLang . '/' . $fileNameLocaliz, $data)) {
            messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, $formUrl);
        } else {
            messages::messageChangeSaved(MESSAGE_CHANGE_NOT_SAVED, false, $formUrl);
        }
    }
    $smarty->assignByRef('formUrl', $formUrl);
    $smarty->assignByRef('modId', $_GET['id']);
    $smarty->assignByRef('currLang', $currLang);
Ejemplo n.º 7
0
// инициируем "Наименование страницы" отображаемое в форме
$arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_MANAGER_MAILER, 'link' => false));
/**
* иницализация массива подключаемых шаблонов: по умолчанию все значения - false
* для подключения шаблона, необходимо установить значение - true
* шаблоны подключаются в порядке установленном в файле головного шаблона
*/
$arrActions = array('config' => false, 'templates' => false);
// определяем шаблон для отображения
isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null;
/** Строка запроса из адресной строки браузера **/
$qString = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : 'm=manager&s=mailer';
$arrTemplates = array();
// путь к файлам шаблонов писем
$path = filesys::setPath(CONF_ROOT_DIR) . 'core/data/templates/mailer/';
$arrFiles = filesys::getFilesInDir($path);
foreach ($arrFiles as &$value) {
    if (file_exists($path . $value)) {
        $arrTemplates[$value]['name'] = substr($value, 0, strlen($value) - 4);
    }
}
/**
* Настройки рассылки
*/
if ($arrActions['config']) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false);
} elseif ($arrActions['templates']) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_ACTION_TEMPLATE, 'link' => false);
} else {
} elseif (!empty($_COOKIE['adm_currTmplManage']) && is_dir('templates/site/' . $_COOKIE['adm_currTmplManage'])) {
    $currTemplate =& $_COOKIE['adm_currTmplManage'];
} else {
    $currTemplate = CONF_TEMPLATE;
}
// устанавливаем кукисы
cookies::setCookieSite('adm_currTmplManage', $currTemplate);
// передаем текуший шаблон в Smarty
$smarty->assignByRef('currTemplate', $currTemplate);
// текущий шаблон
// формируем данные - Список файлов шаблона
foreach (filesys::getFilesInDir("templates/site/{$currTemplate}/") as $fileName) {
    if (false !== strstr($fileName, '.tpl')) {
        // записываем данные в массив
        $listTemplates[] = array('name' => $fileName, 'id' => $id = str_replace('.', '_', $fileName));
    }
}
// формируем данные - Список файлов стилей
foreach (filesys::getFilesInDir("templates/site/{$currTemplate}/style/") as $fileName) {
    if (false !== strstr($fileName, '.css')) {
        // записываем данные в массив
        $listCSS[] = array('name' => $fileName, 'id' => $id = str_replace('.', '_', $fileName));
    }
}
// передаем данные в Smarty
$smarty->assignByRef('listTemplates', $listTemplates);
$smarty->assignByRef('listCSS', $listCSS);
// получаем список доступных дирректорий шаблонов
$smarty->assign('templates', filesys::getChildDirs('templates/site/'));
$smarty->assignByRef('errors', $arrErrors);
$smarty->assignByRef('action', $arrActions);
Ejemplo n.º 9
0
     } elseif (!@mkdir('templates/site/' . $_POST['nameTemplate'], 0755)) {
         echo 'errCreateDirTemplate';
     } elseif (!@mkdir('templates/site/' . $_POST['nameTemplate'] . '/style', 0755)) {
         echo 'errCreateDirTemplateStyle';
     } elseif (!@mkdir('templates/site/' . $_POST['nameTemplate'] . '/images', 0755)) {
         echo 'errCreateDirTemplateImages';
     } else {
         foreach ($arrFiles as &$file) {
             !empty($_POST['emptyTemplateFiles']) ? file_put_contents(filesys::setPath('templates/site/' . $_POST['nameTemplate']) . $file, '') : copy(filesys::setPath('templates/site/' . $_POST['currTemplate']) . $file, filesys::setPath('templates/site/' . $_POST['nameTemplate']) . $file);
         }
         !empty($_POST['includeCss']) ? filesys::copyDirContent('templates/site/' . $_POST['currTemplate'] . '/style', 'templates/site/' . $_POST['nameTemplate'] . '/style') : null;
         !empty($_POST['includePics']) ? filesys::copyDirContent('templates/site/' . $_POST['currTemplate'] . '/images', 'templates/site/' . $_POST['nameTemplate'] . '/images') : null;
         echo 'success';
     }
 } elseif ('updateTemplate' === $_GET['action'] && !empty($_POST['nameTemplate']) && is_dir('templates/site/' . $_POST['nameTemplate'])) {
     if (!($arrFiles = array_diff(filesys::getFilesInDir('templates/site/default/'), filesys::getFilesInDir(filesys::setPath('templates/site/' . $_POST['nameTemplate']))))) {
         echo ajax::sdgJSONencode(array('result' => 'tplListDiffNotFound'));
     } else {
         $arrList = array();
         foreach ($arrFiles as &$file) {
             copy('templates/site/default/' . $file, filesys::setPath('templates/site/' . $_POST['nameTemplate']) . $file);
             $arrList[] = array('id' => str_replace('.', '_', $file), 'name' => $file);
         }
         echo '{"result":"success", "listFiles":' . ajax::sdgJSONencode(array_reverse($arrList)) . '}';
     }
 } elseif ('deleteTemplate' === $_GET['action'] && !empty($_POST['nameTemplate']) && is_dir('templates/site/' . $_POST['nameTemplate'])) {
     if ('default' == $_POST['nameTemplate']) {
         echo 'errDelDefaultTemplate';
     } elseif (CONF_TEMPLATE == $_POST['nameTemplate']) {
         echo 'errDelConfTemplate';
     } else {
Ejemplo n.º 10
0
    } elseif (file_exists($pathExpertCore . 'base/' . $className . '.class.php')) {
        require_once $pathExpertCore . 'base/' . $className . '.class.php';
    } elseif (file_exists($pathExpertCore . $className . '.class.php')) {
        require_once $pathExpertCore . $className . '.class.php';
    } elseif (file_exists($pathExpertCore . 'lib/' . $className . '.class.php')) {
        require_once $pathExpertCore . 'lib/' . $className . '.class.php';
    } elseif (file_exists($pathExpertCore . $className . '/' . $className . '.class.php')) {
        require_once $pathExpertCore . $className . '/' . $className . '.class.php';
    } else {
        spl_autoload_register('smartyAutoload');
    }
}
/********** Конфиги **********/
foreach (filesys::getFilesInDir('core/conf/') as $fileConf) {
    require_once 'core/conf/' . $fileConf;
}
/********** Языковые файлы **********/
foreach (filesys::getFilesInDir('lang/' . CONF_LANGUAGE . '/') as $fileLang) {
    0 === strpos($fileLang, 'adm.') || 'lang.dictionarys.selects.php' === $fileLang ? require_once 'lang/' . CONF_LANGUAGE . '/' . $fileLang : null;
}
/********** Инициализация Smarty **********/
define('SMARTY_SPL_AUTOLOAD', 1);
require_once TEMPLATE_SMARTY_DIR . 'Smarty.class.php';
$smarty = new Smarty();
//core smarty object
$smarty->error_reporting = E_ALL & ~E_NOTICE;
$smarty->template_dir = TEMPLATE_PATH_ADMIN;
$smarty->compile_dir = TEMPLATE_COMPILE_DIR;
$smarty->debugging = TEMPLATE_DEBUGGING;
$smarty->compile_check = TEMPLATE_COMPILE_CHECK;
$smarty->force_compile = TEMPLATE_FORCE_COMPILE;
            $arrData[] = "define('" . strtoupper($constName) . "', '" . (!empty($constValue) ? $constValue : strtoupper($constName)) . "');";
        }
        $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . implode("\n\n", $arrData) . "\n";
        file_put_contents("lang/{$currLang}/" . $fileNameLocaliz, $data) ? messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=service&s=language.manager&action=localizConst') : messages::messageChangeSaved(MESSAGE_CHANGE_NOT_SAVED, false, CONF_ADMIN_FILE . '?m=service&s=language.manager&action=localizConst');
    }
    $ownAdmin = !empty($_GET['own']) && 'admin' === $_GET['own'] ? true : false;
    $smarty->assignByRef('ownAdmin', $ownAdmin);
    $smarty->assign('defLocalizConst', localiz::getLocalizConst('russian', $ownAdmin));
    $smarty->assign('currLocalizConst', localiz::getLocalizConst($currLang, $ownAdmin));
} elseif (!empty($arrActions['localizText'])) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_LANGUAGE_LOCALIZ_TEXT, 'link' => false);
    // создаем директорию, если она не существует
    !is_dir("lang/{$currLang}/texts") ? mkdir("lang/{$currLang}/texts", 0757) : null;
    // формируем данные
    foreach (filesys::getFilesInDir('lang/russian/texts/') as $fileName) {
        if (false !== strstr($fileName, '.txt')) {
            // создаем файл, если он не существует
            !file_exists("lang/{$currLang}/texts/{$fileName}") ? file_put_contents("lang/{$currLang}/texts/{$fileName}", '') : null;
            // записываем данные в массив
            $arrFilesList[] = array('name' => $fileName, 'id' => $id = str_replace('.', '_', $fileName), 'text' => file_get_contents("lang/{$currLang}/texts/{$fileName}"), 'description' => @constant('HELP_ADMIN_MAIL_' . strtoupper($id)));
        }
    }
    // передаем данные в Smarty
    $smarty->assignByRef('files', $arrFilesList);
} elseif (!empty($arrActions['localizAgreement'])) {
    // инициируем "Наименование страницы" отображаемое в форме
    $arrNamePage[] = array('name' => MENU_LANGUAGE_LOCALIZ_AGREEMENT, 'link' => false);
    // создаем директорию, если она не существует
    !is_dir("lang/{$currLang}/texts") ? mkdir("lang/{$currLang}/texts", 0757) : null;
    // создаем файл, если он не существует
Ejemplo n.º 12
0
<?php

/********************************************************
	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;
// инициируем "Наименование страницы" отображаемое в форме
$arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_CONFIG, 'link' => false), array('name' => MENU_CONFIG_FILES, 'link' => false));
// сохраняем данные, переданные из формы
if (isset($_POST['save'])) {
    $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_FILES_MAX_SIZE", "' . ((int) $_POST['max_size'] ? (int) $_POST['max_size'] : 10000) . '");' . "\n\n" . 'define("CONF_FILES_IMG_CREATE_WATERMARK", "' . (isset($_POST['create_watermark']) ? true : false) . '");' . "\n\n" . 'define("CONF_FILES_IMG_CREATE_WATERMARK_ON", "' . $_POST['watermark_on'] . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_ALIGNMENT", "' . strtoupper($_POST['watermark_alignment']) . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_TYPE", "' . $_POST['watermark_type'] . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_IMAGE", "' . htmlspecialchars($_POST['watermark_image'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_TEXT", "' . htmlspecialchars($_POST['watermark_text'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_FONT", "' . $_POST['font'] . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_FONT_SIZE", "' . ((int) $_POST['font_size'] ? (int) $_POST['font_size'] : 17) . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_FONT_COLOR", "' . htmlspecialchars($_POST['font_color'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("CONF_FILES_IMG_WATERMARK_TRANSPARENT", "' . ((int) $_POST['transparent'] ? (int) $_POST['transparent'] : 0) . '");' . "\n";
    if (!tools::saveConfig('core/conf/const.config.files.php', $data, CONF_ADMIN_FILE . '?m=config&s=files')) {
        $arrErrors[] = ERROR_FILES_MISSING_FILE;
    }
}
$smarty->assign('fonts', filesys::getFilesInDir('core/fonts/'));
// получаем список доступных дирректорий шаблонов
$smarty->assignByRef('errors', $arrErrors);
Ejemplo n.º 13
0
/**
 * Определение текущей локализации
 */
if (!empty($_COOKIE['currLang']) && false !== ($currLang = array_search($_COOKIE['currLang'], $existLangs))) {
    unset($existLangs[$currLang]);
    array_unshift($existLangs, $currLang =& $_COOKIE['currLang']);
    cookies::setCookieSite('currLang', $currLang, 30);
} else {
    unset($existLangs[array_search(CONF_LANGUAGE, $existLangs)]);
    array_unshift($existLangs, $currLang = CONF_LANGUAGE);
    cookies::setCookieSite('currLang', $currLang, 30);
}
/**
 * Подключения языковых файлов текущей локализации
 */
foreach (filesys::getFilesInDir('lang/' . $currLang . '/') as $fileLang) {
    0 !== strpos($fileLang, 'adm.') ? require_once 'lang/' . $currLang . '/' . $fileLang : null;
}
/**
 * Капча
 */
require_once 'core/si/securimage.php';
/**
 * Моды
 */
// empty
/**
 * Инициализация шаблонизатора Smarty
 */
define('SMARTY_SPL_AUTOLOAD', 1);
require_once TEMPLATE_SMARTY_DIR . 'Smarty.class.php';
Ejemplo n.º 14
0
 /**
  * Функция массив всех фалов резервных копий
  * 
  * @return array or false
  */
 static function getBackupFiles()
 {
     if ($arrFiles = filesys::getFilesInDir(CONF_BACKUPS_PATH_TO_FILES)) {
         $resArray = array();
         foreach ($arrFiles as $value) {
             if ($arrData = filesys::getFileData(CONF_BACKUPS_PATH_TO_FILES, $value)) {
                 $resArray[$value] = $arrData;
             }
         }
         return $resArray ? $resArray : false;
     } else {
         return false;
     }
 }