} exit; } return array(CONTROLLER_STATUS_OK, 'themes.manage'); } if ($mode == 'manage') { if (fn_allowed_for('ULTIMATE') && !Registry::get('runtime.company_id')) { return array(CONTROLLER_STATUS_OK); } $available_themes = fn_get_available_themes(Registry::get('settings.theme_name')); if (!empty($available_themes['repo']) && !empty($available_themes['installed'])) { $available_themes['repo'] = array_diff_key($available_themes['repo'], $available_themes['installed']); } Tygh::$app['view']->assign('themes_prefix', fn_get_theme_path('[relative]', 'C')); Tygh::$app['view']->assign('repo_prefix', fn_get_theme_path('[repo]', 'C')); Registry::set('navigation.tabs', array('installed_themes' => array('title' => __('installed_themes'), 'js' => true), 'browse_all_available_themes' => array('title' => __('browse_all_available_themes'), 'js' => true))); $theme_name = fn_get_theme_path('[theme]', 'C'); $layout = Layout::instance()->getDefault($theme_name); $style = Styles::factory($theme_name)->get($layout['style_id']); $layout['style_name'] = empty($style['name']) ? '' : $style['name']; Tygh::$app['view']->assign('layout', $layout); foreach ($available_themes['installed'] as $theme_id => $theme) { $layouts_params = array('theme_name' => $theme_id); $available_themes['installed'][$theme_id]['layouts'] = Layout::instance()->getList($layouts_params); if ($theme_id == $theme_name) { $available_themes['current']['layouts'] = $available_themes['installed'][$theme_id]['layouts']; } } Tygh::$app['view']->assign('available_themes', $available_themes); Tygh::$app['view']->assign('dev_modes', Development::get()); }
Registry::get('view')->assign('repo_prefix', fn_get_theme_path('[repo]', 'C')); Registry::set('navigation.tabs', array('installed_themes' => array('title' => __('installed_themes'), 'js' => true), 'browse_all_available_themes' => array('title' => __('browse_all_available_themes'), 'js' => true))); $theme_name = fn_get_theme_path('[theme]', 'C'); $layout = Layout::instance()->getDefault($theme_name); $style = Styles::factory($theme_name)->get($layout['style_id']); $layout['style_name'] = empty($style['name']) ? '' : $style['name']; Registry::get('view')->assign('layout', $layout); foreach ($available_themes['installed'] as $theme_id => $theme) { $layouts_params = array('theme_name' => $theme_id); $available_themes['installed'][$theme_id]['layouts'] = Layout::instance()->getList($layouts_params); if ($theme_id == $theme_name) { $available_themes['current']['layouts'] = $available_themes['installed'][$theme_id]['layouts']; } } Registry::get('view')->assign('available_themes', $available_themes); Registry::get('view')->assign('dev_modes', Development::get()); } elseif ($mode == 'styles') { if ($action == 'update_status') { $theme = Themes::factory(fn_get_theme_path('[theme]', 'C')); $theme_manifest = $theme->getManifest(); if (empty($theme_manifest['converted_to_css'])) { Styles::factory(fn_get_theme_path('[theme]', 'C'))->setStyle($_REQUEST['id'], $_REQUEST['status']); // Delete compiled CSS file fn_clear_cache('statics'); } else { $layout = Layout::instance(Registry::get('runtime.company_id'))->getDefault(); fn_set_notification('E', __('error'), __('theme_editor.error_theme_converted_to_css', array('[url]' => fn_url("customization.update_mode?type=theme_editor&status=enable&s_layout={$layout['layout_id']}")))); } } return array(CONTROLLER_STATUS_OK, 'themes.manage'); } elseif ($mode == 'update_dev_mode') {