/** * AJAX: Install a theme and publish its asset * * @return array */ public function installAction() { $themeName = $this->params('name'); $installer = new ThemeInstaller(); $ret = $installer->install($themeName); $status = 1; $message = ''; if (!$ret) { $message = $installer->renderMessage() ?: sprintf(_a('The theme "%s" is not installed.'), $themeName); $status = 0; } $message = $message ?: sprintf(_a('The theme "%s" is installed.'), $themeName); return array('status' => $status, 'message' => $message); }
/** * Install default theme * * @param Event $e * @return bool */ public function installTheme(Event $e) { $themeInstaller = new ThemeInstaller(); $result = $themeInstaller->install('default'); if (is_array($result)) { $status = $result['status']; if (!$status) { $ret = $e->getParam('result'); $ret['theme'] = $result; $e->setParam('result', $ret); } } else { $status = (bool) $result; } return $status; }