$data['packages'] = docs_cache('packages'); if (!is_array($data['packages'])) { $data['packages'] = docs_cache_store(Docs::packages($parameters['current']), 'packages'); } if (strpos($parameters['package'], '.') !== false) { if (!in_array($parameters['package'], $data['packages']) && $data['package'] != $data['current']) { die('Invalid package!'); } $data['package'] = $parameters['package']; $data['classes'] = docs_cache('classes', $parameters['package']); if (!is_array($data['classes'])) { $data['classes'] = docs_cache_store(Docs::classes($parameters['package']), 'classes', $parameters['package']); } $data['functions'] = docs_cache('functions', $parameters['package']); if (!is_array($data['functions'])) { $data['functions'] = docs_cache_store(Docs::functions($parameters['package']), 'functions', $parameters['package']); } if ($parameters['class']) { if (!Docs::isClass($parameters['class'], $data['classes'])) { die('Invalid class!'); } $data['class'] = $parameters['class']; if ($parameters['class'] == '_functions_') { $functions = docs_cache('func_data', $parameters['package']); if (!is_array($functions)) { $functions = docs_cache_store(Docs::getFunctions($parameters['package']), 'func_data', $parameters['package']); } template_simple_register('functions', $functions); } else { $class = docs_cache('class_data', $parameters['package'], $parameters['class']); if (!is_array($class)) {