function plugin_tooltip_inline($args) { $args = func_get_args(); $glossary = array_pop($args); $term = array_shift($args); if (empty($glossary)) { $glossary = Glossary::getGlossary($term); // $debug .= "B=$glossary/"; if ($glossary === FALSE) { $glossary = plugin_tooltip_get_page_title($term); if ($glossary === FALSE) { $glossary = ''; } } } $s_glossary = Utility::htmlsc($glossary); $page = Utility::stripBracket($term); $wiki = Factory::Wiki($page); if ($wiki->isValied() && $wiki->isReadable()) { return '<abbr class="glossary" title="' . $s_glossary . ' ' . $wiki->passage(false, false) . '"><a href="' . $wiki->uri() . '">' . $term . '</a></abbr>'; } return '<abbr title="' . $s_glossary . '">' . $term . '</abbr>'; }
/** * ページの自動リンクを作成 * @global type $vars * @global type $link_compact * @global type $related * @global type $_symbol_noexists * @param string $page ページ名 * @param string $alias リンクの名前 * @param string $anchor ページ内アンカー(アドレスの#以降のテキスト) * @param string $refer リンク元 * @param boolean $isautolink 自動リンクか? * @return string */ public static function setAutoLink($page, $alias = '', $anchor = '', $refer = '', $isautolink = FALSE) { global $vars, $link_compact, $related, $_symbol_noexists, $related; if (empty($page)) { // ページ内リンク return '<a href="' . $anchor . '">' . Utility::htmlsc($alias) . '</a>'; } $wiki = Factory::Wiki($page); if (!$wiki->has()) { // ページが存在しない場合は、AutoAliasから該当ページが存在するかを確認する foreach (AutoAlias::getAutoAliasDict() as $aliaspage => $realpage) { if (Factory::Wiki($realpage)->has()) { // リンクをエイリアス先に return self::setLink($page, $aliaspage); } } } else { if (!isset($related[$page]) && isset($vars['page']) && $page !== $vars['page']) { $related[$page] = $wiki->time(); } } $s_page = Utility::htmlsc($page); $anchor_name = empty($alias) ? $page : $alias; $anchor_name = str_replace('&#039;', '\'', $anchor_name); // 'が'になってしまう問題をとりあえず解消 if ($isautolink || $wiki->has()) { // ページが存在する場合 // 用語集にページ名と同じワードが含まれていた場合 $glossary = Glossary::getGlossary($page); if (!empty($glossary)) { // AutoGlossray return '<abbr class="glossary" title="' . $glossary . ' ' . $wiki->passage(false, true) . '">' . '<a href="' . $wiki->uri() . '"' . ($isautolink === true ? ' class="autolink"' : '') . '>' . $anchor_name . '</a></abbr>'; } return '<a href="' . $wiki->uri() . $anchor . '" ' . (!$link_compact ? 'title="' . $s_page . ' ' . $wiki->passage(false, true) . '"' : '') . ($isautolink === true ? ' class="autolink"' : '') . '>' . $anchor_name . '</a>'; } else { // Dangling link if (Auth::check_role('readonly')) { return Utility::htmlsc($alias); } // No dacorations $retval = $anchor_name . '<a href="' . $wiki->uri('edit', empty($refer) ? null : array('refer' => $refer)) . '" rel="nofollow">' . $_symbol_noexists . '</a>'; return $link_compact ? $retval : sprintf(RendererDefines::NOEXISTS_STRING, $retval); } }
function __construct($start) { parent::__construct($start); }