CINXE.COM
devel:environment [DokuWiki]
<!DOCTYPE html> <html lang="en" dir="ltr" class="no-js"> <head> <meta charset="utf-8" /> <title>devel:environment [DokuWiki]</title> <meta name="generator" content="DokuWiki"/> <meta name="theme-color" content="#008800"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="devel,environment"/> <link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="DokuWiki"/> <link rel="start" href="/"/> <link rel="contents" href="/devel:environment?do=index" title="Sitemap"/> <link rel="manifest" href="/lib/exe/manifest.php"/> <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/feed.php"/> <link rel="alternate" type="application/rss+xml" title="Current namespace" href="/feed.php?mode=list&ns=devel"/> <link rel="edit" title="Edit this page" href="/devel:environment?do=edit"/> <link rel="alternate" type="text/html" title="Plain HTML" href="/_export/xhtml/devel:environment"/> <link rel="alternate" type="text/plain" title="Wiki Markup" href="/_export/raw/devel:environment"/> <link rel="canonical" href="https://www.dokuwiki.org/devel:environment"/> <link rel="stylesheet" href="/lib/exe/css.php?t=dokuwiki&tseed=f1005bad3d81fc9c803c7f93d32a390e"/> <link rel="alternate" hreflang="fr" href="https://www.dokuwiki.org/fr:devel:environment"/> <link rel="alternate" hreflang="ja" href="https://www.dokuwiki.org/ja:devel:environment"/> <link rel="alternate" hreflang="ko" href="https://www.dokuwiki.org/ko:devel:environment"/> <link rel="alternate" hreflang="ru" href="https://www.dokuwiki.org/ru:devel:environment"/> <link rel="alternate" hreflang="x-default" href="https://www.dokuwiki.org/devel:environment"/> <script >var NS='devel';var JSINFO = {"plugins":{"edittable":{"default columnwidth":""}},"id":"devel:environment","namespace":"devel","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0};(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer="defer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" defer="defer"></script> <script src="/lib/exe/js.php?t=dokuwiki&tseed=f1005bad3d81fc9c803c7f93d32a390e&lang=en" defer="defer"></script> <meta name="viewport" content="width=device-width,initial-scale=1" /> <link rel="shortcut icon" href="/lib/tpl/dokuwiki/images/favicon.ico" /> <link rel="apple-touch-icon" href="/lib/tpl/dokuwiki/images/apple-touch-icon.png" /> <meta name="verify-v1" content="OVxl3gsCv2MhZqh1cBQyl0JytWXSwXMjyvwc+4w3WtA=" /> <meta name="google-site-verification" content="YhTVK69hW94ZXUtc2zSLPxTkZKbZIn0zK67mz5WQB-E" /> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-83791-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-83791-1', { 'anonymize_ip': true }); </script> </head> <body> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_dokuwiki showSidebar hasSidebar"> <!-- ********** HEADER ********** --> <header id="dokuwiki__header"><div class="pad group"> <div class="headings group"> <ul class="a11y skip"> <li><a href="#dokuwiki__content">skip to content</a></li> </ul> <h1 class="logo"><a href="/start" accesskey="h" title="Home [h]"><img src="/lib/tpl/dokuwiki/images/logo.png" width="64" height="64" alt="" /><span>DokuWiki</span></a></h1> <p class="claim">It's better when it's simple</p> </div> <div class="tools group"> <!-- USER TOOLS --> <div id="dokuwiki__usertools"> <h3 class="a11y">User Tools</h3> <ul> <li class="action login"><a href="/devel:environment?do=login&sectok=" title="Log In" rel="nofollow"><span>Log In</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></a></li> </ul> </div> <!-- SITE TOOLS --> <div id="dokuwiki__sitetools"> <h3 class="a11y">Site Tools</h3> <form action="/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="devel:environment" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="Search" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="Search">Search</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> <div class="mobileTools"> <form action="/doku.php" method="get" accept-charset="utf-8"><div class="no"><input type="hidden" name="id" value="devel:environment" /><select name="do" class="edit quickselect" title="Tools"><option value="">Tools</option><optgroup label="Page Tools"><option value="edit">Edit this page</option><option value="revisions">Old revisions</option><option value="backlink">Backlinks</option></optgroup><optgroup label="Site Tools"><option value="recent">Recent Changes</option><option value="media">Media Manager</option><option value="index">Sitemap</option></optgroup><optgroup label="User Tools"><option value="login">Log In</option></optgroup></select><button type="submit">></button></div></form> </div> <ul> <li class="action recent"><a href="/devel:environment?do=recent" title="Recent Changes [r]" rel="nofollow" accesskey="r">Recent Changes</a></li><li class="action media"><a href="/devel:environment?do=media&ns=devel" title="Media Manager" rel="nofollow">Media Manager</a></li><li class="action index"><a href="/devel:environment?do=index" title="Sitemap [x]" rel="nofollow" accesskey="x">Sitemap</a></li> </ul> </div> </div> <!-- BREADCRUMBS --> <div class="breadcrumbs"> <div class="trace"><span class="bchead">Trace:</span> <span class="bcsep">•</span> <span class="curid"><bdi><a href="/devel:environment" class="breadcrumbs" title="devel:environment">environment</a></bdi></span></div> </div> <hr class="a11y" /> </div></header><!-- /header --> <div class="wrapper group"> <!-- ********** ASIDE ********** --> <nav id="dokuwiki__aside" aria-label="Sidebar"><div class="pad aside include group"> <h3 class="toggle">Sidebar</h3> <div class="content"><div class="group"> <div class="plugin_translation is-dropdown"><span class="title">Translations of this page<sup><a href="/localization" class="wikilink1" title="localization" data-wiki-id="localization">?</a></sup>: </span><ul><li class="span"><span class="wikilink1" title="English">English (en)</span></li><li class="a"><a class="wikilink2" title="|العربية" href="/ar:devel:environment">|العربية (ar)</a></li><li class="a"><a class="wikilink2" title="Català" href="/ca:devel:environment">Català (ca)</a></li><li class="a"><a class="wikilink2" title="Česky" href="/cs:devel:environment">Česky (cs)</a></li><li class="a"><a class="wikilink2" title="Dansk" href="/da:devel:environment">Dansk (da)</a></li><li class="a"><a class="wikilink2" title="Deutsch" href="/de:devel:environment">Deutsch (de)</a></li><li class="a"><a class="wikilink2" title="Ελληνικά" href="/el:devel:environment">Ελληνικά (el)</a></li><li class="a"><a class="wikilink2" title="Esperanto" href="/eo:devel:environment">Esperanto (eo)</a></li><li class="a"><a class="wikilink2" title="Español" href="/es:devel:environment">Español (es)</a></li><li class="a"><a class="wikilink2" title="فارسی" href="/fa:devel:environment">فارسی (fa)</a></li><li class="a"><a class="wikilink1" title="Français" href="/fr:devel:environment">Français (fr)</a></li><li class="a"><a class="wikilink2" title="עברית" href="/he:devel:environment">עברית (he)</a></li><li class="a"><a class="wikilink2" title="Magyar" href="/hu:devel:environment">Magyar (hu)</a></li><li class="a"><a class="wikilink2" title="Italiano" href="/it:devel:environment">Italiano (it)</a></li><li class="a"><a class="wikilink1" title="日本語" href="/ja:devel:environment">日本語 (ja)</a></li><li class="a"><a class="wikilink1" title="한국어" href="/ko:devel:environment">한국어 (ko)</a></li><li class="a"><a class="wikilink2" title="Lietuvių Kalba" href="/lt:devel:environment">Lietuvių Kalba (lt)</a></li><li class="a"><a class="wikilink2" title="Nederlands" href="/nl:devel:environment">Nederlands (nl)</a></li><li class="a"><a class="wikilink2" title="Norsk" href="/no:devel:environment">Norsk (no)</a></li><li class="a"><a class="wikilink2" title="Polski" href="/pl:devel:environment">Polski (pl)</a></li><li class="a"><a class="wikilink2" title="Português" href="/pt-br:devel:environment">Português (pt-br)</a></li><li class="a"><a class="wikilink2" title="Română" href="/ro:devel:environment">Română (ro)</a></li><li class="a"><a class="wikilink1" title="Русский" href="/ru:devel:environment">Русский (ru)</a></li><li class="a"><a class="wikilink2" title="Српски Језик" href="/sr:devel:environment">Српски Језик (sr)</a></li><li class="a"><a class="wikilink2" title="Svenska" href="/sv:devel:environment">Svenska (sv)</a></li><li class="a"><a class="wikilink2" title="ไทย" href="/th:devel:environment">ไทย (th)</a></li><li class="a"><a class="wikilink2" title="Українська" href="/uk:devel:environment">Українська (uk)</a></li><li class="a"><a class="wikilink2" title="中文" href="/zh:devel:environment">中文 (zh)</a></li><li class="a"><a class="wikilink2" title="繁體中文" href="/zh-tw:devel:environment">繁體中文 (zh-tw)</a></li></ul></div> <p> <strong>Learn about DokuWiki</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/features" class="wikilink1" title="features" data-wiki-id="features">Features</a> & <a href="/blogroll" class="wikilink1" title="blogroll" data-wiki-id="blogroll">reviews</a> </div> </li> <li class="level1"><div class="li"> <a href="/install" class="wikilink1" title="install" data-wiki-id="install">Installation guide</a></div> </li> <li class="level1"><div class="li"> <a href="/manual" class="wikilink1" title="manual" data-wiki-id="manual">User manual</a> & <a href="/wiki:syntax" class="wikilink1" title="wiki:syntax" data-wiki-id="wiki:syntax">syntax</a></div> </li> <li class="level1"><div class="li"> <a href="/changes" class="wikilink1" title="changes" data-wiki-id="changes">Release notes</a></div> </li> <li class="level1"><div class="li"> <a href="/faq" class="wikilink1" title="faq" data-wiki-id="faq">FAQ</a></div> </li> </ul> <p> <strong>Advanced Use</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/extensions" class="wikilink1" title="extensions" data-wiki-id="extensions">Extensions</a></div> </li> <li class="level1"><div class="li"> <a href="/development" class="wikilink1" title="development" data-wiki-id="development">Development manual</a></div> </li> </ul> <p> <strong>Corporate Use</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/faq:support" class="wikilink1" title="faq:support" data-wiki-id="faq:support">Get support</a></div> </li> <li class="level1"><div class="li"> <a href="/donate" class="wikilink1" title="donate" data-wiki-id="donate">Donations</a></div> </li> </ul> <p> <strong>Our Community</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/teams:getting_involved" class="wikilink1" title="teams:getting_involved" data-wiki-id="teams:getting_involved">Get involved</a></div> </li> <li class="level1"><div class="li"> <a href="/dokuinstall" class="wikilink1" title="dokuinstall" data-wiki-id="dokuinstall">Users</a></div> </li> <li class="level1"><div class="li"> <a href="http://forum.dokuwiki.org" class="urlextern" title="http://forum.dokuwiki.org">User forum</a></div> </li> <li class="level1"><div class="li"> <a href="/mailinglist" class="wikilink1" title="mailinglist" data-wiki-id="mailinglist">Development mailinglist</a></div> </li> </ul> <hr /> <p> Follow us on <a href="https://phpc.social/@dokuwiki" class="urlextern" title="https://phpc.social/@dokuwiki">Mastodon</a> and other <a href="/social" class="wikilink1" title="social" data-wiki-id="social">social networks</a>. </p> <p> <a href="/privacy" class="wikilink1" title="privacy" data-wiki-id="privacy">Our Privacy Policy</a> </p> </div></div> </div></nav><!-- /aside --> <!-- ********** CONTENT ********** --> <main id="dokuwiki__content"><div class="pad group"> <div class="pageId"><span>devel:environment</span></div> <div class="page group"> <!-- wikipage start --> <!-- TOC START --> <div id="dw__toc" class="dw__toc"> <h3 class="toggle">Table of Contents</h3> <div> <ul class="toc"> <li class="level1"><div class="li"><a href="#environment">Environment</a></div> <ul class="toc"> <li class="level2"><div class="li"><a href="#global_variables">Global Variables</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#act">$ACT</a></div></li> <li class="level3"><div class="li"><a href="#auth">$auth</a></div></li> <li class="level3"><div class="li"><a href="#conf">$conf</a></div></li> <li class="level3"><div class="li"><a href="#id">$ID</a></div></li> <li class="level3"><div class="li"><a href="#info">$INFO</a></div></li> <li class="level3"><div class="li"><a href="#lang">$lang</a></div></li> <li class="level3"><div class="li"><a href="#rev">$REV</a></div></li> <li class="level3"><div class="li"><a href="#server_remote_user">$_SERVER['REMOTE_USER']</a></div></li> <li class="level3"><div class="li"><a href="#text">$TEXT</a></div></li> <li class="level3"><div class="li"><a href="#toc">$TOC</a></div></li> <li class="level3"><div class="li"><a href="#userinfo">$USERINFO</a></div></li> <li class="level3"><div class="li"><a href="#jsinfo">$JSINFO</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#constants">Constants</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#auth1">AUTH_<*></a></div></li> <li class="level3"><div class="li"><a href="#doku">DOKU_<*></a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#request_variables">Request Variables</a></div></li> </ul></li> </ul> </div> </div> <!-- TOC END --> <h1 class="sectionedit1" id="environment">Environment</h1> <div class="level1"> <p> This page should give you a brief overview about available variables and constants you can use in <a href="/devel:plugins" class="wikilink1" title="devel:plugins" data-wiki-id="devel:plugins">plugin</a> or <a href="/devel:templates" class="wikilink1" title="devel:templates" data-wiki-id="devel:templates">template</a> development. </p> </div> <div class="secedit editbutton_section editbutton_1"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[Environment] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="environment" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1-184" /><button type="submit" title="Environment">Edit</button></div></form></div> <h2 class="sectionedit2" id="global_variables">Global Variables</h2> <div class="level2"> </div> <div class="secedit editbutton_section editbutton_2"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[Global Variables] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="global_variables" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="185-214" /><button type="submit" title="Global Variables">Edit</button></div></form></div> <h3 class="sectionedit3" id="act">$ACT</h3> <div class="level3"> <p> Holds the current action, see <a href="/devel:action_modes" class="wikilink1" title="devel:action_modes" data-wiki-id="devel:action_modes">Action Modes</a>. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=ACT&path=" class="interwiki plugin_xref" title="view definition for $ACT">reference</a>) </p> <p> <img src="/lib/images/smileys/exclaim.svg" class="icon smiley" alt=":!:" /> <code>$ACT</code> can also be an array instead of a string depending on when it is used. So if you compare it using a string comparison function (e.g. <code>strcmp()</code>, <code>strncmp()</code>) then you better make sure that it is not an array using <code>!is_array($ACT)</code>. Otherwise the result may be undefined. <img src="/lib/images/smileys/exclaim.svg" class="icon smiley" alt=":!:" /> </p> <p> <img src="/lib/images/smileys/exclaim.svg" class="icon smiley" alt=":!:" /> If you are handling an <a href="/devel:event:action_act_preprocess" class="wikilink1" title="devel:event:action_act_preprocess" data-wiki-id="devel:event:action_act_preprocess">ACTION_ACT_PREPROCESS</a> event, use <code>$event->data</code> instead of <code>$ACT</code>. </p> </div> <div class="secedit editbutton_section editbutton_3"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$ACT] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="act" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="215-720" /><button type="submit" title="$ACT">Edit</button></div></form></div> <h3 class="sectionedit4" id="auth">$auth</h3> <div class="level3"> <p> The globally available <code>$auth</code> object represents an instance of the used <a href="/auth" class="wikilink1" title="auth" data-wiki-id="auth">authentication plugin</a>, which inherites from <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AuthPlugin&path=AuthPlugin" class="interwiki plugin_xref" title="view definition for AuthPlugin">AuthPlugin</a>. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=auth&path=" class="interwiki plugin_xref" title="search definitions for $auth">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_4"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$auth] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="auth" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="721-915" /><button type="submit" title="$auth">Edit</button></div></form></div> <h3 class="sectionedit5" id="conf">$conf</h3> <div class="level3"> <p> The globally available <code>$conf</code> array holds all of DokuWiki's configuration settings. In general it follows the following structure: </p> <ul> <li class="level1"><div class="li"> <code>$conf[<setting_name>]</code> — DokuWiki settings (refer <a href="/config" class="wikilink1" title="config" data-wiki-id="config">config</a>)</div> </li> <li class="level1"><div class="li"> <code>$conf[<setting_group>][<setting_name>]</code> — Some DokuWiki settings use this format, e.g. ftp, proxy and target settings.</div> </li> <li class="level1"><div class="li"> <code>$conf['tpl'][<template_name>][<setting_name>]</code> — Template configuration settings, refer to the template documentation. Note only one template at a time is enabled.</div> </li> <li class="level1"><div class="li"> <code>$conf['plugin'][<plugin_name>][<setting_name>]</code> — Plugin configuration settings, refer to the plugin documentation.</div> </li> <li class="level1"><div class="li"> <code>$conf['plugin'][<auth_plugin_name>][<setting_name>]</code> — Auth plugin settings, refer to the auth plugin documentation.</div> </li> </ul> <p> Normally you don't need to access this array directly. Both, Plugins and Templates have their own methods to accessing their respective configuration settings. </p> <p> (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=conf&path=" class="interwiki plugin_xref" title="search definitions for $conf">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_5"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$conf] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="conf" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="916-1881" /><button type="submit" title="$conf">Edit</button></div></form></div> <h3 class="sectionedit6" id="id">$ID</h3> <div class="level3"> <p> Holds the <a href="/pagename" class="wikilink1" title="pagename" data-wiki-id="pagename">pagename</a> of the currently rendered page. This page is usually the currently viewed page, but not necessarily - see the <code>$INFO['id']</code> below. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=ID&path=" class="interwiki plugin_xref" title="search definitions for $ID">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_6"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$ID] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="id" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1882-2079" /><button type="submit" title="$ID">Edit</button></div></form></div> <h3 class="sectionedit7" id="info">$INFO</h3> <div class="level3"> <p> This is an associative array, populated with information provided by <code>inc/common.php</code> function <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=pageinfo&path=" class="interwiki plugin_xref" title="view definition for pageinfo()">pageinfo()</a>. </p> <p> Current elements are: </p> <ul> <li class="level1"><div class="li"> <code>id</code> — pagename of main page currently viewed. Usually the same as <code>$ID</code> but might sometimes be different. See <a href="http://bugs.dokuwiki.org/index.php?do=details&task_id=1320" class="interwiki iw_bug" title="http://bugs.dokuwiki.org/index.php?do=details&task_id=1320">1320</a> for some detail.</div> </li> <li class="level1"><div class="li"> <code>rev</code> — revision of the main page currently viewed, usually the same as $REV.</div> </li> <li class="level1 node"><div class="li"> <code>userinfo</code> — only set for a logged user, an associative array…</div> <ul> <li class="level2"><div class="li"> <code>pass</code> — password, encrypted</div> </li> <li class="level2"><div class="li"> <code>name</code> — full name</div> </li> <li class="level2"><div class="li"> <code>mail</code> — email address</div> </li> <li class="level2"><div class="li"> <code>grps</code> — groups the user belongs to (Array <img src="/lib/images/smileys/exclaim.svg" class="icon smiley" alt=":!:" />)</div> </li> <li class="level2"><div class="li"> <code>buid</code> — a special id constructed from details of the user's browser and IP address</div> </li> </ul> </li> <li class="level1"><div class="li"> <code>perm</code> — the user's permissions related to the current page ($ID)</div> </li> <li class="level1"><div class="li"> <code>subscribed</code> — true if the user has subscribed to this page, false otherwise</div> </li> <li class="level1"><div class="li"> <code>namespace</code> — the namespace the current page ($ID) belongs to</div> </li> <li class="level1"><div class="li"> <code>locked</code> — true if the page is locked, false otherwise</div> </li> <li class="level1"><div class="li"> <code>filepath</code> — the file system path to the raw wiki data for the current page ($ID+$REV)</div> </li> <li class="level1"><div class="li"> <code>exists</code> — true if the raw wiki data for the current page exists ($ID+$REV), false otherwise</div> </li> <li class="level1"><div class="li"> <code>rev</code> — the revision id for the current page ($ID), an empty string if the current revision</div> </li> <li class="level1"><div class="li"> <code>writable</code> — true if for the current page ($ID+$REV) the combination of file existence, file permissions and the user's <abbr title="Access Control List">ACL</abbr> permissions allow them to, write to an existing file or to create a nonexistent file. False otherwise.</div> </li> <li class="level1"><div class="li"> <code>editable</code> — true if the current page ($ID+$REV) is writable and not currently locked.</div> </li> <li class="level1"><div class="li"> <code>lastmod</code> — timestamp of the last modification to the current page ($ID+$REV)</div> </li> <li class="level1"><div class="li"> <code>meta</code> — <a href="/devel:metadata" class="wikilink1" title="devel:metadata" data-wiki-id="devel:metadata">metadata</a> for the current page ($ID)</div> </li> <li class="level1"><div class="li"> <code>ip</code> — IP address of the last editor of the current page ($ID+$REV)</div> </li> <li class="level1"><div class="li"> <code>user</code> — username of the last editor of the current page ($ID+$REV)</div> </li> <li class="level1"><div class="li"> <code>sum</code> — edit summary annotation for the current page ($ID+$REV)</div> </li> <li class="level1"><div class="li"> <code>editor</code> — user name (or IP address if user name is unknown) of the last editor of the current page ($ID+$REV)</div> </li> <li class="level1"><div class="li"> <code>isadmin</code> — true if the currently logged in user is a <a href="/config:superuser" class="wikilink1" title="config:superuser" data-wiki-id="config:superuser">superuser</a></div> </li> <li class="level1"><div class="li"> <code>ismanager</code> — true if the currently logged in user is a <a href="/config:manager" class="wikilink1" title="config:manager" data-wiki-id="config:manager">manager</a></div> </li> <li class="level1"><div class="li"> <code>draft</code> — contains the file name of a <a href="/draft" class="wikilink1" title="draft" data-wiki-id="draft">draft</a> file if it exists for the current user and page</div> </li> <li class="level1"><div class="li"> <code>ismobile</code> — true if the page is browsed from a mobile device or phone</div> </li> <li class="level1"><div class="li"> <code>client</code> — name of a user currently logged in </div> </li> </ul> <p> On <a href="/devel:infoarray" class="wikilink1" title="devel:infoarray" data-wiki-id="devel:infoarray">$INFO array</a> is an example array dumped. </p> </div> <div class="secedit editbutton_section editbutton_7"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$INFO] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="info" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="2080-4667" /><button type="submit" title="$INFO">Edit</button></div></form></div> <h3 class="sectionedit8" id="lang">$lang</h3> <div class="level3"> <p> An associative array which hold all translation strings of the interface, plugins and templates. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=lang&path=" class="interwiki plugin_xref" title="search definitions for $lang">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_8"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$lang] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="lang" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="4668-4809" /><button type="submit" title="$lang">Edit</button></div></form></div> <h3 class="sectionedit9" id="rev">$REV</h3> <div class="level3"> <p> Holds the revision timestamp of the currently rendered page. This is <code>''</code> (empty string) when the most current page is meant. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=REV&path=" class="interwiki plugin_xref" title="search definitions for $REV">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_9"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$REV] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="rev" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="4810-4984" /><button type="submit" title="$REV">Edit</button></div></form></div> <h3 class="sectionedit10" id="server_remote_user">$_SERVER['REMOTE_USER']</h3> <div class="level3"> <p> This variable is explicitly set by DokuWiki's authentication mechanism when a user logs in and holds the users name. </p> <pre class="code php"><span class="re0">$userid</span> <span class="sy0">=</span> <span class="re0">$INPUT</span><span class="sy0">-></span><span class="me1">server</span><span class="sy0">-></span><span class="me1">str</span><span class="br0">(</span><span class="st_h">'REMOTE_USER'</span><span class="br0">)</span><span class="sy0">;</span></pre> </div> <div class="secedit editbutton_section editbutton_10"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$_SERVER['REMOTE_USER']] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="server_remote_user" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="4985-5202" /><button type="submit" title="$_SERVER['REMOTE_USER']">Edit</button></div></form></div> <h3 class="sectionedit11" id="text">$TEXT</h3> <div class="level3"> <p> On <code>save</code> and <code>preview</code> this global variable holds the text submitted via the edit form. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=TEXT&path=" class="interwiki plugin_xref" title="view definition for $TEXT">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_11"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$TEXT] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="text" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="5203-5340" /><button type="submit" title="$TEXT">Edit</button></div></form></div> <h3 class="sectionedit12" id="toc">$TOC</h3> <div class="level3"> <p> This variable will, if populated, be used by <a href="/devel:templates#tpl_toc" class="wikilink1" title="devel:templates" data-wiki-id="devel:templates">tpl_toc()</a> to build the <a href="/toc" class="wikilink1" title="toc" data-wiki-id="toc">TOC</a> of a page. Normally this variable is empty and <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=tpl_toc&path=" class="interwiki plugin_xref" title="view definition for tpl_toc()">tpl_toc()</a> builds the <abbr title="Table of Contents">TOC</abbr> from the page <a href="/devel:metadata" class="wikilink1" title="devel:metadata" data-wiki-id="devel:metadata">metadata</a>. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=TOC&path=" class="interwiki plugin_xref plugin_xref_err" title="unknown definition">reference</a>) </p> </div> <div class="secedit editbutton_section editbutton_12"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$TOC] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="toc" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="5341-5583" /><button type="submit" title="$TOC">Edit</button></div></form></div> <h3 class="sectionedit13" id="userinfo">$USERINFO</h3> <div class="level3"> <p> An globally available associative array which hold some information of an <strong>authenticated</strong> user. </p> <ul> <li class="level1"><div class="li"> pass - hash of the users' password</div> </li> <li class="level1"><div class="li"> name - the users' full name</div> </li> <li class="level1"><div class="li"> mail - the users' mail address</div> </li> <li class="level1"><div class="li"> grps - array of groups the user is part of</div> </li> </ul> <p> If logged out, or not logged in, this global is set to null. </p> <p> (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=USERINFO&path=" class="interwiki plugin_xref plugin_xref_err" title="unknown definition">reference</a> ) </p> <p> The array is filled in <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=auth_setCookie&path=" class="interwiki plugin_xref" title="view definition for auth_setCookie()">auth_setCookie()</a> after login, or from existing session <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=auth_login&path=" class="interwiki plugin_xref" title="view definition for auth_login()">auth_login()</a>. Or if the authentication plugin uses <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=trustExternal&path=" class="interwiki plugin_xref" title="view definition for trustExternal()">trustExternal()</a>, it is already set there. </p> </div> <div class="secedit editbutton_section editbutton_13"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$USERINFO] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="userinfo" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="5584-6150" /><button type="submit" title="$USERINFO">Edit</button></div></form></div> <h3 class="sectionedit14" id="jsinfo">$JSINFO</h3> <div class="level3"> <p> This array contained information that is passed to the JavaScript as global variable. </p> <p> Read more: </p> <ul> <li class="level1"><div class="li"> Javascript devel docs: <a href="/devel:javascript#jsinfo" class="wikilink1" title="devel:javascript" data-wiki-id="devel:javascript">JSINFO</a></div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=JSINFO&path=" class="interwiki plugin_xref plugin_xref_err" title="unknown definition">reference</a></div> </li> </ul> </div> <div class="secedit editbutton_section editbutton_14"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[$JSINFO] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="jsinfo" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="6151-6353" /><button type="submit" title="$JSINFO">Edit</button></div></form></div> <h2 class="sectionedit15" id="constants">Constants</h2> <div class="level2"> <p> Here follows a list of the most important constants. </p> </div> <div class="secedit editbutton_section editbutton_15"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[Constants] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="constants" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="6354-6430" /><button type="submit" title="Constants">Edit</button></div></form></div> <h3 class="sectionedit16" id="auth1">AUTH_<*></h3> <div class="level3"> <p> The <code>AUTH_<*></code> type constants represent the permission levels, as integer value, used in DokuWiki's <a href="/acl" class="wikilink1" title="acl" data-wiki-id="acl">ACL</a> system. They can be used to let <abbr title="Access Control List">ACL</abbr> checks for a given <a href="/page" class="wikilink1" title="page" data-wiki-id="page">page</a>/<a href="/namespaces" class="wikilink1" title="namespaces" data-wiki-id="namespaces">namespace</a> look a little bit more verbose. </p> <pre class="code php"><span class="kw1">if</span> <span class="br0">(</span>auth_quickaclcheck<span class="br0">(</span><span class="re0">$ID</span><span class="br0">)</span> <span class="sy0">>=</span> AUTH_READ<span class="br0">)</span> <span class="br0">{</span> <span class="co1">// do sth.</span> <span class="br0">}</span></pre> </div> <h4 id="auth_none">AUTH_NONE</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 0</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_NONE&path=" class="interwiki plugin_xref" title="view definition for AUTH_NONE">reference</a></div> </li> </ul> </div> <h4 id="auth_read">AUTH_READ</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 1</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_READ&path=" class="interwiki plugin_xref" title="view definition for AUTH_READ">reference</a></div> </li> </ul> </div> <h4 id="auth_edit">AUTH_EDIT</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 2</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_EDIT&path=" class="interwiki plugin_xref" title="view definition for AUTH_EDIT">reference</a></div> </li> </ul> </div> <h4 id="auth_create">AUTH_CREATE</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 4</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_CREATE&path=" class="interwiki plugin_xref" title="view definition for AUTH_CREATE">reference</a></div> </li> </ul> </div> <h4 id="auth_upload">AUTH_UPLOAD</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 8</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_UPLOAD&path=" class="interwiki plugin_xref" title="view definition for AUTH_UPLOAD">reference</a></div> </li> </ul> </div> <h4 id="auth_delete">AUTH_DELETE</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 16</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_DELETE&path=" class="interwiki plugin_xref" title="view definition for AUTH_DELETE">reference</a></div> </li> </ul> </div> <h4 id="auth_admin">AUTH_ADMIN</h4> <div class="level4"> <ul> <li class="level1"><div class="li"> <strong>Type:</strong> Integer</div> </li> <li class="level1"><div class="li"> <strong>Value:</strong> 255</div> </li> <li class="level1"><div class="li"> <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=AUTH_ADMIN&path=" class="interwiki plugin_xref" title="view definition for AUTH_ADMIN">reference</a></div> </li> </ul> </div> <div class="secedit editbutton_section editbutton_16"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[AUTH_<*>] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="auth1" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="6431-7414" /><button type="submit" title="AUTH_<*>">Edit</button></div></form></div> <h3 class="sectionedit17" id="doku">DOKU_<*></h3> <div class="level3"> <p> The <code>DOKU_<*></code> type constants hold information about various <em>system</em> information for DokuWiki's internal use. </p> </div> <h4 id="doku_base">DOKU_BASE</h4> <div class="level4"> <p> The <abbr title="Uniform Resource Locator">URL</abbr> base of the DokuWiki install. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_BASE&path=" class="interwiki plugin_xref" title="view definition for DOKU_BASE">reference</a>) </p> <pre class="code">/dokuwiki/</pre> <p> Or if <a href="/config:canonical" class="wikilink1" title="config:canonical" data-wiki-id="config:canonical">canonical</a> is set: </p> <pre class="code">http://domain.org/dokuwiki/</pre> </div> <h4 id="doku_rel">DOKU_REL</h4> <div class="level4"> <p> The <abbr title="Uniform Resource Locator">URL</abbr> base path to the DokuWiki install. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_URL&path=" class="interwiki plugin_xref" title="view definition for DOKU_URL">reference</a>) </p> <pre class="code">/dokuwiki/</pre> </div> <h4 id="doku_url">DOKU_URL</h4> <div class="level4"> <p> The absolute <abbr title="Uniform Resource Locator">URL</abbr> to the DokuWiki install. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_URL&path=" class="interwiki plugin_xref" title="view definition for DOKU_URL">reference</a>) </p> <pre class="code">http://domain.org/dokuwiki/</pre> </div> <h4 id="doku_inc">DOKU_INC</h4> <div class="level4"> <p> The server side include path of the DokuWiki install. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_INC&path=" class="interwiki plugin_xref" title="search definitions for DOKU_INC">reference</a>) </p> <pre class="code">/var/www/dokuwiki/</pre> </div> <h4 id="doku_conf">DOKU_CONF</h4> <div class="level4"> <p> The server side conf path of the DokuWiki install. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_CONF&path=" class="interwiki plugin_xref" title="search definitions for DOKU_CONF">reference</a>) </p> <pre class="code">/var/www/dokuwiki/conf/ </pre> </div> <h4 id="doku_tpl">DOKU_TPL</h4> <div class="level4"> <p> (<a href="/devel:deprecated" class="wikilink1" title="devel:deprecated" data-wiki-id="devel:deprecated">deprecated</a>) The <abbr title="Uniform Resource Locator">URL</abbr> base path to the current used template. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_TPL&path=" class="interwiki plugin_xref" title="view definition for DOKU_TPL">reference</a>) </p> <pre class="code">/dokuwiki/lib/tpl/<template>/</pre> <p> Or if <a href="/config:canonical" class="wikilink1" title="config:canonical" data-wiki-id="config:canonical">canonical</a> is set: </p> <pre class="code">http://domain.org/lib/tpl/<template>/</pre> <p> Note: this define is <a href="/devel:deprecated" class="wikilink1" title="devel:deprecated" data-wiki-id="devel:deprecated">deprecated</a> and should be replaced by call to <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=tpl_basedir&path=" class="interwiki plugin_xref" title="view definition for tpl_basedir()">tpl_basedir()</a>. </p> </div> <h4 id="doku_tplinc">DOKU_TPLINC</h4> <div class="level4"> <p> (<a href="/devel:deprecated" class="wikilink1" title="devel:deprecated" data-wiki-id="devel:deprecated">deprecated</a>) The server side include path of the current used template. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_TPLINC&path=" class="interwiki plugin_xref" title="view definition for DOKU_TPLINC">reference</a>) </p> <pre class="code">/var/www/dokuwiki/lib/tpl/<template>/</pre> <p> Note: this define is <a href="/devel:deprecated" class="wikilink1" title="devel:deprecated" data-wiki-id="devel:deprecated">deprecated</a> and should be replaced by call to <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=tpl_incdir&path=" class="interwiki plugin_xref" title="view definition for tpl_incdir()">tpl_incdir()</a>. </p> </div> <h4 id="doku_plugin">DOKU_PLUGIN</h4> <div class="level4"> <p> The server side include path of the plugins install. (<a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=DOKU_PLUGIN&path=" class="interwiki plugin_xref" title="search definitions for DOKU_PLUGIN">reference</a>) </p> <pre class="code">/var/www/dokuwiki/lib/plugins/</pre> </div> <div class="secedit editbutton_section editbutton_17"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[DOKU_<*>] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="doku" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="7415-8937" /><button type="submit" title="DOKU_<*>">Edit</button></div></form></div> <h2 class="sectionedit18" id="request_variables">Request Variables</h2> <div class="level2"> <p> Since 2012-09-10 “Adora Belle”, request variables are accessible through the <a href="https://codesearch.dokuwiki.org/search?project=dokuwiki&defs=Input&path=Input" class="interwiki plugin_xref" title="view definition for Input">Input</a> class. For further information please have a look at <a href="/devel:request_vars" class="wikilink1" title="devel:request_vars" data-wiki-id="devel:request_vars">request_vars</a>. </p> </div> <div class="secedit editbutton_section editbutton_18"><form class="button btn_secedit" method="post" action="/devel:environment"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1699192224" /><input type="hidden" name="summary" value="[Request Variables] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="request_variables" /><input type="hidden" name="codeblockOffset" value="2" /><input type="hidden" name="range" value="8938-" /><button type="submit" title="Request Variables">Edit</button></div></form></div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>devel/environment.txt</bdi> · Last modified: <time datetime="2023-11-05T14:50:24+0100">2023-11-05 14:50</time> by <bdi>Klap-in</bdi></div> <hr class="a11y" /> </div></main><!-- /content --> <!-- PAGE ACTIONS --> <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading"> <h3 class="a11y" id="dokuwiki__pagetools__heading">Page Tools</h3> <div class="tools"> <ul> <li class="edit"><a href="/devel:environment?do=edit" title="Edit this page [e]" rel="nofollow" accesskey="e"><span>Edit this page</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg></a></li><li class="revs"><a href="/devel:environment?do=revisions" title="Old revisions [o]" rel="nofollow" accesskey="o"><span>Old revisions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></a></li><li class="backlink"><a href="/devel:environment?do=backlink" title="Backlinks" rel="nofollow"><span>Backlinks</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg></a></li><li class="top"><a href="#dokuwiki__top" title="Back to top [t]" rel="nofollow" accesskey="t"><span>Back to top</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg></a></li> </ul> </div> </nav> </div><!-- /wrapper --> <!-- ********** FOOTER ********** --> <footer id="dokuwiki__footer"><div class="pad"> <div class="license">Except where otherwise noted, content on this wiki is licensed under the following license: <bdi><a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license" class="urlextern">CC Attribution-Share Alike 4.0 International</a></bdi></div> <div class="buttons"> <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license"><img src="/lib/images/license/button/cc-by-sa.png" alt="CC Attribution-Share Alike 4.0 International" /></a> <a href="https://www.dokuwiki.org/donate" title="Donate" ><img src="/lib/tpl/dokuwiki/images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="https://php.net" title="Powered by PHP" ><img src="/lib/tpl/dokuwiki/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" ><img src="/lib/tpl/dokuwiki/images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" ><img src="/lib/tpl/dokuwiki/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" ><img src="/lib/tpl/dokuwiki/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> </div> <div style="margin-top: 2em; font-size:90%" class="dokuwiki"><div style="float:right"><a href="http://www.splitbrain.org/personal#imprint" style="float:right; text-decoration: none; color:#333">Imprint</a></div></div><!-- Include for DokuWiki site wide top bar --> <style type="text/css"> @media screen { body { padding-top: 30px; } #global__header { position: absolute; top: 0; left: 0; text-align: left; vertical-align: middle; line-height: 1.5; background-color: #333; box-shadow: 0 0 8px rgba(0,0,0,0.5); width: 100%; margin: 0; padding: 5px 20px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; overflow: hidden; } #global__header h2 { position: absolute; left: -99999em; top: 0; overflow: hidden; display: inline; } #global__header ul, #global__header li { margin: 0; padding: 0; list-style: none; display: inline; line-height: 1.5; } #global__header a { color: #bbb; text-decoration: none; margin-right: 20px; font-size: 14px; font-weight: normal; } #global__header a:hover, #global__header a:active, #global__header a:focus { color: #fff; text-decoration: underline; } #global__header form { float: right; margin: 0 0 0 20px; } #global__header input { background-color: #333; background-image: none; border: 1px solid #bbb; color: #fff; box-shadow: none; border-radius: 2px; margin: 0; line-height: normal; padding: 1px 0 1px 0; height: auto; } #global__header input.button { border: none; color: #bbb; } #global__header input.button:hover, #global__header input.button:active, #global__header input.button:focus { color: #fff; text-decoration: underline; } } /* /@media */ @media only screen and (min-width: 601px) { /* changes specific for www.dokuwiki.org */ #dokuwiki__header { padding-top: 3em; } #dokuwiki__usertools { top: 3em; } /* changes specific for bugs.dokuwiki.org */ div#container div#showtask { top: 40px; } } /* /@media */ @media only screen and (max-width: 600px) { body { padding-top: 0; } #global__header { position: static; white-space: normal; overflow: auto; } #global__header form { float: none; display: block; margin: 0 0 .4em; } } /* /@media */ @media print { #global__header { display: none; } } /* /@media */ </style> <div id="global__header"> <h2>Global DokuWiki Links</h2> <form method="get" action="https://search.dokuwiki.org/" target="_top"> <input type="text" name="q" title="Search all DokuWiki sites at once" class="input" /> <input type="submit" title="Search all DokuWiki sites at once" value="Search" class="button" /> </form> <ul> <li><a href="https://download.dokuwiki.org" title="Download the latest release" target="_top">Download</a></li> <li><a href="https://www.dokuwiki.org" title="Read the DokuWiki documentation" target="_top">Wiki</a></li> <li><a href="https://forum.dokuwiki.org" title="Ask questions in the DokuWiki forum" target="_top">Forum</a></li> <li><a href="https://irc.dokuwiki.org" title="Check IRC chat logs or join the chat" target="_top">IRC</a></li> <li><a href="https://github.com/splitbrain/dokuwiki/issues" title="Report and track bugs" target="_top">Bugs</a></li> <li><a href="https://translate.dokuwiki.org/" title="Help translating the DokuWiki interface" target="_top">Translate</a></li> <li><a href="https://github.com/splitbrain/dokuwiki" title="Access the most recent git commits" target="_top">Git</a></li> <li><a href="https://xref.dokuwiki.org/reference/dokuwiki/" title="Cross-Reference of the DokuWiki source code" target="_top">XRef</a></li> <li><a href="https://codesearch.dokuwiki.org/" title="Search through the sources of DokuWiki, plugins and templates" target="_top">Code Search</a></li> </ul> </div> <!-- end of DokuWiki top bar include --> </div></footer><!-- /footer --> </div></div><!-- /site --> <div class="no"><img src="/lib/exe/taskrunner.php?id=devel%3Aenvironment&1742985348" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div></body> </html>