Константы Albireo CMS
Переопределение констант
Albireo CMS задаёт основные константы в момент запуска и инициализации системы. В основном это формирование путей к каталогам и корректные url-адреса.
При необходимости можно переопределить эти константы. Сделать это можно несколькими способами.
- Файл
website/constants.php— это самое раннее определение констант. - Файл
website/myconstants.php— это самое позднее определение констант, где доступны другие. - Файл
website/base-constants.php— это определение констант перед основными.
В большинстве случаев будет удобно использовать файл website/base-constants.php.
Пример такого файла:
<?php
# base-constants.php
// отладка-профилирование для LOCALHOST
if (LOCALHOST) define('DEBUG_BENCHMARK', '');
ВАЖНО! В константах (и везде в системе) используются пути с закрывающимся Linux-слэшем /.
Использование констант
Старайтесь использовать константы, вместо сложных путей.
Например вместо 'templates/default/parts/head/rss.php' лучше сделать так TEMPLATE_PARTS_DIR. 'head/rss.php'
Во многих функциях Albireo CMS нужно указывать полные пути к файлам. Поэтому константы позволяют сделать это просто и удобно, например:
// TPL_DIR — это каталог templates/default/tpl echo tpl(data: $rows['files'], tpl: TPL_DIR . 'shorts.php');
Список констант Albireo CMS
Ниже приведен список констант (и их дефолтное значение). В качестве разделителя каталогов в путях всегда используется символ / (в Linux и Windows).
BASE_DIR= путь на сервере Полный путь на сервере к каталогу пользователя.FRONT_NAME= website Имя каталога сайта пользователя. Задаётся в корневомindex.php.RUN_IS_ROOT= true Признак того, что сайт запущен из-под корня сайта.LEVEL_UP_DIR= путь на сервере Полный путь к каталогу уровнем выше, чем каталог пользователя.LEVEL_UP_URL= url-адрес URL уровнем выше, чем основной каталог сайта (website).SYS_DIR= путь на сервере Полный путь на сервере к системному каталогуsystem.TIME_START= метка времени Начальная метка времени для оценки скорости работы сайта.SITE_URL= url-адрес Полный адрес сайта.SITE_HOST= хост Хост сайта (без протокола).FRONT_URL= url-адрес Адрес-url к FRONT_NAME.FRONT_URL_NAME= хост FRONT_URL без протокола.
PAGES_DIR= путь на сервере Полный путь на сервере к каталогуpages.PAGES_URL= url-адрес Полный адрес к каталогуpages.TEMPLATES_DIR= путь на сервере Полный путь на сервере к каталогуtemplates.TEMPLATES_URL= url-адрес Полный адрес к каталогуtemplates.SERVICE_DIR= путь на сервере Полный путь на сервере к каталогуservice.SERVICE_URL= url-адрес Полный адрес к каталогуservice.RESOURCES_DIR= путь на сервере Полный путь на сервере к каталогу_resources.RESOURCES_URL= url-адрес Полный адрес к каталогу_resources.UPLOADS_DIR= путь на сервере Полный путь на сервере к каталогуuploads.UPLOADS_URL= url-адрес Полный адрес к каталогуuploads.
TEMPLATE_DIR= путь на сервере Полный путь на сервере к каталогу шаблона.TEMPLATE_URL= url-адрес Полный адрес к каталогу шаблона.ASSETS_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаassets.ASSETS_URL= url-адрес Полный адрес к каталогу шаблонаassets.TEMPLATE_MODULES_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаmodules.TEMPLATE_LAYOUT_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаlayout.TEMPLATE_PARTS_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаparts.TPL_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаtpl.TEMPLATE_SNIPPETS_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаsnippets.EXTRAS_DIR= путь на сервере Полный путь на сервере к каталогу шаблонаextras.
SERVICE_MY_DIR= путь на сервере Полный путь на сервере к каталогуservice/my. Переопределяется через конфигурациюserviceMyDir.SERVICE_MY_URL= url-адрес Полный адрес к каталогуservice/my.
CACHE_DIR= путь на сервере Полный путь на сервере к каталогуcache.BACKUP_DIR= путь на сервере Полный путь на сервере к каталогуbackup.EVENTS_DIR= путь на сервере Полный путь на сервере к каталогуevents.STORAGE_DIR= путь на сервере Полный путь на сервере к каталогуstorage.SEEDER_DIR= путь на сервере Полный путь на сервере к каталогуseeder.SESSIONS_DIR= путь на сервере Полный путь на сервере к каталогу сессий (лучше не использовать!).CONFIG_DIR= путь на сервере Полный путь на сервере к каталогуconfig.SNIPPETS_DIR= путь на сервере Полный путь на сервере к каталогуsnippets.WIDGETS_DIR= путь на сервере Полный путь на сервере к каталогуsystem/widgets.WIDGETS_DIR_SITE= путь на сервере Полный путь на сервере к каталогуservice/widgets.COMPOSER_DIR= путь на сервере Полный путь на сервере к каталогуvendor.
ALBIREO_ADMIN_NAME= admin Каталог админ-панели.ALBIREO_ADMIN_URL= url-адрес Адрес админ-панели.ALBIREO_ADMIN_DIR= путь на сервере Полный путь на сервере к админ-панели.ALBIREO_ADMIN_LINK_EDIT_FILE= url-адрес Базовая ссылка на админ-страницу редактирования файла.
REQUEST_AJAX= url-адрес Адрес для отправки AJAX-запросов.METHOD_AJAX= строка Содержитmethod = _ajax.
LOCALHOST= true/false Если это 127.0.0.1.LF=\nПеревод строкиAPOS='Одиночная кавычкаBSOL=\Обратный слэш
Константы безопасности
Все токены имеют шифрование (OPENSSL с AES-256-CBC), а также base64-кодирование, поэтому токены можно безопасно использовать без дополнительной обработки.
CSRF- содержит готовую строку<input>со всеми необходимыми токенами для форм.SESSION_TOKEN— токен сессии.SESSION_TOKEN_SOURCE— токен текущей страницы. После обработки будет доступна константаTOKEN_SOURCE, которая хранит адрес откуда была отправка. Используется на уровне обработчика.SESSION_TOKEN_TIME— токен метки времени. После обработки будет доступна константаTOKEN_TIME(тип float), которая хранит кол-во секунд с момента формирования токенаSESSION_TOKEN_TIME.SESSION_TOKEN_CRYPT— случайный токен сессии может использовать при дополнительной шифровке вencryptDecrypt().
См. Работа с AJAX.