/** * Action method shows and processes form used for new gallery creation * * @before _secured, _admin */ public function add() { $view = $this->getActionView(); $view->set('submstoken', $this->mutliSubmissionProtectionToken()); if (RequestMethods::post('submitAddGallery')) { if ($this->checkCSRFToken() !== true && $this->checkMutliSubmissionProtectionToken(RequestMethods::post('submstoken')) !== true) { self::redirect('/admin/gallery/'); } $errors = array(); $urlKey = $this->_createUrlKey(RequestMethods::post('title')); if (!$this->_checkUrlKey($urlKey)) { $errors['title'] = array('Galerie s tímto názvem již existuje'); } $gallery = new App_Model_Gallery(array('title' => RequestMethods::post('title'), 'avatarPhotoId' => 0, 'isPublic' => RequestMethods::post('public', 1), 'showDate' => RequestMethods::post('showdate', date('Y-m-d')), 'urlKey' => $urlKey, 'description' => RequestMethods::post('description', ''))); if (empty($errors) && $gallery->validate()) { $id = $gallery->save(); Event::fire('admin.log', array('success', 'Gallery id: ' . $id)); $view->successMessage('Galerie' . self::SUCCESS_MESSAGE_1); self::redirect('/admin/gallery/'); } else { Event::fire('admin.log', array('fail')); $view->set('gallery', $gallery)->set('submstoken', $this->revalidateMutliSubmissionProtectionToken())->set('errors', $errors + $gallery->getErrors()); } } }