OSDN Git Service

topicpathプラグイン
[pukiwiki/pukiwiki.git] / plugin / topicpath.inc.php
1 <?php\r
2 /////////////////////////////////////////////////\r
3 // PukiWiki - Yet another WikiWikiWeb clone.\r
4 //\r
5 // $Id: topicpath.inc.php,v 1.1 2004/04/03 15:26:07 arino Exp $\r
6 //\r
7 // topicpath plugin for PukiWiki\r
8 //   available under the GPL\r
9 \r
10 \r
11 //      defaultpage¤ò°ìÈֺǽé¤Ëɽ¼¨¤¹¤ë¤«¤É¤¦¤«¡£TRUE:ɽ¼¨¤¹¤ë FALSE:ɽ¼¨¤·¤Ê¤¤.\r
12 define('PLUGIN_TOPICPATH_TOP_DISPLAY',TRUE);\r
13 //      $defaultpage¤ËÂФ¹¤ë¥é¥Ù¥ë\r
14 define('PLUGIN_TOPICPATH_TOP_LABEL','Top');\r
15 //      ³¬Áؤò¶èÀڤ륻¥Ñ¥ì¡¼¥¿\r
16 define('PLUGIN_TOPICPATH_TOP_SEPARATOR',' / ');\r
17 //      ¼«Ê¬¤Î¥Ú¡¼¥¸¤ËÂФ¹¤ë¥ê¥ó¥¯¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«\r
18 define('PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY',TRUE);\r
19 //      ¼«Ê¬¤Î¥Ú¡¼¥¸¤ËÂФ·¤Æ¥ê¥ó¥¯¤¹¤ë¤«¤É¤¦¤«\r
20 define('PLUGIN_TOPICPATH_THIS_PAGE_LINK',TRUE);\r
21 \r
22 function plugin_topicpath_convert()\r
23 {\r
24         return '<div>'.plugin_topicpath_inline().'</div>';\r
25 }\r
26 \r
27 function plugin_topicpath_inline()\r
28 {\r
29         global $script,$vars,$defaultpage;\r
30         \r
31         $args = func_get_args();\r
32         \r
33         $page = $vars['page'];\r
34         \r
35         if ($page == $defaultpage) { return ''; }\r
36         \r
37         $topic_path = array();\r
38         $parts = explode('/', $page);\r
39 \r
40         if (!PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY) { array_pop($parts); }\r
41 \r
42         $b_link = PLUGIN_TOPICPATH_THIS_PAGE_LINK;\r
43         while (count($parts)) {\r
44                 $landing = join('/', $parts);\r
45                 $element = array_pop($parts);\r
46                 $topic_path[] = $b_link ? "<a href=\"$script?".rawurlencode($landing)."\">$element</a>" : htmlspecialchars($element);\r
47                 $b_link = TRUE;\r
48         }\r
49         if (PLUGIN_TOPICPATH_TOP_DISPLAY)\r
50         {\r
51                 $topic_path[] = make_pagelink($defaultpage,PLUGIN_TOPICPATH_TOP_LABEL);\r
52         }\r
53         return join(PLUGIN_TOPICPATH_TOP_SEPARATOR, array_reverse($topic_path));\r
54 }\r
55 ?>\r