/** * IS: Parameter id terdeklarasi * FS: Mengirimkan ke viewer: form, language_id, parent_id, parent_data * Desc: Mengatur aksi yang dilakukan untuk halaman edit */ public function editAction() { //variable and class initiation $area_id = $this->_getParam('id'); $language_id = $this->_getParam('lang'); $form = new Admin_Form_AreaForm(); $table_area = new Model_DbTable_Area(); $table_regionalinfo = new Model_DbTable_Regional(); $parent_data = $table_area->getAllParentArea(array('area_id')); $area_data = null; //if this is a post request if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { if ($language_id != 1) { $indo = $table_regionalinfo->checkForIndo($area_id); if ($indo) { $data = array('area_id' => $area_id, 'language_id' => $language_id, 'area_name' => $_POST['areaNameLan'], 'regional_description' => $_POST['areaDescription'], 'history' => $_POST['areaHistory'], 'people_and_customs' => $_POST['areaPeople'], 'entry' => $_POST['areaEntry'], 'cuisine' => $_POST['areaCuisine'], 'tourism_office' => $_POST['areaTourismOffice']); $table_regionalinfo->updateArea($area_id, $data, $language_id); } else { $data = array('area_id' => $area_id, 'language_id' => $language_id, 'area_name' => $_POST['areaNameLan'], 'regional_description' => $_POST['areaDescription'], 'history' => $_POST['areaHistory'], 'people_and_customs' => $_POST['areaPeople'], 'entry' => $_POST['areaEntry'], 'cuisine' => $_POST['areaCuisine'], 'tourism_office' => $_POST['areaTourismOffice']); $table_regionalinfo->insertArea($data); } } else { //get the parent area for determine area type $area_type = $table_area->getAreaTypeById($_POST['parentArea']) + 1; //preparing data for insert process $data = array('pointX' => $_POST['pointx'], 'pointY' => $_POST['pointy'], 'parent_id' => $_POST['parentArea'], 'area_type' => $area_type); $table_area->updateArea($area_id, $data); $data = array('area_id' => $area_id, 'language_id' => $language_id, 'area_name' => $_POST['areaNameLan'], 'regional_description' => $_POST['areaDescription'], 'history' => $_POST['areaHistory'], 'people_and_customs' => $_POST['areaPeople'], 'entry' => $_POST['areaEntry'], 'cuisine' => $_POST['areaCuisine'], 'tourism_office' => $_POST['areaTourismOffice']); $table_regionalinfo->updateArea($area_id, $data, 1); } $this->loggingaction('region', 'edit', $area_id, $language_id); $this->_flash->addMessage('1\\Region Update Success!'); $this->_redirect($this->view->rootUrl('/admin/region/')); } } if ($language_id != 1) { $indo = $table_regionalinfo->checkForIndo($area_id); if ($indo) { $area_data = $table_area->getAllById($area_id, $language_id); } } else { $area_data = $table_area->getAllById($area_id, $language_id); } //get data from the database and load it to the view // if($area_data !=null) // { $this->view->parent_id = $area_data['parent_id']; //set element value $form->areaDescription->setvalue($area_data['regional_description']); $form->areaEntry->setvalue($area_data['entry']); $form->areaHistory->setvalue($area_data['history']); $form->areaPeople->setvalue($area_data['people_and_customs']); $form->areaCuisine->setvalue($area_data['cuisine']); $form->areaTourismOffice->setvalue($area_data['tourism_office']); $form->areaNameLang->setvalue($area_data['area_name']); $form->Poi_x->setvalue($area_data['pointX']); $form->Poi_y->setvalue($area_data['pointY']); //send data to the view $this->view->language_id = $language_id; $this->view->parent_data = $parent_data; $this->view->form = $form; $this->view->gkey = Zend_Registry::get('gmap_key'); // } }