/**
  * 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("/'/", "&#39;", $_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("/'/", "&#39;", $_POST['newsTitle']);
                 $content = preg_replace("/'/", "&#39;", $_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("/'/", "&#39;", $_POST['newsTitle']);
                 $content = preg_replace("/'/", "&#39;", $_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;
 }