コード例 #1
0
ファイル: permissions.php プロジェクト: sea75300/fanpresscm3
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     $checkPageToken = $this->checkPageToken();
     if ($this->buttonClicked('permissionsSave') && !$checkPageToken) {
         $this->view->addErrorMessage('CSRF_INVALID');
     }
     if ($this->buttonClicked('permissionsSave') && !is_null($this->getRequestVar('permissions')) && $checkPageToken) {
         $permissionData = $this->getRequestVar('permissions');
         $res = false;
         foreach ($permissionData as $groupId => $permissions) {
             $permissions = array_map(array($this, 'intval'), $permissions);
             if ($groupId == 1) {
                 $permissions['system']['permissions'] = 1;
             }
             $permissions = array_replace_recursive($this->permissions->getPermissionSet(), $permissions);
             $this->permissionData->setRollId($groupId);
             $this->permissionData->setPermissionData($permissions);
             if (!$this->permissionData->update()) {
                 $this->view->addErrorMessage('SAVE_FAILED_PERMISSIONS', array('{{rollid}}' => $groupId));
             } else {
                 $res = true;
             }
         }
         if ($res) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_PERMISSIONS');
         }
     }
     return true;
 }
コード例 #2
0
ファイル: templates.php プロジェクト: sea75300/fanpresscm3
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     if ($this->buttonClicked('uploadFile') && !is_null(\fpcm\classes\http::getFiles())) {
         $uploader = new \fpcm\model\files\fileuploader(\fpcm\classes\http::getFiles());
         $res = $uploader->processArticleTemplateUpload();
         if ($res == true) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_UPLOADTPLFILE');
         } else {
             $this->view->addErrorMessage('SAVE_FAILED_UPLOADTPLFILE');
         }
         return true;
     }
     $delFiles = $this->getRequestVar('deltplfiles');
     if ($this->buttonClicked('fileDelete') && is_array($delFiles) && count($delFiles)) {
         $delFiles = array_map('base64_decode', $delFiles);
         $deletedOk = array();
         $deletedFailed = array();
         foreach ($delFiles as $delFile) {
             $articleTplFile = new \fpcm\model\files\templatefile($delFile);
             if (!$articleTplFile->delete()) {
                 $deletedFailed[] = \fpcm\model\files\ops::removeBaseDir($delFile);
                 continue;
             }
             $deletedOk[] = \fpcm\model\files\ops::removeBaseDir($delFile);
         }
         if (count($deletedOk)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_FILES', array('{{filenames}}' => implode(', ', $deletedOk)));
         }
         if (count($deletedFailed)) {
             $this->view->addErrorMessage('DELETE_FAILED_FILES', array('{{filenames}}' => implode(', ', $deletedFailed)));
         }
         return true;
     }
     if ($this->buttonClicked('saveTemplates') && !is_null($this->getRequestVar('template'))) {
         $this->cache->cleanup();
         $templateContents = $this->getRequestVar('template');
         $tplSaveError = array();
         $tplSaveOk = array();
         foreach ($templateContents as $templateName => $newContent) {
             $tplObj = $this->{$templateName . 'Template'};
             $tplObj->setContent($newContent);
             $res = $tplObj->save();
             if (is_null($res) && $templateName == 'commentForm') {
                 $this->view->addErrorMessage('SAVE_FAILED_TEMPLATE_CF_URLMISSING');
             } elseif (!$res) {
                 $tplSaveError[] = $tplObj->getFilename();
             } else {
                 $tplSaveOk[] = $tplObj->getFilename();
             }
         }
         if (count($tplSaveError)) {
             $this->view->addErrorMessage('SAVE_FAILED_TEMPLATE', array('{{filenames}}' => implode(', ', $tplSaveError)));
         }
         if (count($tplSaveOk)) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_TEMPLATE', array('{{filenames}}' => implode(', ', $tplSaveOk)));
         }
     }
     return true;
 }
