示例#1
0
 public function editAction()
 {
     $post = Engine_Api::_()->core()->getSubject('group_post');
     $group = $post->getParent('group');
     $viewer = Engine_Api::_()->user()->getViewer();
     if (!$group->isOwner($viewer) && !$post->isOwner($viewer) && !$group->authorization()->isAllowed($user, 'topic.edit')) {
         return $this->_helper->requireAuth->forward();
     }
     $this->view->form = $form = new Group_Form_Post_Edit();
     if (!$this->getRequest()->isPost()) {
         $form->populate($post->toArray());
         $form->body->setValue(html_entity_decode($post->body));
         return;
     }
     if (!$form->isValid($this->getRequest()->getPost())) {
         return;
     }
     // Process
     $table = $post->getTable();
     $db = $table->getAdapter();
     $db->beginTransaction();
     try {
         $post->setFromArray($form->getValues());
         $post->modified_date = date('Y-m-d H:i:s');
         $post->body = $post->body;
         $post->save();
         $db->commit();
     } catch (Exception $e) {
         $db->rollBack();
         throw $e;
     }
     // Try to get topic
     return $this->_forward('success', 'utility', 'core', array('closeSmoothbox' => true, 'parentRefresh' => true, 'messages' => array(Zend_Registry::get('Zend_Translate')->_('The changes to your post have been saved.'))));
 }
示例#2
0
 public function editAction()
 {
     $post = Engine_Api::_()->core()->getSubject('group_post');
     $group = $post->getParent('group');
     $viewer = Engine_Api::_()->user()->getViewer();
     if (!$group->isOwner($viewer) && !$post->isOwner($viewer)) {
         return $this->_helper->requireAuth->forward();
     }
     $this->view->form = $form = new Group_Form_Post_Edit();
     if (!$this->getRequest()->isPost()) {
         $form->populate($post->toArray());
         return;
     }
     if (!$form->isValid($this->getRequest()->getPost())) {
         return;
     }
     // Process
     $table = $post->getTable();
     $db = $table->getAdapter();
     $db->beginTransaction();
     try {
         $post->setFromArray($form->getValues());
         $post->modified_date = date('Y-m-d H:i:s');
         $post->save();
         $db->commit();
     } catch (Exception $e) {
         $db->rollBack();
         throw $e;
     }
     // Try to get topic
     return $this->_forward('success', 'utility', 'core', array('closeSmoothbox' => true, 'parentRefresh' => true));
 }