/////////////////////////////////////////////////
// PukiWiki - Yet another WikiWikiWeb clone.
//
-// $Id: navi.inc.php,v 1.9 2003/04/03 01:38:30 panda Exp $
+// $Id: navi.inc.php,v 1.16 2004/07/31 03:09:20 henoheno Exp $
//
/*
define('NAVI_EXCLUDE_PATTERN','');
#define('NAVI_EXCLUDE_PATTERN','/\/_/');
-function plugin_navi_init()
-{
- $messages = array(
- '_navi_messages'=>array(
- 'msg_prev'=>'Prev',
- 'msg_next'=>'Next',
- 'msg_up' =>'Up',
- 'msg_home' =>'Home'
- )
- );
- set_plugin_messages($messages);
-}
+// <link>¥¿¥°¤ò½ÐÎϤ¹¤ë (TRUE|FALSE)
+define('NAVI_LINK_TAGS',FALSE);
+
function plugin_navi_convert()
{
- global $vars, $script;
- global $_navi_messages;
- static $navi;
-
- if (!isset($navi))
- {
- $navi = array();
- }
+ global $vars, $script, $head_tags;
+ global $_navi_prev,$_navi_next,$_navi_up,$_navi_home;
+ static $navi = array();
+
$home = $current = $vars['page'];
if (func_num_args())
{
$home = strip_bracket($home);
}
$is_home = ($home == $current);
-
+
// ½é²óFALSE,2²óÌܰʹßTRUE
$footer = array_key_exists($home,$navi);
if (!$footer)
'home'=>'',
'home1'=>'',
);
-
+
$pages = preg_grep('/^'.preg_quote($home,'/').'($|\/)/',get_existpages());
// preg_grep(,,PREG_GREP_INVERT)¤¬»È¤¨¤ì¤Ð¡Ä
if (NAVI_EXCLUDE_PATTERN != '')
{
- $pages = array_diff($pages,preg_grep(NAVI_EXCLUDE_PATTERN,$page));
+ $pages = array_diff($pages,preg_grep(NAVI_EXCLUDE_PATTERN,$pages));
}
$pages[] = $current; // ÈÖʼ :)
$pages = array_unique($pages);
$prev = $page;
}
$next = current($pages);
-
+
$pos = strrpos($current, '/');
+ $up = '';
if ($pos > 0)
{
$up = substr($current, 0, $pos);
- $navi[$home]['up'] = make_pagelink($up,$_navi_messages['msg_up']);
+ $navi[$home]['up'] = make_pagelink($up,$_navi_up);
}
if (!$is_home)
{
$navi[$home]['prev'] = make_pagelink($prev);
- $navi[$home]['prev1'] = make_pagelink($prev,$_navi_messages['msg_prev']);
+ $navi[$home]['prev1'] = make_pagelink($prev,$_navi_prev);
}
if ($next != '')
{
$navi[$home]['next'] = make_pagelink($next);
- $navi[$home]['next1'] = make_pagelink($next,$_navi_messages['msg_next']);
+ $navi[$home]['next1'] = make_pagelink($next,$_navi_next);
}
$navi[$home]['home'] = make_pagelink($home);
- $navi[$home]['home1'] = make_pagelink($home,$_navi_messages['msg_home']);
+ $navi[$home]['home1'] = make_pagelink($home,$_navi_home);
+
+ // <link>¥¿¥°¤òÀ¸À®¤¹¤ë : start next prev(previous) parent(up)
+ // ̤Âбþ : contents(toc) search first(begin) last(end)
+ if (NAVI_LINK_TAGS)
+ {
+ foreach (array('start'=>$home,'next'=>$next,'prev'=>$prev,'up'=>$up) as $rel=>$_page)
+ {
+ if ($_page != '')
+ {
+ $s_page = htmlspecialchars($_page);
+ $r_page = rawurlencode($_page);
+ $head_tags[] = " <link rel=\"$rel\" href=\"$script?$r_page\" title=\"$s_page\" />";
+ }
+ }
+ }
}
$ret = '';