/** * IS: Parameter destId dan reviewId terdeklarasi * FS: Mengirimkan ke viewer: form, pageTitle * Desc: Fungsi untuk edit review */ public function editAction() { $this->_helper->layout->setLayout('one-column'); // Param $destId = $this->_getParam('destId'); $reviewId = $this->_getParam('reviewId'); // Cek otorisasi if ($this->_sess->userId) { // Form $form = new Form_ReviewForm(); $form->addAttribs(array('action' => $this->view->url(array('action' => 'edit')))); // Model $reviewDb = new Model_DbTable_Review(); // Request dari Form if ($this->getRequest()->isPost()) { if ($form->isValid($this->getRequest()->getPost())) { $reviewDb->editReview($destId, $this->_sess->userId, $this->getRequest()->getPost()); $this->_redirectToReview('detail', $reviewId); } else { $form->populate($this->getRequest()->getPost()); } } else { // Data $review = $reviewDb->get($reviewId); if ($this->_sess->userId != $review['user_id']) { $this->_redirectToReview('index'); } $form->populate($review->toArray()); } // Breadcrumb $pageTitle = $this->view->translate('id_edit_review'); $this->_generateDetailBreadcrumb($pageTitle); // View $this->view->pageTitle = $pageTitle; $this->view->form = $form; $this->render('form'); } else { $this->_redirectToReview('index'); } }
/** * IS: Parameter id terdeklarasi * FS: Mengirimkan ke viewer: form * Desc: Mengatur aksi yang dilakukan untuk halaman edit */ public function editAction() { $review_id = $this->_getParam('id'); $form = new Admin_Form_ReviewForm(); $table_review = new Model_DbTable_Review(); if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { $title = htmlspecialchars($_POST['reviewTitle'], ENT_QUOTES); $content = htmlspecialchars($_POST['reviewContent'], ENT_QUOTES); $data = array('review_title' => $title, 'review_content' => $content); $table_review->updateReview($data, $review_id); $this->loggingaction('review', 'edit', $review_id); $this->_flash->addMessage("1\\Review Update Success!"); $this->_redirect($this->view->rootUrl('/admin/review/')); } } $data = $table_review->getReviewById($review_id); $form->reviewTitle->setValue($this->view->HtmlDecode($data['review_title'])); $form->reviewContent->setValue($this->view->HtmlDecode($data['review_content'])); $this->view->form = $form; }