", $string); } //---------------------------------------------------------- // KB auslesen function ffor($wert) {return number_format((filesize($wert)/1024), 0, ',', ' ');} //---------------------------------------------------------- // Passwortgenerator function gen_pass($stellen, $ohneSonderzeichen=0) { if ($ohneSonderzeichen==0) { $ary_chr[0]=chr(36); $ary_chr[1]=chr(37); $y=2; for ($i=48;$i<58;$i++){ $ary_chr[$y]=chr($i); $y++; } }else { $y=0; for ($i=48;$i<58;$i++){ $ary_chr[$y]=chr($i); $y++; } } for ($i=65;$i<91;$i++){ $ary_chr[$y]=chr($i); $y++; } for ($i=97;$i<123;$i++){ $ary_chr[$y]=chr($i); $y++; } $aus_str=""; $hig_anz=count($ary_chr); for ($i=0;$i<$stellen;$i++){ $nr_art=rand(0,($hig_anz-1)); $aus_str.=$ary_chr[$nr_art]; } return $aus_str; } //---------------------------------------------------------- // umbrüche bei Text. function umbruch($db_string) { $db_string = stripslashes($db_string); $db_string = str_replace(chr(10),"
",$db_string); //$db_string = str_replace("
",chr(10),$db_string); return($db_string); } //---------------------------------------------------------- // Preis Kommastellen function preis_komma($string){ $ergebnis=""; $ary_art=explode(".",$string); if (count($ary_art)<2) $ergebnis=".00"; if (count($ary_art)>1 and strlen($ary_art[1]<2)) $ergebnis="0"; return $ergebnis; } function arti() { return "programmierung
webdesign
"; } //---------------------------------------------------------- // display Error function displayErrors($messages) { print("Wir konnten Ihre Eingabe leider nicht verarbeiten:\n\n"); } //---------------------------------------------------------- // spacer height und width function spacer_wa(){ $x="
\"\"
"; return $x; } function spacer_wh($space_w,$space_h){ $x="
\"\"
"; return $x; } // spacer height function spacer_h($space_h){ $x="
\"\"
"; return $x; } // spacer width function spacer_w($space_w){ $x="\"\""; return $x; } function whmail($space_w,$space_h){ GLOBAL $pfdnew; $x="
\"\"
"; return $x; } // spacer height function hmail($space_h){ GLOBAL $pfdnew; $x="
\"\"
"; return $x; } // spacer width function wmail($space_w){ GLOBAL $pfdnew; $x="\"\""; return $x; } //---------------------------------------------------------- // Anti-Spam function anti_spam($replace_email) { for($i = 0; $i < strlen($replace_email);$i++) { $tmp_replace_var = substr($replace_email,$i,1); $tmp_replace_email .= "&#".ord($tmp_replace_var); } return $tmp_replace_email; } //---------------------------------------------------------- // Sonderzeichen Entfernen Interval 1 und Interval 2 // Entfernt alle zeichen einer Zeichenkette zwischen den Intervallen // Intervalle werden in ascii dezimal angeben. function entf_sonderzeichen($string1,$interval_1_1,$interval_1_2,$interval_2_1=0,$interval_2_2=-1){ for ($i=$interval_1_1;$i<=$interval_1_2;$i++) $string1=str_replace(chr($i),"",$string1); for ($i=$interval_2_1;$i<=$interval_2_2;$i++) $string1=str_replace(chr($i),"",$string1); return $string1 ; } function alpha_num_underscore($string1){ $string1=entf_sonderzeichen($string1,0,44,46,47); $string1=entf_sonderzeichen($string1,58,64); $string1=entf_sonderzeichen($string1,91,94,96,96); $string1=entf_sonderzeichen($string1,123,255); return $string1 ; } function mkUrl($string1){ $url=str_replace("?","", $string1); $url=str_replace("*","", $url); $url=str_replace("#","", $url); $url=str_replace("+","", $url); $url=str_replace("<","", $url); $url=str_replace(">","", $url); $url=str_replace("'","", $url); $url=str_replace('"',"", $url); $url=str_replace(";","", $url); $url=str_replace(",","", $url); $url=str_replace(":","", $url); $url=str_replace("$","", $url); $url=str_replace("@","", $url); $url=str_replace("€","", $url); $url=str_replace("|","", $url); $patern="/([\s]{2,})/"; $url=preg_replace($patern," ",$url); $url=str_replace(" ","-", $url); $url=str_replace("_","-", $url); $url=str_replace(".","-", $url); $url=str_replace("/","-", $url); $url=str_replace("\\","-", $url); $url=str_replace("&","und", $url); $url=str_replace("ß","ss", $url); $url=str_replace("ä","ae", $url); $url=str_replace("ö","oe", $url); $url=str_replace("ü","ue", $url); $url=str_replace("Ä","ae", $url); $url=str_replace("Ö","oe", $url); $url=str_replace("Ü","ue", $url); $url=alpha_num_underscore($url); $patern="/(\-{2,})/"; $url=preg_replace($patern,"-",$url); $string1=strtolower($url); return $string1 ; } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ function human_date($unix_date,$type) { if ($type==1){ $datum_str = (substr($unix_date,6,2).".".substr($unix_date,4,2).".".substr($unix_date,0,4)); return ($datum_str); } if ($type==2){ $datum_str = substr($unix_date,6,2).".".substr($unix_date,4,2).".".substr($unix_date,0,4)." ".substr($unix_date,8,2).":".substr($unix_date,10,2); return ($datum_str); } if ($type==3){ $datum_str = substr($unix_date,6,2); return ($datum_str); } } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ function get_date($type) { $ary = getdate(); if ($type==1) return($ary["year"].fixDate($ary["mon"]).fixDate($ary["mday"])); if ($type==2) return($ary["year"].fixDate($ary["mon"]).fixDate($ary["mday"]).fixDate($ary["hours"]).fixDate($ary["minutes"]).fixDate($ary["seconds"]));; } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ // Überprüfung von Werten function field_validator($field_descr, $field_data, $field_type, $min_length="", $max_length="", $field_required=1) { /* Field validator: This is a handy function for validating the data passed to us from a user's
fields. Using this function we can check a certain type of data was passed to us (email, digit, number, etc) and that the data was of a certain length. */ # array for storing error messages global $messages; # first, if no data and field is not required, just return now: if(!$field_data && !$field_required){ return; } # initialize a flag variable - used to flag whether data is valid or not $field_ok=false; # this is the regexp for email validation: $email_regexp="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|"; $email_regexp.="(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; # a hash array of "types of data" pointing to "regexps" used to validate the data: $data_types=array( "email"=>$email_regexp, "digit"=>"^[0-9]$", "number"=>"^[0-9]+$", "datum"=>"^[0-9.]+$", "alpha"=>"^[a-zA-Z]+$", "alpha_space"=>"^[a-zA-Z ]+$", "alphanumeric"=>"^[a-zA-Z0-9]+$", "alphanumeric_space"=>"^[a-zA-Z0-9 ]+$", "string"=>"" ); # check for required fields if ($field_required && empty($field_data)) { $messages[] = "Das Feld $field_descr ist ein Pflichtfeld."; return; } # if field type is a string, no need to check regexp: if ($field_type == "string") { $field_ok = true; } else { # Check the field data against the regexp pattern: $field_ok = ereg($data_types[$field_type], $field_data); } # if field data is bad, add message: if (!$field_ok) { $messages[] = "Das Feld $field_descr enthält einen ungültigen Wert."; return; } # field data min length checking: if ($field_ok && $min_length) { if (strlen($field_data) < $min_length) { $messages[] = "$field_descr ist nicht gültig, es sollte mindestens $min_length Zeichen haben."; return; } } # field data max length checking: if ($field_ok && $max_length) { if (strlen($field_data) > $max_length) { $messages[] = "$field_descr ist nicht gültig, es sollte nicht mehr als $max_length Zeichen haben."; return; } } } // gleich wie ord() nur für z.B. utf8-zeichen function uniord($c) { $h = ord($c{0}); if ($h <= 0x7F) { return $h; } else if ($h < 0xC2) { return false; } else if ($h <= 0xDF) { return ($h & 0x1F) << 6 | (ord($c{1}) & 0x3F); } else if ($h <= 0xEF) { return ($h & 0x0F) << 12 | (ord($c{1}) & 0x3F) << 6 | (ord($c{2}) & 0x3F); } else if ($h <= 0xF4) { return ($h & 0x0F) << 18 | (ord($c{1}) & 0x3F) << 12 | (ord($c{2}) & 0x3F) << 6 | (ord($c{3}) & 0x3F); } else { return false; } } // beliebig viele intervalle zum überprüfen function intervalpruef($char) { $args=func_get_args(); $a_intervals= count($args)-1; for($i=1;$i<$a_intervals;$i+=2) { for ($i2=$args[$i];$i2<=$args[$i+1];$i2+=1) { if(uniord($char)==$i2) return true; } } return false; } function f_vali($field_index, $field_data, $field_type, $min_length="", $max_length="", $field_required=1) { /* Field validator: This is a handy function for validating the data passed to us from a user's fields. Using this function we can check a certain type of data was passed to us (email, digit, number, etc) and that the data was of a certain length. */ # array for storing error messages global $f_fehler; # first, if no data and field is not required, just return now: if(!$field_data && !$field_required){ return; } # initialize a flag variable - used to flag whether data is valid or not $field_ok=false; # check for required fields if ($field_required && empty($field_data)) { $f_fehler[$field_index]= 1; return; } /* typen: string email number numberspace alpha datum */ # if field type is a string, no need to check regexp: switch($field_type) { case "string": $field_ok = true; break; case "email": if($field_data!="" && email_vali($field_data)===true) { $field_ok = true; } break; case "number": $str_len=strlen($field_data); $flag=0; for($i=0;$i<=$str_len;$i++) { $zeichen=substr($field_data,$i,1); $pruef=false; $pruef=intervalpruef($zeichen, 0, 0, 48, 57); if($pruef==false) { $flag = 1; break; } } if($flag==0) { $field_ok=true; } break; case "numberspace": $str_len=strlen($field_data); $flag=0; for($i=0;$i<=$str_len;$i++) { $zeichen=substr($field_data,$i,1); $pruef=false; $pruef=intervalpruef($zeichen, 0, 0, 32, 32, 48, 57); if($pruef==false) { $flag = 1; break; } } if($flag==0) { $field_ok=true; } break; case "alpha": $str_len=strlen($field_data); $flag=0; for($i=0;$i<=$str_len;$i++) { $zeichen=mb_substr($field_data,$i,1,'UTF-8'); //$zeichen=substr($field_data,$i,1); $pruef=false; $pruef=intervalpruef($zeichen, 0, 0, 32, 32, 48, 57, 65, 90, 97, 122, 196, 196, 214, 214, 220, 220, 228, 228, 246, 246, 252, 252); if($pruef==false) { $flag = 1; break; } } if($flag==0) { $field_ok=true; } break; case "datum": if(preg_match_all("@^([0-9]{4,5})\-([0-9]{2,2})\-([0-9]{2,2})$@is",$field_data, $treffer, PREG_PATTERN_ORDER)) { if(count($treffer[0])==1) { $field_ok=true; } } break; } # if field data is bad, add message: if (!$field_ok) { $f_fehler[$field_index] = 1; return; } # field data min length checking: if ($field_ok && $min_length) { if (strlen($field_data) < $min_length) { $f_fehler[$field_index] = 1; return; } } # field data max length checking: if ($field_ok && $max_length) { if (strlen($field_data) > $max_length) { $f_fehler[$field_index] = 1; return; } } } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ // Ordner Löschen function ordnerloeschen($file) { chmod($file,0777); if (is_dir($file)) { $handle = opendir($file); while($filename = readdir($handle)) { if ($filename != "." && $filename != "..") { ordnerloeschen($file."/".$filename); } } closedir($handle); rmdir($file); } else { unlink($file); } } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ function email_vali($email) { $regexp="/^[a-z0-9]+([_\\.-]([a-z0-9]+)?)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i"; if ( !preg_match($regexp, $email) ) { return false; } return true; } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ // Neu drin seit 17.11.09 // liefert dateiende (mit oder ohne punkt) function getExt($dateiname, $mitPunkt=true, $mitToLower=true) { preg_match("/(.+)?(.[a-zA-Z0-9]+)$/isU", $dateiname, $treffer); $ext=$treffer[2]; if($mitToLower==true) { $ext=strtolower($ext); } if($mitPunkt==false) { $ext=substr($ext, 1, strlen($ext)); } return $ext; } // Holt den Dateiname aus ein String (geht auch bei Pfade) ohne Dateiendung function getFilename($dateiname) { $dateiname = basename($dateiname); $ext=getExt($dateiname, true, false); $name=basename($dateiname, $ext); if($name!=$ext) { return $name; } } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ // Neu drin seit 10.03.10 // Maskiert Emailadressen-Links aus einem HTML String function maskEmail($htmlstr) { require_once "back/include/class.simple_html_dom.php"; $html=str_get_html($htmlstr); foreach($html->find('a') as $linktest) { if(substr($linktest->href, 0, 7)=="mailto:") { $linktest->href=anti_spam($linktest->href); //$linktest->innertext=anti_spam($linktest->innertext); $tmp_innertext=$linktest->innertext; $tmp_innertext_strip=strip_tags($tmp_innertext); $linktest->innertext=str_replace($tmp_innertext_strip,anti_spam($tmp_innertext_strip),$tmp_innertext); } } $new_html=$html->save(); $html->clear(); unset($html); return $new_html; } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ /** * Beinhaltet die Funktionen von der ehemaligen urllink() und urllink2() * vereint seit cms version 2.4.8 */ function urllink($kat_id, $db_spalte="kat_id") { global $link, $db_prefix, $pfad_admin, $startseite_katid; if(trim($db_spalte)=="") { $db_spalte="kat_id"; } $pre_domain = ""; if($db_spalte=="kat_id") { if($startseite_katid==$kat_id) { return "/"; } $query="SELECT * FROM ".$db_prefix."domains WHERE startseite='".$kat_id."' LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)==1) { $dat=mysql_fetch_array($result); return "http://".$dat["domain"]; } $query="SELECT * FROM ".$db_prefix."kategorien WHERE kat_id='".$kat_id."' AND aktiv=1 LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)==1) { $dat=mysql_fetch_array($result); $this_lang_id = $dat["lang_id"]; $top_kat = $kat_id; if($dat["kat_idA"]>0) { $top_kat = $dat["kat_idA"]; } $query="SELECT * FROM ".$db_prefix."domains WHERE startseite='".$top_kat."' LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)==1) { $dat=mysql_fetch_array($result); $pre_domain = "http://".$dat["domain"]."/"; } else { $query="SELECT * FROM ".$db_prefix."domains WHERE lang_id='".$this_lang_id."' AND grund_domain=1 LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)>0) { $dat=mysql_fetch_array($result); $pre_domain = "http://".$dat["domain"]."/"; } } } } // $test = URLLinkCache::get($db_spalte, $kat_id); if($test!==false) { return $test; } // $tableurl=""; $urlstring=""; unset($datU); $query="SELECT * FROM ".$db_prefix."url WHERE ".$db_spalte."='".$kat_id."';"; $result=mysql_query($query, $link); $treffer=mysql_num_rows($result); if($treffer>0) { $datU=mysql_fetch_array($result); if($datU["extern_url"]!="") { if($datU["neu_fenster"]==1) { // URLLinkCache::set($db_spalte, $kat_id, urldecode($datU["extern_url"]).'" target="_blank'); // return urldecode($datU["extern_url"]).'" target="_blank'; } // URLLinkCache::set($db_spalte, $kat_id, $datU["extern_url"]); // return urldecode($datU["extern_url"]); } $tableurl=$datU["url"]; // URLLinkCache::set($db_spalte, $kat_id, $pre_domain.$tableurl.".html"); // return($pre_domain.$tableurl.".html"); } else { // rückwärskompatibilität (deprecated) if($db_spalte=="kat_id") { $query="SELECT * FROM ".$db_prefix."kategorien WHERE kat_id ='".$kat_id."';"; $result=mysql_query($query,$link); $dat=mysql_fetch_array($result); $url_act1="cms"; if($dat["kat_idA"]==0 && $dat["kat_idB"]==0 && $dat["kat_idC"]==0) {$url_act2=$dat["kat_id"];} if($dat["kat_idA"]>0 && $dat["kat_idB"]==0 && $dat["kat_idC"]==0) {$url_act2=$dat["kat_idA"];$url_act3=$dat["kat_id"];} if($dat["kat_idA"]>0 && $dat["kat_idB"]>0 && $dat["kat_idC"]==0) {$url_act2=$dat["kat_idA"];$url_act3=$dat["kat_idB"];$url_act4=$dat["kat_id"];} if($dat["kat_idA"]>0 && $dat["kat_idB"]>0 && $dat["kat_idC"]>0) {$url_act2=$dat["kat_idA"];$url_act3=$dat["kat_idB"];$url_act4=$dat["kat_idC"];$url_act5=$dat["kat_id"];} $urlstring=$url_act1; if($url_act2!="") $urlstring.="_".$url_act2; if($url_act3!="") $urlstring.="_".$url_act3; if($url_act4!="") $urlstring.="_".$url_act4; if($url_act5!="") $urlstring.="_".$url_act5; // URLLinkCache::set("kat_id", $kat_id, $urlstring.".html"); // return($urlstring.".html"); } return "/"; } } /** * Alias für neue urllink() */ function urllink2($kat_id, $db_spalte='kat_id') { return urllink($kat_id, $db_spalte); } /* urllink cache (seit cms version 2.2.0) lagert die ergebnisse von urllink() in dieser klasse ab, um weitere mysql abfragen zu verhindern. braucht php > 5.2.x */ class URLLinkCache { static $storage = array(); static function set($typ="kat", $kat_id, $url) { $kat_id = intval($kat_id); self::$storage[$typ][$kat_id] = $url; } static function get($typ="kat", $kat_id) { $kat_id = intval($kat_id); if(array_key_exists($typ, self::$storage) && array_key_exists($kat_id, self::$storage[$typ])) { return self::$storage[$typ][$kat_id]; } return false; } } /* URL Kopplung */ function urllinkKopp($lang_id, $kat_id) { global $db_prefix, $link, $selected_language; $kat_id=intval($kat_id); $tmp = array(); $query="SELECT kk.*,k.lang_id FROM ".$db_prefix."katkopplung kk LEFT JOIN ".$db_prefix."kategorien k ON k.kat_id=kk.grund_katid WHERE kk.grund_katid='".$kat_id."';"; $result=mysql_query($query,$link); if(mysql_num_rows($result)==0) { // Ist keine Grund ID => Grund ID finden $query="SELECT kk.*,k.lang_id FROM ".$db_prefix."katkopplung kk LEFT JOIN ".$db_prefix."kategorien k ON k.kat_id=kk.kat_id WHERE kk.kat_id='".$kat_id."';"; $result=mysql_query($query,$link); if(mysql_num_rows($result)>0) { $dat=mysql_fetch_array($result); $grundid = $dat["grund_katid"]; $query="SELECT kk.*,k.lang_id FROM ".$db_prefix."katkopplung kk LEFT JOIN ".$db_prefix."kategorien k ON k.kat_id=kk.grund_katid WHERE kk.grund_katid='".$grundid."';"; $result=mysql_query($query,$link); if(mysql_num_rows($result)>0) { $dat=mysql_fetch_array($result); $grundlangid=$dat["lang_id"]; } } } else { $grundid = $kat_id; $dat = mysql_fetch_array($result); $grundlangid = intval($dat["lang_id"]); } if($grundlangid == $lang_id) { // Grund ID ist in gewünschter Sprache $use_id = $grundid; } else { $query="SELECT kk.*,k.lang_id FROM ".$db_prefix."katkopplung kk LEFT JOIN ".$db_prefix."kategorien k ON k.kat_id=kk.kat_id WHERE kk.grund_katid='".$grundid."' AND k.lang_id='".$lang_id."';"; $result=mysql_query($query,$link); if(mysql_num_rows($result)==1) { $dat = mysql_fetch_array($result); $use_id = $dat["kat_id"]; } } if($use_id>0) { $url = urllink($use_id); if(preg_match("@^http://@is", $url)) { return $url; } $query="SELECT * FROM ".$db_prefix."domains WHERE startseite='".$use_id."' LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)==1) { $dat=mysql_fetch_array($result); if($url == "/") { return "http://".$dat["domain"].$url; } return "http://".$dat["domain"]."/".$url; } return urllink($use_id); } $query="SELECT * FROM ".$db_prefix."kategorien WHERE kat_id='".$kat_id."' AND aktiv=1 LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)>0) { $dat=mysql_fetch_array($result); if($lang_id == $dat["lang_id"]) { return "?lg=".$lang_id; } else { $query="SELECT * FROM ".$db_prefix."domains WHERE lang_id='".$lang_id."' AND grund_domain=1 LIMIT 0,1"; $result=mysql_query($query,$link); if(mysql_num_rows($result)>0) { $dat=mysql_fetch_array($result); return "http://".$dat["domain"]."/"; } } } return "?lg=".$lang_id; } /** * Gewohntes var_dump mit ein paar Formatierungen * Es wird anesDebug::dump() verwendet * * @param mixed Variable, die getestet werden soll * @return void */ function _v(&$var = NULL, &$var2 = NULL, &$var3 = NULL, &$var4 = NULL, &$var5 = NULL) { $count = func_num_args(); switch($count) { case 1: anesDebug::dump($var);break; case 2: anesDebug::dump($var, $var2);break; case 3: anesDebug::dump($var, $var2, $var3);break; case 4: anesDebug::dump($var, $var2, $var3, $var4);break; case 5: anesDebug::dump($var, $var2, $var3, $var4, $var5);break; default: call_user_func_array(array('anesDebug', 'dump'), func_get_args()); } return; } /* -------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------- */ /** * Query Builder Abschnitt * Hinzugefügt am 16.01.2013 */ /** * Quoted ein Identifierer, wie Tabellennamen und Tabellenspalten. * * @param string Wert * @return string Quoteter Wert */ function quoteIdent($identi) { $quoted = ""; $alias = null; if ($identi instanceof anesDBExpr) { $quoted = $identi->__toString(); } else { if (is_string($identi)) { $identi = explode('.', $identi); } if (is_array($identi)) { $teile = array(); foreach ($identi as $teil) { if ($teil instanceof anesDBExpr) { $teile[] = $teil->__toString(); } else { $alias_ary = explode(' ', $teil); if(count($alias_ary) > 1) { $alias = end($alias_ary); $teil = $alias_ary[0]; } if(trim($teil) != '') { if($teil === '*') { $teile[] = $teil; } else { $teile[] = '`'.$teil.'`'; } } } } $quoted = implode('.', $teile); } else { $quoted = '`'.$identi.'`'; } } $quoted = (string)$quoted; if($alias !== null) { $quoted .= ' AS '.quoteIdent($alias); } return $quoted; } /** * Quoted einen Wert wie Tabelleninhalte. * NULL, 'NULL' oder eine Ressource wird zu 'NULL' und nicht gequoted. * Wenn der Wert ein anesDBExpr Objekt ist wird deren Inhalt zurückgegeben. * Wird ein DateTime Objekt übergeben, so wird dieser in Y-m-d H:i:s umgewandelt. * * @param mixed Wert * @return string Quoteter Wert */ function quoteValue($value) { global $link; if($value instanceof anesDBExpr) { return $value->__toString(); } if($value instanceof DateTime) { $value = $value->format('Y-m-d H:i:s'); } if(is_null($value) === true || (string)$value === 'NULL' || is_resource($value) === true) { return 'NULL'; } if(is_int($value) === true) { return $value; } $string = "'".mysql_real_escape_string($value, $link)."'"; return $string; } /** * Baut einen INSERT - Statement zusammen. * Der erste Parameter ist der Tabellenname. * Der zweite Parameter ist ein assoziatives Array. * Der Index des Arrays ist der Spaltenname, die Werte sind dann die Werte. * * @see query() * @param string Tabellenname * @param array Datenarray * @return string Insert Query */ function sql_insert($tablename, array $bind) { $keys = array(); $values = array(); foreach ($bind as $key => $value) { $keys[] = quoteIdent($key); $values[] = quoteValue($value, $link); } $query = "INSERT INTO ".quoteIdent($tablename).' ('.implode(', ',$keys).') VALUES ('.implode(', ',$values).')'; return $query; } /** * Baut einen UPDATE - Statement zusammen. * Der erste Parameter ist der Tabellenname. * Der zweite Parameter ist ein assoziatives Array. * Der Index des Arrays ist der Spaltenname, die Werte sind dann die Werte. * Der optionale dritte Wert ist eine reine WHERE Anweisung. Das Wort "WHERE" wird nicht benötigt. * Bitte beachten Sie, dass der dritte Wert keine prepared()-ähnliche Funktionen unterstützt und muss eigenhändig validiert/bereinigt werden. * * @see query() * @param string Tabellenname * @param array Datenarray * @param string WHERE Anweisung * @return string Update Query */ function sql_update($tablename, array $bind, $where = '') { $set = array(); foreach ($bind as $key => $value) { $set[] = quoteIdent($key).' = '.quoteValue($value); } $query = "UPDATE ".quoteIdent($tablename)." SET ".implode(', ', $set).(($where != '') ? " WHERE ".$where : ''); return $query; } /** * Erzeugt ein vollen Namen aus Titel, Vorname und Nachname * * @param string Titel * @param string Vorname * @param string Nachname * @return string Voller Name */ function fullname($titel="", $vorname="", $name="") { $tmp = array(); if($titel != "") { $tmp[] = trim($titel); } if($vorname != "") { $tmp[] = trim($vorname); } if($name != "") { $tmp[] = trim($name); } $return = implode(' ', $tmp); if($return != "") { return $return; } return " "; } ?>