/** * IS: - * FS: Mengirimkan ke viewer: form * Desc: Mengatur aksi yang dilakukan untuk halaman create */ public function createAction() { $language_id = 2; $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->getRequest()->isPost()) { if ($form->isValid($_POST)) { if ($_POST['newsImage']['name'] == '') { $this->_flash->addMessage('3\\Warning: Data is saved without image!'); } else { $image = preg_replace("/'/", "'", $_POST['newsImage']); } /** Preparing the date insert */ $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('picture' => $image, 'news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'showing' => $_POST['newsStatus']); $news_id = $table_news->insertNews($data); if (!empty($news_id)) { $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); $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]); } } foreach ($poi_stack as $poi_id) { $data = array('poi_id' => $poi_id, 'news_id' => $news_id); $table_PoiToNews->insertPoiNews($data); } /* insert data to related_article_news*/ //$counter berisi jumlah related article (link) $counter = $_POST['counterRelated']; // kemudian lakukan penyimpanan data related article // sesuai dengan jumlah related article (link) // yg dikirimkand dari viewer for ($i = 1; $i <= $counter; $i++) { if (!empty($_POST['label' . $i]) and !empty($_POST['link' . $i])) { $data = array('news_id' => $news_id, 'label' => $_POST['label' . $i], 'link' => $_POST['link' . $i], 'language_id' => 2); //insert into table $table_related_article_news->insertRelated($data); } } $this->loggingaction('news', 'create', $news_id, $language_id); $this->_flash->addMessage("1\\News Insert Success!"); } else { $this->_flash->addMessage("2\\News Insert Failed!"); } $this->_redirect($this->view->rootUrl('/admin/newsindo/')); } } $this->view->form = $form; }
/** * IS: - * FS: Mengirimkan ke viewer: form * Desc: Mengatur aksi yang dilakukan untuk halaman create */ public function createAction() { $language_id = 1; $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)) { if ($_POST['newsImage']['name'] == '') { $this->_flash->addMessage('3\\Warning: Data is saved without image!'); } else { $image = preg_replace("/'/", "'", $_POST['newsImage']); } /** Preparing the date insert */ $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('picture' => $image, 'news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'showing' => $_POST['newsStatus']); $news_id = $table_news->insertNews($data); if (!empty($news_id)) { $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); $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]); } } foreach ($poi_stack as $poi_id) { $data = array('poi_id' => $poi_id, 'news_id' => $news_id); $table_PoiToNews->insertPoiNews($data); } $this->loggingaction('news', 'create', $news_id, $language_id); $this->_flash->addMessage("1\\News Insert Success!"); } else { $this->_flash->addMessage("2\\News Insert Failed!"); } $this->_redirect($this->view->rootUrl('/admin/news/')); } } $this->view->form = $form; }
/** * IS: - * FS: Mengirimkan ke viewer: form * Desc: Mengatur aksi yang dilakukan untuk halaman create */ public function createAction() { $language_id = 1; $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('Publish'); } else { $form->submit->setLabel('Submit for review'); } if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { /** Preparing the date insert */ $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; $status = Model_DbTable_News::DRAFT; if ($this->getRequest()->getPost('action') == 'Publish' || $this->getRequest()->getPost('action') == 'Submit for review') { if ($this->_userInfo->canApprove) { $status = Model_DbTable_News::PUBLISH; } else { $status = Model_DbTable_News::PENDING; } } $data = array('news_date' => $GMTMySqlString, 'publish_date' => $publish_date, 'status' => $status, 'created_by' => $this->_userInfo->id); if ($form->image->isUploaded()) { $form->image->setDestination(UPLOAD_FOLDER . 'news/'); if ($form->image->receive()) { $data['picture'] = $form->image->getFileName('image', false); } } $news_id = $table_news->insertNews($data); if (!empty($news_id)) { $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); $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]); } } foreach ($poi_stack as $poi_id) { $data = array('poi_id' => $poi_id, 'news_id' => $news_id); $table_PoiToNews->insertPoiNews($data); } /* insert data to related_article_news */ //$counter berisi jumlah related article (link) $counter = $_POST['counterRelated']; // kemudian lakukan penyimpanan data related article // sesuai dengan jumlah related article (link) // yg dikirimkand dari viewer for ($i = 1; $i <= $counter; $i++) { if (!empty($_POST['label' . $i]) and !empty($_POST['link' . $i])) { $data = array('news_id' => $news_id, 'label' => $_POST['label' . $i], 'link' => $_POST['link' . $i], 'language_id' => 1); //insert into table $table_related_article_news->insertRelated($data); } } $this->loggingaction('news', 'create', $news_id, $language_id); $this->_flash->addMessage("1\\News Insert Success!"); } else { $this->_flash->addMessage("2\\News Insert Failed!"); } $this->_redirect($this->view->rootUrl('/admin/news/')); } } $this->view->form = $form; }