示例#1
0
 public function settings()
 {
     // auth
     Auth::isAdminAuthorized($this->signedUser, null, true, '/profile/sign-in');
     // prep
     $save = Converter::string('save', 'post');
     // check
     $userSetting = \Rebond\Cms\UserSettings\Data::loadById($this->signedUser->getId());
     if (!isset($userSetting)) {
         $userSetting = new \Rebond\Cms\UserSettings\Model();
         $userSetting->setUserId($this->signedUser->getId());
         $userSetting->save();
     }
     $form = new \Rebond\Cms\UserSettings\Form($userSetting);
     // action
     if (isset($save)) {
         if ($form->setFromPost()->validate()->isValid()) {
             $userSetting->save();
             Session::adminSuccess('saved', '/profile/settings');
         } else {
             Session::set('adminError', $form->getValidation()->getMessage());
         }
     }
     // view
     $this->setTpl();
     $tplMain = new Template(Template::MODULE, ['cms', 'userSettings']);
     $tplMain->set('item', $form);
     // layout
     $this->tplLayout->set('column1', $tplMain->render('editor'));
     // master
     $this->tplMaster->set('layout', $this->tplLayout->render('layout-1-col'));
     $this->tplMaster->set('jsLauncher', 'profile');
     return $this->tplMaster->render('tpl-default');
 }
示例#2
0
 public function updateUserSettings()
 {
     if (!$this->hasPrivilege(null)) {
         return $this->noPrivilege('admin');
     }
     $json = [];
     $json['result'] = ResultType::ERROR;
     // check
     $value = Converter::int('value', 'post');
     $type = Converter::string('type', 'post');
     if (!isset($type) || !isset($value)) {
         $json['message'] = Lang::lang('errorInvalidParameters');
         return json_encode($json);
     }
     // Check item
     $userSettings = \Rebond\Cms\UserSettings\Data::loadById($this->signedUser->getId());
     if (!isset($userSettings)) {
         $json['message'] = Lang::lang('settingsNotFound');
         return json_encode($json);
     }
     // Save item
     switch ($type) {
         case 'mediaView':
             $userSettings->setMediaView($value);
             break;
         case 'mediaPaging':
             $userSettings->setMediaPaging($value);
             break;
         case 'contentPaging':
             $userSettings->setContentPaging($value);
             break;
         case 'paging':
             $userSettings->setPaging($value);
             break;
     }
     $userSettings->save();
     $json['result'] = ResultType::SUCCESS;
     $json['message'] = Lang::lang('saved');
     return json_encode($json);
 }