/** * IS: Parameter id terdeklarasi * FS: Mengirimkan ke viewer: form, image, require_image, news_id * Desc: Mengatur aksi yang dilakukan untuk halaman edit */ public function editAction() { $language_id = $this->_getParam('lang'); $news_id = $this->_getParam('id'); $form = new Admin_Form_NewsForm(); $table_news = new Model_DbTable_News(); $table_newsDesc = new Model_DbTable_NewsDesc(); $table_poitonews = new Model_DbTable_PoiToNews(); if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { /** Preparing the date insert */ if ($language_id != 1) { $indo = $table_newsDesc->checkForIndo($news_id); if ($indo) { $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->updateNewsDescription($data, $news_id, $language_id); } else { $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->insertNewsDescription($data); } } else { $tUnixTime = time(); date_default_timezone_set('Asia/Jakarta'); $GMTMySqlString = date("Y-m-d H:i:s", $tUnixTime); $GMTMySqlTimeString = date("H:i:s", $tUnixTime); $publish_date = $_POST['newsPublishDate'] . ' ' . $GMTMySqlTimeString; if ($_POST['newsImage']['name'] == '') { $data = array('news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'showing' => $_POST['newsStatus']); $this->_flash->addMessage('3\\Warning: Data is saved without image!'); } else { $image = preg_replace("/'/", "'", $_POST['newsImage']); $data = array('picture' => $image, 'news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'showing' => $_POST['newsStatus']); } $table_news->updateNews($data, $news_id); $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('title' => $title, 'content' => $content); $table_newsDesc->updateNewsDescription($data, $news_id, $language_id); $poi_count = $_POST['PoiCounter']; $poi_stack = array(); for ($i = 0; $i < $poi_count; $i++) { if (!empty($_POST['poiValue' . $i])) { array_push($poi_stack, $_POST['poiValue' . $i]); } } /** * Get related poi list from the database * and convert to a NON ASSOC Array */ $poi_list = $table_poitonews->getAllPoiByNewsId($news_id, $language_id); $saved_poi = array(); if (!empty($poi_list)) { foreach ($poi_list as $temp) { array_push($saved_poi, $temp['poi_id']); } } /** * Check from the post list, compare with saved poi; * if not exist then insert the new poi */ foreach ($poi_stack as $poi_id) { if (!in_array($poi_id, $saved_poi)) { $data = array('poi_id' => $poi_id, 'news_id' => $news_id); $table_poitonews->insertPoiNews($data); } } /** * Do the complementary process, * if the old poi did not exist in the new list * then delete the old one */ foreach ($saved_poi as $old_poi) { if (!in_array($old_poi, $poi_stack)) { $table_poitonews->deletePoiNews($news_id, $old_poi); } } } $this->loggingaction('news', 'edit', $news_id, $language_id); $this->_flash->addMessage("1\\News Update Success!"); $this->_redirect($this->view->rootUrl('/admin/news/')); } } $image = $table_news->getPictureById($news_id); if ($image == '') { $this->view->require_image = TRUE; } else { $this->view->image = $image; } if ($language_id != 1) { $indo = $table_newsDesc->checkForIndo($news_id); if ($indo) { $data = $table_news->getAllWithDescById($news_id, $language_id); } } else { $data = $table_news->getAllWithDescById($news_id, $language_id); } $news_count = $table_poitonews->countPoiNewsByNewsId($news_id); $date = explode(' ', $data['publish_date']); $form->newsTitle->setValue($data['title']); $form->newsContent->setValue($data['content']); $form->newsImage->setValue($data['picture']); $form->newsPublishDate->setValue($date[0]); $form->PoiCounter->setValue($news_count); $this->view->language_id = $language_id; $this->view->form = $form; $this->view->news_id = $news_id; }
$table_category_desc->deleteCategoryEnglish($activity_id); $this->loggingaction('activity', 'delete', $activity_id); $this->_flash->addMessage("1\\Activity English Translation Delete Success!"); } /** * IS: Contact ada * FS: Contact tidak ada * Desc: Fungsi untuk menghapus contact dari basis data */ public function deletecontactAction() {
/** * IS: Parameter id terdeklarasi * FS: Mengirimkan ke viewer: form, image, require_image, news_id * Desc: Mengatur aksi yang dilakukan untuk halaman edit */ public function editAction() { $language_id = $this->_getParam('lang'); $news_id = $this->_getParam('id'); $form = new Admin_Form_NewsForm(); $table_news = new Model_DbTable_News(); $table_newsDesc = new Model_DbTable_NewsDesc(); $table_poitonews = new Model_DbTable_PoiToNews(); $table_related_article_news = new Model_DbTable_RelatedArticleNews(); // untuk menampilkan list related link article yang berhubungan dengan // content news $related_news = $table_related_article_news->getByNewsId($news_id, $language_id); $this->view->edit = 1; $this->view->ralated_news = $related_news; $this->view->news_id = $news_id; if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { /** Preparing the date insert */ if ($language_id == 1) { // echo 'SINI'; // exit; $indo = $table_newsDesc->checkForIndo($news_id, $language_id); if ($indo) { $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->updateNewsDescription($data, $news_id, $language_id); } else { $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->insertNewsDescription($data); } } else { $tUnixTime = time(); date_default_timezone_set('Asia/Jakarta'); $GMTMySqlString = date("Y-m-d H:i:s", $tUnixTime); $GMTMySqlTimeString = date("H:i:s", $tUnixTime); $publish_date = $_POST['newsPublishDate'] . ' ' . $GMTMySqlTimeString; if ($_POST['newsImage']['name'] == '') { $data = array('news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'showing' => $_POST['newsStatus']); $this->_flash->addMessage('3\\Warning: Data is saved without image!'); } else { $image = preg_replace("/'/", "'", $_POST['newsImage']); $data = array('picture' => $image, 'news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'showing' => $_POST['newsStatus']); } $table_news->updateNews($data, $news_id); $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $hasIndoDesc = $table_newsDesc->checkForIndo($news_id, $language_id); if (empty($hasIndoDesc)) { $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->insertNewsDescription($data); } else { $data = array('title' => $title, 'content' => $content); $table_newsDesc->updateNewsDescription($data, $news_id, $language_id); } $poi_count = $_POST['PoiCounter']; $poi_stack = array(); for ($i = 0; $i < $poi_count; $i++) { if (!empty($_POST['poiValue' . $i])) { array_push($poi_stack, $_POST['poiValue' . $i]); } } /** * Get related poi list from the database * and convert to a NON ASSOC Array */ $poi_list = $table_poitonews->getAllPoiByNewsId($news_id, $language_id); $saved_poi = array(); if (!empty($poi_list)) { foreach ($poi_list as $temp) { array_push($saved_poi, $temp['poi_id']); } } /** * Check from the post list, compare with saved poi; * if not exist then insert the new poi */ foreach ($poi_stack as $poi_id) { if (!in_array($poi_id, $saved_poi)) { $data = array('poi_id' => $poi_id, 'news_id' => $news_id); $table_poitonews->insertPoiNews($data); } } /** * Do the complementary process, * if the old poi did not exist in the new list * then delete the old one */ foreach ($saved_poi as $old_poi) { if (!in_array($old_poi, $poi_stack)) { $table_poitonews->deletePoiNews($news_id, $old_poi); } } } /* update related article */ // this part add related if ($_POST['counterRelated'] > 0) { $counter = $_POST['counterRelated']; for ($i = 1; $i <= $counter; $i++) { if (isset($_POST['label' . $i])) { //cek existing data ke database // jika data link dan label yang dikirim dari viwer blm ada di database, maka akan di simpan sebagai data baru //cek akan bernilai true jika data blm ada didatabase $cek = $table_related_article_news->cek_existing($_POST['label' . $i], $_POST['link' . $i], $language_id); // print_r($cek); if (!$cek or $cek == false) { $data = array('news_id' => $news_id, 'label' => $_POST['label' . $i], 'link' => $_POST['link' . $i], 'language_id' => $language_id); //print_r($data); $table_related_article_news->insertRelated($data); } } } //exit; } // part untuk menghapus data dari database // bagian inin akan dijalankan apabila ada request // delete dari viewer if ($_POST['counterDel'] > 0) { $counterDel = $_POST['counterDel']; for ($i = 1; $i <= $counterDel; $i++) { if (isset($_POST['labeldel' . $i])) { // cek terlebih dahulu ke database // jika data yang sesuai dengan data yg dikirmkan ada // maka lakukan penghapusan $cek = $table_related_article_news->cek_existing_forDel($_POST['labeldel' . $i], $_POST['linkdel' . $i], $language_id); } } } $this->loggingaction('news', 'edit', $news_id, $language_id); $this->_flash->addMessage("1\\News Update Success!"); $this->_redirect($this->view->rootUrl('/admin/newsindo/')); } } $image = $table_news->getPictureById($news_id); if ($image == '') { $this->view->require_image = TRUE; } else { $this->view->image = $image; } // di uncomment $setContent = true; if ($language_id == 1) { $indo = $table_newsDesc->checkForIndo($news_id, $language_id); if ($indo) { $data = $table_news->getAllWithDescById($news_id, $language_id); // di uncomment $setContent = true; } else { $data = $table_news->getAllWithDescById($news_id, 2); } } else { $data = $table_news->getAllWithDescById($news_id, $language_id); // di uncomment if (empty($data)) { $setContent = true; //karena belum ada terjemahan dlm bahasa ini jadi form deskripsi dikosongkan $data = $table_news->getAllWithDescById($news_id, 1); } } $news_count = $table_poitonews->countPoiNewsByNewsId($news_id); $date = explode(' ', $data['publish_date']); $form->newsTitle->setValue($data['title']); // if($setContent) if ($language_id == 2) { $form->newsContent->setValue($data['content']); } else { $form->newsContent->setValue(''); } $form->newsImage->setValue($data['picture']); $form->newsPublishDate->setValue($date[0]); $form->PoiCounter->setValue($news_count); // $this->view->language_id = $language_id; $this->view->form = $form; $this->view->news_id = $news_id; }
$string = str_replace('�', ' ', $string); $string = str_replace('�', ' ', $string); $news[$i]['title'] = $this->xmlEntities(htmlentities($string, ENT_QUOTES)); $string = $news[$i]['publish_date']; $string = str_replace('"', '', $string); $string = str_replace('"', ' ', $string); $string = str_replace('�', ' ', $string); $string = str_replace('�', ' ', $string); $news[$i]['publish_date'] = $this->xmlEntities(htmlentities($string, ENT_QUOTES)); $string = $news[$i]['content']; $string = str_replace('“', ' ', $string); $string = str_replace('”', ' ', $string); $string = str_replace('�', ' ', $string); $string = str_replace('�', ' ', $string); $news[$i]['content'] = $this->xmlEntities(htmlentities($string, ENT_QUOTES)); } $this->view->data = $news; } protected function xmlEntities($str) { $xml = array('"', '&', '&', '<', '>', ' ', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '­', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ'); $html = array('"', '&', '&', '<', '>', ' ', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '­', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ'); $str = str_replace($html, $xml, $str); $str = str_ireplace($html, $xml, $str); return $str; } /**
/** * IS: Parameter id terdeklarasi * FS: Mengirimkan ke viewer: form, image, require_image, news_id * Desc: Mengatur aksi yang dilakukan untuk halaman edit */ public function editAction() { $language_id = $this->_getParam('lang'); $news_id = $this->_getParam('id'); $form = new Admin_Form_NewsForm(); $table_news = new Model_DbTable_News(); $table_newsDesc = new Model_DbTable_NewsDesc(); $table_poitonews = new Model_DbTable_PoiToNews(); $table_related_article_news = new Model_DbTable_RelatedArticleNews(); if ($this->_userInfo->canApprove) { $form->submit->setLabel('Update'); } else { $form->submit->setLabel('Update for review'); } // untuk menampilkan list related link article yang berhubungan dengan // content news $related_news = $table_related_article_news->getByNewsId($news_id, $language_id); $this->view->edit = 1; $this->view->ralated_news = $related_news; $this->view->news_id = $news_id; //echo count($related_news); if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { $status = Model_DbTable_News::DRAFT; if ($this->getRequest()->getPost('action') == 'Update' || $this->getRequest()->getPost('action') == 'Update for review') { if ($this->_userInfo->canApprove) { $status = Model_DbTable_News::PUBLISH; } else { $status = Model_DbTable_News::PENDING; } } /** Preparing the date insert */ if ($language_id != 1) { $indo = $table_newsDesc->checkForIndo($news_id); if ($indo) { $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->updateNewsDescription($data, $news_id, $language_id); } else { $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('news_id' => $news_id, 'language_id' => $language_id, 'title' => $title, 'content' => $content); $table_newsDesc->insertNewsDescription($data); } } else { $tUnixTime = time(); date_default_timezone_set('Asia/Jakarta'); $GMTMySqlString = date("Y-m-d H:i:s", $tUnixTime); $GMTMySqlTimeString = date("H:i:s", $tUnixTime); $publish_date = $_POST['newsPublishDate'] . ' ' . $GMTMySqlTimeString; $data = array('updated_at' => $GMTMySqlString, 'updated_by' => $this->_userInfo->id, 'status' => $status); if ($form->image->isUploaded()) { $form->image->setDestination(UPLOAD_FOLDER . 'news/'); if ($form->image->receive()) { $data['picture'] = $form->image->getFileName('image', false); } } $table_news->updateNews($data, $news_id); $title = preg_replace("/'/", "'", $_POST['newsTitle']); $content = preg_replace("/'/", "'", $_POST['newsContent']); $data = array('title' => $title, 'content' => $content); $table_newsDesc->updateNewsDescription($data, $news_id, $language_id); $poi_count = $_POST['PoiCounter']; $poi_stack = array(); for ($i = 0; $i < $poi_count; $i++) { if (!empty($_POST['poiValue' . $i])) { array_push($poi_stack, $_POST['poiValue' . $i]); } } /** * Get related poi list from the database * and convert to a NON ASSOC Array */ $poi_list = $table_poitonews->getAllPoiByNewsId($news_id, $language_id); $saved_poi = array(); if (!empty($poi_list)) { foreach ($poi_list as $temp) { array_push($saved_poi, $temp['poi_id']); } } /** * Check from the post list, compare with saved poi; * if not exist then insert the new poi */ foreach ($poi_stack as $poi_id) { if (!in_array($poi_id, $saved_poi)) { $data = array('poi_id' => $poi_id, 'news_id' => $news_id); $table_poitonews->insertPoiNews($data); } } /** * Do the complementary process, * if the old poi did not exist in the new list * then delete the old one */ foreach ($saved_poi as $old_poi) { if (!in_array($old_poi, $poi_stack)) { $table_poitonews->deletePoiNews($news_id, $old_poi); } } } /* update related article */ // this part add related if ($_POST['counterRelated'] > 0) { $counter = $_POST['counterRelated']; for ($i = 1; $i <= $counter; $i++) { //cek existing data ke database // if jika data link dan label yang dikirim dari viwer // blm ada di database, maka akan di simpan if (isset($_POST['label' . $i])) { $cek = $table_related_article_news->cek_existing($_POST['label' . $i], $_POST['link' . $i], $language_id); //print_r($cek); if (!$cek) { // echo $_POST['label'.$i]; $data = array('news_id' => $news_id, 'label' => $_POST['label' . $i], 'link' => $_POST['link' . $i], 'language_id' => $language_id); $table_related_article_news->insertRelated($data); } } } } // part untuk menghapus data dari database // bagian inin akan dijalankan apabila ada request // delete dari viewer if ($_POST['counterDel'] > 0) { $counterDel = $_POST['counterDel']; for ($i = 1; $i <= $counterDel; $i++) { if (isset($_POST['labeldel' . $i])) { // cek terlebih dahulu ke database // jika data yang sesuai dengan data yg dikirmkan ada // maka lakukan penghapusan $cek = $table_related_article_news->cek_existing_forDel($_POST['labeldel' . $i], $_POST['linkdel' . $i], $language_id); } } } $this->loggingaction('news', 'edit', $news_id, $language_id); $this->_flash->addMessage("1\\News Update Success!"); $this->_redirect($this->view->rootUrl('/admin/news/')); } } //$this->_helper->layout->disableLayout(); /* disable layout */ //$this->_helper->viewRenderer->setNoRender(true); /* supaya tidak render view */ $image = $table_news->getPictureById($news_id); if ($image == '') { $this->view->require_image = TRUE; } else { $this->view->image = $image; } if ($language_id != 1) { $indo = $table_newsDesc->checkForIndo($news_id); if ($indo) { $data = $table_news->getAllWithDescById($news_id, $language_id); } else { $data = $table_news->getAllWithDescById($news_id, 1); } } else { $data = $table_news->getAllWithDescById($news_id, $language_id); } //print_r($data); //echo $data['publish_date']; $news_count = $table_poitonews->countPoiNewsByNewsId($news_id); $date = explode(' ', $data['publish_date']); if ($language_id == 1) { $form->newsTitle->setValue($data['title']); $form->newsContent->setValue($data['content']); } if ($language_id == 2) { $news = $table_news->getAllWithDescById($news_id, $language_id); if (isset($news)) { $form->newsTitle->setValue($news['title']); $form->newsContent->setValue($news['content']); } } $this->view->picture = $data['picture']; $form->newsPublishDate->setValue($date[0]); $form->PoiCounter->setValue($news_count); $this->view->langId = $this->_getParam('lang'); $this->view->form = $form; $this->view->news_id = $news_id; }