public function _empty()
 {
     $pieces = explode('/', __INFO__, 6);
     if (count($pieces) >= 5 && $pieces[0] == 'bench' && $pieces[1] == 'extend') {
         $params = array();
         list($params['Entry'], $action, $params['Addon'], $params['Controller'], $params['Action'], $params['Stuff']) = $pieces;
         unset($_GET[$params['Controller']]);
         $ret = Addon::run($params);
         if (is_error($ret)) {
             $this->error($ret['message']);
         }
         return;
     }
     $name = parse_name(ACTION_NAME, 1);
     $a = new Addon($name);
     $entries = $a->getEntries(Addon::ENTRY_BENCH);
     $this->assign('entity', $a->getCurrentAddon());
     $this->assign('entries', $entries);
     C('FRAME_ACTIVE', 'extend');
     C('FRAME_CURRENT', U('bench/extend/' . ACTION_NAME));
     $this->display('Extend/addon');
 }
 public function run(&$params)
 {
     Site::loadSettings();
     if (MODULE_NAME == 'Bench') {
         $theme = I('cookie.template_theme');
         $themes = array('cerulean', 'cyborg', 'simplex', 'darkly', 'lumen', 'slate', 'spacelab', 'united');
         if (!empty($theme) && in_array($theme, $themes)) {
             C('TMPL_PARSE_STRING.{__TEMPLATE_THEME__}', '-' . $theme);
         }
         $frames = $this->getBenchFrames();
         $name = C('FRAME_ACTIVE');
         $names = array();
         $names[] = 'summary';
         $names[] = 'cms';
         $names[] = 'uc';
         $names[] = 'extend';
         $names[] = 'addons';
         $names[] = 'analyze';
         $name = in_array($name, $names) ? $name : 'summary';
     }
     if (MODULE_NAME == 'Control') {
         $frames = $this->getControlFrames();
         $name = C('FRAME_ACTIVE');
         $names = array();
         $names[] = 'common';
         $names[] = 'webapp';
         $names[] = 'member';
         $names[] = 'access';
         $names[] = 'extend';
         $names[] = 'addons';
         $names[] = 'store';
         $name = in_array($name, $names) ? $name : 'common';
     }
     $allAddons = array();
     if ($name == 'extend') {
         $types = Addon::types();
         foreach ($types as $type) {
             $addons = Addon::getAddons($type['name']);
             $allAddons = array_merge($allAddons, coll_key($addons, 'name'));
             $items = array();
             if (!empty($addons)) {
                 foreach ($addons as $a) {
                     $addon = new Addon($a);
                     $entryType = strtolower(MODULE_NAME);
                     $entries = $addon->getEntries($entryType);
                     if (!empty($entries)) {
                         $addonName = parse_name($a['name']);
                         $items[] = array('icon' => 'plus', 'title' => $a['title'], 'url' => U("/{$entryType}/extend/{$addonName}"));
                     }
                 }
             }
             if (!empty($items)) {
                 $frames['extend'][] = array('title' => $type['title'], 'items' => $items);
             }
         }
     }
     if ($name == 'addons') {
         if (defined('ADDON_NAME')) {
             $a = C('ADDON_INSTANCE');
             $addon = $a->getCurrentAddon();
             $entries = $a->getEntries(strtolower(MODULE_NAME));
             $items = array();
             foreach ($entries as $entry) {
                 $items[] = array('icon' => 'plus', 'url' => $entry['url'], 'title' => $entry['title']);
             }
             $frames['addons'][] = array('title' => $addon['title'], 'items' => $items);
         }
     }
     C('FRAME_ACTIVE', $name);
     $set = $frames[$name];
     $url = C('FRAME_CURRENT');
     if (empty($url)) {
         $url = $_SERVER['REQUEST_URI'];
         C('FRAME_CURRENT', $url);
     }
     foreach ($set as &$row) {
         foreach ($row['items'] as &$item) {
             if ($item['url'] == $url) {
                 $item['current'] = true;
                 if (!C('FRAME_TITLE')) {
                     C('FRAME_TITLE', $item['title']);
                 }
             }
             if (!empty($item['items'])) {
                 foreach ($item['items'] as &$sub) {
                     if ($sub['url'] == $url) {
                         $sub['current'] = true;
                         if (!C('FRAME_TITLE')) {
                             C('FRAME_TITLE', $sub['title']);
                         }
                     }
                 }
             }
         }
     }
     C('FRAME_SETS', $set);
 }