Add script 'get-openssl-version.sh'.
This commit is contained in:
		
							
								
								
									
										131
									
								
								snippets/dokuwiki-2023-04-04/inc/Ui/Index.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								snippets/dokuwiki-2023-04-04/inc/Ui/Index.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,131 @@ | ||||
| <?php | ||||
|  | ||||
| namespace dokuwiki\Ui; | ||||
|  | ||||
| /** | ||||
|  * DokuWiki Index Interface | ||||
|  * | ||||
|  * @package dokuwiki\Ui | ||||
|  */ | ||||
| class Index extends Ui | ||||
| { | ||||
|     protected $ns; | ||||
|  | ||||
|     /** | ||||
|      * Index Ui constructor | ||||
|      * | ||||
|      * @param string $ns  namespace | ||||
|     */ | ||||
|     public function __construct($ns = '') | ||||
|     { | ||||
|         $this->ns = $ns; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * Display page index | ||||
|      * | ||||
|      * @author   Andreas Gohr <andi@splitbrain.org> | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function show() | ||||
|     { | ||||
|         // print intro | ||||
|         print p_locale_xhtml('index'); | ||||
|  | ||||
|         print $this->sitemap(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Build html of sitemap, unordered list of pages under the namespace | ||||
|      * | ||||
|      * @return string | ||||
|      */ | ||||
|     public function sitemap() | ||||
|     { | ||||
|         global $conf; | ||||
|         global $ID; | ||||
|  | ||||
|         $ns = cleanID($this->ns); | ||||
|         if (empty($ns)){ | ||||
|             $ns = getNS($ID); | ||||
|             if ($ns === false) $ns = ''; | ||||
|         } | ||||
|         $ns = utf8_encodeFN(str_replace(':', '/', $ns)); | ||||
|         $data = array(); | ||||
|         search($data, $conf['datadir'], 'search_index', array('ns' => $ns)); | ||||
|  | ||||
|         return '<div id="index__tree" class="index__tree">' | ||||
|               . html_buildlist($data, 'idx', [$this,'formatListItem'], [$this,'tagListItem']) | ||||
|               . '</div>'; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Index item formatter | ||||
|      * | ||||
|      * User function for html_buildlist() | ||||
|      * | ||||
|      * @author Andreas Gohr <andi@splitbrain.org> | ||||
|      * | ||||
|      * @param array $item | ||||
|      * @return string | ||||
|      */ | ||||
|     public function formatListItem($item)    // RENAMED from html_list_index() | ||||
|     { | ||||
|         global $ID, $conf; | ||||
|  | ||||
|         // prevent searchbots needlessly following links | ||||
|         $nofollow = ($ID != $conf['start'] || $conf['sitemap']) ? 'rel="nofollow"' : ''; | ||||
|  | ||||
|         $html = ''; | ||||
|         $base = ':'.$item['id']; | ||||
|         $base = substr($base, strrpos($base,':') +1); | ||||
|         if ($item['type'] == 'd') { | ||||
|             // FS#2766, no need for search bots to follow namespace links in the index | ||||
|             $link = wl($ID, 'idx='. rawurlencode($item['id'])); | ||||
|             $html .= '<a href="'. $link .'" title="'. $item['id'] .'" class="idx_dir"' . $nofollow .'><strong>'; | ||||
|             $html .= $base; | ||||
|             $html .= '</strong></a>'; | ||||
|         } else { | ||||
|             // default is noNSorNS($id), but we want noNS($id) when useheading is off FS#2605 | ||||
|             $html .= html_wikilink(':'.$item['id'], useHeading('navigation') ? null : noNS($item['id'])); | ||||
|         } | ||||
|         return $html; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Index List item | ||||
|      * | ||||
|      * This user function is used in html_buildlist to build the | ||||
|      * <li> tags for namespaces when displaying the page index | ||||
|      * it gives different classes to opened or closed "folders" | ||||
|      * | ||||
|      * @author Andreas Gohr <andi@splitbrain.org> | ||||
|      * | ||||
|      * @param array $item | ||||
|      * @return string html | ||||
|      */ | ||||
|     public function tagListItem($item)    // RENAMED from html_li_index() | ||||
|     { | ||||
|         global $INFO; | ||||
|         global $ACT; | ||||
|  | ||||
|         $class = ''; | ||||
|         $id = ''; | ||||
|  | ||||
|         if ($item['type'] == 'f') { | ||||
|             // scroll to the current item | ||||
|             if (isset($INFO) && $item['id'] == $INFO['id'] && $ACT == 'index') { | ||||
|                 $id = ' id="scroll__here"'; | ||||
|                 $class = ' bounce'; | ||||
|             } | ||||
|             return '<li class="level'.$item['level'].$class.'" '.$id.'>'; | ||||
|         } elseif ($item['open']) { | ||||
|             return '<li class="open">'; | ||||
|         } else { | ||||
|             return '<li class="closed">'; | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user