Example #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');
 }
Example #2
0
 public function user_edit()
 {
     // auth
     Auth::isAdminAuthorized($this->signedUser, 'admin.user', true, '/user');
     // check
     $save = Converter::string('save', 'post');
     $id = \Rebond\Util\Converter::int('id');
     $user = \Rebond\Core\User\Data::loadById($id, true);
     $id = $user->getId();
     $form = new \Rebond\Core\User\Form($user);
     // action
     if (isset($save)) {
         Auth::isAdminAuthorized($this->signedUser, 'admin.user.edit', true, '/user/edit?id=' . $id);
         if ($form->setFromPost()->validate()->isValid()) {
             if ($user->getId() == 0) {
                 $user->setPassword(\Rebond\Util\Security::encryptPassword($user->getPassword()));
             }
             $user->save();
             $userSettings = \Rebond\Cms\UserSettings\Data::loadByUserId($user->getId());
             if (!isset($userSettings)) {
                 $userSettings = new \Rebond\Cms\UserSettings\Model();
                 $userSettings->setUserId($user->getId());
                 $userSettings->save();
             }
             Session::adminSuccess('saved', '/user');
         } else {
             Session::set('adminError', $form->getValidation()->getMessage());
         }
     }
     // view
     $this->setTpl();
     // main
     $tplMain = new Template(Template::MODULE, ['core', 'user']);
     $tplMain->set('item', $form);
     // layout
     if (Auth::isAdminAuthorized($this->signedUser, 'admin.user.edit', false)) {
         if ($id == 0) {
             $this->tplLayout->set('column1', $tplMain->render('register'));
         } else {
             $this->tplLayout->set('column1', $tplMain->render('editor'));
         }
     } else {
         $this->tplLayout->set('column1', $tplMain->render('view'));
     }
     // master
     $this->tplMaster->set('layout', $this->tplLayout->render('layout-1-col'));
     $this->tplMaster->set('jsLauncher', 'userEdit');
     return $this->tplMaster->render('tpl-default');
 }
Example #3
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);
 }