Как прописать администраторов сайта в настройках.

Менеджер администраторов сайта.

Nano-CMS поддерживает работу с несколькими администраторами, число которых не ограничено. Например, пусть будут всего два вот таких администратора:

         'symbol' => 'a-z0-9A-Z',      # Разрешённые символы логина и пароля.
         
'timer'  => 24,               # Максимальное время авторизации, в часах.
         
'admin'  => array(
            
'master' => array(
               
'login'  => 'MasterAdminLogin',
               
'passw'  => 'MasterAdminPassword',
               
'folder' => 'all',
            ),
            
'user' => array(
               
'login'  => 'UserOneLogin',
               
'passw'  => 'UserOnePassword',
               
'folder' => array('/a/','/b/',),
            ),
         ),

Для всех для них в настройках можно задать время авторизации и набор разрешённых символов для логина и пароля (чтобы в поля формы авторизации не вводили что попало).

Правила написания учётных записей, входящих в массив admin:

  1. Имя администратора (тут master и user)

    Произвольные ни к чему не обязывающие и не совпадающие друг с другом имена на латинице. Если эти имена вдруг всё-таки совпадут, будет активна запись, стоящая ниже.

    Обратите внимание:

    Администратор с именем master обязателен.
    Только ему открыт доступ к сервису генерации токенов.
    Это администратор "уровня бога" в админской терминологии.

  2. login и passw - соответственно логин и пароль администратора.

    Логин и пароль любого из админов Вы обязаны заменить на собственные, по вполне понятным причинам. Причём на кардинально иные, а не добавив или поменяв в них одну буковку.

    При этом они должны состоять из разрешённых настройками символов.

  3. folder может принимать строковое значение all, и тогда данному администратору разрешено редактировать любые документы на всём сайте.

    Если folder имеет значением массив, то администратору разрешено редактирование документов, размещённых в перечисленных в массиве фолдерах. В данном случае администратор user имеет доступ к документам фолдеров /a/ и /b/, и ни к каким более.

    Под "редактированием документов" тут понимаются любые действия по созданию и удалению папок в данных фолдерах, вкладываемых друг в друга на произвольную глубину, а также файлов четырёх различных назначений, о чём подробнее рассказано в мануале на редактор.

    Место расположения рабочих фолдеров админа - внутри ./data/content/ относительно корневой папки скрипта.

Если множественность администраторов не нужна, упростите код:

         'symbol' => 'a-z0-9A-Z',      # Разрешённые символы логина и пароля.
         
'timer'  => 24,               # Максимальное время авторизации, в часах.
         
'admin'  => array(
            
'master' => array(
               
'login'  => 'MasterAdminLogin',
               
'passw'  => 'MasterAdminPassword',
               
'folder' => 'all',
            ),
         ),

Если нужно пополнить ряды администраторов, то добавьте ещё одного:

         'admin'  => array(
            
'master' => array(
               
'login'  => 'MasterAdminLogin',
               
'passw'  => 'MasterAdminPassword',
               
'folder' => 'all',
            ),
            
'user' => array(
               
'login'  => 'UserOneLogin',
               
'passw'  => 'UserOnePassword',
               
'folder' => array('/a/','/b/',),
            ),
            
'support' => array(
               
'login'  => 'SupportLogin',
               
'passw'  => 'SupportPassword',
               
'folder' => array(),
            ),
         ),

Тут в качестве примера добавлен администратор support, которому не разрешено ничего менять на сайте (массив фолдеров пустой), но ему, к примеру, открыта переписка с пользователями сайта (о чём позднее).