コード例 #3
0
ファイル: profile.php プロジェクト: sea75300/fanpresscm3
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     $author = $this->session->getCurrentUser();
     $pageTokenCheck = $this->checkPageToken();
     if (($this->buttonClicked('profileSave') || $this->buttonClicked('resetProfileSettings')) && !$pageTokenCheck) {
         $this->view->addErrorMessage('CSRF_INVALID');
     }
     $this->view->assign('reloadSite', false);
     if ($this->buttonClicked('resetProfileSettings') && $pageTokenCheck) {
         $author->setUserMeta(array());
         $author->disablePasswordSecCheck();
         if ($author->update() === false) {
             $this->view->addErrorMessage('SAVE_FAILED_USER_PROFILE');
         } else {
             $this->view->addNoticeMessage('SAVE_SUCCESS_RESETPROFILE');
             $this->view->assign('reloadSite', true);
         }
     }
     if ($this->buttonClicked('profileSave') && $pageTokenCheck) {
         $author->setEmail($this->getRequestVar('email'));
         $author->setDisplayName($this->getRequestVar('displayname'));
         $metaData = $this->getRequestVar('usermeta');
         $author->setUserMeta($metaData);
         $newpass = $this->getRequestVar('password');
         $newpass_confirm = $this->getRequestVar('password_confirm');
         $save = true;
         if ($newpass && $newpass_confirm) {
             if (md5($newpass) == md5($newpass_confirm)) {
                 $author->setPassword($newpass);
             } else {
                 $save = false;
                 $this->view->addErrorMessage('SAVE_FAILED_PASSWORD_MATCH');
             }
         } else {
             $author->disablePasswordSecCheck();
         }
         if ($save) {
             $res = $author->update();
             if ($res === false) {
                 $this->view->addErrorMessage('SAVE_FAILED_USER_PROFILE');
             } elseif ($res === true) {
                 $reloadSite = $metaData['system_lang'] != $this->config->system_lang ? true : false;
                 $this->view->assign('reloadSite', $reloadSite);
                 $this->view->addNoticeMessage('SAVE_SUCCESS_EDITUSER_PROFILE');
             } elseif ($res === \fpcm\model\users\author::AUTHOR_ERROR_PASSWORDINSECURE) {
                 $this->view->addErrorMessage('SAVE_FAILED_PASSWORD_SECURITY');
             } elseif ($res === \fpcm\model\users\author::AUTHOR_ERROR_NOEMAIL) {
                 $this->view->addErrorMessage('SAVE_FAILED_USER_PROFILEEMAIL');
             }
         }
     }
     $this->view->assign('author', $author);
     return true;
 }
コード例 #4
0
ファイル: modulelist.php プロジェクト: sea75300/fanpresscm3
 public function request()
 {
     if (!is_null(\fpcm\classes\http::getFiles())) {
         $uploader = new \fpcm\model\files\fileuploader(\fpcm\classes\http::getFiles());
         $res = $uploader->processModuleUpload();
         if ($res == true) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_UPLOADMODULE');
         } else {
             $this->view->addErrorMessage('SAVE_FAILED_UPLOADMODULE');
         }
     }
     return true;
 }
