/** * Get string used in html link * * @access public * @static * @param string $page pagename * @param string $option option * - name|page|pagename|absolute: pagename (absolute path) * - base|basename : page basename * - title : TITLE: of page * - headline|firsthead : The first headline of a page * - relative|relname : relative pagename from currdir * @param string $currdir current dir name($currdir is required for relative) * @param boolean $usecache use cache of Toc or not (used for title and headline) * @return string * @uses sonots::get_basename * @uses title * @uses firsthead * @uses relname */ function linkstr($page, $option = 'relative', $currdir = '', $usecache = true) { switch ($option) { case 'name': case 'page': case 'pagename': case 'absolute': default: $linkstr = htmlspecialchars($page); break; case 'base': case 'basename': $linkstr = htmlspecialchars(sonots::get_basename($page)); break; case 'title': $title = PluginSonotsMetapage::title($page, $usecache); if (is_null($title)) { $linkstr = htmlspecialchars($page); } else { $linkstr = strip_htmltag(make_link($title)); } break; case 'firsthead': case 'headline': $firsthead = PluginSonotsMetapage::firsthead($page, $usecache); if (is_null($firsthead)) { $linkstr = htmlspecialchars($page); } else { $linkstr = strip_htmltag(make_link($firsthead)); } break; case 'relname': case 'relative': $linkstr = htmlspecialchars(PluginSonotsMetapage::relname($page, $currdir)); break; } return $linkstr; }