ifhub2/framework/config/config.php

486 lines
27 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/*-------------------------------------------------------
*
* LiveStreet Engine Social Networking
* Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
* Official site: www.livestreet.ru
* Contact e-mail: rus.engine@gmail.com
*
* GNU General Public License, version 2:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
---------------------------------------------------------
*/
/**
* !!!!! ВНИМАНИЕ !!!!!
*
* Ничего не изменяйте в этом файле!
* Все изменения нужно вносить в файл /application/config/config.local.php
*/
/**
* Настройки HTML вида
*/
$config['view']['skin'] = 'developer'; // шаблон(скин)
$config['view']['theme'] = 'default'; // тема оформления шаблона (шаблон должен поддерживать темы)
$config['view']['name'] = 'Your Site'; // название сайта
$config['view']['title_separator'] = ' / '; // Разделитель HTML заголовков страниц
$config['view']['title_sort_reverse'] = true; // Сортировать части HTML заголовка страницы в обратном порядке
$config['view']['description'] = 'Description your site'; // seo description
$config['view']['keywords'] = 'site, google, internet'; // seo keywords
$config['view']['wysiwyg'] = false; // использовать или нет визуальный редактор TinyMCE
$config['view']['noindex'] = true; // "прятать" или нет ссылки от поисковиков, оборачивая их в тег <noindex> и добавляя rel="nofollow"
$config['view']['mod_delimiter'] = '--'; // Разделитель между названием компонента и модификтором
$config['view']['rtl'] = false; // Поддержка RTL языков
/**
* Настройка пагинации
*/
$config['pagination']['pages']['count'] = 4; // количество ссылок на другие страницы в пагинации
/**
* Настройки путей
* Основные
*/
$config['path']['root']['server'] = dirname(dirname(dirname(__FILE__))); // Из расчета, что каталог с фреймворком лежит в корне сайта, иначе нужно переопределить настройку в конфиге /application/config/config.php
$config['path']['root']['web'] = isset($_SERVER['HTTP_HOST']) ? 'http://' . $_SERVER['HTTP_HOST'] : null;
$config['path']['application']['server'] = '___path.root.server___/application';
$config['path']['application']['web'] = '___path.root.web___/application';
$config['path']['framework']['server'] = dirname(dirname(__FILE__));
$config['path']['framework']['web'] = '___path.root.web___/' . trim(str_replace(dirname(dirname(dirname(__FILE__))), '',
$config['path']['framework']['server']),
'/\\'); // Подставляет название каталога в котором фреймворк, относительно корня сайта. Необходимо переопределить при изменении расположения фреймворка.
/**
* Производные
*/
$config['path']['application']['plugins']['server'] = '___path.application.server___/plugins';
$config['path']['application']['plugins']['web'] = '___path.application.web___/plugins';
$config['path']['framework']['libs_vendor']['server'] = '___path.framework.server___/libs/vendor';
$config['path']['framework']['libs_vendor']['web'] = '___path.framework.web___/libs/vendor';
$config['path']['framework']['libs_application']['server'] = '___path.framework.server___/libs/application';
$config['path']['framework']['libs_application']['web'] = '___path.framework.web___/libs/application';
$config['path']['framework']['frontend']['web'] = '___path.framework.web___/frontend/framework';
$config['path']['skin']['web'] = '___path.application.web___/frontend/skin/___view.skin___';
$config['path']['skin']['assets']['web'] = '___path.skin.web___/assets';
$config['path']['uploads']['base'] = '/uploads';
$config['path']['uploads']['images'] = '___path.uploads.base___/images';
$config['path']['tmp']['server'] = '___path.application.server___/tmp';
$config['path']['cache_assets']['server'] = '___path.tmp.server___/templates/cache';
$config['path']['offset_request_url'] = 0; // иногда помогает если сервер использует внутренние реврайты
/**
* Для совместимости с прошлыми версиями
* Данные настройки будут удалены
*/
//$config['path']['root']['application'] = '___path.root.server___/application'; // полный путь до сайта в файловой системе
$config['path']['root']['engine'] = '___path.framework.server___'; // полный путь до сайта в файловой системе;
$config['path']['root']['engine_lib'] = '___path.framework.web___/libs'; // полный путь до сайта в файловой системе
//$config['path']['root']['framework'] = '___path.root.engine___';
$config['path']['static']['root'] = '___path.root.web___'; // чтоб можно было статику засунуть на отдельный сервер
$config['path']['static']['skin'] = '___path.skin.web___';
//$config['path']['static']['assets'] = '___path.static.skin___/assets'; // Папка с ассетами (js, css, images)
//$config['path']['static']['framework'] = "___path.static.root___/framework/frontend/framework"; // Front-end framework todo: need fix path
$config['path']['uploads']['root'] = '___path.uploads.base___'; // директория для загрузки файлов
/**
* Настройки шаблонизатора Smarty
*/
$config['path']['smarty']['template'] = '___path.application.server___/frontend/skin/___view.skin___';
$config['path']['smarty']['compiled'] = '___path.tmp.server___/templates/compiled';
$config['path']['smarty']['plug'] = '___path.framework.server___/classes/modules/viewer/plugs';
$config['smarty']['compile_check'] = true; // Проверять или нет файлы шаблона на изменения перед компиляцией, false может значительно увеличить быстродействие, но потребует ручного удаления кеша при изменения шаблона
$config['smarty']['force_compile'] = false; // Принудительно компилировать шаблоны при каждом запросе, true - существенно снижает производительность
/**
* Настройки плагинов
*/
$config['sys']['plugins']['activation_file'] = 'plugins.dat'; // файл со списком активных плагинов в каталоге /plugins/
/**
* Системные настройки модулей
*/
$config['sys']['module']['use_auto_hooks'] = false; // использовать генерацию автоматических хуков для методов модулей (_before/_after). Включение снижает производительность, но может потребоваться для совместимости со старыми плагинами.
/**
* Настройка каптчи
*/
$config['sys']['captcha']['type'] = 'kcaptcha'; // тип используемой каптчи: kcaptcha, recaptcha
/**
* Настройки куков
*/
$config['sys']['cookie']['host'] = null; // хост для установки куков
$config['sys']['cookie']['path'] = '/'; // путь для установки куков
/**
* Настройки сессий
*/
$config['sys']['session']['name'] = 'PHPSESSID'; // название сессии
$config['sys']['session']['timeout'] = null; // Тайм-аут сессии в секундах
$config['sys']['session']['host'] = '___sys.cookie.host___'; // хост сессии в куках
$config['sys']['session']['path'] = '___sys.cookie.path___'; // путь сессии в куках
$config['sys']['session']['secure'] = false; // опция secure для куки
$config['sys']['session']['httponly'] = true; // доступность куки http only
/**
* Настройки почтовых уведомлений
*/
$config['sys']['mail']['type'] = 'mail'; // Какой тип отправки использовать
$config['sys']['mail']['from_email'] = 'admin@admin.adm'; // Мыло с которого отправляются все уведомления
$config['sys']['mail']['from_name'] = 'Почтовик Your Site'; // Имя с которого отправляются все уведомления
$config['sys']['mail']['charset'] = 'UTF-8'; // Какую кодировку использовать в письмах
$config['sys']['mail']['smtp']['host'] = 'localhost'; // Настройки SMTP - хост
$config['sys']['mail']['smtp']['port'] = 25; // Настройки SMTP - порт
$config['sys']['mail']['smtp']['user'] = ''; // Настройки SMTP - пользователь
$config['sys']['mail']['smtp']['password'] = ''; // Настройки SMTP - пароль
$config['sys']['mail']['smtp']['secure'] = ''; // Настройки SMTP - протокол шифрования: tls, ssl
$config['sys']['mail']['smtp']['auth'] = true; // Использовать авторизацию при отправке
$config['sys']['mail']['dkim'] = array(
'selector' => '', // DKIM selector
'identity' => '', // DKIM Identity, обычно емайл адрес с которого отправляются письма
'passphrase' => '', // DKIM passphrase, пароль для приватного ключа (если задан)
'domain' => '', // DKIM signing domain name
'private' => '', // DKIM private key file path, полный серверный путь до файла с приватным ключом
);
$config['sys']['mail']['include_comment'] = true; // Включает в уведомление о новых комментах текст коммента
$config['sys']['mail']['include_talk'] = true; // Включает в уведомление о новых личных сообщениях текст сообщения
/**
* Настройки кеширования
*/
// Устанавливаем настройки кеширования
$config['sys']['cache']['use'] = false; // использовать кеширование или нет
$config['sys']['cache']['type'] = 'file'; // тип кеширования: file, xcache и memory. memory использует мемкеш, xcache - использует XCache
$config['sys']['cache']['dir'] = '___path.tmp.server___/'; // каталог для файлового кеша, также используется для временных картинок. По умолчанию подставляем каталог для хранения сессий
$config['sys']['cache']['prefix'] = 'livestreet_cache'; // префикс кеширования, чтоб можно было на одной машине держать несколько сайтов с общим кешевым хранилищем
$config['sys']['cache']['directory_level'] = 1; // уровень вложенности директорий файлового кеша
$config['sys']['cache']['solid'] = true; // Настройка использования раздельного и монолитного кеша для отдельных операций
/**
* Настройки логирования
*/
$config['sys']['logs']['file'] = 'log.log'; // файл общего лога
$config['sys']['logs']['cron_file'] = 'cron.log'; // файл лога крон-процессов
$config['sys']['logs']['sql_query'] = false; // логировать или нет SQL запросы
$config['sys']['logs']['sql_query_file'] = 'sql_query.log'; // файл лога SQL запросов
$config['sys']['logs']['sql_error'] = true; // логировать или нет ошибки SQl
$config['sys']['logs']['sql_error_file'] = 'sql_error.log'; // файл лога ошибок SQL
$config['sys']['logs']['cron'] = true; // логировать или нет cron скрипты
$config['sys']['logs']['php'] = true; // логировать или нет PHP ошибки
$config['sys']['logs']['console'] = false; // позволяет удобно выводить отладочную информацию через консоль браузера
$config['sys']['logs']['format'] = "[%datetime%] %channel%.%level_name% %extra.process_id% %extra.uid%: %message% %context%\n"; // Дефолтный формат логов
/**
* Конфигурация инстансов логгера
*/
$config['sys']['logs']['instances'] = array(
/**
* Стандартный поток логов
*/
'default' => array(
'handlers' => array(
'Stream' => array(
'___path.application.server___/logs/___sys.logs.file___',
'debug',
'formatter' => array(
'Line',
'___sys.logs.format___'
)
),
),
'processors' => array(
'Uid',
'ProcessId',
)
),
/**
* Логи запросов к БД
*/
'db_query' => array(
'handlers' => array(
'Stream' => array(
'___path.application.server___/logs/___sys.logs.sql_query_file___',
'debug',
'formatter' => array(
'Line',
'___sys.logs.format___',
null,
true
)
),
),
'processors' => array(
'Uid',
'ProcessId',
)
),
/**
* Логи ошибок к БД
*/
'db_error' => array(
'handlers' => array(
'Stream' => array(
'___path.application.server___/logs/___sys.logs.sql_error_file___',
'debug',
'formatter' => array(
'Line',
'___sys.logs.format___',
null,
true
)
),
),
'processors' => array(
'Uid',
'ProcessId',
)
),
/**
* Логи cron скриптов
*/
'cron' => array(
'handlers' => array(
'Stream' => array(
'___path.application.server___/logs/___sys.logs.cron_file___',
'debug',
'formatter' => array(
'Line',
'___sys.logs.format___'
)
),
),
'processors' => array(
'Uid',
'ProcessId',
)
),
/**
* Вывод собщений в консоле браузера
*/
'console' => array(
'handlers' => array(
'BrowserConsole' => array(),
),
),
);
/**
* Дополнительные настройки отладки
*/
$config['sys']['debug']['action_error'] = true; // Выводить или нет отладочную информацию при использовании метода Action->EventErrorDebug();
/**
* Языковые настройки
*/
$config['lang']['current'] = 'ru'; // текущий язык текстовок
$config['lang']['default'] = 'ru'; // язык, который будет использовать на сайте по умолчанию
$config['lang']['dir'] = 'i18n'; // название директории с языковыми файлами
$config['lang']['path'] = '___path.application.server___/frontend/___lang.dir___'; // полный путь до языковых файлов
$config['lang']['load_to_js'] = array(); // Массив текстовок, которые необходимо прогружать на страницу в виде JS хеша, позволяет использовать текстовки внутри js
/**
* Настройки модулей
*/
// Модуль Lang
$config['module']['lang']['delete_undefined'] = true; // Если установлена true, то модуль будет автоматически удалять из языковых конструкций переменные вида %%var%%, по которым не была произведена замена
// Для совместимости со старыми версиями
$config['module']['lang']['i18n_mapping'] = array(
/*
* новый формат записи => старый
*/
'ru' => 'russian',
'ua' => 'ukrainian',
'en' => 'english',
'de' => 'deutsch',
);
// Модуль Notify
$config['module']['notify']['delayed'] = false; // Указывает на необходимость использовать режим отложенной рассылки сообщений на email
$config['module']['notify']['insert_single'] = false; // Если опция установлена в true, систему будет собирать записи заданий удаленной публикации, для вставки их в базу единым INSERT
$config['module']['notify']['per_process'] = 10; // Количество отложенных заданий, обрабатываемых одним крон-процессом
$config['module']['notify']['dir'] = 'emails'; // Путь до папки с емэйлами относительно шаблона
$config['module']['notify']['prefix'] = 'email'; // Префикс шаблонов емэйлов
// Модуль Image
$config['module']['image']['driver'] = 'gd';
$config['module']['image']['params']['default']['size_max_width'] = 7000;
$config['module']['image']['params']['default']['size_max_height'] = 7000;
$config['module']['image']['params']['default']['format_auto'] = true;
$config['module']['image']['params']['default']['format'] = 'jpg';
$config['module']['image']['params']['default']['quality'] = 95;
$config['module']['image']['params']['default']['watermark_use'] = false; // Использовать ватермарк или нет
$config['module']['image']['params']['default']['watermark_type'] = 'image'; // Тип: image - накладывается изображение. Другие типы пока не поддерживаются
$config['module']['image']['params']['default']['watermark_image'] = null; // Полный серверный путь до картинки ватермарка
$config['module']['image']['params']['default']['watermark_position'] = 'bottom-right'; // Значения: bottom-left, bottom-right, top-left, top-right, center
$config['module']['image']['params']['default']['watermark_min_width'] = 100; // Минимальная ширина изображения, начиная с которой будет наложен ватермарк
$config['module']['image']['params']['default']['watermark_min_height'] = 100; // Минимальная высота изображения, начиная с которой будет наложен ватермарк
/**
* Модуль Asset
* Параметры обработки css/js-файлов
*/
$config['module']['asset']['force_https'] = true; // При использовании https принудительно заменять http на https у путях до css/js
$config['module']['asset']['css']['merge'] = true; // указывает на необходимость слияния css файлов
$config['module']['asset']['css']['compress'] = false; // указывает на необходимость компрессии файлов. Компрессия используется только в активированном режиме слияния файлов.
$config['module']['asset']['js']['merge'] = true; // указывает на необходимость слияния js файлов
$config['module']['asset']['js']['compress'] = false; // указывает на необходимость компрессии файлов. Компрессия используется только в активированном режиме слияния файлов.
// Модель Component
$config['module']['component']['cache_tree'] = false; // кешировать или нет построение дерева компонентов
$config['module']['component']['cache_data'] = false; // кешировать или нет данные компонентов
// Модуль Security
$config['module']['security']['hash'] = "livestreet_security_key"; // "примесь" к строке, хешируемой в качестве security-кода
// Модуль Cron
$config['module']['cron']['use_fork'] = false; // Использовать параллельное выполнение задач через fork. Данный режим до конца не протестирован.
// Модль Text
$config['module']['text']['transliteration_map'] = array( // Таблица транслитерации
'а' => 'a',
'б' => 'b',
'в' => 'v',
'г' => 'g',
'д' => 'd',
'е' => 'e',
'ё' => 'e',
'ж' => 'zh',
'з' => 'z',
'и' => 'i',
'й' => 'y',
'к' => 'k',
'л' => 'l',
'м' => 'm',
'н' => 'n',
'о' => 'o',
'п' => 'p',
'р' => 'r',
'с' => 's',
'т' => 't',
'у' => 'u',
'ф' => 'f',
'х' => 'h',
'ц' => 'c',
'ч' => 'ch',
'ш' => 'sh',
'щ' => 'sch',
'ь' => "'",
'ы' => 'y',
'ъ' => "'",
'э' => 'e',
'ю' => 'yu',
'я' => 'ya',
'А' => 'A',
'Б' => 'B',
'В' => 'V',
'Г' => 'G',
'Д' => 'D',
'Е' => 'E',
'Ё' => 'E',
'Ж' => 'Zh',
'З' => 'Z',
'И' => 'I',
'Й' => 'Y',
'К' => 'K',
'Л' => 'L',
'М' => 'M',
'Н' => 'N',
'О' => 'O',
'П' => 'P',
'Р' => 'R',
'С' => 'S',
'Т' => 'T',
'У' => 'U',
'Ф' => 'F',
'Х' => 'H',
'Ц' => 'C',
'Ч' => 'Ch',
'Ш' => 'Sh',
'Щ' => 'Sch',
'Ь' => "'",
'Ы' => 'Y',
'Ъ' => "'",
'Э' => 'E',
'Ю' => 'Yu',
'Я' => 'Ya',
" " => "-",
"." => "",
"/" => "-",
"_" => "-",
'і' => 'i',
'І' => 'I',
'ї' => 'i',
'Ї' => 'I',
'є' => 'e',
'Є' => 'E',
'ґ' => 'g',
'Ґ' => 'G',
'«' => '',
'»' => '',
);
// Модуль Ls
$config['module']['ls']['send_general'] = true; // Отправка на сервер LS общей информации о сайте (домен, версия LS и плагинов)
$config['module']['ls']['use_counter'] = true; // Использование счетчика GA
/**
* Модуль Validate
*/
// Настройки Google рекаптчи - https://www.google.com/recaptcha/admin#createsite
$config['module']['validate']['recaptcha']= array(
'site_key' => '', // Ключ
'secret_key' => '', // Секретный ключ
'use_ip' => false, // Использовать при валидации IP адрес клиента
);
// Какие модули должны быть загружены на старте
$config['module']['autoLoad'] = array('Hook', 'Cache', 'Logger', 'Security', 'Session', 'Lang', 'Message');
/**
* Настройка базы данных
*/
$config['db']['params']['host'] = 'localhost';
$config['db']['params']['port'] = '3306';
$config['db']['params']['user'] = 'root';
$config['db']['params']['pass'] = '';
$config['db']['params']['type'] = 'mysqli';
$config['db']['params']['dbname'] = 'social';
$config['db']['init_sql'] = "set character_set_client='utf8mb4', character_set_results='utf8mb4', collation_connection='utf8mb4_unicode_ci', sql_mode='' ";
/**
* Настройка таблиц базы данных
*/
$config['db']['table']['prefix'] = 'prefix_';
$config['db']['table']['notify_task'] = '___db.table.prefix___notify_task';
$config['db']['table']['plugin_manager_migration'] = '___db.table.prefix___plugin_migration';
$config['db']['table']['plugin_manager_version'] = '___db.table.prefix___plugin_version';
$config['db']['table']['storage'] = '___db.table.prefix___storage';
$config['db']['tables']['engine'] = 'InnoDB'; // InnoDB или MyISAM
/**
* Настройка memcache
*/
$config['memcache']['servers'][0]['host'] = 'localhost';
$config['memcache']['servers'][0]['port'] = '11211';
$config['memcache']['servers'][0]['persistent'] = true;
$config['memcache']['compression'] = true;
$config['libmemcached']['servers'][0]['host'] = 'localhost';
$config['libmemcached']['servers'][0]['port'] = '11211';
$config['libmemcached']['servers'][0]['weight'] = 1; // приоритет сервера
/**
* Настройки роутинга
*/
$config['router']['prefix'] = null; // Позволяет задать префикс URL, например, текущий язык сайта ru. В качестве значения используется регулярное выражение, например, '(ru)|(en)|(de)'
$config['router']['prefix_default'] = null; // Дефолтный префикс URL, указывается если в URL не определен свой префикс
$config['router']['rewrite'] = array();
// Правила реврайта для REQUEST_URI
$config['router']['uri'] = array();
// Распределение action
$config['router']['page']['error'] = 'ActionError';
$config['router']['page']['index'] = 'ActionIndex';
// Глобальные настройки роутинга
$config['router']['config']['default']['action'] = 'index';
$config['router']['config']['default']['event'] = null;
$config['router']['config']['default']['params'] = null;
$config['router']['config']['default']['request'] = null;
$config['router']['config']['action_not_found'] = 'error';
// Принудительное использование https для экшенов
$config['router']['force_secure'] = array();
$config['head']['default']['js'] = array();
$config['head']['default']['css'] = array();
/**
* Установка локали
*/
setlocale(LC_ALL, "ru_RU.UTF-8");
date_default_timezone_set('Europe/Moscow'); // See http://php.net/manual/en/timezones.php
/**
* Настройки типографа текста Jevix
*/
$config['jevix'] = require(dirname(__FILE__) . '/jevix.php');
return $config;