Пример #1
0
 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));
 }
Пример #2
0
 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');
     }
 }
Пример #3
0
 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);
     }
 }
Пример #4
0
 /**
  * @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'));
 }
Пример #5
0
/**
 * 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();
}