sql->query($query); $emplacements = array(); while($v_rst = $this->sql->fetch_assoc($rst)) { $emplacements[$v_rst["id"]] = $v_rst; $emplacements[$v_rst["id"]]["editable"] = $this->edit_emplacement_ok($emplacements[$v_rst["id"]]); } $this->sql->free_result($rst); } catch(Exception $_e) { $emplacements = false; } return $emplacements; } function map_emplacement($id) { $emplacement = false; try { $query = "SELECT * FROM #--map_emplacement WHERE id=".$id; $rst = $this->sql->query($query); if($v_rst = $this->sql->fetch_assoc($rst)) $emplacement = $v_rst; $this->sql->free_result($rst); } catch(Exception $_e) { $emplacement = false; } return $emplacement; } function map_emplacement_types() { $emplacement_types = false; try { $query = "SELECT * FROM #--map_emplacement_type"; $rst = $this->sql->query($query); $emplacement_types = array(); while($v_rst = $this->sql->fetch_assoc($rst)) $emplacement_types[$v_rst["id"]] = $v_rst; $this->sql->free_result($rst); } catch(Exception $_e) { $emplacement_types = false; } return $emplacement_types; } function map_emplacement_type($id) { $emplacement_type = false; try { $query = "SELECT * FROM #--map_emplacement_type" ." WHERE id=".$this->eq($id); $rst = $this->sql->query($query); if($v_rst = $this->sql->fetch_assoc($rst)) $emplacement_type = $v_rst; $this->sql->free_result($rst); } catch(Exception $_e) { $emplacement_type = false; } return $emplacement_type; } function add_map_emplacement_type($intitule, $descriptif, $icone) { try { $query = "INSERT INTO #--map_emplacement_type(intitule, descriptif, icone) VALUES" ."( ".$this->eq($intitule) .", ".$this->eq($descriptif) .", ".$this->eq($icone) .")"; $this->sql->query($query); } catch(Exception $_e) { return false; } return true; } function set_map_emplacement_type($id, $intitule, $descriptif, $icone = null) { try { $query = "UPDATE #--map_emplacement_type SET" ." intitule=".$this->eq($intitule) .", descriptif=".$this->eq($descriptif) .(isset($icone) ? ", icone=".$this->eq($icone) : "") ." WHERE id=".$this->eq($id); $this->sql->query($query); } catch(Exception $_e) { return false; } return true; } function del_map_emplacement_type($id) { if(($emplacement_type = $this->map_emplacement_type($id)) !== false) { try { $query = "DELETE FROM #--map_emplacement WHERE map_emplacement_type=".$this->eq($id); $this->sql->query($query); $query = "DELETE FROM #--map_emplacement_type WHERE id=".$this->eq($id); $this->sql->query($query); $this->del_map_emplacement_type_icone($emplacement_type["icone"]); } catch(Exception $_e) { return false; } return true; } return false; } function del_map_emplacement_type_icone($icone) { try { $delete_icone = false; if($icone && file_exists($icone)) { try { $query = "SELECT count(*) as n" ." FROM #--map_emplacement_type" ." WHERE icone=".$this->eq($icone); $rst = $this->sql->query($query); if($v_rst = $this->sql->fetch_assoc($rst)) $delete_icone = $v_rst["n"] == 1; $this->sql->free_result($rst); } catch(Exception $_e) { return false; } } if($delete_icone) @unlink($icone); return true; } catch(Exception $_e) {} return false; } function add_map_emplacement($latitude, $longitude, $map_emplacement_type, $info, $user) { if($this->edit_map_ok()) { try { $query = "INSERT INTO #--map_emplacement VALUES" ."(NULL" .", ".$latitude .", ".$longitude .", ".$map_emplacement_type .", ".$this->eq($info) .", NOW()" .", ".$user .", NOW()" .", ".$user .")"; $this->sql->query($query); return $this->sql->insert_id(); } catch(Exception $_e) {} } return false; } function set_map_emplacement($id, $latitude, $longitude, $map_emplacement_type, $info, $user) { if(($empl = $this->map_emplacement($id)) !== false) { if($this->edit_emplacement_ok($empl)) { try { $query = "UPDATE #--map_emplacement SET" ." latitude=".$latitude .", longitude=".$longitude .", map_emplacement_type=".$map_emplacement_type .", info=".$this->eq($info) .", modification_date=NOW()" .", modification_user=".$user ." WHERE id=".$id; $this->sql->query($query); return true; } catch(Exception $_e) {} } } return false; } function del_map_emplacement($id) { if(($empl = $this->map_emplacement($id)) !== false) { if($this->edit_emplacement_ok($empl)) { try { $query = "DELETE FROM #--map_emplacement WHERE id=".$id; $this->sql->query($query); return true; } catch(Exception $_e) {} } } return false; } function view_map_ok() { return !$this->env->pun_user["is_guest"]; } function edit_map_ok() { return $this->view_map_ok(); } function edit_emplacement_ok($empl) { return $this->env->pun_user["group_id"] == 1 || ($this->edit_map_ok() && $this->env->pun_user["id"] == $empl["creation_user"]); } } ?>