read()) { if($entry <> ".." && $entry <> ".") { $extension = explode(".",strtolower($entry)); if(count($extension) == 1) $extension = ""; else $extension = array_pop($extension); if(in_array($extension,$extension_list) || $filter == '') { $result[$i]['filename'] = $entry; $result[$i]['used'] = 0; $i++; } } } sort ($result); $d->close(); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle dynamischen Marker als Array */ function getDynMarkers() { include("main.inc.php"); $result = array(); $i = 0; // dynamische Marker $dyn_markers = $_DB->query("SELECT Id, name, description, category_Id FROM dynamic_markers ORDER BY category_Id, name"); if (!$dyn_markers) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($dyn_markers)) { $result[$i]['id'] = $row[0]; $result[$i]['title'] = $row[1]; $result[$i]['description'] = $row[2]; $result[$i]['category'] = $row[3]; $i++; } //arsort($result, SORT_NUMERIC); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert einen bestimmten Marker als assoziatives Array zurück */ function getMarker($mid) { include("main.inc.php"); $result = array(); // dynamischer Marker $marker = $_DB->query("SELECT * FROM dynamic_markers WHERE Id= $mid"); if (!$marker) { die('Ungültige Abfrage: ' . mysql_error()); } $row = $_DB->fetch_array($marker); $result['id'] = $row[0]; $result['name'] = $row[1]; $result['cat_id'] = $row[2]; $result['description'] = $row[3]; $result['pic'] = $row[4]; $result['file'] = $row[5]; $result['hyper'] = $row[6]; $result['lat'] = $row[7]; $result['lng'] = $row[8]; return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Loescht eine bestimmten Marker */ function deleteMarker($mid) { include("main.inc.php"); $result = FALSE; // dynamischen Marker löschen $marker = $_DB->query("DELETE FROM dynamic_markers WHERE Id = $mid"); if (!$marker) { die('Ungültige Abfrage: ' . mysql_error()); } return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle SMS-POIs als Array */ function getPOIs() { include("main.inc.php"); $result = array(); $i = 0; // POIs $pois = $_DB->query("SELECT Id, poi_id, text, kennung FROM sms_pois ORDER BY poi_id"); if (!$pois) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($pois)) { $result[$i]['id'] = $row[0]; $result[$i]['poi_id'] = $row[1]; $result[$i]['text'] = $row[2]; $result[$i]['kennung'] = $row[3]; $i++; } //arsort($result, SORT_NUMERIC); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert einen bestimmten POI als assoziatives Array zurück */ function getPOI($pid) { include("main.inc.php"); $result = array(); // SMS-POI $poi = $_DB->query("SELECT * FROM sms_pois WHERE Id= $pid"); if (!$poi) { die('Ungültige Abfrage: ' . mysql_error()); } $row = $_DB->fetch_array($marker); $result['id'] = $row[0]; $result['poi_id'] = $row[1]; $result['lat'] = $row[2]; $result['lng'] = $row[3]; $result['text'] = $row[4]; $result['kennung'] = $row[5]; return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Loescht eine bestimmten POI */ function deletePOI($pid) { include("main.inc.php"); $result = FALSE; // SMS-POI löschen $poi = $_DB->query("DELETE FROM sms_pois WHERE Id = $pid"); if (!$poi) { die('Ungültige Abfrage: ' . mysql_error()); } return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle Wurzelkategorien als Array */ function getCategories() { include("main.inc.php"); $result = array(); $_DB1 = new db_mysql($connect_profile); $_DB1->connect(); $i = 0; // Kategorien $categories = $_DB->query("SELECT Id, name, level, parent, REPLACE(REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(name, 'Ä', 'A'), 'Ö', 'O'), 'Ãœ', 'U'), 'Ü', 'U'), 'ä', 'a'), 'ö', 'o'), 'ü','u'), 'ß', 's') AS sortiert FROM kategorien WHERE level = 0 ORDER BY sortiert"); if (!$categories) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($categories)) { $markers = $_DB1->query("SELECT path FROM marker_types WHERE category_Id =" . $row[0]); if(!$markers) { die('Ungültige Abfrage: ' . mysql_error()); } else { $row1 = $_DB1->fetch_array($markers); } $result[$i]['id'] = $row[0]; $result[$i]['title'] = $row[1]; $result[$i]['level'] = $row[2]; $result[$i]['parent'] = $row[3]; $result[$i]['marker'] = $row1[0]; $i++; } //arsort($result, SORT_NUMERIC); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle Unterkategorien als Array einer bestimmten Kategorie */ function getSubCategories($catid) { include("main.inc.php"); $result = array(); $i = 0; // Kategorien $categories = $_DB->query("SELECT Id, name, level, parent, REPLACE(REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(name, 'Ä', 'A'), 'Ö', 'O'), 'Ãœ', 'U'), 'Ü', 'U'), 'ä', 'a'), 'ö', 'o'), 'ü','u'), 'ß', 's') AS sortiert FROM kategorien WHERE level = 1 AND parent = $catid ORDER BY sortiert"); if (!$categories) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($categories)) { $result[$i]['id'] = $row[0]; $result[$i]['title'] = $row[1]; $result[$i]['level'] = $row[2]; $result[$i]['parent'] = $row[3]; $i++; } //arsort($result, SORT_NUMERIC); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle Kategorien als Array */ function getAllCategories() { include("main.inc.php"); $result = array(); $_DB1 = new db_mysql($connect_profile); $_DB1->connect(); $i = 0; // Kategorien $categories = $_DB->query("SELECT Id, name, level, parent, REPLACE(REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(name, 'Ä', 'A'), 'Ö', 'O'), 'Ãœ', 'U'), 'Ü', 'U'), 'ä', 'a'), 'ö', 'o'), 'ü','u'), 'ß', 's') AS sortiert FROM kategorien ORDER BY sortiert"); if (!$categories) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($categories)) { $markers = $_DB1->query("SELECT path FROM marker_types WHERE category_Id =" . $row[0]); if(!$markers) { die('Ungültige Abfrage: ' . mysql_error()); } else { $row1 = $_DB1->fetch_array($markers); } $result[$i]['id'] = $row[0]; $result[$i]['title'] = $row[1]; $i++; } //arsort($result, SORT_NUMERIC); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert eine bestimmte Kategorie zurück */ function getCategory($cid) { include("main.inc.php"); $result = array(); // Kategorie $category = $_DB->query("SELECT Id, name, level, parent FROM kategorien WHERE Id = $cid"); if (!$category) { die('Ungültige Abfrage Kategorie: ' . mysql_error()); } $row = $_DB->fetch_array($category); $result['id'] = $row[0]; $result['name'] = $row[1]; $result['level'] = $row[2]; $result['parent'] = $row[3]; return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert eine bestimmte Markertyp zurück */ function getMarkerType($cid) { include("main.inc.php"); $_DB1 = new db_mysql($connect_profile); $_DB1->connect(); $result = array(); $mt = ""; // Marker_Type $mtype = $_DB->query("SELECT Id, path FROM marker_types WHERE category_Id = $cid"); if (!$mtype) { die('Ungültige Abfrage mt: ' . mysql_error()); } $row = $_DB->fetch_array($mtype); if(is_null($row)){ $par_cat_sql = $_DB->query("SELECT parent FROM kategorien WHERE Id = $cid"); if (!$par_cat_sql) { die('Ungültige Abfrage mt: ' . mysql_error()); } $row = $_DB->fetch_array($par_cat_sql); $result = getMarkerType($row[0]); } else { $mt = "
"; $result['mt'] = $mt; $result['id'] = $row[0]; $result['path'] = $row[1]; } return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle freien Markertypen zurück */ function getFreeMarkerTypes($cid) { include("main.inc.php"); // Marker_Types $mtype = $_DB->query("SELECT Id, path FROM marker_types WHERE category_Id = $cid"); if (!$mtype) { die('Ungültige Abfrage mts: ' . mysql_error()); } $mt = ""; while($row = $_DB->fetch_array($mtype)){ $mt .= "
"; } return $mt; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Loescht eine bestimmte Kategorie und ihre Unterkategorien */ function deleteCategory($cat_id) { include("main.inc.php"); $result = FALSE; // Kategorie löschen $categories = $_DB->query("DELETE FROM kategorien WHERE Id=$cat_id"); if (!$categories) { die('Ungültige Abfrage: ' . mysql_error()); } else { // Unterkategorien ermitteln $subcategories = $_DB->query("Select Id FROM kategorien WHERE parent=$cat_id"); if(!$subcategories){ die('Ungültige Abfrage: ' . mysql_error()); } else{ while($row = $_DB->fetch_array($subcategories)){ // Unterkategorie löschen $subc = $_DB->query("DELETE FROM kategorien WHERE Id=$row[0]"); if(!$subc){ die('Ungültige Abfrage: ' . mysql_error()); } else{ // dynamische Marker der Unterkategorie löschen $dyn_markers_sub = $_DB->query("DELETE FROM dynamic_markers WHERE category_Id=$row[0]"); if (!$dyn_markers_sub) { die('Ungültige Abfrage: ' . mysql_error()); } } } } // dynamische Marker löschen $dyn_markers = $_DB->query("DELETE FROM dynamic_markers WHERE category_Id=$cat_id"); if (!$dyn_markers) { die('Ungültige Abfrage: ' . mysql_error()); } else { // dynamische Marker löschen $dyn_markers = $_DB->query("UPDATE marker_types SET category_Id=0 WHERE category_Id=$cat_id"); if (!$dyn_markers) { die('Ungültige Abfrage: ' . mysql_error()); } } } return $result; } /** * @autor Wladimir Golwich | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Loescht eine hochgeladene Ressource wieder * @param string $file Name der Datei, die geloescht werden soll * @return bool Ergenbis Loesch-Operation */ function deleteFile($file) { $result = FALSE; if(file_exists($file)) { exec('chmod 777 '.$file); $result = unlink($file); } return $result; } /** * @autor Wladimir Golwich | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Laedt eine hochgeladene Datei in Ressourcen-Ordner * @return bool Ergenbis Upload-Operation */ function uploadFile() { global $_CONST; /** * * @var string Pfad zum Default-Uploadverzeichnis + Tempname der Datei */ $userfile = $_FILES["userfile"]["tmp_name"]; /** * * @var string Ursprunglicher Name der Datei */ $userfile_name = $_FILES["userfile"]["name"]; /** * * @var string Mime-Typ der Datei */ $userfile_type = $_FILES["userfile"]["type"]; /** * * @var integer Groesse der Datei */ $userfile_size = $_FILES["userfile"]["size"]; $result = FALSE; // locale setzen um Umlaute zu erkennen. //setlocale(LC_CTYPE,"de_DE"); $umlaute = array( "ä" => "ae", "ö" => "oe", "ü" => "ue" ); if($userfile != "none" && !empty($userfile)) { $userfile_name = strtolower($userfile_name); // ALLE Umlaute umwandeln (auch doppelte): while(strpos($userfile_name,"ä") OR strpos($userfile_name,"ö") OR strpos($userfile_name,"ü")) { $userfile_name = strtr($userfile_name,$umlaute); } if(file_exists($_CONST['PATH']['ressources_files'] . "/" . $userfile_name)) { $userfile_name = date("d-m-Y_H-i") . "_" . $userfile_name; } $result = copy($userfile, $_CONST['PATH']['ressources_files'] . "/" . $userfile_name); } return $result; } /** * @autor Wladimir Golwich | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Laedt eine hochgeladene Datei in Ressourcen-Ordner * @return bool Ergenbis Upload-Operation */ function uploadImage() { global $_CONST; /** * * @var string Pfad zum Default-Uploadverzeichnis + Tempname der Datei */ $userfile = $_FILES["userfile"]["tmp_name"]; /** * * @var string Ursprunglicher Name der Datei */ $userfile_name = $_FILES["userfile"]["name"]; /** * * @var string Mime-Typ der Datei */ $userfile_type = $_FILES["userfile"]["type"]; /** * * @var integer Groesse der Datei */ $userfile_size = $_FILES["userfile"]["size"]; $result = FALSE; // locale setzen um Umlaute zu erkennen. //setlocale(LC_CTYPE,"de_DE"); $umlaute = array( "ä" => "ae", "ö" => "oe", "ü" => "ue" ); if($userfile != "none" && !empty($userfile)) { $userfile_name = strtolower($userfile_name); // ALLE Umlaute umwandeln (auch doppelte): while(strpos($userfile_name,"ä") OR strpos($userfile_name,"ö") OR strpos($userfile_name,"ü")) { $userfile_name = strtr($userfile_name,$umlaute); } if(file_exists($_CONST['PATH']['ressources_physical'] . "/" . $userfile_name)) { $userfile_name = date("d-m-Y_H-i") . "_" . $userfile_name; } $result = copy($userfile, $_CONST['PATH']['ressources_physical'] . "/" . $userfile_name); } return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert alle angelegten Strecken als Array */ function getAllLines() { include("main.inc.php"); $result = array(); $i = 0; // Strecken $lines = $_DB->query("SELECT `Id`, `title`, `desc`, `pic_path`, `hyperlink`, `mcms_content_url`, REPLACE(REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(`title`, 'Ä', 'A'), 'Ö', 'O'), 'Ãœ', 'U'), 'Ü', 'U'), 'ä', 'a'), 'ö', 'o'), 'ü','u'), 'ß', 's') AS sortiert FROM strecken ORDER BY sortiert"); if (!$lines) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($lines)) { $result[$i]['id'] = $row[0]; $result[$i]['title'] = $row[1]; $result[$i]['description'] = $row[2]; $result[$i]['pic'] = $row[3]; $result[$i]['hyper'] = $row[4]; $result[$i]['mcms_url'] = $row[5]; $i++; } return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert eine bestimmte Strecke als assoziatives Array zurück */ function getLine($lid) { include("main.inc.php"); $result = array(); // Strecke $line = $_DB->query("SELECT * FROM strecken WHERE `Id`= $lid"); if (!$line) { die('Ungültige Abfrage: ' . mysql_error()); } $row = $_DB->fetch_array($line); $result['id'] = $row[0]; $result['title'] = $row[1]; $result['description'] = $row[2]; $result['pic'] = $row[3]; $result['hyper'] = $row[4]; $result['mcms_url'] = $row[5]; $result['elevation_up'] = $row[6]; $result['elevation_down'] = $row[7]; $result['distance'] = $row[8]; $result['max'] = $row[9]; $result['min'] = $row[10]; return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert die Streckenpunkte einer bestimmten Strecke als String zurück */ function getLinePointsString($lid) { include("main.inc.php"); $result = ""; // Strecke $line = $_DB->query("SELECT `lat`, `lng` FROM streckenpunkte WHERE `strecken_id`= $lid ORDER BY `point_number` ASC"); if (!$line) { die('Ungültige Abfrage: ' . mysql_error()); } while($row = $_DB->fetch_array($line)) { $result .= "$row[0], $row[1];"; } $laenge = strlen($result)-1; $result = substr($result, 0, $laenge); return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Loescht eine bestimmte Strecke sowie deren Streckenpunkte */ function deleteLine($lid) { include("main.inc.php"); $_DB1 = new db_mysql($connect_profile); $_DB1->connect(); $result = FALSE; // Strecke löschen $line = $_DB->query("DELETE FROM strecken WHERE `Id`=$lid"); if (!$line) { die('Fehler beim Löschen der Strecke: ' . mysql_error()); } else { // Streckenpunkte ermitteln $line_points = $_DB->query("Select Id FROM streckenpunkte WHERE strecken_id=$lid"); if(!$line_points){ die('Ungültige Abfrage: ' . mysql_error()); } else{ while($row = $_DB->fetch_array($line_points)){ // Streckenpunkt löschen $lp = $_DB1->query("DELETE FROM streckenpunkte WHERE `Id`=$row[0]"); if(!$lp){ die('Fehler beim Löschen des Streckenpunktes: ' . mysql_error()); } } } } return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Erstellt eine GPX-Datei aus den übergebenen Streckenpunkten */ function createGPX($title, $line_points) { include("main.inc.php"); $filename = $_CONST['PATH']['ressources_gpx'] . $title . ".gpx"; $content = ''; $content .= 'Etappe ' . $title . ''; for($i=0;$i < count($line_points); $i++){ $newLinepoint = array(); $newLinepoint = explode(",", str_replace(' ', '', $line_points[$i])); $lat = (double)$newLinepoint[0]; $lng = (double)$newLinepoint[1]; $content .= ''; } $content .= ''; $file_handle = fopen($filename,'wb'); fwrite($file_handle,$content,strlen($content)); fclose($file_handle); } // Funktionen zum Erstellen des Höhenprofils /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Erzeugt einen Graphen aus den übergebenen Arrays */ function createGraph($xdata, $ydata, $lid){ include ("jpgraph/src/jpgraph.php"); include ("jpgraph/src/jpgraph_line.php"); $picpath = "../graph_files/" . $lid . ".png"; //if(!file_exists($picpath)){ // Grafik generieren und Grafiktyp festlegen $graph = new Graph(620,200,"auto"); $graph->SetScale("linlin"); $lineplot=new LinePlot($ydata, $xdata); // Die Linien zu der Grafik hinzufügen $graph->Add($lineplot); // Grafik Formatieren $graph->img->SetMargin(60,20,20,50); $graph->xaxis->title->Set("Strecke in km"); $graph->yaxis->title->Set("Höhenmeter"); $graph->yaxis->title->SetFont(FF_VERA,FS_BOLD); $graph->yaxis->title->SetMargin(20); $graph->xaxis->title->SetFont(FF_VERA,FS_BOLD); $graph->xaxis->title->SetMargin(15); $graph->SetFrame(false); $lineplot->SetColor("red"); $lineplot->SetWeight(2); // Grafik anzeigen $graph->Stroke($picpath); //} $picpath = substr($picpath, 3); return $picpath; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc - Sammelt nötige Daten aus der Datenbank * - Berechnet Höhenmeter (up, down) * - Berechnet die Gesamtdistanz */ function getGraphData($lid){ include("main.inc.php"); $alti = array(); $dist_array = array(); $result = array(); $max_alti = 0; $count = 0; $htemp = 0; $hup = 0; $hdown = 0; $xtemp = 0; $ytemp = 0; $i = 0; $sp_sql = "SELECT `lat`, `lng`, `altitude` FROM streckenpunkte WHERE `strecken_id`=$lid ORDER BY `strecken_id`, `point_number` ASC"; $sp_handle = $_DB->query($sp_sql); if($sp_handle != true){ die("Fehler: " . mysql_error()); } while($row = $_DB->fetch_array($sp_handle)) { if($i == 0){ $count = 0; $htemp = $row[2]; }else{ $count += getDistance($xtemp, $ytemp, $row[0], $row[1]); } $dist_array[$i] = round($count / 1000, 2); $xtemp = $row[0]; $ytemp = $row[1]; $alti[$i] = $row[2]; // Ermittlung der maximalen Höhe if($row[2] > $max_alti) $max_alti = $row[2]; // Berechnung der zurückgelegten Höhenmeter if($htemp < $row[2]){ $hup += ($row[2] - $htemp); }else if($htemp > $row[2]){ $hdown += ($htemp - $row[2]); } $htemp = $row[2]; $i++; } $result['path'] = createGraph($dist_array, $alti, $lid); $result['up'] = $hup; $result['down'] = $hdown; $result['distance'] = $dist_array[count($dist_array)-1]; return $result; } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert die Entfernung zwischen zwei Punkten */ function getDistance($x1, $y1, $x2, $y2){ if(($x1 == $x2) && ($y1 == $y2)){ return 0.00; }else{ // Umrechnung ins Bogenmaß $x1=($x1 / 180) * pi(); $x2=($x2 / 180) * pi(); $y1=($y1 / 180) * pi(); $y2=($y2 / 180) * pi(); // Berechnung der Entfernung in km $entfernung = acos(sin($x1) * sin($x2) + cos($x1) * cos($x2) * cos($y1 - $y2)) * 6370; // Entfernung in m zurückgeben return round($entfernung * 1000, 2); } } /** * @autor Stefan Nebenführ | Matoma Internet Consulting GmbH * @copyright Matoma Internet Consulting GmbH * @access public * @desc Liefert die Höhenmeter */ function getAltitude($lat, $lng) { usleep(500000); $data = file_get_contents("http://maps.google.com/maps/api/elevation/xml?locations=" . $lat . "," . $lng . "&sensor=false"); $data = trim(strip_tags($data)); $data = explode(" ", $data); $result = floatval(substr($data[13], 0 , stripos($data[13], '.')+3)); return $result; } ?>_db = NULL; $this->_rs = NULL; $this->_server = $connect_profile['server']; $this->_uid = $connect_profile['uid']; $this->_pwd = $connect_profile['pwd']; $this->_db_name = $connect_profile['db']; } ################ Public-Methodes ################## /******************************************************************* * Method: connect() * Description: connect to DB * Arguments: string with connection-argumets * Returns: bool *******************************************************************/ function connect() { if($this->_db = mysql_connect($this->_server, $this->_uid, $this->_pwd)) { if(mysql_select_db($this->_db_name,$this->_db)) { return(true); } else { echo mysql_error($this->_db); return(false); } } else { echo mysql_error($this->_db); return(false); } } /** * @return bool * @param $sql string SQL-Query * @desc Execute the sql-query */ function query($sql) { if(!is_resource($this->_db)) { $this->connect(); } if($this->_rs = mysql_query($sql, $this->_db)) { return(true); } else { echo mysql_error($this->_db); return(false); } } /******************************************************************* * Method: num_rows() * Description: number of affected rows by last sql-query * Arguments: sql-statement as string * Returns: int/FALSE *******************************************************************/ function num_rows() { if($this->_rs) { return(mysql_num_rows($this->_rs)); } else { echo mysql_error($this->_db); return(false); } } /******************************************************************* * Method: fetch_array() * Description: return one record * Arguments: - * Returns: array/FALSE *******************************************************************/ function fetch_array() { if($this->_rs && ($row = mysql_fetch_array($this->_rs))) return($row); else return(NULL); } /******************************************************************* * Method: fetch_assoc() * Description: return one record * Arguments: - * Returns: array/FALSE *******************************************************************/ function fetch_assoc() { if($this->_rs && ($row = mysql_fetch_assoc($this->_rs))) return($row); else return(NULL); } /** * @return mixed * @desc Returns all rows of SQL-statment as array */ function records_array() { $return_value = array(); if($this->_rs) { while($row = mysql_fetch_assoc($this->_rs)) { $return_value[] = $row; } } return $return_value; } /******************************************************************* * Method: close() * Description: close the connection to DB * Arguments: - * Returns: bool *******************************************************************/ function close() { if(mysql_close($this->_db)) { return(true); } else { echo mysql_error($this->_db); return(false); } } /******************************************************************* * Method: get_insert_id() * Description: close the connection to DB * Arguments: - * Returns: ressource *******************************************************************/ function get_insert_id() { return mysql_insert_id(); } ################ Private-Methodes ################## } ?>