/** * IS: Parameter id terdeklarasi * FS: Mengirimkan ke viewer: form, rel_poi, poi_id * Desc: Mengatur aksi yang dilakukan untuk halaman edit */ public function editAction() { $langId = $this->_getParam('lang'); //print_r($langId); $form = new Admin_Form_ArticleForm(array('languageId' => 1)); $form->draft->setLabel('Draft'); if ($this->_userInfo->canApprove) { $form->submit->setLabel('Update'); } else { $form->submit->setLabel('Update for review'); } $table_article = new Model_DbTable_Article(); $table_article_description = new Model_DbTable_ArticleDescription(); $article_id = $this->_getParam('id'); $table_related_article_attraction = new Model_DbTable_RelatedArticleAttraction(); /* set form element value */ if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { $title = preg_replace("/'/", "'", $_POST['ArticleTitle']); $content = preg_replace("/'/", "'", $_POST['ArticleContent']); if ($langId != 1) { $indo = $table_article_description->checkForIndo($article_id); if ($indo == null) { $data = array('article_id' => $article_id, 'language_id' => $langId, 'title' => $title, 'content' => $content); $table_article_description->insertArticleDescription($data); } else { $data = array('article_id' => $article_id, 'language_id' => 2, 'title' => $title, 'content' => $content); $table_article_description->updateArticleDescription($data, $article_id, $langId); } } else { if ($_POST['ArticleMainImage'] == '') { $this->_flash->addMessage('3\\Warning: Data is saved without image!'); } else { $main_image = preg_replace("/'/", "'", $_POST['ArticleMainImage']); } $status = Model_DbTable_Article::DRAFT; if ($this->getRequest()->getPost('action') == 'Update' || $this->getRequest()->getPost('action') == 'Update for review') { if ($this->_userInfo->canApprove) { $status = Model_DbTable_Article::PUBLISH; } else { $status = Model_DbTable_Article::PENDING; } } $data = array('status' => $status, 'main_image' => $main_image, 'sort_order' => $_POST['articleSortOrder'], 'category' => $_POST['category'], 'updated_by' => $this->_userInfo->id, 'updated_at' => date('Y-m-d H:i:s')); $table_article->updateArticle($data, $article_id); $data = array('article_id' => $article_id, 'language_id' => 1, 'title' => $title, 'content' => $content); $table_article_description->updateArticleDescription($data, $article_id, $langId); } //$this->_helper->layout()->disableLayout(); //$this->_helper->viewRenderer->setNoRender(true); /* update related article */ //param // this part add related if ($_POST['counterRelated'] > 0) { $counter = $_POST['counterRelated']; for ($i = 1; $i <= $counter; $i++) { //echo $_POST['link'.$i]; //cek existing label and link in database // if $cek having value = false, then data will be saved if (isset($_POST['label' . $i])) { $cek = $table_related_article_attraction->cek_existing($_POST['label' . $i], $_POST['link' . $i]); if (!$cek or $cek == false) { $data = array('article_id' => $article_id, 'label' => $_POST['label' . $i], 'link' => $_POST['link' . $i], 'language_id' => $language_id); $table_related_article_attraction->insertRelated($data); } } } } //here part delete related, (if there are request) if ($_POST['counterDel'] > 0) { $counterDel = $_POST['counterDel']; for ($i = 1; $i <= $counterDel; $i++) { //cek existing label and link in database // if found, data will be removed if (isset($_POST['labeldel' . $i])) { $cek = $table_related_article_attraction->cek_existing_forDel($_POST['labeldel' . $i], $_POST['linkdel' . $i]); } } } $this->loggingaction('attraction', 'edit', $article_id); $this->_flash->addMessage('1\\Article Update Success!'); $this->_redirect($this->view->rootUrl('/admin/article/')); } } $new_translate = false; if ($langId != 1) { $indo = $table_article_description->checkForIndo($article_id); if ($indo) { $data = $table_article->getAllWithDescByLanguageId($article_id, $langId); $form->article_poi_id->setValue($data['poi_id']); $form->article_status->setValue($data['status']); $form->articleSortOrder->setValue($data['sort_order']); $form->article_main_image->setValue($data['main_image']); $form->article_title->setValue(html_entity_decode($data['title'])); $form->article_content->setValue(html_entity_decode($data['content'])); $form->category_select->setValue($data['category']); $this->view->rel_poi = $data['poi_id']; $this->view->poi_id = $data['poi_id']; } } else { $data = $table_article->getAllWithDescByLanguageId($article_id, $langId); $form->article_poi_id->setValue($data['poi_id']); $form->article_status->setValue($data['status']); $form->articleSortOrder->setValue($data['sort_order']); $form->article_main_image->setValue($data['main_image']); $form->article_title->setValue(html_entity_decode($data['title'])); $form->article_content->setValue($data['content']); $form->category_select->setValue($data['category']); $this->view->rel_poi = $data['poi_id']; $this->view->poi_id = $data['poi_id']; } //get realated article data // @param = article_id $ralated_article = $table_related_article_attraction->getByArticleId($article_id, $langId); $this->view->edit = 1; $this->view->ralated_article = $ralated_article; $this->view->article_id = $article_id; $this->view->languageID = 2; $this->view->form = $form; $this->view->langid_id = $langId; }
public function tagLinkUsercontributorDetail($userStoryId, $lang_id, $url) { $userStoryTag = new Model_DbTable_UserStoryTag(); $detailTags = $userStoryTag->getTag($userStoryId, $lang_id); $event = new Model_DbTable_EventDesc(); $destination = new Model_DbTable_DestinationDescription(); $article = new Model_DbTable_ArticleDescription(); $related = '<ul>'; // if (count($detailTags) > 0) { //$related = count($detailTags); foreach ($detailTags as $tags) { if ($tags->object_type == 'event') { $getEvent = $event->getEvenName($tags->object_id, $lang_id); $related .= '<li><a target="_blank" href="' . $url . '/event/detail/' . $tags->object_id . '/' . $getEvent['name'] . '">' . $getEvent['name'] . '</a></li>'; } else { if ($tags->object_type == 'destination') { $getDest = $destination->getDestName($tags->object_id, $lang_id); $related .= '<li><a target="_blank" href="' . $url . '/destination/' . $tags->object_id . '/' . $getDest['name'] . '">' . $getDest['name'] . '</a></li>'; } else { $getArticle = $article->getArticleName($tags->object_id, $lang_id); if (!empty($getArticle['poi_id'])) { $Dest = $destination->getDestName($getArticle['poi_id'], $lang_id); $related .= '<li><a target="_blank" href="' . $url . '/destination/' . $getArticle['poi_id'] . '/' . $Dest['name'] . '/article/' . $tags->object_id . '/' . $getArticle['title'] . '">' . $getArticle['title'] . '</a></li>'; } } } } $related .= '</ul>'; return $related; } else { // $related .= '<li> - </li>'; // $related .= '</ul>'; return false; } }