| |
devel:environment [2023/09/02 17:40] – создано vladpolskiy | devel:environment [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 |
---|
====== Переменные окружения ====== | |
| |
Эта статья предоставит вам краткий обзор доступных переменных и констант, которые вы можете использовать при разработке [[plugins|плагинов]] или [[templates|шаблонов]]. | |
| |
===== Глобальные переменные ===== | |
| |
==== $ACT ==== | |
| |
Содержит текущее действие, см. [[Action Modes|режимы действий]]. ([[xref>$ACT|reference]]) | |
| |
==== $auth ==== | |
| |
Глобально доступный объект ''$auth'', представляет используемый [[ru:auth|бэкенд аутентификации]]. ([[xref>$auth|reference]]) | |
| |
==== $conf ==== | |
| |
Глобально доступный массив ''$conf'' содержит все настройки «ДокуВики». В основном, он соответствует следующей структуре: | |
| |
* ''$conf[<setting_name>]'' --- настройки «ДокуВики» (см. [[ru:config]]) | |
* ''$conf[<setting_group>][<setting_name>]'' --- некоторые настройки «ДокуВики» используют этот формат, т.е. настройки ftp, proxy и target. | |
* ''$conf['tpl'][<template_name>][<setting_name>]'' --- настройки конфигурации шаблона, см. документацию по шаблону. | |
* ''$conf['plugin'][<plugin_name>][<setting_name>]'' --- настройки конфигурации плагина, см. документацию по плагину. | |
* ''$conf['auth'][<auth_name>][<setting_name>]'' --- настройки конфигурации бэкенда аутентификации, см. документацию по бэкенду аутентификации. | |
| |
Обычно вам нет необходимости непосредственно обращаться к этому массиву. И плагины, и шаблоны имеют собственные методы для доступа к их настройкам конфигурации. | |
| |
([[xref>$conf|reference]]) | |
| |
==== $ID ==== | |
| |
Содержит [[ru: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, если зарегистрированный пользователь является [[ru:config#superuser|суперпользователем]] | |
* ''ismanager'' --- true, если зарегистрированный пользователь является [[ru:config#manager|менеджером]] | |
* ''draft'' --- содержит название файла [[ru: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()]] для построения [[ru:TOC|"содержания"]] статьи. Обычно, эта переменная пуста и [[xref>tpl_toc()]] строит "содержание" из метаданных статьи. ([[xref>$TOC|reference]]) | |
| |
==== $USERINFO ==== | |
| |
Глобально доступный ассоциативный массив, который содержит информацию об **авторизованном** пользователе. | |
| |
* pass - хэш пользовательского пароля | |
* name - полное имя пользователя | |
* mail - e-mail адрес пользователя | |
* grps - массив групп, к которым относится пользователь | |
| |
([[xref>$USERINFO|reference]]) | |
| |
==== $JSINFO ==== | |
| |
Этот массив содержит данные, передаваемые JavaScript в качестве глобальной переменной (смотри [[devel:javascript#jsinfo]]). | |
| |
===== Константы ===== | |
| |
Ниже приведен список наиболее важных констант. | |
| |
==== AUTH_<*> ==== | |
| |
Тип констант ''AUTH_<*>'' представляет уровни доступа (в виде целых чисел) используемые в системе [[ru:ACL|списков доступа]] «ДокуВики». Они могут для того, чтобы проверка списков доступа к данной [[ru:page|статье ]]/[[ru:namespace|пространству имен]] выглядела более понятной. | |
| |
<code php> | |
if (auth_quickaclcheck($ID) >= AUTH_READ) { | |
// do sth. | |
} | |
</code> | |
| |
=== 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/<template>/ | |
| |
=== DOKU_TPLINC === | |
| |
Путь к директории включаемых файлов используемого шаблона на сервере. ([[xref>DOKU_TPLINC|reference]]) | |
| |
lib/tpl/<template>/ | |
| |
Или если установлен параметр [[ru:config#canonical]]: | |
| |
http//domain.org/lib/tpl/<template>/ | |
| |
https://www.dokuwiki.org/ru:devel:environment | |