tpl->addValue('QrazyTimesNavigation',array('tplQrazyTimes','QrazyTimesNavigation')); class tplQrazyTimes { public static function QrazyTimesNavigation($attr,$content) { $list = !empty($attr['list']) ? $attr['list'] : ''; $item = !empty($attr['item']) ? $attr['item'] : ''; $active_item = !empty($attr['active_item']) ? $attr['active_item'] : ''; return ""; } public static function QrazyTimesNavigationHelper($list,$item,$active_item) { global $core; $menu = @unserialize($core->blog->settings->qrazytimes_nav); if (!is_array($menu) || empty($menu)) { $menu = array(array( 'menu', '#' )); } $list = $list ? html::decodeEntities($list) : ''; $item = $item ? html::decodeEntities($item) : '
  • %s
  • '; $active_item = $active_item ? html::decodeEntities($active_item) : ''; $current = -1; $current_size = 0; $self_uri = http::getSelfURI(); foreach ($menu as $k => &$v) { $v[1] = preg_match('$^(/|[a-z][a-z0-9.+-]+://)$',$v[1]) ? $v[1] : $core->blog->url.$v[1]; if (strlen($v[1]) > $current_size && preg_match('/^'.preg_quote($v[1],'/').'/',$self_uri)) { $current = $k; $current_size = strlen($v[1]); } } unset($v); $res = ''; foreach ($menu as $i => $v) { if ($i == $current) { $res .= sprintf($active_item,html::escapeHTML($v[1]),html::escapeHTML($v[0])); } else { $res .= sprintf($item,html::escapeHTML($v[1]),html::escapeHTML($v[0])); } } return sprintf($list,$res); } } ?>