public function closeAction()
 {
     Site::loadSettings();
     $settings = C('SITE');
     if (IS_POST) {
         $close = coll_elements(array('close', 'tips'), I('post.'));
         $settings[Site::OPT_CLOSE] = intval($close['close']);
         $settings[Site::OPT_CLOSETIPS] = $close['tips'];
         Site::saveSettings($settings);
         $this->success('操作成功');
         exit;
     }
     $entity = array();
     $entity['close'] = $settings[Site::OPT_CLOSE];
     $entity['tips'] = $settings[Site::OPT_CLOSETIPS];
     $this->assign('entity', $entity);
     C('FRAME_CURRENT', U('control/site/common'));
     $this->display();
 }
 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);
 }