====== Переменные окружения ====== Эта статья предоставит вам краткий обзор доступных переменных и констант, которые вы можете использовать при разработке [[plugins|плагинов]] или [[templates|шаблонов]]. ===== Глобальные переменные ===== ==== $ACT ==== Содержит текущее действие, см. [[Action Modes|режимы действий]]. ([[xref>$ACT|reference]]) ==== $auth ==== Глобально доступный объект ''$auth'', представляет используемый [[wiki:auth|бэкенд аутентификации]]. ([[xref>$auth|reference]]) ==== $conf ==== Глобально доступный массив ''$conf'' содержит все настройки «ДокуВики». В основном, он соответствует следующей структуре: * ''$conf[]'' --- настройки «ДокуВики» (см. [[wiki:config]]) * ''$conf[][]'' --- некоторые настройки «ДокуВики» используют этот формат, т.е. настройки ftp, proxy и target. * ''$conf['tpl'][][]'' --- настройки конфигурации шаблона, см. документацию по шаблону. * ''$conf['plugin'][][]'' --- настройки конфигурации плагина, см. документацию по плагину. * ''$conf['auth'][][]'' --- настройки конфигурации бэкенда аутентификации, см. документацию по бэкенду аутентификации. Обычно вам нет необходимости непосредственно обращаться к этому массиву. И плагины, и шаблоны имеют собственные методы для доступа к их настройкам конфигурации. ([[xref>$conf|reference]]) ==== $ID ==== Содержит [[wiki:pagename|имя]] "рендеримой" в настоящий момент статьи. Обычно это просматриваемая в настоящий момент, но не обязательно - см. ниже ''$INFO['id']''. ([[xref>$ID|reference]]) ==== $INFO ==== Это ассоциативные массив, заполненный информацией предоставленной функцией [[xref>pageinfo()]] из ''inc/common.php''. В настоящий момент элементами массива является: * ''id'' --- имя основной статьи просматриваемой в настоящий момент. Обычно совпадает с ''$ID'', но иногда может быть другой. См. подробности в [[bug>1320]]. * ''rev'' --- номер версии основной статьи, просматриваемой в настоящий момент, обычно совпадает с $REV. * ''userinfo'' --- установлен только для зарегистрированных пользователей, ассоциативный массив: * ''pass'' --- пароль, зашифрованный * ''name'' --- полное имя * ''mail'' --- адрес email * ''grps'' --- группы, к которым относится пользователь (массив [Array :!:]) * ''buid'' --- специальный id, сконструированный из браузера и IP адреса пользователя * ''perm'' --- права пользователя, относящиеся к текущей статье ($ID) * ''subscribed'' --- true, если пользователь подписан на эту статью, иначе false * ''namespace'' --- пространство имен, к которой относится текущая статья ($ID) * ''locked'' --- true, если статья заблокирована, иначе false * ''filepath'' --- путь в файловой системе к сырым данным wiki текущей статьи ($ID+$REV) * ''exists'' --- true, если сырые данные wiki текущей статьи существуют ($ID+$REV), иначе false * ''rev'' --- id версии для текущей статьи ($ID), пустая статья, если просматривается текущая версия * ''writable'' --- true, если для текущей статьи ($ID+$REV) комбинация наличия файла, разрешений файла и разрешений ACL пользователя позволяет редактировать существующий файл или создать еще не существующий файл. Иначе false. * ''editable'' --- true, если текущая статья ($ID+$REV) доступна для записи и не заблокирована. * ''lastmod'' --- временная метка последней модификации текущей статьи ($ID+$REV) * ''meta'' --- [[metadata|метаданные]] текущей статьи ($ID) * ''ip'' --- ip адрес последнего редактировавшего текущую статью ($ID+$REV) пользователя * ''user'' --- username последнего редактировавшего текущую статью ($ID+$REV) пользователя * ''sum'' --- краткая анотация изменений текущей статьи ($ID+$REV) * ''editor'' --- имя пользователя (или ip адрес, если имя неизвестно) последним редактировавшего текущую статью ($ID+$REV) * ''isadmin'' --- true, если зарегистрированный пользователь является [[wiki:config#superuser|суперпользователем]] * ''ismanager'' --- true, если зарегистрированный пользователь является [[wiki:config#manager|менеджером]] * ''draft'' --- содержит название файла [[wiki:draft|черновика]] для текущего пользователя и статьи. * ''ismobile'' --- true, если статья просматривается с мобильного устройства или телефона. * ''client'' --- имя пользователя, зарегистрированного в настоящий момент ==== $lang ==== Ассоциативный массив, содержащий все строки перевода интерфейса, плагинов и шаблонов. ([[xref>$lang|reference]]) ==== $REV ==== Содержит штамп времени версии отображаемой в настоящий момент статьи. ''false'', если рассматривается самая свежая версия статьи. ([[xref>$REV|reference]]) ==== $_SERVER['REMOTE_USER'] ==== Эта переменная явно прописывается механизмом аутентификации «ДокуВики», когда юзер зарегистрировался, и содержит имя пользователя. ==== $TEXT ==== В режимах ''save'' и ''preview'' эта глобальная переменная содержит текст предоставленный в форме редактирования. ([[xref>$TEXT|reference]]) ==== $TOC ==== Эта переменная будет использована (если заполнена) функцией [[templates#tpl_toc()]] для построения [[wiki:TOC|"содержания"]] статьи. Обычно, эта переменная пуста и [[xref>tpl_toc()]] строит "содержание" из метаданных статьи. ([[xref>$TOC|reference]]) ==== $USERINFO ==== Глобально доступный ассоциативный массив, который содержит информацию об **авторизованном** пользователе. * pass - хэш пользовательского пароля * name - полное имя пользователя * mail - e-mail адрес пользователя * grps - массив групп, к которым относится пользователь ([[xref>$USERINFO|reference]]) ==== $JSINFO ==== Этот массив содержит данные, передаваемые JavaScript в качестве глобальной переменной (смотри [[devel:javascript#jsinfo]]). ===== Константы ===== Ниже приведен список наиболее важных констант. ==== AUTH_<*> ==== Тип констант ''AUTH_<*>'' представляет уровни доступа (в виде целых чисел) используемые в системе [[wiki:ACL|списков доступа]] «ДокуВики». Они могут для того, чтобы проверка списков доступа к данной [[wiki:page|статье ]]/[[wiki:namespace|пространству имен]] выглядела более понятной. if (auth_quickaclcheck($ID) >= AUTH_READ) { // do sth. } === AUTH_NONE === * **Тип:** Целое * **Значение:** 0 * [[xref>AUTH_NONE|reference]] === AUTH_READ === * **Тип:** Целое * **Значение:** 1 * [[xref>AUTH_READ|reference]] === AUTH_EDIT === * **Тип:** Целое * **Значение:** 2 * [[xref>AUTH_EDIT|reference]] === AUTH_CREATE === * **Тип:** Целое * **Значение:** 4 * [[xref>AUTH_CREATE|reference]] === AUTH_UPLOAD === * **Тип:** Целое * **Значение:** 8 * [[xref>AUTH_UPLOAD|reference]] === AUTH_DELETE === * **Тип:** Целое * **Значение:** 16 * [[xref>AUTH_DELETE|reference]] === AUTH_ADMIN === * **Тип:** Целое * **Значение:** 255 * [[xref>AUTH_ADMIN|reference]] ==== DOKU_<*> ==== Тип констант ''DOKU_<*>'' содержит различные //системные// значения для внутреннего использования «ДокуВики». === DOKU_BASE === Базовый URL инсталляции «ДокуВики». ([[xref>DOKU_BASE|reference]]) /dokuwiki/ === DOKU_CONF === Путь к директории конфигурации инсталляции DokuWiki на сервере. ([[xref>DOKU_CONF|reference]]) /var/www/dokuwiki/conf/ === DOKU_REL === Базовый URL к инсталляции «ДокуВики» ([[xref>DOKU_URL|reference]]) === DOKU_URL === Абсолютный URL к инсталляции DokuWiki ([[xref>DOKU_URL|reference]]) === DOKU_INC === Путь к директории включаемых файлов инсталляции DokuWiki на сервере. ([[xref>DOKU_INC|reference]]) /var/www/dokuwiki/ === DOKU_TPL === Путь к директории используемого шаблона на сервере. ([[xref>DOKU_TPL|reference]]) /dokuwiki/lib/tpl/