public function saveValue() { $request = \Ip\ServiceLocator::request(); $request->mustBePost(); $post = $request->getPost(); if (empty($post['fieldName'])) { throw new \Exception('Missing required parameter'); } $fieldName = $post['fieldName']; if (!isset($post['value'])) { throw new \Exception('Missing required parameter'); } $value = $post['value']; if (!in_array($fieldName, array('websiteTitle', 'websiteEmail')) && !(in_array($fieldName, array('automaticCron', 'cronPassword', 'removeOldRevisions', 'removeOldRevisionsDays', 'removeOldEmails', 'removeOldEmailsDays', 'allowAnonymousUploads', 'trailingSlash')) && ipAdminPermission('Config advanced'))) { throw new \Exception('Unknown config value'); } $emailValidator = new \Ip\Form\Validator\Email(); $error = $emailValidator->getError(array('value' => $value), 'value', \Ip\Form::ENVIRONMENT_ADMIN); if ($fieldName === 'websiteEmail' && $error !== false) { return $this->returnError($error); } if (in_array($fieldName, array('websiteTitle', 'websiteEmail'))) { if (!isset($post['languageId'])) { throw new \Exception('Missing required parameter'); } $languageId = $post['languageId']; $language = ipContent()->getLanguage($languageId); ipSetOptionLang('Config.' . $fieldName, $value, $language->getCode()); } else { ipSetOption('Config.' . $fieldName, $value); } return new \Ip\Response\Json(array(1)); }
public static function ipBeforeController() { $request = \Ip\ServiceLocator::request(); $sessionLifetime = ini_get('session.gc_maxlifetime'); if (!$sessionLifetime) { $sessionLifetime = 120; } if ($sessionLifetime > 30) { $sessionLifetime = $sessionLifetime - 20; } ipAddJsVariable('ipSessionRefresh', $sessionLifetime); if (ipConfig()->isDebugMode()) { ipAddJs('Ip/Internal/Core/assets/ipCore/jquery.js', null, 10); // default, global jQuery ipAddJs('Ip/Internal/Core/assets/ipCore/console.log.js', null, 10); ipAddJs('Ip/Internal/Core/assets/ipCore/functions.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/jquery.tools.form.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/form/color.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/form/file.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/form/richtext.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/form/repositoryFile.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/form/url.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/form.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/validator.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/widgets.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/ipCore.js'); } else { ipAddJs('Ip/Internal/Core/assets/ipCore.min.js', null, 10); } //Form init $validatorTranslations = array('Ip-admin' => static::validatorLocalizationData('Ip-admin'), ipContent()->getCurrentLanguage()->getCode() => static::validatorLocalizationData('Ip')); ipAddJsVariable('ipValidatorTranslations', $validatorTranslations); if (ipAdminId() || \Ip\Internal\Admin\Model::isLoginPage() || \Ip\Internal\Admin\Model::isPasswordResetPage()) { if (ipConfig()->isDebugMode()) { ipAddJs('Ip/Internal/Core/assets/admin/managementMode.js'); ipAddJs('Ip/Internal/Core/assets/admin/functions.js'); ipAddJs('Ip/Internal/Core/assets/admin/validator.js'); ipAddJs('Ip/Internal/Core/assets/admin/bootstrap/bootstrap.js'); ipAddJs('Ip/Internal/Core/assets/admin/bootstrap-switch/bootstrap-switch.js'); } else { ipAddJs('Ip/Internal/Core/assets/admin.min.js', null, 10); } ipAddJs('Ip/Internal/Core/assets/tinymce/pastePreprocess.js'); ipAddJs('Ip/Internal/Core/assets/tinymce/default.js'); } if (ipAdminId()) { ipAddJs('Ip/Internal/Core/assets/js/tiny_mce/jquery.tinymce.min.js'); ipAddJs('Ip/Internal/Core/assets/js/tiny_mce/tinymce.min.js'); ipAddJsVariable('ipBrowseLinkModalTemplate', ipView('view/browseLinkModal.php')->render()); ipAddJs('Ip/Internal/Core/assets/ipCore/plupload/plupload.full.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/plupload/plupload.browserplus.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/plupload/plupload.gears.js'); ipAddJs('Ip/Internal/Core/assets/ipCore/plupload/jquery.plupload.queue/jquery.plupload.queue.js'); if (is_file(ipThemeFile('setup/admin.js'))) { ipAddJs(ipThemeUrl('setup/admin.js')); } ipAddCss('Ip/Internal/Core/assets/admin/admin.css'); } }
public static function ipInitFinished() { $request = \Ip\ServiceLocator::request(); $safeMode = $request->getQuery('safeMode'); if ($safeMode === null) { $safeMode = $request->getQuery('safemode'); } if ($safeMode !== null && \Ip\Internal\Admin\Backend::userId()) { Model::setSafeMode($safeMode); } }
/** * @throws \Ip\Exception */ public function installTheme() { $request = ServiceLocator::request(); $request->mustBePost(); $themeName = $request->getPost('themeName'); if (empty($themeName)) { throw new \Ip\Exception('Invalid arguments.'); } $model = Model::instance(); try { $model->installTheme($themeName); } catch (\Ip\Exception $e) { return JsonRpc::error($e->getMessage()); } // TODO jsonrpc return new \Ip\Response\Json(array('status' => 'success')); }
/** * Get HTTP request object * * HTTP request object can be used to get HTTP POST, GET and SERVER variables, and to perform other HTTP request related tasks. * @return \Ip\Request Request object. */ function ipRequest() { return \Ip\ServiceLocator::request(); }