/**
  * Функция формирует массив языковых файлов с именами констант в виде ключей их значений
  * В качестве эталона для формирования массива используется локализация по умолчанию: '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;
 }
Beispiel #2
0
 public function __construct()
 {
     if (!defined(CONF_SCRIPT_URL)) {
         $this->_host = 'http://' . filesys::setPath($_SERVER['HTTP_HOST']);
     } else {
         $this->_host = CONF_SCRIPT_URL;
     }
 }
!defined('SDG') ? die('Triple protection!') : null;
// инициируем "Наименование страницы" отображаемое в форме
$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);
Beispiel #4
0
    // пересылаем пользователя на первый шаг
    die('<script type="text/javascript">window.location="install.php?step=1";</script>');
} elseif (empty($_SESSION['sdinstall']['step2'])) {
    // пересылаем пользователя на второй шаг
    die('<script type="text/javascript">window.location="install.php?step=2";</script>');
} else {
    include_once 'core/conf/const.config.tmpl.php';
    $tmplMess = TMPL_SMARTY_SETUP_FAIL;
    $msEr = true;
    if (isset($_POST['step3'])) {
        // записываем в сессию седьмой шаг
        $_SESSION['sdinstall']['step3'] = true;
        die('<script type="text/javascript">window.location="install.php?step=4";</script>');
    }
    if (!empty($_GET['step']) && 3 == $_GET['step']) {
        // Копируем Smarty в каталог скрипта
        if (!inst::copyDirContent('install/Smarty', filesys::setPath(CONF_ROOT_DIR) . 'Smarty')) {
            $arrErrors[] = ERROR_UNABLE_TO_SETUP_SMARTY;
        } else {
            $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("TEMPLATE_SMARTY_DIR", \'' . filesys::setPath(CONF_ROOT_DIR) . 'Smarty/\');' . "\n\n" . 'define("TEMPLATE_ROOT_DIR", "' . TEMPLATE_ROOT_DIR . '");' . "\n\n" . 'define("CONF_TEMPLATE", "' . CONF_TEMPLATE . '");' . "\n\n" . 'define("TEMPLATE_COMPILE_DIR", "' . TEMPLATE_COMPILE_DIR . '");' . "\n\n" . 'define("TEMPLATE_PATH", "' . TEMPLATE_PATH . '");' . "\n\n" . 'define("TEMPLATE_PATH_ADMIN", "' . TEMPLATE_PATH_ADMIN . '");' . "\n\n" . 'define("TEMPLATE_DEBUGGING", "0");' . "\n\n" . 'define("TEMPLATE_COMPILE_CHECK", "1");' . "\n\n" . 'define("TEMPLATE_FORCE_COMPILE", "0");' . "\n";
            if (!file_put_contents('core/conf/const.config.tmpl.php', $data)) {
                $arrErrors[] = ERROR_UNABLE_TO_SAVE_CONFIG;
            } else {
                $tmplMess = TMPL_SMARTY_SETUP_SUCCESS;
                $msEr = false;
            }
        }
    }
    $smarty->assign('msEr', $msEr);
    $smarty->assign('tmplMess', $tmplMess);
}
Beispiel #5
0
 /**
  * protected функция уведомления администратора о добавлении платежа
  * @return bool
  */
 protected function adminPaymentNotification()
 {
     $mailer = new mailer();
     // массив для замены в шаблоне
     $mailer->setAddReplace(array('%ORDER_ID%' => $this->arrBindFields['order_id'], '%DESCRIPTION%' => $this->additionalFields['description'], '%AMOUNT%' => $this->arrBindFields['amount'], '%DATE%' => $this->arrServiceFields['datetime'], '%ADMIN_PANEL%' => filesys::setPath(CONF_SCRIPT_URL) . CONF_ADMIN_FILE));
     return $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, CONF_MAIL_ADMIN_EMAIL, false, MAIL_SUBJ_ADM_PAYMENT, 'adm.payment.jur.add.txt');
 }
 /**
  * функция получает все необходимые данные о файле
  * возвращает массив свойств
  * @deprecated use getFileSystemData
  * @param (string) $path - путь к файлу
  * @param (string) $file - имя файла
  * @return array or false - массив свойств файла
  */
 static function getFileData($path, &$file)
 {
     $path = filesys::setPath($path);
     if (!file_exists($path . $file)) {
         return false;
     }
     $arrData = stat($path . $file);
     $ext = filesys::getExtension($file);
     $sizekb = sprintf("%01.1f", $arrData['size'] / 1024);
     $sizemb = sprintf("%01.1f", $arrData['size'] / 1048576);
     $arrFileData = array('name' => $file, 'path' => $path, 'ext' => $ext, 'size' => $arrData['size'], 'date' => $arrData['mtime'], 'title_sizekb' => $sizekb, 'title_sizemb' => $sizemb);
     return $arrFileData;
 }
$arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_MANAGER, 'link' => false));
// массив существующих шаблонов писем ОБЩИЕ
$arrMailsGeneral = array('html' => HELP_ADMIN_MAIL_TEMPLATE_HTML, 'news.comments.complaint' => HELP_ADMIN_MAIL_TEMPLATE_NEWS_COMMENTS_COMPLAINT, 'articles.comments.complaint' => HELP_ADMIN_MAIL_TEMPLATE_ARTICLES_COMMENTS_COMPLAINT);
// массив существующих шаблонов писем АДМИНИСТРАТОРА
$arrMailsAdministrator = array('adm.add.announce' => HELP_ADMIN_MAIL_TEMPLATE_ADM_ADD_ANNOUNCE, 'adm.edited.announce' => HELP_ADMIN_MAIL_TEMPLATE_ADM_EDITED_ANNOUNCE, 'adm.moderate.announce' => HELP_ADMIN_MAIL_TEMPLATE_ADM_MODERATE_ANNOUNCE, 'adm.add.article' => HELP_ADMIN_MAIL_TEMPLATE_ADM_ADD_ARTICLE, 'adm.edited.article' => HELP_ADMIN_MAIL_TEMPLATE_ADM_EDITED_ARTICLE, 'adm.moderate.article' => HELP_ADMIN_MAIL_TEMPLATE_ADM_MODERATE_ARTICLE, 'adm.add.news' => HELP_ADMIN_MAIL_TEMPLATE_ADM_ADD_NEWS, 'adm.edited.news' => HELP_ADMIN_MAIL_TEMPLATE_ADM_EDITED_NEWS, 'adm.moderate.news' => HELP_ADMIN_MAIL_TEMPLATE_ADM_MODERATE_NEWS, 'adm.payment' => HELP_ADMIN_MAIL_TEMPLATE_ADM_PAYMENT, 'adm.payment.hand.add' => HELP_ADMIN_MAIL_TEMPLATE_ADM_PAYMENT_HAND_ADD, 'adm.payment.jur.add' => HELP_ADMIN_MAIL_TEMPLATE_ADM_PAYMENT_JUR_ADD, 'adm.reg.user' => HELP_ADMIN_MAIL_TEMPLATE_ADM_REG_USER);
// массив существующих шаблонов писем ПОЛЬЗОВАТЕЛЕЙ
$arrMailsUsers = array('announce.subscription' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_SUBSCRIPTION, 'announce.user.activate' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_ACTIVATE, 'announce.user.added' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_ADDED, 'announce.user.correction' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_CORRECTION, 'announce.user.deleted' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_DELETED, 'announce.user.moderate' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_MODERATE, 'announce.user.payment' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_PAYMENT, 'announce.user.vip.reset' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_VIP_RESET, 'announce.user.hot.reset' => HELP_ADMIN_MAIL_TEMPLATE_ANNOUNCE_HOT_RESET, 'new.pass.confirm' => HELP_ADMIN_MAIL_TEMPLATE_NEW_PASS_CONFIRM, 'new.pass' => HELP_ADMIN_MAIL_TEMPLATE_NEW_PASS, 'moderate.news' => HELP_ADMIN_MAIL_TEMPLATE_MODERATE_NEWS, 'user.add.admin' => HELP_ADMIN_MAIL_TEMPLATE_USER_ADD_ADMIN, 'user.activate' => HELP_ADMIN_MAIL_TEMPLATE_USER_ACTIVATE, 'user.activate.admin' => HELP_ADMIN_MAIL_TEMPLATE_USER_ACTIVATE_ADMIN, 'user.moderate' => HELP_ADMIN_MAIL_TEMPLATE_USER_MODERATE, 'user.not.moderate' => HELP_ADMIN_MAIL_TEMPLATE_USER_NOT_MODERATE, 'user.register' => HELP_ADMIN_MAIL_TEMPLATE_USER_REGISTER, 'payment.hand.message' => HELP_ADMIN_MAIL_TEMPLATE_PAYMENT_HAND_MESAGE, 'payment.jur.message' => HELP_ADMIN_MAIL_TEMPLATE_PAYMENT_JUR_MESAGE, 'user.article.active' => HELP_ADMIN_MAIL_TEMPLATE_USER_ARTICLE_ACTIVE, 'user.article.correction' => HELP_ADMIN_MAIL_TEMPLATE_USER_ARTICLE_CORRECTION, 'user.article.deleted' => HELP_ADMIN_MAIL_TEMPLATE_USER_ARTICLE_DELETED, 'user.news.active' => HELP_ADMIN_MAIL_TEMPLATE_USER_NEWS_ACTIVE, 'user.news.correction' => HELP_ADMIN_MAIL_TEMPLATE_USER_NEWS_CORRECTION, 'user.news.deleted' => HELP_ADMIN_MAIL_TEMPLATE_USER_NEWS_DELETED);
$list = false;
//переменная определяет, с каким списком файлов мы сейчас работаем
$arrFiles = array();
$selects = isset($_POST['langDict']) ? new selects($_POST['langDict']) : new selects();
$currLang = $selects->retCurrLang();
$smarty->assignByRef('currLang', $currLang);
// текущая локализация
// путь к файлам шаблонов писем
$path = filesys::setPath(CONF_ROOT_DIR) . 'lang/' . $currLang . '/mails/';
/**
* проверяем, каие шаблоны выводить
*/
if (isset($_GET['list']) && ('general' === $_GET['list'] || 'administrator' === $_GET['list'] || 'users' === $_GET['list'])) {
    if ('general' === $_GET['list']) {
        $arrMails = $arrMailsGeneral;
        $name_page = MENU_MANAGER_MAIL_TEMPLATES_GENERAL;
    } elseif ('administrator' === $_GET['list']) {
        $arrMails = $arrMailsAdministrator;
        $name_page = MENU_MANAGER_MAIL_TEMPLATES_ADMINISTRATOR;
    } elseif ('users' === $_GET['list']) {
        $arrMails = $arrMailsUsers;
        $name_page = MENU_MANAGER_MAIL_TEMPLATES_USERS;
    }
    $list = '&amp;list=' . $_GET['list'];
    $arrNamePage[] = array('name' => MENU_MANAGER_FILE, 'link' => false);
}
if ($_FILES) {
    // проверяем тип файла
    if (!empty($_POST['type'])) {
        switch ($_POST['type']) {
            case 'image':
                $files_dir = filesys::setPath(CONF_FILEMANAGER_PATH_TO_IMAGES);
                break;
            case 'file':
            default:
                $files_dir = filesys::setPath(CONF_FILEMANAGER_PATH_TO_FILES);
                break;
        }
    } else {
        $files_dir = filesys::setPath(CONF_FILEMANAGER_PATH_TO_FILES);
    }
    // загружаем файл
    if ($fm->loadFile('load_file', $files_dir, $fm->arrFileTypes)) {
        uploads::$fileProperties['path'] = $files_dir;
        uploads::$fileProperties['link'] = $files_dir;
        // если файл - изобажение, обрабатываем его
        if ('image' === $_POST['type']) {
            if (img::setParam(uploads::$arrUploadsSubj['file_name'], uploads::$arrUploadsSubj['upload_dir'])) {
                if (img::createThumbnail(CONF_FILEMANAGER_THUMBNAIL_WIDTH, CONF_FILEMANAGER_THUMBNAIL_HEIGHT)) {
                    $dbData = $fm->getFilesProperties($files_dir . 'mda/uploads.mda');
                    $dbData[uploads::$fileProperties['filename']] = uploads::$fileProperties;
                    $fm->putFilesProperties($files_dir . 'mda/uploads.mda', $dbData);
                    messages::messageChangeSaved(MESSAGE_FILE_LOAD_SUCCESS, false, CONF_ADMIN_FILE . '?m=manager&s=file');
                } else {
                    $arrErrors[] = ERROR_FILE_NOT_LOAD;
Beispiel #9
0
    if (isset($_POST['operation_xml']) && !empty($_POST['operation_xml']) && isset($_POST['signature']) && !empty($_POST['signature'])) {
        // проверяем существование параметров
        $arrResponse = liqpay::checkResultParams($_POST['operation_xml'], $_POST['signature'], LIQPAY_CONF_SIGNATURE);
        // если статус false, значит сигнатура не совпадает
        if ($arrResponse['status']) {
            if ('success' === $arrResponse['data']['status']) {
                $ourData = $payments->explodeServiceString($arrResponse['data']['service']);
                $payments->succesAnswer($ourData[0]);
            } else {
                $smarty->assignByRef('status', $arrResponse['data']['status']);
                $smarty->assignByRef('order_id', $arrResponse['data']['order_id']);
                $smarty->assignByRef('amount', $arrResponse['data']['amount']);
                $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/liqpay/templates/liqpay.result.tpl');
            }
        } else {
            $arrErrors[] = LIQPAY_PAY_ANSWER_ERROR_UNMATCHED;
        }
    }
} else {
    // проверяем наличие в сессии необходимых параметров и установлена ли цена в тарифной сетке для выбранной услуги
    if (isset($_SESSION['payment']) && isset($_SESSION['payment']['service']) && $payments->checkPriceInTariff($_SESSION['payment']['service'], $arrTariffs)) {
        $lpData = array('order_id' => time(), 'amount' => $arrTariffs[$_SESSION['payment']['service']], 'description' => $payments->generatePaymentDescription($_SESSION['payment']['service']));
        $xml = '<request>' . '<version>' . LIQPAY_CONF_API_VERSION . '</version>' . '<result_url>' . filesys::setPath(CONF_SCRIPT_URL) . 'index.php?ut=competitor&amp;do=payments&amp;mod=liqpay&amp;result</result_url>' . '<server_url>' . filesys::setPath(CONF_SCRIPT_URL) . 'index.php?ut=competitor&amp;do=payments&amp;mod=liqpay&amp;server</server_url>' . '<merchant_id>' . LIQPAY_CONF_MERCHANT_ID . '</merchant_id>' . '<order_id>' . $_SESSION['payment']['service'] . '::' . $_SESSION['payment']['id'] . '.' . $lpData['order_id'] . '</order_id>' . '<amount>' . $lpData['amount'] . '</amount>' . '<currency>' . LIQPAY_CONF_CURRENCY . '</currency>' . '<description>' . $lpData['description'] . '</description>' . '<default_phone></default_phone>' . '<pay_way></pay_way>' . '</request>';
        $smarty->assign('operation_xml', base64_encode($xml));
        $smarty->assign('signature', liqpay::refSign(array($xml, LIQPAY_CONF_SIGNATURE)));
        $smarty->assignByRef('lpData', $lpData);
        $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/liqpay/templates/liqpay.pay.form.tpl');
    } else {
        $arrErrors[] = ERROR_PAY_SYSTEM_NOT_DEFINE_PRICE;
    }
}
Beispiel #10
0
    $smarty->assign('user_email', false);
    $smarty->assign('user_type', $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type']);
    $smarty->assign('codex', $_SESSION['sd_' . DB_PREFIX . 'codex']);
    // значения, возвращаемые в форму
}
/**
 * обработка страниц
 */
if (isset($_GET['do'])) {
    // выход из пользовательской части
    if ('logout' === $_GET['do']) {
        // очищаем куки и сессию пользователя
        $user->clearUserSessionAndCookie();
        die('<script type="text/javascript">window.location="' . CONF_SCRIPT_URL . '";</script>');
    } elseif ('agreement' === $_GET['do']) {
        die(@file_get_contents(filesys::setPath(SD_ROOT_DIR) . 'lang/' . CONF_LANGUAGE . '/texts/agreement.html'));
    } elseif ('mod' === $_GET['do']) {
        if (isset($_GET['name']) && !empty($_GET['name'])) {
            $work_file = 'core/mod/' . $_GET['mod'] . '/mod.' . $_GET['mod'] . '.php';
            $template_file = SD_ROOT_DIR . 'core/mod/' . $_GET['mod'] . '/template/mod.' . $_GET['mod'] . '.tpl';
            // проверяем, существуют ли такие файлы
            if (@file_exists($work_file) && @file_exists($template_file)) {
                include_once $work_file;
                $main_template = $template_file;
                $smarty->assignByRef('menu', $_GET['mod']);
                $arrNamePage[] = array('name' => @constant('MOD_' . strtoupper(str_replace('.', '_', $_GET['mod'])) . '_MENU'), 'link' => false);
                // заголовок страницы
                // путь к папке шаблонов модуля
                $smarty->assign('template_path', SD_ROOT_DIR . 'core/mod/' . $_GET['mod'] . '/template');
            } else {
                messages::error404();
Beispiel #11
0
	url: http://sd-group.org.ua/
	Copyright 2010-2015 (c) SD-Group
	All rights reserved
=========================================================
	Регистрация
********************************************************/
/**
 * @package
 * @todo
 */
!defined('SDG') ? die('Triple protection!') : null;
if (CONF_USER_REGISTER) {
    if ($user->getAuthorized()) {
        messages::error404();
    } else {
        $smarty->assign('path', file_get_contents(filesys::setPath(CONF_ROOT_DIR) . 'lang/' . CONF_LANGUAGE . '/texts/agreement.html'));
        if (isset($_POST['arrBindFields']['email'])) {
            ///////////////////////////////////////////////////////////////
            // Проверка данных, полученных из формы
            ///////////////////////////////////////////////////////////////
            // проверяем, есть ли незаполненные поля
            if (validate::postDataNotEmpty()) {
                // если активация отключена, проверяем email пользователя
                if (!CONF_USER_ACTIVATE) {
                    !validate::validateEmail($_POST['arrBindFields']['email']) ? $arrErrors[] = ERROR_EMAIL : null;
                }
                // пользовательское соглашение
                !isset($_POST['agreement']) ? $arrErrors[] = ERROR_USER_AGREEMENT : null;
                // проверяем существование Email в БД
                if (!$arrErrors) {
                    // если такой пользователь уже есть, выдаем ошибку
Beispiel #12
0
 /**
  * Функция устанавливает параметры изображения (использует ф-ю getimagesize)
  * 
  * @param (string) $imgName - имя файла изображения
  * @param (string) $imgDir -  дарректория, в которой находится файл
  * 
  * @return bool
  */
 static function setParam($imgName, $imgDir)
 {
     $imgDir = filesys::setPath($imgDir);
     // проверяем существование файла
     if (@file_exists($imgDir . $imgName)) {
         // проверяем, является ли файл картинкой
         if ($params = @getimagesize($imgDir . $imgName)) {
             // проверяем тип изображения
             if (in_array($params[2], self::$imgTypes)) {
                 self::$arrImgSubj['name'] = strtolower($imgName);
                 self::$arrImgSubj['dir'] = strtolower($imgDir);
                 self::$arrImgSubj['full_path'] = self::$arrImgSubj['dir'] . self::$arrImgSubj['name'];
                 self::$arrImgSubj['width'] = $params[0];
                 self::$arrImgSubj['height'] = $params[1];
                 self::$arrImgSubj['type'] = $params[2];
                 self::$arrImgSubj['mime'] = strtolower($params['mime']);
                 // если в скприпте установлена настройка "Создавать водяной знак для всех изображений"
                 // т.е. для исходного и для всех его копий
                 // тогда создаем водяной знак.
                 // В этом случае исходное изображение уже будет содержать водяной знак
                 // и все копии этого изображения тоже будут с водяным знаком
                 if (CONF_FILES_IMG_CREATE_WATERMARK && CONF_FILES_IMG_CREATE_WATERMARK_ON === 'all') {
                     if (!img::createWatermark()) {
                         @unlink($imgDir . $imgName);
                         return false;
                     }
                 }
                 switch ($params[2]) {
                     case 1:
                         self::$arrImgSubj['ext'] = 'gif';
                         self::$arrImgSubj['resource'] = @ImageCreateFromGIF(self::$arrImgSubj['full_path']);
                         break;
                     case 2:
                         self::$arrImgSubj['ext'] = 'jpg';
                         self::$arrImgSubj['resource'] = @ImageCreateFromJPEG(self::$arrImgSubj['full_path']);
                         break;
                     case 3:
                         self::$arrImgSubj['ext'] = 'png';
                         self::$arrImgSubj['resource'] = @ImageCreateFromPNG(self::$arrImgSubj['full_path']);
                         break;
                 }
                 // если в скприпте установлена настройка "Создавать водяной знак только для исходного изображения"
                 // тогда создаем водяной знак.
                 // В этом случае водяной знак будет только на одной картинке, а его копии будут без водяного знака
                 if (CONF_FILES_IMG_CREATE_WATERMARK && CONF_FILES_IMG_CREATE_WATERMARK_ON === 'source') {
                     if (!img::createWatermark()) {
                         @unlink($imgDir . $imgName);
                         return false;
                     }
                 }
                 return true;
             } else {
                 self::setError(ERROR_FILE_FORMAT_ERROR);
                 @unlink($imgDir . $imgName);
                 return false;
             }
         } else {
             self::setError(ERROR_FILE_NOT_IMAGE);
             @unlink($imgDir . $imgName);
             return false;
         }
     } else {
         self::setError(ERROR_FILE_NOT_EXISTS);
         return false;
     }
     return false;
 }
 /**
  * Устанавливает дирректорию для загрузки файла
  *
  * @param (string) $upload_dir - дирректория, в которую необходимо загрузить файл
  * 
  * @return void
  */
 static function setUploadDir($upload_dir)
 {
     self::$arrUploadsSubj['upload_dir'] = strtolower(filesys::setPath($upload_dir));
 }
/********************************************************
	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
=========================================================
	Настройки - Smarty
********************************************************/
/**
* @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_SMARTY, 'link' => false));
// сохраняем данные, переданные из формы
if (isset($_POST['save'])) {
    // если изменился шаблон, очищаем папку откомпилированных шаблонов
    //($_POST['template'] !== CONF_TEMPLATE) ? $smarty -> clearCompiledTemplate() : null;
    $_POST['template'] !== CONF_TEMPLATE ? filesys::removeContentInDir(TEMPLATE_COMPILE_DIR) : null;
    $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("TEMPLATE_SMARTY_DIR", \'' . htmlspecialchars(filesys::setPath($_POST['smarty_dir'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . '\');' . "\n\n" . 'define("TEMPLATE_ROOT_DIR", "' . htmlspecialchars(filesys::setPath($_POST['root_dir'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . '");' . "\n\n" . 'define("CONF_TEMPLATE", "' . htmlspecialchars($_POST['template'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '");' . "\n\n" . 'define("TEMPLATE_COMPILE_DIR", "' . htmlspecialchars(filesys::setPath($_POST['compile_dir'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . '");' . "\n\n" . 'define("TEMPLATE_PATH", "' . htmlspecialchars(filesys::setPath($_POST['root_dir'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . 'site/' . htmlspecialchars($_POST['template'], ENT_QUOTES, CONF_DEFAULT_CHARSET) . '/");' . "\n\n" . 'define("TEMPLATE_PATH_ADMIN", "' . htmlspecialchars(filesys::setPath($_POST['root_dir'], ENT_QUOTES, CONF_DEFAULT_CHARSET)) . 'admin/");' . "\n\n" . 'define("TEMPLATE_DEBUGGING", "' . (!isset($_POST['debugging']) ? false : true) . '");' . "\n\n" . 'define("TEMPLATE_COMPILE_CHECK", "' . (!isset($_POST['compile_check']) ? false : true) . '");' . "\n\n" . 'define("TEMPLATE_FORCE_COMPILE", "' . (!isset($_POST['force_compile']) ? false : true) . '");' . "\n";
    if (!tools::saveConfig('core/conf/const.config.tmpl.php', $data, CONF_ADMIN_FILE . '?m=config&s=tmpl')) {
        $arrErrors[] = ERROR_FILES_MISSING_FILE;
    }
}
$smarty->assign('templateDirs', filesys::getChildDirs(TEMPLATE_ROOT_DIR . 'site/'));
// получаем список доступных дирректорий шаблонов
$smarty->assignByRef('errors', $arrErrors);
Beispiel #15
0
 /**
  * функция генерирует ЧПУ
  *
  * @param (string) $url - ссылка для ЧПУ
  * @param (bool) $noCHPU - параметр, указывающий что не нужно приводить сслыки к ЧПУ (по умолчанию FALSE). Параметр был введен для метода strings::generatePage - т.к. он используется и в админке и в польз. части, а в админке ЧПУ не нужно никогда. Параметр можно использовать и в др. необходимых местах.
  *
  * @return string
  */
 static function createChpuUrl($url, $noCHPU = false)
 {
     // проверяем, включены ли ЧПУ
     if (CONF_ENABLE_CHPU && !$noCHPU) {
         $purl = parse_url(str_replace('&amp;', '&', $url));
         if (isset($purl['query'])) {
             parse_str($purl['query'], $query_arr);
             if (empty($query_arr['ut'])) {
                 unset($query_arr['ut']);
             }
             $url = filesys::setPath(CONF_SCRIPT_URL) . implode('/', $query_arr) . (!empty($query_arr['do']) && 'rss' == $query_arr['do'] && !empty($query_arr['action']) ? CONF_CHPU_XML_DATA_EXT : CONF_CHPU_HTML_DATA_EXT) . (isset($purl['fragment']) ? '#' . $purl['fragment'] : null);
         }
     }
     return $url;
 }
Beispiel #16
0
    $path = CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&amp;do=resume';
    $strPages = strings::generatePage($allRecords, $offset, CONF_ANNOUNCE_PERPAGE_SITE, $path . '&amp;action=offset&amp;');
    // формируем страницы
    $smarty->assign('link', $path . '&amp;action=view&amp;id=');
    $smarty->assignByRef('string_page', $strPages);
    //передаем в шаблон строку сформированных страниц
} else {
    messages::error404();
}
// END отображение шаблона по умолчанию
// определяем шаблон для отображения
isset($_GET['action']) && isset($arrActPage[$_GET['action']]) ? $arrActPage[$_GET['action']] = true : null;
/**
 * инициализация пути подключаемых языковых файлов
 */
$smarty->assign('path', filesys::setPath(CONF_ROOT_DIR) . 'lang/' . CONF_LANGUAGE . '/texts');
/**
 * инициализация списка "Пол"
 */
//$smarty->assignByRef('gender', $arrSysDict['Gender']['values']);
/**
 * просмотр объявлений - Резюме
 */
if (!empty($arrActPage['view']) || !empty($arrActPage['print'])) {
    // инициируем "Наименование страницы" отображаемое в заголовке формы
    $arrNamePage[] = array('name' => FORM_VIEW_ANNOUNCE_HEAD, 'link' => false);
    // если передан id резюме
    if (isset($_GET['id']) && ($id = validate::checkNaturalNumber($_GET['id']))) {
        // пытаемся получить данные из таблицы БД
        if (!$resume->viewAnnounce($id)) {
            $arrErrors[] = ERROR_ANNOUNCE_NOT_EXISTS;
 * 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);
Beispiel #18
0
         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 {
         sleep(1);
         echo !filesys::removeDir('templates/site/' . $_POST['nameTemplate']) ? 'errDelTemplate' : 'success';
     }
 } elseif ('addTplFile' === $_GET['action'] && !empty($_POST['nameTplFile']) && is_dir('templates/site/' . $_POST['currTemplate']) && !empty($_POST['discriptionTplFile'])) {
     if (is_file('templates/site/' . $_POST['currTemplate'] . '/' . $_POST['nameTplFile'])) {
Beispiel #19
0
 /**
  * функция получает все необходимые данные о картинке
  * возвращает массив свойств
  * 
  * @param (string) $path - путь к файлу
  * @param (string) $file - имя файла
  * 
  * @return (array) - массив свойств файла
  */
 public function getImageData($path, $file)
 {
     $arrData = @getimagesize(filesys::setPath($path) . $file);
     $arrImageData = array('thumb' => CONF_FILEMANAGER_THUMBNAIL_PREFIX . $file, 'name' => $file, 'width' => $arrData['0'], 'height' => $arrData['1'], 'mime' => $arrData['mime']);
     return $arrImageData;
 }
Beispiel #20
0
 /**
  * private функция рассылки почтовых сообщений администратору при регистрации нового пользователя
  * Завершает работу скрипта, выводом информационного сообщения пользователю
  *
  * @param (string) $email - email зарегистрированного пользователя
  *
  * @return void
  */
 private function sendAdminEmail($email)
 {
     $mailer = new mailer();
     // массив для замены в шаблоне
     $mailer->setAddReplace(array('%EMAIL%' => $email, '%ADMIN_PANEL%' => filesys::setPath(CONF_SCRIPT_URL) . CONF_ADMIN_FILE));
     $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, CONF_MAIL_ADMIN_EMAIL, false, MAIL_SUBJ_NEW_USER, 'adm.reg.user.txt');
 }