$conf
Материал из Eludia
$conf — это глобальный хэш, в котором хранятся параметры настройки приложения. Практически всегда заявляется как our-переменная в файле Config.pm
Ниже перечисленные компоненты используются ядром Eludia.pm.
Ядро
- core_sweep_spaces
- если истина, из HTML удаляются лишние пробелы.
- peer_roles
- параметры для серверного пиринга (обмен информацией между несколькими приложениями).
- session_timeout
- время жизни сессии, в минутах.
- precision
- количество знаков после запятой для автоматически создаваемых объектов Math::FixedPrecision.
БД
- core_recycle_ids
- если истина, то функция sql_do_insert, прежде, чем создать новую строку, пытается найти подходящую незаполненную запись в той же таблице (для которой поле fake равно номеру текущей сессии или одной из завершённых сессий) — чтобы избежать "дыр" в нумерации записей.
- systables
- таблица подстановки имён таблиц, используемых ядром. Например, $conf -> {systables} -> {users} — это имя таблицы пользователей. Переопределение $conf -> {systables} в Config.pm может иметь смысл при интеграции со сторонними приложениями на уровне БД.
- sql_types
- словарь типов данных, используемый при интерпретации сокращённой формы описания полей БД.
Oracle
- core_date_format
- формат даты/времени, устанавливаемый для NLS_DATE_FORMAT и NLS_TIMESTAMP_FORMAT при помощи ALTER SESSION. По умолчанию 'yyyy-mm-dd hh24:mi:ss'.
- core_voc_replacement_use
- если истина, то имена индексов, последовательностей и триггеров транслируются через словарь. Что практически необходимо в силу ограничений Oracle на длину имён объектов (31 символ).
- core_auto_oracle
- если истина, то SQL автоматически транслируется с MySQL-диалекта на Oracle.
- core_sql_extract_params
- если истина, то встреченные в SQL литералы автоматически выносятся в параметры.
- core_nulls_last
- если истина, то опция NULLS FIRST не приписывается автоматически. Актуально при использовании core_auto_oracle.
Интерфейс
- core_no_order_arrows
- если истина, то не показываются стрелки в заголовках столбцов с опцией order.
- core_keep_textarea
- если истина, то textarea в режиме просмотра становится не текстом, а нередактирумой textarea.
- core_no_auth_toolbar
- если истина, то верхняя панель с часами и именем пользователя не рисуется.
- core_no_confirm_other
- если истина, то справочники для расширяемых списков открываются по клику на строке "справочник" без предупреждения.
- core_skip_boot
- если ложь (по умолчанию), то в качестве первого экрана приложение выдаёт пустую страницу (type=_boot) с проверочным js-кодом, который при загрузке в корректно настроенный браузер немедленно перенаправляет клиента на экран авторизации (type=logon). Устанавливать эту опцию и пропускать проверочную страницу имеет смысл только при глубокой отладке или в существенно нестандартных приложениях.
- core_undelete_to_edit
- если истина, то кнопка "восстановить", генерируемая процедурой del, не выполняет действие undelete, а ведёт на экран редактирования записи.
- exit_url
- адрес для кнопки "Выход", по умолчанию — завершение сессии и перенаправление на страницу авторизации.
- lang
- язык по умолчанию. Если не указан, считается 'RUS'.
- number_format
- опции форматирования чисел. Передаются Number::Format.
- splash
- параметры splash-заставки.
- top_banner
- статический HTML, врезаемый между верхней панелью и меню.
- logo_url
- адрес логотипа системы.
- page_title
- содержимое тега title.
Значения по умолчанию
- core_modal_dialog_width
- ширина модальных диалогов для расширяемых справочников.
- core_modal_dialog_height
- высота модальных диалогов для расширяемых справочников.
- max_len
- максимальная длина текста ячеек таблиц и строк списков, при превышении которой строки обрываются и дополняются многоточием.
- size
- размер строковых полей ввода.
- portion
- количество строк в таблицах с нарезкой.
Опции клавиатуры
Это хэши вида {ctrl => 1, alt => 1}, определяющие, какие специальные клавиши должны дополнять буквы для:
- kb_options_buttons
- нажатия экранных кнопок
- kb_options_focus
- фокусировки на полях ввода
- kb_options_menu
- активации элементов меню
Словари
- button_presets
- [пере]определения стандартных кнопок, таких, как ok, cancel.
- i18n
- ко ключу, соответствующему языку (RUS, ENG, FRE) здесь хранятся словари с такими элементами, как ok, cancel, edit, delete и пр.
Устаревшие
- classic_menu_style
- переключение на старый (менее web, более win) вариант отрисовки меню для Classic.
- core_auto_edit
- автоматическое добавление кнопки "редактировать" в режиме просмотра, если только не задана опция no_edit или no_ok. Сейчас всегла выставлена в 1.
- core_hide_row_buttons
- если 1 (что должно быть всегда), кнопки, определённые на строках таблиц, превращаются в пункты контекстных меню.
- core_show_icons
- если не определена (что не имеет смысла), то, в Classic не рисуются иконки.
- core_unlimit_xls
- если истина (что должно быть всегда), то при $_REQUEST {xls}, то есть при выводе страницы в MS Excel, не ограничивать выборку с LIMIT.
- include_css
- список дополнительно подключаемых CSS-файлов.
- include_js
- список дополнительно подключаемых js-файлов.
Неподдерживаемые
- auto_load
- список типов экранов, загружаемых на старте приложения.
- db_temporality
- особый режим, при котором для каждой таблицы автоматически ведётся история изменений.
- core_extensible_menu
- неудачная попытка ввести параметризацию меню для пользователя. В настоящее время для этого используются разделы и опции.
- core_multiple_roles
- позволяла поддерживать несколько ролей у одного пользователя, при этом в рамках одной сессии предлагалось выбрать единственную роль. В настоящее время, как правило, роль (id_role) у пользователя одна, однако у него может быть множество опций, соответствующих различным разделам приложения.
- core_screenshot
- режим автоматического HTML-"фотографирования" каждого выданного экрана.
- core_infty
- режим, при котором для таблиц с нарезкой по умолчанию не подсчитывается общее число записей, а число станиц показывается как бесконечность.