getIdentity(); $field = new Scores_Fields(); $this->view->fields = $field; } public function resetAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $fields = new Scores_Fields(); $fields->resetFamille('geographique'); } public function completedAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $request = $this->getRequest(); $q = $request->getParam('q'); //Région $output = $this->completedReg($q); //Département if ( count($output)==0 ) { $output = $this->completedDep($q); } //Ville if ( count($output)==0 ) { $output = $this->completedVil($q); } echo json_encode($output); } protected function completedDep($q) { $separator = ' , '; $table = new Application_Model_Departements(); $sql = $table->select()->where('libdep LIKE "'.$q.'%"'); $result = $table->fetchAll($sql); foreach ($result as $item) { $output[] = array( 'label' => $item->libdep . $separator . $item->numdep, 'value' => $item->numdep ); } return ($output); } protected function completedVil($q) { $separator = ' , '; $table = new Application_Model_CodePostaux(); $separator = ' '; $sql = $table->select()->where('Commune LIKE "'.$q.'%"'); $result = $table->fetchAll($sql); foreach ($result as $item) { $output[] = array( 'label' => $item->Commune . $separator . $item->Codepos, 'value' => $item->INSEE ); } return ($output); } protected function getDeptFromReg($dep) { $separator = ' , '; $table = new Application_Model_Departements(); $sql = $table->select() ->where('codeRegionInsee = '.$dep); $result = $table->fetchAll($sql)->toArray(); $string = ''; foreach ($result as $res) { $string .= $res['numdep'].','; } $string = substr($string, 0, strlen($string)-1); return ($string); } protected function completedReg($q) { $separator = ' , '; $table = new Application_Model_Regions(); $separator = ' '; $sql = $table->select() ->where('NCCENR LIKE "%'.$q.'%" OR REGION LIKE "%'.$q.'%"'); $result = $table->fetchAll($sql); foreach ($result as $item) { $output[] = array( 'label' => $item->REGION .' '.$item->NCCENR . $separator . $item->REGION, 'value' => $this->getDeptFromReg($item->REGION) ); } return ($output); } }