1*fa5fcacaSAndreas Haerter<?php 2*fa5fcacaSAndreas Haerter 3*fa5fcacaSAndreas Haerter/** 4*fa5fcacaSAndreas Haerter * Default box configuration of the "vector" DokuWiki template 5*fa5fcacaSAndreas Haerter * 6*fa5fcacaSAndreas Haerter * 7*fa5fcacaSAndreas Haerter * LICENSE: This file is open source software (OSS) and may be copied under 8*fa5fcacaSAndreas Haerter * certain conditions. See COPYING file for details or try to contact 9*fa5fcacaSAndreas Haerter * the author(s) of this file in doubt. 10*fa5fcacaSAndreas Haerter * 11*fa5fcacaSAndreas Haerter * @license GPLv2 (http://www.gnu.org/licenses/gpl2.html) 12*fa5fcacaSAndreas Haerter * @author Andreas Haerter <andreas.haerter@dev.mail-node.com> 13*fa5fcacaSAndreas Haerter * @link http://andreas-haerter.com/projects/dokuwiki-template-vector 14*fa5fcacaSAndreas Haerter * @link http://www.dokuwiki.org/template:vector 15*fa5fcacaSAndreas Haerter * @link http://www.dokuwiki.org/devel:configuration 16*fa5fcacaSAndreas Haerter */ 17*fa5fcacaSAndreas Haerter 18*fa5fcacaSAndreas Haerter 19*fa5fcacaSAndreas Haerter 20*fa5fcacaSAndreas Haerter/****************************************************************************** 21*fa5fcacaSAndreas Haerter ******************************** ATTENTION ********************************* 22*fa5fcacaSAndreas Haerter DO NOT MODIFY THIS FILE, IT WILL NOT BE PRESERVED ON UPDATES! 23*fa5fcacaSAndreas Haerter ****************************************************************************** 24*fa5fcacaSAndreas Haerter If you want to add some own boxes, have a look at the README of this 25*fa5fcacaSAndreas Haerter template and "/user/boxes.php". You have been warned! 26*fa5fcacaSAndreas Haerter *****************************************************************************/ 27*fa5fcacaSAndreas Haerter 28*fa5fcacaSAndreas Haerter 29*fa5fcacaSAndreas Haerter//check if we are running within the DokuWiki environment 30*fa5fcacaSAndreas Haerterif (!defined("DOKU_INC")){ 31*fa5fcacaSAndreas Haerter die(); 32*fa5fcacaSAndreas Haerter} 33*fa5fcacaSAndreas Haerter 34*fa5fcacaSAndreas Haerter 35*fa5fcacaSAndreas Haerter//note: The boxes will be rendered in the order they were defined. Means: 36*fa5fcacaSAndreas Haerter// first box will be rendered first, last box will be rendered at last. 37*fa5fcacaSAndreas Haerter 38*fa5fcacaSAndreas Haerter 39*fa5fcacaSAndreas Haerter//hide boxes for anonymous clients (closed wiki)? 40*fa5fcacaSAndreas Haerterif (empty($conf["useacl"]) || //are there any users? 41*fa5fcacaSAndreas Haerter $loginname !== "" || //user is logged in? 42*fa5fcacaSAndreas Haerter !tpl_getConf("vector_closedwiki")){ 43*fa5fcacaSAndreas Haerter 44*fa5fcacaSAndreas Haerter 45*fa5fcacaSAndreas Haerter //navigation 46*fa5fcacaSAndreas Haerter if (tpl_getConf("vector_navigation")){ 47*fa5fcacaSAndreas Haerter //headline 48*fa5fcacaSAndreas Haerter $_vector_boxes["p-navigation"]["headline"] = $lang["vector_navigation"]; 49*fa5fcacaSAndreas Haerter 50*fa5fcacaSAndreas Haerter //content 51*fa5fcacaSAndreas Haerter if (empty($conf["useacl"]) || 52*fa5fcacaSAndreas Haerter auth_quickaclcheck(cleanID(tpl_getConf("vector_navigation_location"))) >= AUTH_READ){ //current user got access? 53*fa5fcacaSAndreas Haerter //get the rendered content of the defined wiki article to use as custom navigation 54*fa5fcacaSAndreas Haerter $interim = tpl_include_page(tpl_getConf("vector_navigation_location"), false); 55*fa5fcacaSAndreas Haerter if ($interim === "" || 56*fa5fcacaSAndreas Haerter $interim === false){ 57*fa5fcacaSAndreas Haerter //creation/edit link if the defined page got no content 58*fa5fcacaSAndreas Haerter $_vector_boxes["p-navigation"]["xhtml"] = "[ ".html_wikilink(tpl_getConf("vector_navigation_location"), hsc($lang["vector_fillplaceholder"]." (".tpl_getConf("vector_navigation_location").")"))." ]<br />"; 59*fa5fcacaSAndreas Haerter }else{ 60*fa5fcacaSAndreas Haerter //the rendered page content 61*fa5fcacaSAndreas Haerter $_vector_boxes["p-navigation"]["xhtml"] = $interim; 62*fa5fcacaSAndreas Haerter } 63*fa5fcacaSAndreas Haerter } 64*fa5fcacaSAndreas Haerter } 65*fa5fcacaSAndreas Haerter 66*fa5fcacaSAndreas Haerter //table of contents (TOC) - show outside the article? (this is a dirty hack but often requested) 67*fa5fcacaSAndreas Haerter if (tpl_getConf("vector_toc_position") === "sidebar"){ 68*fa5fcacaSAndreas Haerter //check if the current page got a TOC 69*fa5fcacaSAndreas Haerter $toc = tpl_toc(true); 70*fa5fcacaSAndreas Haerter if (!empty($toc)) { 71*fa5fcacaSAndreas Haerter //headline 72*fa5fcacaSAndreas Haerter $_vector_boxes["p-toc"]["headline"] = $lang["toc"]; //language comes from DokuWiki core 73*fa5fcacaSAndreas Haerter 74*fa5fcacaSAndreas Haerter //content 75*fa5fcacaSAndreas Haerter $_vector_boxes["p-toc"]["xhtml"] = //get rid of some styles and the embedded headline 76*fa5fcacaSAndreas Haerter str_replace(//search 77*fa5fcacaSAndreas Haerter array("<div class=\"tocheader toctoggle\" id=\"toc__header\">".$lang["toc"]."</div>", //language comes from DokuWiki core 78*fa5fcacaSAndreas Haerter " class=\"toc\"", 79*fa5fcacaSAndreas Haerter " id=\"toc__inside\""), 80*fa5fcacaSAndreas Haerter //replace 81*fa5fcacaSAndreas Haerter "", 82*fa5fcacaSAndreas Haerter //haystack 83*fa5fcacaSAndreas Haerter $toc); 84*fa5fcacaSAndreas Haerter } 85*fa5fcacaSAndreas Haerter unset($toc); 86*fa5fcacaSAndreas Haerter } 87*fa5fcacaSAndreas Haerter 88*fa5fcacaSAndreas Haerter //exportbox ("print/export") 89*fa5fcacaSAndreas Haerter if (tpl_getConf("vector_exportbox")){ 90*fa5fcacaSAndreas Haerter //headline 91*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["headline"] = $lang["vector_exportbox"]; 92*fa5fcacaSAndreas Haerter 93*fa5fcacaSAndreas Haerter //content 94*fa5fcacaSAndreas Haerter if (tpl_getConf("vector_exportbox_default")){ 95*fa5fcacaSAndreas Haerter //define default, predefined exportbox 96*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] = " <ul>\n"; 97*fa5fcacaSAndreas Haerter //ODT plugin 98*fa5fcacaSAndreas Haerter //see <http://www.dokuwiki.org/plugin:odt> for info 99*fa5fcacaSAndreas Haerter if (file_exists(DOKU_PLUGIN."odt/syntax.php") && 100*fa5fcacaSAndreas Haerter !plugin_isdisabled("odt")){ 101*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] .= " <li id=\"coll-download-as-odt\"><a href=\"".wl(cleanID(getId()), array("do" => "export_odt"))."\" rel=\"nofollow\">".hsc($lang["vector_exportbxdef_downloadodt"])."</a></li>\n"; 102*fa5fcacaSAndreas Haerter } 103*fa5fcacaSAndreas Haerter //dw2pdf plugin 104*fa5fcacaSAndreas Haerter //see <http://www.dokuwiki.org/plugin:dw2pdf> for info 105*fa5fcacaSAndreas Haerter if (file_exists(DOKU_PLUGIN."dw2pdf/action.php") && 106*fa5fcacaSAndreas Haerter !plugin_isdisabled("dw2pdf")){ 107*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] .= " <li id=\"coll-download-as-rl\"><a href=\"".wl(cleanID(getId()), array("do" => "export_pdf"))."\" rel=\"nofollow\">".hsc($lang["vector_exportbxdef_downloadpdf"])."</a></li>\n"; 108*fa5fcacaSAndreas Haerter //html2pdf plugin 109*fa5fcacaSAndreas Haerter //see <http://www.dokuwiki.org/plugin:html2pdf> for info 110*fa5fcacaSAndreas Haerter } else if (file_exists(DOKU_PLUGIN."html2pdf/action.php") && 111*fa5fcacaSAndreas Haerter !plugin_isdisabled("html2pdf")){ 112*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] .= " <li id=\"coll-download-as-rl\"><a href=\"".wl(cleanID(getId()), array("do" => "export_pdf"))."\" rel=\"nofollow\">".hsc($lang["vector_exportbxdef_downloadpdf"])."</a></li>\n"; 113*fa5fcacaSAndreas Haerter } 114*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] .= " <li id=\"t-print\"><a href=\"".wl(cleanID(getId()), array("rev" =>(int)$rev, "vecdo" => "print"))."\" rel=\"nofollow\">".hsc($lang["vector_exportbxdef_print"])."</a></li>\n" 115*fa5fcacaSAndreas Haerter ." </ul>"; 116*fa5fcacaSAndreas Haerter }else{ 117*fa5fcacaSAndreas Haerter //we have to use a custom exportbox 118*fa5fcacaSAndreas Haerter if (empty($conf["useacl"]) || 119*fa5fcacaSAndreas Haerter auth_quickaclcheck(cleanID(tpl_getConf("vector_exportbox_location"))) >= AUTH_READ){ //current user got access? 120*fa5fcacaSAndreas Haerter //get the rendered content of the defined wiki article to use as 121*fa5fcacaSAndreas Haerter //custom exportbox 122*fa5fcacaSAndreas Haerter $interim = tpl_include_page(tpl_getConf("vector_exportbox_location"), false); 123*fa5fcacaSAndreas Haerter if ($interim === "" || 124*fa5fcacaSAndreas Haerter $interim === false){ 125*fa5fcacaSAndreas Haerter //add creation/edit link if the defined page got no content 126*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] = "<li>[ ".html_wikilink(tpl_getConf("vector_exportbox_location"), hsc($lang["vector_fillplaceholder"]." (".tpl_getConf("vector_exportbox_location").")"), null)." ]<br /></li>"; 127*fa5fcacaSAndreas Haerter }else{ 128*fa5fcacaSAndreas Haerter //add the rendered page content 129*fa5fcacaSAndreas Haerter $_vector_boxes["p-coll-print_export"]["xhtml"] = $interim; 130*fa5fcacaSAndreas Haerter } 131*fa5fcacaSAndreas Haerter }else{ 132*fa5fcacaSAndreas Haerter //we are not allowed to show the content of the defined wiki 133*fa5fcacaSAndreas Haerter //article to use as custom sitenotice. 134*fa5fcacaSAndreas Haerter //$_vector_boxes["p-tb"]["xhtml"] = hsc($lang["vector_accessdenied"])." (".tpl_getConf("vector_exportbox_location").")"; 135*fa5fcacaSAndreas Haerter } 136*fa5fcacaSAndreas Haerter } 137*fa5fcacaSAndreas Haerter } 138*fa5fcacaSAndreas Haerter 139*fa5fcacaSAndreas Haerter //toolbox 140*fa5fcacaSAndreas Haerter if (tpl_getConf("vector_toolbox")){ 141*fa5fcacaSAndreas Haerter //headline 142*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["headline"] = $lang["vector_toolbox"]; 143*fa5fcacaSAndreas Haerter 144*fa5fcacaSAndreas Haerter //content 145*fa5fcacaSAndreas Haerter if (tpl_getConf("vector_toolbox_default")){ 146*fa5fcacaSAndreas Haerter //define default, predefined toolbox 147*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] = " <ul>\n"; 148*fa5fcacaSAndreas Haerter if (actionOK("backlink")){ //check if action is disabled 149*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] .= " <li id=\"t-whatlinkshere\"><a href=\"".wl(cleanID(getId()), array("do" => "backlink"))."\">".hsc($lang["vector_toolbxdef_whatlinkshere"])."</a></li>\n"; //we might use tpl_actionlink("backlink", "", "", hsc($lang["vector_toolbxdef_whatlinkshere"]), true), but it would be the only toolbox link where this is possible... therefore I don't use it to be consistent 150*fa5fcacaSAndreas Haerter } 151*fa5fcacaSAndreas Haerter if (actionOK("recent")){ //check if action is disabled 152*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] .= " <li id=\"t-recentchanges\"><a href=\"".wl("", array("do" => "recent"))."\" rel=\"nofollow\">".hsc($lang["btn_recent"])."</a></li>\n"; //language comes from DokuWiki core 153*fa5fcacaSAndreas Haerter } 154*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] .= " <li id=\"t-upload\"><a href=\"".DOKU_BASE."lib/exe/mediamanager.php?ns=".getNS(getID())."\" rel=\"nofollow\">".hsc($lang["vector_toolbxdef_upload"])."</a></li>\n"; 155*fa5fcacaSAndreas Haerter if (actionOK("index")){ //check if action is disabled 156*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] .= " <li id=\"t-special\"><a href=\"".wl("", array("do" => "index"))."\" rel=\"nofollow\">".hsc($lang["vector_toolbxdef_siteindex"])."</a></li>\n"; 157*fa5fcacaSAndreas Haerter } 158*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] .= " <li id=\"t-permanent\"><a href=\"".wl(cleanID(getId()), array("rev" =>(int)$rev))."\" rel=\"nofollow\">".hsc($lang["vector_toolboxdef_permanent"])."</a></li>\n" 159*fa5fcacaSAndreas Haerter ." <li id=\"t-cite\"><a href=\"".wl(cleanID(getId()), array("rev" =>(int)$rev, "vecdo" => "cite"))."\" rel=\"nofollow\">".hsc($lang["vector_toolboxdef_cite"])."</a></li>\n" 160*fa5fcacaSAndreas Haerter ." </ul>"; 161*fa5fcacaSAndreas Haerter }else{ 162*fa5fcacaSAndreas Haerter //we have to use a custom toolbox 163*fa5fcacaSAndreas Haerter if (empty($conf["useacl"]) || 164*fa5fcacaSAndreas Haerter auth_quickaclcheck(cleanID(tpl_getConf("vector_toolbox_location"))) >= AUTH_READ){ //current user got access? 165*fa5fcacaSAndreas Haerter //get the rendered content of the defined wiki article to use as 166*fa5fcacaSAndreas Haerter //custom toolbox 167*fa5fcacaSAndreas Haerter $interim = tpl_include_page(tpl_getConf("vector_toolbox_location"), false); 168*fa5fcacaSAndreas Haerter if ($interim === "" || 169*fa5fcacaSAndreas Haerter $interim === false){ 170*fa5fcacaSAndreas Haerter //add creation/edit link if the defined page got no content 171*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] = "<li>[ ".html_wikilink(tpl_getConf("vector_toolbox_location"), hsc($lang["vector_fillplaceholder"]." (".tpl_getConf("vector_toolbox_location").")"), null)." ]<br /></li>"; 172*fa5fcacaSAndreas Haerter }else{ 173*fa5fcacaSAndreas Haerter //add the rendered page content 174*fa5fcacaSAndreas Haerter $_vector_boxes["p-tb"]["xhtml"] = $interim; 175*fa5fcacaSAndreas Haerter } 176*fa5fcacaSAndreas Haerter }else{ 177*fa5fcacaSAndreas Haerter //we are not allowed to show the content of the defined wiki 178*fa5fcacaSAndreas Haerter //article to use as custom sitenotice. 179*fa5fcacaSAndreas Haerter //$_vector_boxes["p-tb"]["xhtml"] = hsc($lang["vector_accessdenied"])." (".tpl_getConf("vector_toolbox_location").")"; 180*fa5fcacaSAndreas Haerter } 181*fa5fcacaSAndreas Haerter } 182*fa5fcacaSAndreas Haerter } 183*fa5fcacaSAndreas Haerter 184*fa5fcacaSAndreas Haerter}else{ 185*fa5fcacaSAndreas Haerter 186*fa5fcacaSAndreas Haerter //headline 187*fa5fcacaSAndreas Haerter $_vector_boxes["p-login"]["headline"] = $lang["btn_login"]; 188*fa5fcacaSAndreas Haerter $_vector_boxes["p-login"]["xhtml"] = " <ul>\n" 189*fa5fcacaSAndreas Haerter ." <li id=\"t-login\"><a href=\"".wl(cleanID(getId()), array("do" => "login"))."\" rel=\"nofollow\">".hsc($lang["btn_login"])."</a></li>\n" //language comes from DokuWiki core 190*fa5fcacaSAndreas Haerter ." </ul>"; 191*fa5fcacaSAndreas Haerter 192*fa5fcacaSAndreas Haerter} 193*fa5fcacaSAndreas Haerter 194*fa5fcacaSAndreas Haerter 195*fa5fcacaSAndreas Haerter/****************************************************************************** 196*fa5fcacaSAndreas Haerter ******************************** ATTENTION ********************************* 197*fa5fcacaSAndreas Haerter DO NOT MODIFY THIS FILE, IT WILL NOT BE PRESERVED ON UPDATES! 198*fa5fcacaSAndreas Haerter ****************************************************************************** 199*fa5fcacaSAndreas Haerter If you want to add some own boxes, have a look at the README of this 200*fa5fcacaSAndreas Haerter template and "/user/boxes.php". You have been warned! 201*fa5fcacaSAndreas Haerter *****************************************************************************/ 202*fa5fcacaSAndreas Haerter 203