コード例 #5
0
ファイル: options.php プロジェクト: sea75300/fanpresscm3
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     if ($this->getRequestVar('syscheck')) {
         $this->syscheck = $this->getRequestVar('syscheck', array(9));
     }
     if ($this->buttonClicked('configSave') && !$this->checkPageToken()) {
         $this->view->addErrorMessage('CSRF_INVALID');
         return true;
     }
     if ($this->buttonClicked('configSave')) {
         $newconfig = $this->getRequestVar();
         if (!isset($newconfig['twitter_events'])) {
             $newconfig['twitter_events'] = array('create' => 0, 'update' => 0);
         }
         foreach ($this->config->twitter_events as $key => $value) {
             $newconfig['twitter_events'][$key] = isset($newconfig['twitter_events'][$key]) && $newconfig['twitter_events'][$key] ? 1 : 0;
         }
         $newconfig['twitter_events'] = json_encode($newconfig['twitter_events']);
         if (!isset($newconfig['twitter_data'])) {
             $newconfig['twitter_data'] = array('consumer_key' => '', 'consumer_secret' => '', 'user_token' => '', 'user_secret' => '');
         }
         foreach ($this->config->twitter_data as $key => $value) {
             $newconfig['twitter_data'][$key] = isset($newconfig['twitter_data'][$key]) ? $newconfig['twitter_data'][$key] : '';
         }
         $newconfig['twitter_data'] = json_encode($newconfig['twitter_data']);
         $newconfig['articles_limit'] = (int) $newconfig['articles_limit'];
         $newconfig['articles_acp_limit'] = (int) $newconfig['articles_acp_limit'];
         $newconfig['system_cache_timeout'] = (int) $newconfig['system_cache_timeout'];
         $newconfig['system_session_length'] = (int) $newconfig['system_session_length'];
         $newconfig['comments_flood'] = (int) $newconfig['comments_flood'];
         $newconfig['system_loginfailed_locked'] = (int) $newconfig['system_loginfailed_locked'];
         $newconfig['comments_markspam_commentcount'] = (int) $newconfig['comments_markspam_commentcount'];
         $newconfig['file_img_thumb_width'] = (int) $newconfig['file_img_thumb_width'];
         $newconfig['file_img_thumb_height'] = (int) $newconfig['file_img_thumb_height'];
         $newconfig['file_list_limit'] = (int) $newconfig['file_list_limit'];
         $newconfig['system_updates_devcheck'] = (int) $newconfig['system_updates_devcheck'];
         $newconfig['articles_revisions_limit'] = (int) $newconfig['articles_revisions_limit'];
         $newconfig['articles_link_urlrewrite'] = (int) $newconfig['articles_link_urlrewrite'];
         $newconfig['articles_archive_datelimit'] = $newconfig['articles_archive_datelimit'] ? strtotime($newconfig['articles_archive_datelimit']) : 0;
         $this->config->setNewConfig($newconfig);
         if (!$this->config->update()) {
             $this->view->addErrorMessage('SAVE_FAILED_OPTIONS');
             return true;
         }
         $this->view->addNoticeMessage('SAVE_SUCCESS_OPTIONS');
     }
     if ($this->buttonClicked('twitterDisconnect')) {
         $twitterData = $this->config->twitter_data;
         $twitterData['user_token'] = '';
         $twitterData['user_secret'] = '';
         $this->config->setNewConfig(array('twitter_data' => json_encode($twitterData), 'twitter_events' => json_encode(array('create' => 0, 'update' => 0))));
         if (!$this->config->update()) {
             $this->view->addNoticeMessage('SAVE_FAILED_OPTIONS');
             return true;
         }
         $this->view->addNoticeMessage('SAVE_SUCCESS_OPTIONS');
     }
     return true;
 }
コード例 #6
0
ファイル: login.php プロジェクト: sea75300/fanpresscm3
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     if ($this->session->exists()) {
         $this->redirect('system/dashboard');
     }
     if (!$this->maintenanceMode(false)) {
         return false;
     }
     $this->pageTokenOk = $this->checkPageToken();
     session_start();
     $this->loginLocked();
     if ($this->buttonClicked('login') && !is_null($this->getRequestVar('login')) && !$this->loginLocked && $this->pageTokenOk) {
         $data = $this->getRequestVar('login');
         $data = $this->events->runEvent('loginBefore', $data);
         $session = new \fpcm\model\system\session();
         $loginRes = $session->checkUser($data['username'], $data['password']);
         if ($loginRes === \fpcm\model\users\author::AUTHOR_ERROR_DISABLED) {
             $this->currentAttempts = $this->config->system_loginfailed_locked;
             $this->view->addErrorMessage('LOGIN_FAILED_DISABLED');
             if ($this->currentAttempts == $this->config->system_loginfailed_locked) {
                 $this->loginLocked();
             }
         } elseif ($loginRes === true && $session->save() && $session->setCookie()) {
             session_destroy();
             $this->redirect('system/dashboard');
         } else {
             $this->currentAttempts++;
             \fpcm\classes\http::setSessionVar('loginAttempts', $this->currentAttempts);
             $this->view->addErrorMessage('LOGIN_FAILED');
             if ($this->currentAttempts == $this->config->system_loginfailed_locked) {
                 $this->loginLocked();
             }
         }
     }
     if ($this->buttonClicked('reset') && !is_null($this->getRequestVar('username')) && !is_null($this->getRequestVar('email')) && !$this->loginLocked && $this->pageTokenOk) {
         $userList = new \fpcm\model\users\userList();
         $id = $userList->getUserIdByUsername($this->getRequestVar('username'));
         if (!$id) {
             $this->redirect();
         }
         $user = new \fpcm\model\users\author($id);
         if ($user->getEmail() == $this->getRequestVar('email') && $user->resetPassword()) {
             $this->view->addNoticeMessage('LOGIN_PASSWORD_RESET');
         } else {
             \fpcm\classes\logs::syslogWrite("Passwort reset for user id {$user->getUsername()} failed.");
             $this->view->addErrorMessage('LOGIN_PASSWORD_RESET_FAILED');
         }
     }
     if (!is_null($this->getRequestVar('nologin'))) {
         $this->view->addErrorMessage('LOGIN_REQUIRED');
     }
     $reset = !is_null($this->getRequestVar('reset')) ? true : false;
     $this->view->assign('resetPasswort', $reset);
     $this->view->assign('noFullWrapper', true);
     return true;
 }
