public function execute()
 {
     $apps = wa()->getApps();
     $auth_apps = array();
     $routes = wa()->getRouting()->getRoutes(siteHelper::getDomain());
     foreach ($routes as $route) {
         if (isset($route['app']) && isset($apps[$route['app']])) {
             $auth_apps[$route['app']] = true;
         }
     }
     $temp = array();
     foreach ($apps as $app_id => $app) {
         if (isset($app['frontend']) || isset($auth_apps[$app_id])) {
             $temp[$app_id] = array('id' => $app_id, 'icon' => $app['icon'], 'name' => $app['name']);
             if (isset($auth_apps[$app_id])) {
                 if (empty($app['auth'])) {
                     unset($auth_apps[$app_id]);
                 } else {
                     $auth_apps[$app_id] = $temp[$app_id];
                 }
             }
         }
     }
     $this->view->assign('auth_apps', $auth_apps);
     $auth_config = wa()->getAuthConfig(siteHelper::getDomain());
     $this->view->assign('auth_config', array('auth' => isset($auth_config['auth']) ? $auth_config['auth'] : false, 'app' => isset($auth_config['app']) ? $auth_config['app'] : false, 'signup_captcha' => isset($auth_config['signup_captcha']) ? $auth_config['signup_captcha'] : false, 'adapters' => isset($auth_config['adapters']) ? $auth_config['adapters'] : array()));
     $this->view->assign('auth_adapters', $this->getAuthAdapters());
     $this->view->assign('apps', $temp);
     $this->view->assign('domain_id', siteHelper::getDomainId());
     $this->view->assign('domain', siteHelper::getDomain());
     $this->view->assign('title', siteHelper::getDomain('title'));
     if ($domain_alias = wa()->getRouting()->isAlias(siteHelper::getDomain())) {
         $this->view->assign('domain_alias', $domain_alias);
         return;
     }
     $s = siteHelper::getDomain('style');
     $this->view->assign('style', $s ? $s : 'white');
     $domain = siteHelper::getDomain();
     $domain_config_path = $this->getConfig()->getConfigPath('domains/' . $domain . '.php');
     if (file_exists($domain_config_path)) {
         $domain_config = (include $domain_config_path);
     } else {
         $domain_config = array();
     }
     $u = parse_url('http://' . $domain);
     //$path = isset($u['path']) ? $u['path'] : '';
     if (!isset($domain_config['apps']) || !$domain_config['apps']) {
         $this->view->assign('domain_apps_type', 0);
         $domain_name = !empty($domain_config['name']) ? $domain_config['name'] : null;
         $domain_config['apps'] = wa()->getFrontendApps($domain, $domain_name);
     } else {
         $this->view->assign('domain_apps_type', 1);
     }
     $this->view->assign('domain_apps', $domain_config['apps']);
     $this->view->assign('cdn', ifset($domain_config['cdn'], ''));
     foreach (array('head_js') as $key) {
         $this->view->assign($key, isset($domain_config[$key]) ? $domain_config[$key] : '');
     }
     if (isset($domain_config['google_analytics'])) {
         if (!is_array($domain_config['google_analytics'])) {
             $domain_config['google_analytics'] = array('code' => $domain_config['google_analytics']);
         }
     } else {
         $domain_config['google_analytics'] = array('code' => '');
     }
     $this->view->assign('google_analytics', $domain_config['google_analytics']);
     $this->getStaticFiles($domain);
     $this->view->assign('url', $this->getDomainUrl($domain));
     /**
      * Backend settings page
      * UI hook allow extends backend settings page
      * @event backend_settings
      * @param array $domain
      * @return array[string][string]string $return[%plugin_id%]['action_button_li'] html output
      * @return array[string][string]string $return[%plugin_id%]['section'] html output
      */
     $domain_info = siteHelper::getDomainInfo();
     $this->view->assign('backend_settings', wa()->event('backend_settings', $domain_info, array('action_button_li', 'section')));
 }