xref: /template/wikiweko/conf/boxes.php (revision fa5fcaca4ebbd24e6c8814f25b15de04818f6f42)
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"] = "[&#160;".html_wikilink(tpl_getConf("vector_navigation_location"), hsc($lang["vector_fillplaceholder"]." (".tpl_getConf("vector_navigation_location").")"))."&#160;]<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>[&#160;".html_wikilink(tpl_getConf("vector_exportbox_location"), hsc($lang["vector_fillplaceholder"]." (".tpl_getConf("vector_exportbox_location").")"), null)."&#160;]<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>[&#160;".html_wikilink(tpl_getConf("vector_toolbox_location"), hsc($lang["vector_fillplaceholder"]." (".tpl_getConf("vector_toolbox_location").")"), null)."&#160;]<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