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