/** * Creates an html list of all classes sorted by category (or package if no category)<br> * [aaa](http://www.baid.com) * asdf * * @return string the html for the menu */ public static function menu() { $classes = Docs::classes(); foreach ($classes as $class) { if (isset($classes['kohana_' . $class])) { // Remove extended classes unset($classes['kohana_' . $class]); } } ksort($classes); $menu = array(); $route = Core_Route::get('docs/api'); foreach ($classes as $class) { $class = Docs_Class::factory($class); // Test if we should show this class if (!Docs::show_class($class)) { continue; } $link = HTML::anchor($route->uri(array('class' => $class->class->name)), $class->class->name); if (isset($class->tags['package'])) { foreach ($class->tags['package'] as $package) { if (isset($class->tags['category'])) { foreach ($class->tags['category'] as $category) { $menu[$package][$category][] = $link; } } else { $menu[$package]['Base'][] = $link; } } } else { $menu['[Unknown]']['Base'][] = $link; } } // Sort the packages ksort($menu); return View::factory('userguide/api/menu')->bind('menu', $menu); }