コード例 #7
0
ファイル: commentedit.php プロジェクト: sea75300/fanpresscm3
 public function request()
 {
     if (is_null($this->getRequestVar('commentid'))) {
         $this->redirect('comments/list');
     }
     $this->comment = new \fpcm\model\comments\comment($this->getRequestVar('commentid'));
     if (!$this->comment->exists()) {
         $this->view->setNotFound('LOAD_FAILED_COMMENT', 'comments/list');
         return true;
     }
     if (!$this->comment->getEditPermission()) {
         $this->view = new \fpcm\model\view\error();
         $this->view->addErrorMessage('PERMISSIONS_REQUIRED');
         $this->view->render();
         return false;
     }
     if ($this->buttonClicked('commentSave') && $this->getRequestVar('comment')) {
         $commentData = $this->getRequestVar('comment', array(4, 7));
         $this->comment->setText($commentData['text']);
         unset($commentData['text']);
         foreach ($commentData as &$value) {
             $value = \fpcm\classes\http::filter($value, array(1, 3));
         }
         $this->comment->setName($commentData['name']);
         $this->comment->setEmail($commentData['email']);
         $this->comment->setWebsite($commentData['website']);
         if ($this->approve) {
             $this->comment->setApproved(isset($commentData['approved']) ? true : false);
             $this->comment->setSpammer(isset($commentData['spam']) ? true : false);
         }
         if ($this->private) {
             $this->comment->setPrivate(isset($commentData['private']) ? true : false);
         }
         $this->comment->setChangetime(time());
         $this->comment->setChangeuser($this->session->getUserId());
         if ($this->comment->update()) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_COMMENT');
         } else {
             $this->view->addErrorMessage('SAVE_FAILED_COMMENT');
         }
     }
     return true;
 }
コード例 #8
0
ファイル: iplist.php プロジェクト: sea75300/fanpresscm3
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     if ($this->getRequestVar('added') == 1) {
         $this->view->addNoticeMessage('SAVE_SUCCESS_IPADDRESS');
     }
     if ($this->buttonClicked('delete') && !$this->checkPageToken()) {
         $this->view->addErrorMessage('CSRF_INVALID');
         return true;
     }
     if ($this->buttonClicked('delete') && !is_null($this->getRequestVar('ipids'))) {
         $ids = array_map('intval', $this->getRequestVar('ipids'));
         if ($this->ipList->deleteIpAdresses($ids)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_IPADDRESS');
         } else {
             $this->view->addErrorMessage('DELETE_FAILED_IPADDRESS');
         }
     }
     return true;
 }
コード例 #9
0
ファイル: smileylist.php プロジェクト: sea75300/fanpresscm3
 public function request()
 {
     if ($this->getRequestVar('added')) {
         $this->view->addNoticeMessage('SAVE_SUCCESS_SMILEY');
     }
     if ($this->buttonClicked('configSave') && !$this->checkPageToken()) {
         $this->view->addErrorMessage('CSRF_INVALID');
         return true;
     }
     if ($this->buttonClicked('deleteSmiley') && $this->getRequestVar('smileyids')) {
         $deleteItems = array_map('unserialize', array_map('base64_decode', $this->getRequestVar('smileyids')));
         if ($this->smileyList->deleteSmileys($deleteItems)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_SMILEYS');
         } else {
             $this->view->addErrorMessage('DELETE_FAILED_SMILEYS');
         }
         $this->cache->cleanup();
     }
     return true;
 }
コード例 #10
0
ファイル: userlist.php プロジェクト: sea75300/fanpresscm3
 /**
  * Benutzer löschen
  * @param array $userId
  * @param bool $check
  * @return void
  */
 private function deleteUsers($userId, $check = true)
 {
     if ($check && $this->userList->countActiveUsers() == 1) {
         $this->view->addErrorMessage('DELETE_FAILED_USERS_LAST');
         return;
     }
     if ($check && $userId == $this->session->getUserId()) {
         $this->view->addErrorMessage('DELETE_FAILED_USERS_OWN');
         return;
     }
     $user = new \fpcm\model\users\author($userId);
     if ($user->delete()) {
         $this->view->addNoticeMessage('DELETE_SUCCESS_USERS');
     } else {
         $this->view->addErrorMessage('DELETE_FAILED_USERS');
     }
 }
