IO v6. Настройки проекта. "Магический" файл app/i.php
project/app/i.php - файл персональных функций и констант проекта. Файл, содержащий настройки проекта, которые должны быть выполнены обязательно вне зависимости от запроса. Например, подключение к базе данных или объявление собственных функций или констант проекта.
Содержимое файла по умолчанию:
<?php
outGenPageTime('start i.php');
// логика...
outGenPageTime('end i.php');
Здесь также происходит формирование пунктов бокового меню внутренней части кабинета сервиса, через глобальную переменную $leftmenu (для дизайнов кабинета CABINET_VERSION = 20 и 21).
Пример структуры бокового меню:
global $leftmenu, $ioSession, $ioProjects;
$leftmenu['cabinet'] = [
'plans' => [
'icon' => 'icon-reorder',
'href' => UrlGetAdd('/cabinet/plans', 'account', $ioSession->user->account),
'title' => 'Бизнес планы',
'visible' => true,
'selected' => false,
'subitems' => [
/*
'answers' => [
'type' => 'link', // link, divider, js
'href' => UrlGetAdd('/options/olymp/answers', 'account', $ioSession->user->account),
'title' => 'Ответы',
'tooltip' => 'Ответы участников олимпиады',
'target_blank' => false,
'visible' => true,
'selected' => false,
'disabled' => false,
],
[
'type' => 'divider', // link, divider, js
'visible' => true,
],
*/
],
],
'help' => [
'icon' => 'icon-question-sign',
'href' => UrlGetAdd('/cabinet', 'account', $ioSession->user->account),
'title' => 'Помощь',
'visible' => true,
'selected' => false,
'subitems' => [
'pagetour' => [
'type' => 'js', // link, divider, js
'class' => 'start-page-tour-btn',
'title' => 'Тур по странице',
'tooltip' => '',
'target_blank' => false,
'visible' => true,
'selected' => false,
'disabled' => false,
],
[
'type' => 'divider', // link, divider, js
'visible' => true,
],
'help' => [
'type' => 'link', // link, divider, js
'href' => UrlGetAdd('/cabinet/help', 'account', $ioSession->user->account),
'title' => 'Инструкции',
'tooltip' => '',
'target_blank' => false,
'visible' => true,
'selected' => false,
'disabled' => true,
],
'help2' => [
'type' => 'link', // link, divider, js
'href' => xarr($ioProjects, 'help'),
'title' => 'База знаний',
'tooltip' => '',
'target_blank' => true,
'visible' => true,
'selected' => false,
'disabled' => false,
],
'support' => [
'type' => 'link', // link, divider, js
'href' => UrlGetAdd(xarr($ioProjects, 'ticket').'/cabinet', 'account', $ioSession->user->account),
'title' => 'Служба поддержки',
'tooltip' => '',
'target_blank' => true,
'visible' => true,
'selected' => false,
'disabled' => false,
],
],
],
];