' . $intername; $rep .= ''; $menubar[$menubarcount] = ' ' . str_replace('__navibar2__', $rep, $conv) . ''; } else { $name = trim($line); $interkey = plugin_navibar2_keyword($name); if (isset($interkey['url'])) { $menubarcount++; $menubar[$menubarcount] = ' ' . '' . $interkey['text'] . ''; } } } else if ($level == 2) { $line = substr($line,2); list($rc,$interurl,$intername,$conv) = plugin_navibar2_convert_html($line); if ($rc) { $rep = '' . $intername; $rep .= ''; $menublk[$menubarcount][] = ' '; } else { $interkey = plugin_navibar2_keyword(trim($line)); if (isset($interkey['url'])) { $menublk[$menubarcount][] = ' '; } } } } } for ($i=0;$i<=$menubarcount;$i++) { $menublkstr = (isset($menublk[$i]) && $menublk[$i] != '') ? join("\n", $menublk[$i]):''; if ($menublkstr != '') { $naviblk[$i] = << {$menublkstr} EOD; } else { $naviblk[$i] = ''; } } $menubarstr = join("\n",$menubar); $menublkstr = join("\n",$naviblk); $skin_dir = SKIN_DIR; return << {$menubarstr}
{$menublkstr} EOD; } function plugin_navibar2_convert_html($str) { $conv = preg_replace( array("'

'si","'

'si"), array('',''), convert_html( array($str) ) ); // $regs[0] - HIT Strings // $regs[1] - URL String // $regs[2] - LinkName if ( preg_match('#]*>(.*?)#si', $conv, $regs) ) { return array( TRUE, $regs[1], $regs[2], str_replace($regs[0], '__navibar2__', $conv) ); } if ( preg_match('#(.*?)#si', $conv, $regs) ) { return array( TRUE, $regs[1], $regs[2], str_replace($regs[0], '__navibar2__', $conv) ); } // rc, $interurl, $intername, $conv return array( FALSE, '', '', $conv ); } function plugin_navibar2_keyword($name) { global $_LINK; global $do_backup, $trackback, $referer; global $function_freeze; global $vars; if ($_LINK['reload'] == '') { return array(); } $_page = isset($vars['page']) ? $vars['page'] : ''; $is_read = (arg_check('read') && is_page($_page)); $is_freeze = is_freeze($_page); switch ($name) { case 'freeze': if ($is_read && $function_freeze) { if (!$is_freeze) { $name = 'freeze'; return _navigator2($name); } } break; case 'unfreeze': if ($is_read && $function_freeze) { if ($is_freeze) { $name = 'unfreeze'; return _navigator2($name); } } break; case 'upload': if ($is_read && (bool)ini_get('file_uploads')) { return _navigator2($name); } break; case 'filelist': if (arg_check('list')) { return _navigator2($name); } break; case 'backup': if ($do_backup) { return _navigator2($name); } break; case 'template': case 'source': if (!empty($_page)) { return _navigator2($name); } break; case 'trackback': if ($trackback) { $tbcount = tb_count($_page); if ($tbcount > 0) { return _navigator2($name, 'Trackback(' . $tbcount . ')'); } else if ($is_read) { return array('text' => 'no Trackback'); } else if ($vars['cmd'] == 'list') { return _navigator2($name, 'Trackback list'); } } break; case 'refer': // case 'skeylist': // case 'linklist': if ($referer) { if (!isset($refcount)) $refcount = tb_count($vars['page'],'.ref'); if ($refcount > 0) { return _navigator2($name); } } break; // case 'log_browse': // return _navigator2($name); // if (log_exist('browse',$vars['page'])) { // return _navigator2($name); // } // break; // case 'log_update': // if (log_exist('update',$vars['page'])) { // return _navigator2($name); // } // break; // case 'log_down': // if (log_exist('download',$vars['page'])) { // return _navigator2($name); // } // break; case 'new': case 'edit': case 'diff': if (!$is_read) break; default: return _navigator2($name); } return array(); } function _navigator2($key, $val = '') { global $_LINK, $_LANG, $_IMAGE; $link = $_LINK; $lang = $_LANG['skin']; $image = isset($_IMAGE['skin']) ? $_IMAGE['skin'] : array(); if (!isset($link[$key])) { return array('text'=>''); } if (!isset($lang[$key])) { return array('text'=>''); } return array( 'url' => $link[$key], 'img' => '', 'text' => (($val === '') ? $lang[$key] : $val), ); } ?>