2 /////////////////////////////////////////////////
\r
3 // PukiWiki - Yet another WikiWikiWeb clone.
\r
5 // $Id: topicpath.inc.php,v 1.1 2004/04/03 15:26:07 arino Exp $
\r
7 // topicpath plugin for PukiWiki
\r
8 // available under the GPL
\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
22 function plugin_topicpath_convert()
\r
24 return '<div>'.plugin_topicpath_inline().'</div>';
\r
27 function plugin_topicpath_inline()
\r
29 global $script,$vars,$defaultpage;
\r
31 $args = func_get_args();
\r
33 $page = $vars['page'];
\r
35 if ($page == $defaultpage) { return ''; }
\r
37 $topic_path = array();
\r
38 $parts = explode('/', $page);
\r
40 if (!PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY) { array_pop($parts); }
\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
49 if (PLUGIN_TOPICPATH_TOP_DISPLAY)
\r
51 $topic_path[] = make_pagelink($defaultpage,PLUGIN_TOPICPATH_TOP_LABEL);
\r
53 return join(PLUGIN_TOPICPATH_TOP_SEPARATOR, array_reverse($topic_path));
\r