コード例 #11
0
 /**
  * Request-Handler
  * @return boolean
  */
 public function request()
 {
     if (($this->buttonClicked('doAction') || $this->buttonClicked('clearTrash')) && !$this->checkPageToken()) {
         $this->view->addErrorMessage('CSRF_INVALID');
         return true;
     }
     if ($this->buttonClicked('clearTrash')) {
         if (!$this->doTrash()) {
             $this->view->addErrorMessage('DELETE_FAILED_TRASH');
         } else {
             $this->view->addNoticeMessage('DELETE_SUCCESS_TRASH');
         }
         $this->initPagination();
         return true;
     }
     if ($this->buttonClicked('doAction') && !is_null($this->getRequestVar('actions'))) {
         $actionData = $this->getRequestVar('actions');
         if (!isset($actionData['ids']) && $actionData['action'] != 'trash' || !$actionData['action']) {
             $this->view->addErrorMessage('SELECT_ITEMS_MSG');
             $this->initPagination();
             return true;
         }
         $ids = array_map('intval', $actionData['ids']);
         $action = in_array($actionData['action'], array_values($this->articleActions)) ? $actionData['action'] : false;
         if ($action === false) {
             $this->view->addErrorMessage('SELECT_ITEMS_MSG');
             $this->initPagination();
             return true;
         }
         if (!call_user_func(array($this, 'do' . ucfirst($action)), $ids)) {
             $msg = $action == 'delete' ? 'DELETE_FAILED_ARTICLE' : 'SAVE_FAILED_ARTICLE';
             $this->initPagination();
             $this->view->addErrorMessage($msg);
             return true;
         }
         $msg = $action == 'delete' ? 'DELETE_SUCCESS_ARTICLE' : 'SAVE_SUCCESS_ARTICLE' . strtoupper($action);
         $this->view->addNoticeMessage($msg);
     }
     $this->initPagination();
     return true;
 }
コード例 #12
0
ファイル: useredit.php プロジェクト: sea75300/fanpresscm3
 public function request()
 {
     if (is_null($this->getRequestVar('userid'))) {
         $this->redirect('users/list');
     }
     $this->userId = $this->getRequestVar('userid', array(9));
     $author = new \fpcm\model\users\author($this->userId);
     if (!$author->exists()) {
         $this->view->setNotFound('LOAD_FAILED_USER', 'users/list');
         return true;
     }
     $checkPageToken = $this->checkPageToken();
     if (($this->buttonClicked('userSave') || $this->buttonClicked('resetProfileSettings')) && !$checkPageToken) {
         $this->view->addErrorMessage('CSRF_INVALID');
     }
     if ($this->buttonClicked('resetProfileSettings') && $checkPageToken) {
         $author->setUserMeta(array());
         $author->disablePasswordSecCheck();
         if ($author->update() === false) {
             $this->view->addErrorMessage('SAVE_FAILED_USER_PROFILE');
         } else {
             $this->view->addNoticeMessage('SAVE_SUCCESS_RESETPROFILE');
             $this->view->assign('reloadSite', true);
         }
     }
     if ($this->buttonClicked('userSave') && $checkPageToken) {
         $author->setUserName($this->getRequestVar('username'));
         $author->setEmail($this->getRequestVar('email'));
         $author->setDisplayName($this->getRequestVar('displayname'));
         $author->setRoll($this->getRequestVar('roll', array(9)));
         $author->setUserMeta($this->getRequestVar('usermeta'));
         if ($this->getRequestVar('disabled') !== null) {
             $author->setDisabled($this->getRequestVar('disabled', array(9)));
         }
         $newpass = $this->getRequestVar('password');
         $newpass_confirm = $this->getRequestVar('password_confirm');
         $save = true;
         if ($newpass && $newpass_confirm) {
             if (md5($newpass) == md5($newpass_confirm)) {
                 $author->setPassword($newpass);
             } else {
                 $save = false;
                 $this->view->addErrorMessage('SAVE_FAILED_PASSWORD_MATCH');
             }
         } else {
             $author->disablePasswordSecCheck();
         }
         if ($save) {
             $res = $author->update();
             if ($res === false) {
                 $this->view->addErrorMessage('SAVE_FAILED_USER');
             } elseif ($res === true) {
                 $this->redirect('users/list', array('edited' => 1));
             } elseif ($res === \fpcm\model\users\author::AUTHOR_ERROR_PASSWORDINSECURE) {
                 $this->view->addErrorMessage('SAVE_FAILED_PASSWORD_SECURITY');
             } elseif ($res === \fpcm\model\users\author::AUTHOR_ERROR_EXISTS) {
                 $this->view->addErrorMessage('SAVE_FAILED_USER_EXISTS');
             } elseif ($res === \fpcm\model\users\author::AUTHOR_ERROR_NOEMAIL) {
                 $this->view->addErrorMessage('SAVE_FAILED_USER_EMAIL');
             }
         }
     }
     $this->userEnabled = $author->getDisabled();
     $this->view->assign('author', $author);
     return true;
 }
