getCritere('adr_com')); foreach ($valeurs as $valeur) $return[] = $valeur; if(is_array($return)) return ($return); return (array($valeurs)); } public function _jstree_undetermined($niveau) { require_once('Scores/SessionCiblage.php'); $session = new SessionCiblage(); $table = new Table_Departements(); $valeurs = explode(',', $session->getCritere('adr_com')); $in = array(); foreach($valeurs as $valeur) { if($niveau == 0) { if ($valeur[0] == 'D'){ $valeur = substr($valeur, 1, strlen($valeur)); $insee = $table->fetchAll($table->select('departements', array('codeRegionInsee')) ->where('numdep = ?', substr($valeur, 0, 2)))->toArray(); foreach ($insee as $code) $in[] = 'R'.$code['codeRegionInsee']; } else{ $valeur = substr($valeur, 0, strlen($valeur)); $insee = $table->fetchAll($table->select('departements', array('codeRegionInsee')) ->where('numdep = ?', substr($valeur, 0, 2)))->toArray(); foreach ($insee as $code) $in[] = 'R'.$code['codeRegionInsee']; } } else if ($niveau == 1) { $valeur = substr($valeur, 0, strlen($valeur)); $insee = $table->fetchAll($table->select('departements', array('codeRegionInsee')) ->where('numdep = ?', substr($valeur, 0, 2)))->toArray(); foreach ($insee as $code) $in[] = 'D'.$code['numdep']; } } return ($in); } public function _getClass($valeur, $niveau) { if(in_array($valeur, $this->_jstree_checked())) return ('jstree-checked'); else if (in_array($valeur, $this->_jstree_undetermined($niveau))) return ('jstree-undetermined'); } /* Fonctions de construction de jstree */ public function _getRegions() { $region = new Table_Regions(); $regions = $region->fetchAll($region->select())->toArray(); $structure = array(); foreach($regions as $nom) { $structure[] = array( 'data' => $nom['NCCENR'], 'attr' => array('id' => 'R'.$nom['REGION'], 'niveau' => 0, 'class' => $this->_getClass('R'.$nom['REGION'], 0) ), 'state' => 'closed', 'children' => array() ); } return (json_encode($structure)); } public function _getDepartements($codeRegionInsee) { $departement = new Table_Departements(); $departements = $departement->fetchAll($departement->select() ->where('codeRegionInsee ='.substr($codeRegionInsee, 1, strlen($codeRegionInsee))))->toArray(); $structure = array(); foreach($departements as $nom) { $structure[] = array( 'data' => $nom['libdep'], 'attr' => array('id' => 'D'.$nom['numdep'], 'niveau' => 1, 'class' => $this->_getClass('D'.$nom['numdep'], 1) ), 'state' => 'closed', 'children' => array() ); } return (json_encode($structure)); } public function _getCommunes($numdep) { $numdep = substr($numdep, 1, strlen($numdep)); $codepostau = new Table_Codepostauxs(); $codepostaux = $codepostau->fetchAll($codepostau->select()->where('codepos LIKE "'.$numdep.'%"'))->toArray(); $structure = array(); foreach($codepostaux as $nom) { $structure[] = array( 'data' => $nom['Commune'], 'attr' => array('id'=> $nom['INSEE'], 'niveau' => 2, 'class' => $this->_getClass($nom['INSEE'], 2) ), 'state' => 'closed', 'children' => array() ); } return (json_encode($structure)); } }