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'))); }