コード例 #13
0
ファイル: filelist.php プロジェクト: sea75300/fanpresscm3
 public function request()
 {
     if (!is_null($this->getRequestVar('mode'))) {
         $this->mode = (int) $this->getRequestVar('mode');
         if ($this->mode > 1) {
             $this->view->setShowHeader(false);
             $this->view->setShowFooter(false);
         }
     }
     if (!is_null(\fpcm\classes\http::getFiles())) {
         $uploader = new \fpcm\model\files\fileuploader(\fpcm\classes\http::getFiles());
         $result = $uploader->processUpload($this->session->getUserId());
         if (count($result['success'])) {
             $this->view->addNoticeMessage('SAVE_SUCCESS_UPLOADPHP', array('{{filenames}}' => implode(', ', $result['success'])));
         }
         if (count($result['error'])) {
             $this->view->addErrorMessage('SAVE_FAILED_UPLOADPHP', array('{{filenames}}' => implode(', ', $result['error'])));
         }
     }
     if ($this->buttonClicked('deleteFiles') && !is_null($this->getRequestVar('filenames'))) {
         $fileNames = array_map('base64_decode', $this->getRequestVar('filenames'));
         $deletedOk = array();
         $deletedFailed = array();
         foreach ($fileNames as $fileName) {
             $image = new \fpcm\model\files\image($fileName, '', '', false);
             if ($image->delete()) {
                 $deletedOk[] = $fileName;
             } else {
                 $deletedFailed[] = $fileName;
             }
         }
         if (count($deletedOk)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_FILES', array('{{filenames}}' => implode(', ', $deletedOk)));
         }
         if (count($deletedFailed)) {
             $this->view->addErrorMessage('DELETE_FAILED_FILES', array('{{filenames}}' => implode(', ', $deletedFailed)));
         }
     }
     if ($this->buttonClicked('createThumbs') && !is_null($this->getRequestVar('filenames'))) {
         $fileNames = array_map('base64_decode', $this->getRequestVar('filenames'));
         $success = array();
         $failed = array();
         foreach ($fileNames as $fileName) {
             $image = new \fpcm\model\files\image($fileName, '', '', false);
             if ($image->createThumbnail()) {
                 $success[] = $fileName;
             } else {
                 $deletedFailed[] = $fileName;
             }
         }
         if (count($success)) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_NEWTHUMBS', array('{{filenames}}' => implode(', ', $success)));
         }
         if (count($failed)) {
             $this->view->addErrorMessage('DELETE_FAILED_NEWTHUMBS', array('{{filenames}}' => implode(', ', $failed)));
         }
     }
     if ($this->buttonClicked('renameFiles') && !is_null($this->getRequestVar('filenames') && $this->getRequestVar('newfilename'))) {
         $fileNames = array_map('base64_decode', $this->getRequestVar('filenames'));
         $fileName = array_shift($fileNames);
         $image = new \fpcm\model\files\image($fileName, '', '', false);
         $newname = $this->getRequestVar('newfilename');
         if ($image->rename($newname, $this->session->getUserId())) {
             $this->view->addNoticeMessage('DELETE_SUCCESS_RENAME', array('{{filename1}}' => $fileName, '{{filename2}}' => $newname));
         } else {
             $this->view->addErrorMessage('DELETE_FAILED_RENAME', array('{{filename1}}' => $fileName, '{{filename2}}' => $newname));
         }
         $this->fileList->createFilemanagerThumbs();
     }
     return true;
 }