$checkAction -- $key:$val"; // Wenn Checkaktion am Schluss ein Stern * enthält ist die Angabe Optional if (preg_match("/([^\*]*)\*$/i",$checkAction,$matches)) { $checkAction = $matches[1]; // Wert ohne "*" $optional = " Oder Feld freilassen."; if ($val == "") { $checkAction = 0; } #echo "
$checkAction -- $key:$val"; } switch ($checkAction) { case "0": // Wert ist optional break; case "1": if ($val == "") { $error[$key] = "Bitte ausfüllen.".$optional; } break; case "2": if (!preg_match("/^[0-9]+$/i",$val)) { $error[$key] = "Bitte eine Zahl eingeben.".$optional; } break; case "4": // 1. Komma durch . ersetzen $val = trim(str_replace(",",".",$val)) ; $month = "";$day="";$year=""; if (preg_match("/^(\d{1,2}).(\d{1,2}).(\d{4})$/i", $val, $matches)) { $month = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; $day = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $year = $matches[3]; } if (preg_match("/^(\d{1,2}).(\d{1,2}).(\d{2})$/i", $val, $matches)) { $month = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; $day = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $year = ($matches[3] < 20) ? "20".$matches[3] : "19".$matches[3]; } if (preg_match("/^(\d{1,2}).(\d{1,2})$/i", $val, $matches)) { $month = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; $day = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $year = date("Y"); // Aktuelles Jahr } if ($month && $day && $year) { $_REQUEST[$key] = $day.".".$month.".".$year ; if (!checkdate ( $month, $day, $year)) { $error[$key] = "Bitte ein korrektes Datum eingeben (TT.MM.JJJJ).".$optional; } } else { $error[$key] = "Bitte ein korrektes Datum eingeben (TT.MM.JJJJ).".$optional; } break; case "5": if(strlen($val) < 5) { $error[$key] = "Mindestlänge 5 Zeichen".$optional; } break; case "6": if(!isCorrectEmail($val)) { $error[$key] = "Email scheint ungültig.".$optional; } break; case "7": if(!is_array($val)) { $error[$key] = "Bitte auswählen.".$optional; } break; case "8": $val = trim(str_replace(",",".",$val)) ; $_REQUEST[$key] = $val; if(!is_float($val)) { $error[$key] = "Bitte einen Betrag eingeben!".$optional; } break; case "9": if (strlen($val) != 5) { $error[$key] = "Bitte 5-stellige Zahl eingeben!".$optional; } break; // Euro case "10": // 1. Komma durch . ersetzen $val = trim(str_replace(",",".",$val)) ; if(!is_numeric($val)) { $error[$key] = "Bitte einen Betrag eingeben!".$optional; } $_REQUEST[$key] = $val; break; // Zeit (12:54) case "11": // 1. Komma durch : ersetzen $val = trim(str_replace(",",":",$val)) ; $hour = "";$minute=""; if (preg_match("/^(\d{1,2}):(\d{1,2})$/i", $val, $matches)) { $hour = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $minute = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; } if ($hour && $minute) { $_REQUEST[$key] = $hour.":".$minute ; if ($hour >23 || $hour <0 || $minute > 59 || $minute < 0) { $error[$key] = "Bitte eine korrekte Zeit eingeben (ss:mm).".$optional; } } else { $error[$key] = "Bitte eine korrekte Zeit eingeben (ss:mm).".$optional; } break; }//switch }//for return $error; } function changeDate(&$val) { // 1. Komma durch . ersetzen $val = trim(str_replace(",",".",$val)) ; $month = "";$day="";$year=""; if (preg_match("/^(\d{1,2}).(\d{1,2}).(\d{4})$/i", $val, $matches)) { $month = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; $day = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $year = $matches[3]; } if (preg_match("/^(\d{1,2}).(\d{1,2}).(\d{2})$/i", $val, $matches)) { $month = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; $day = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $year = ($matches[3] < 20) ? "20".$matches[3] : "19".$matches[3]; } if (preg_match("/^(\d{1,2}).(\d{1,2})$/i", $val, $matches)) { $month = (strlen($matches[2]) == 1) ? "0".$matches[2]:$matches[2]; $day = (strlen($matches[1]) == 1) ? "0".$matches[1]:$matches[1]; $year = date("Y"); // Aktuelles Jahr } if ($month && $day && $year) { $_REQUEST[$key] = $day.".".$month.".".$year ; if (!checkdate ( $month, $day, $year)) { $error[$key] = "Bitte ein korrektes Datum eingeben."; } } else { $error[$key] = "Bitte ein korrektes Datum eingeben."; } } // ***************************************************************** // Name isCorrectEmail // // EingabePara: $email // // AusgabePara: // // Funktion: Prüft auf plausible Emailadresse // // ***************************************************************** function isCorrectEmail($email) { if( !preg_match( "^" . "[a-z0-9]+([_\\.-][a-z0-9]+)*" . //user "@" . "([a-z0-9]+([\.-][a-z0-9]+)*)+" . //domain "\\.[a-z]{2,}" . //sld, tld "$", $email)) { return false; } else { return true ; } } //function function redirect($url,$target="") { if ($target != "") { header("Window-target: $target") ; } header("Location: ".$url) ; exit(); } // Datum in Sekunden wandeln function date2MkTime($date) { // 2003-01-19 01:02:44 if (preg_match("#(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})#",$date,$matches)) { #inttime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] ) returntime($matches[4],$matches[5],$matches[6],$matches[2],$matches[3],$matches[1]) ; } // 2003-01-19 if (preg_match("/^(\d{4})-(\d{2})-(\d{2})/i", $datum, $matches)) { returntime(0,0,0,$matches[2],$matches[3],$matches[1]); } // 19.01.2003 01:02 if (preg_match("#(\d{2}).(\d{2}).(\d{4}) (\d{2}):(\d{2})#",$date,$matches)) { #inttime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] ) returntime($matches[4],$matches[5],0,$matches[2],$matches[1],$matches[3]) ; } // 03.11.2004 if (preg_match("#(\d{2}).(\d{2}).(\d{4})#",$date,$matches)) { #inttime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] ) returntime(0,0,0,$matches[2],$matches[1],$matches[3]) ; } // 20041103 if (preg_match("#(\d{4})(\d{2})(\d{2})#",$date,$matches)) { #inttime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] ) returntime(0,0,0,$matches[2],$matches[3],$matches[1]) ; } return 0; } function e2gDate($datum,$format) { // 2001-04-20 04:00:00 if (strlen($datum) == 19) { preg_match("/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/i", $datum, $matches); // inttime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] ) return date ($format,time($matches[4],$matches[5],$matches[6],$matches[2],$matches[3],$matches[1])); } // 2001-04-20 if (strlen($datum) == 10) { preg_match("/^(\d{4})-(\d{2})-(\d{2})/i", $datum, $matches); // inttime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] ) return date ($format,time(0,0,0,$matches[2],$matches[3],$matches[1])); } return false; } function g2eDate($datum,$format) { // 01.05.2004 if (strlen($datum) == 10) { preg_match("/^(\d{2}).(\d{2}).(\d{4})/i", $datum, $matches); return date ($format,time(0,0,0,$matches[2],$matches[1],$matches[3])); } // 01.05.2004 12:31:00 if (strlen($datum) == 19) { preg_match("/^(\d{2}).(\d{2}).(\d{4}) (\d{2}):(\d{2}):(\d{2})/i", $datum, $matches); return date ($format,time($matches[4],$matches[5],$matches[6],$matches[2],$matches[1],$matches[3])); } } function createNavigation2($para,$type=0) { // NAV ************************************************************************************* // Blätterfunktionen $navSeite = $para['navSeite']; $anzProSeite = $para['anzProSeite'] or $anzProSeite = 10; $para['page'] = $para['page'] or $para['page'] = 0; $start = $para['page'] * $anzProSeite ; $paraString = buildParaString($para['request']); if ($type==0) { $sql2 = str_replace("SELECT *","SELECT count(*) anz ",$para['sql']); $startzeit = microtime(); $result = DB::select($sql2) ; $ges = $result[0]['anz']; } else { $sql2 = $para['sql']; $result = DB::select($sql2) ; $ges = count($result) ; } $seiten_ges = ceil($ges/$anzProSeite)-1; $nav = ""; // Vor / Zurück - Nav: $seiteVor = ""; $seiteZurueck = ""; $seiteZurueck = ($para['page']-1 < 0) ? "":"< "; $seiteVor = ($para['page']+1 > $seiten_ges) ? "":"> "; $seiteStart = "«« Erste "; $seiteEnd = "Letzte »» "; // // Zahlen Nav: // Wir wollen nur max. 15 Seiten jeweils auflisten if ($para['page']-3 <0) { $startNavSeite = 0; $endOffset = -($para['page']-3); } else { $startNavSeite = $para['page']-3; } if ($para['page']+4 >=$seiten_ges) { $endNavSeite = $seiten_ges; } else { $endNavSeite = $para['page']+3+$endOffset; } for ($i=$startNavSeite;$i<=$endNavSeite;$i++) { if ($i!=$para['page']) { $nav .= "".($i+1)." "; } else { $nav .= "".($i+1)." "; } } #$nav = $seiteStart." ".$seiteZurueck." ".$nav." ".$seiteVor." ".$seiteEnd; $navAktuellSeite = $para['page']+1; $navSeiten_ges = $seiten_ges +1 ; $nav = << Seite $navAktuellSeite von $navSeiten_ges $seiteStart $seiteZurueck $nav $seiteVor $seiteEnd EOD; // NAV ************************************************************** $res = array('nav' => $nav, 'ges' => $ges, 'start' => $start, 'anzProSeite' => $anzProSeite, 'paraString' => $paraString ); return $res ; } function createNavigation($para,$type=0) { // NAV ************************************************************************************* // Blätterfunktionen $navSeite = $para['navSeite']; $anzProSeite = $para['anzProSeite'] or $anzProSeite = 10; $para['page'] = $para['page'] or $para['page'] = 0; $start = $para['page'] * $anzProSeite ; $paraString = buildParaString($para['request']); if ($type==0) { $sql2 = preg_replace("/SELECT.*FROM/i","SELECT count(*) anz FROM ",$para['sql']); #debug($sql2,4); $startzeit = microtime(); $result = DB::select($sql2) ; #echo "vergangen: ".get_elapsed_time($startzeit)."
"; $ges = $result[0]['anz']; } else { $sql2 = $para['sql']; $result = DB::select($sql2) ; $ges = count($result) ; } #echo "
".$sql2 ; $seiten_ges = ceil($ges/$anzProSeite)-1; $nav = ""; // Vor / Zurück - Nav: $seiteVor = ""; $seiteZurueck = ""; $seiteZurueck = ($para['page']-1 < 0) ? "":"« "; $seiteVor = ($para['page']+1 > $seiten_ges) ? "":"» "; $seiteStart = "«« "; $seiteEnd = "»» "; // // Zahlen Nav: // Wir wollen nur max. 15 Seiten jeweils auflisten if ($para['page']-7 <0) { $startNavSeite = 0; $endOffset = -($para['page']-7); } else { $startNavSeite = $para['page']-7; } if ($para['page']+8 >=$seiten_ges) { $endNavSeite = $seiten_ges; } else { $endNavSeite = $para['page']+7+$endOffset; } for ($i=$startNavSeite;$i<=$endNavSeite;$i++) { if ($i!=$para['page']) { $nav .= "".($i+1)." "; } else { $nav .= "".($i+1)." "; } } $nav = $seiteStart." ".$seiteZurueck." ".$nav." ".$seiteVor." ".$seiteEnd; // NAV ************************************************************** $start = ($start < 0 ) ? 0 : $start; $res = array('nav' => $nav, 'ges' => $ges, 'start' => $start, 'anzProSeite' => $anzProSeite, 'paraString' => $paraString ); return $res ; } function buildParaString($paraArray) { $tmp = ""; foreach ($paraArray as $key=>$val) { if (is_array($val)) { foreach ($val as $val_key => $val_val) { $tmp .= "$key"."[$val_key"."]=".urlencode($val_val)."&"; } } else { $tmp .= "$key=".urlencode($val)."&"; } } return "&".$tmp; } function uploadImage($FileName="userfile") { global $error; // Alter Bildname #$sql = "SELECT bildname FROM benutzer WHERE benutzerID='$benutzerID'"; #$result = DB::select($sql); #$old_picname = $result[0]['bildname']; // Kein Bild zum Uploaden if ( ($_FILES[$FileName]['name'] == "none" || empty($_FILES[$FileName]['name'])) ) { return $old_picname; } $ext = ""; // Dateitype Check if (preg_match("#\.(jpeg|jpg|gif|png|bmp)$#i",$_FILES[$FileName]['name'],$matches)) { $ext = $matches[1]; } if ($ext=="") { #echo "
BILDERROR"; $error[$FileName] = "Fehler beim Bildupload. Bitte nur .jpg,.png oder .gif Bilder auswählen!"; return false; } // Bildname // seed with microseconds since last "whole" second #srand ((double)microtime()*1000000); $random = rand (1, 99999999); $randomName = md5(time().$random); $picname = $randomName.".orig.".$ext ; $thumbname = $randomName.".thumb.".$ext ; if (move_uploaded_file($_FILES[$FileName]['tmp_name'], FULLPATH_PICTURE_TEMP . "/".$picname)) { // Bild skalieren scaleImage(FULLPATH_PICTURE_TEMP."/".$picname, FULLPATH_PICTURE_TEMP."/".$thumbname, 200, 200); // Orig löschen #unlink(FULLPATH_PICTURE.$picname); #echo "
TEST:".$g_imageUploadDir.$thumbname; } else { $error[$FileName] = "Fehler beim kopieren des Bildes."; return ""; } return array($thumbname,$picname); } function scaleImage($sourcefile, $targetfile, $w, $h) { $sourcefile = escapeshellcmd($sourcefile); $targetfile = escapeshellcmd($targetfile); system("convert -geometry {$w}x{$h} \"$sourcefile\" \"$targetfile\""); #echo "
convert -geometry ".$w."x$h $sourcefile $targetfile
"; return 0; } function thumbnailImage($sourcefile, $targetfile, $w, $h) { $sourcefile = escapeshellcmd($sourcefile); $targetfile = escapeshellcmd($targetfile); system("convert -thumbnail {$w}x{$h} $sourcefile $targetfile"); // Manche Bilder entahlten Fehler die im Browser dann nicht gezeigt werden - // deshalb wandlung orig -> gif -> orig // Tmp $tmp = $targetfile.".gif"; system("convert $targetfile $tmp"); system("convert $tmp $targetfile"); @unlink ($tmp); #echo "
convert -geometry ".$w."x$h $sourcefile $targetfile
"; return 0; } function getPicInfo($sourcefile,$mode="-verbose") { $sourcefile = escapeshellcmd($sourcefile); $command = "identify $mode $sourcefile "; $returnVal = array(); $ausgabe = exec($command,$returnVal); foreach ($returnVal as $zeile) { $ausgabe .= "\n".$zeile ; } return $ausgabe ; } function parsePicInfo($picinfos) { $info = array(); $info['Geometry'] = (preg_match("#Geometry: ([^\s]*)#i",$picinfos,$matches)) ? $matches[1]:"n.a."; $info['Filesize'] = (preg_match("#Filesize: ([^\s]*)#i",$picinfos,$matches)) ? $matches[1]:"n.a."; $info['Format'] = (preg_match("#Format: ([^\n\r]*)#i",$picinfos,$matches)) ? $matches[1]:"n.a."; return $info ; } function getImage($benutzerID,$relPath="../image_upload/",$imagesize="") { global $g_imageUploadDir,$g_db; if (!$benutzerID) return(""); $sql = "SELECT bildname FROM benutzer WHERE benutzerID='$benutzerID'"; $result = DB::select($sql); if ($result[0]['bildname'] !="") { if (file_exists($g_imageUploadDir.$result[0]['bildname'])) { if ($imagesize =="") { $size = getimagesize ($g_imageUploadDir.$result[0]['bildname']); $imagesize = $size[3]; } $picName = $relPath.$result[0]['bildname'] ; return ""; } } return ""; } function safe_file ($filename,$inhalt) { if (!$handle = fopen($filename, 'w')) { print "
Cannot open file ($filename)"; exit; } // Write $somecontent to our opened file. if (!fwrite($handle, $inhalt)) { print "
Cannot write to file ($filename)"; exit; } print "
Erfolg, $filename wurde geschrieben."; fclose($handle); } function debug($msg,$type=0,$zusatz="") { if (!$_SERVER['REMOTE_ADDR'] == "213.139.154.7") { return false; } switch ($type) { case '1': echo "
$msg
"; break; case '2': echo ""; break; case '3': mail("jk@kemweb.de","DEBUG","$msg"); break; case '4': echo "
$msg
"; break; default: echo "$msg"; break; } } ?> Jugendherbergen Raumbuchkatalog
  Raumbuchkatalog      








Login Raumbuchkatalog
 
Benutzername
Passwort
   
   
IP 216.73.216.134