# TITEL Functions # Version 2.3.1.3 # Datum 2007-05-24 # Author B.Rohde / g.Klebinger # Copyrights 2007 by 3wm # Letzte Änderung # NEU content_system_order() # NEU getmicrotime() # NEU resend_posts_hidden # NEU dropdownMultiLanguages markiert auch für multiple # NEU Sitemapfunktion # NEU resizepicture // function content_system_order($after_this_id,$table,$where,$id) { global $verbindung; $sql = "SELECT * FROM $table WHERE $where"; $query = mysql_query($sql, $verbindung) or die(mysql_error()); $system_order = 1; if($after_this_id == "beginning" OR $after_this_id=="" OR $after_this_id=="0") { $return_sql_arr["system_order".$system_order] = "UPDATE `$table` SET `system_order`='$system_order' WHERE `id` = '$id' LIMIT 1 ;"; //$change_query = mysql_query($change_sql,$verbindung) or die(mysql_error()); $system_order++; } while($result = mysql_fetch_object($query)) { if($result->id != $id) { $return_sql_arr["system_order".$system_order] = "UPDATE `$table` SET `system_order`='$system_order' WHERE `id` = '$result->id' LIMIT 1 ;"; //$write_query = mysql_query($write_sql,$verbindung) or die(mysql_error()); $system_order++; } if($result->id == $after_this_id) { $return_sql_arr["system_order".$system_order] = "UPDATE `$table` SET `system_order`='$system_order' WHERE `id` = '$id' LIMIT 1 ;"; //$change_query = mysql_query($change_sql, $verbindung) or die(mysql_error()); $system_order++; } } if($after_this_id == "end") { $return_sql_arr["system_order".$system_order] = "UPDATE `$table` SET `system_order`='$system_order' WHERE `id` = '$id' LIMIT 1;"; $change_query = mysql_query($change_sql, $verbindung); } return $return_sql_arr; } function getmicrotime() { $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; return ($mtime); } function createNaviList($id, $level) { global $verbindung; global $db_cms_frontend_struktur, $db_cms_frontend_content; global $language; // Text und Link dieser Zeile $sql_text = "SELECT * FROM $db_cms_frontend_content" . "_$language WHERE parent_id = $id AND parent_database = 'db_cms_frontend_struktur';"; $query_text = mysql_query($sql_text, $verbindung); $output_text = mysql_fetch_object($query_text); // Link $sql_link = "SELECT * FROM $db_cms_frontend_struktur WHERE id = $id;"; $query_link = mysql_query($sql_link, $verbindung); $output_link = mysql_fetch_object($query_link); // Gibt es Unterpunkte? $sql = "SELECT * FROM $db_cms_frontend_struktur WHERE parent_id = $id ORDER BY system_order;"; $query = mysql_query($sql, $verbindung); // Zeilenanfang if($level > 0) // root ausklammern { echo "
  • "; echo "webcode\" style=\"font-size: " . (100 - ($level*5)) . "%; \">$output_text->headline"; } if(mysql_num_rows($query) > 0) { $level++; echo ""; } else $level--;// endif if($level > 0) echo "
  • "; } // endfunction function resizepicture($pfad, $maxbreite, $maxhoehe, $title) { if (is_file($pfad)) $info = getimagesize($pfad); else return false; #IST $istbreite = $info[0]; $isthoehe = $info[1]; $istfaktor = $istbreite/$isthoehe; #SOLL $sollfaktor = $maxbreite/$maxhoehe; #Anpassen if ($istfaktor<=$sollfaktor) { $zoomfaktor = $isthoehe / $maxhoehe; $neuebreite = $istbreite / $zoomfaktor; $neuehoehe = $maxhoehe; } if ($istfaktor > $sollfaktor) { $zoomfaktor = $istbreite / $maxbreite; $neuebreite = $maxbreite; $neuehoehe = $isthoehe / $zoomfaktor; } $neuebreite = floor($neuebreite); $neuehoehe = floor($neuehoehe); $imagetag = ""; return $imagetag; } function resend_posts_hidden($do_not_resend_these_posts) { global $HTTP_POST_VARS; foreach($HTTP_POST_VARS as $key => $var) { if(!is_array($do_not_resend_these_posts)) $do_not_resend_these_posts = array(); if(!in_array($key,$do_not_resend_these_posts)) { //echo $key ."-" . $var . "
    "; if(is_array($var)) { $thisArray = $var; foreach($thisArray as $key2 => $var2) { if(is_array($var2)) { foreach($var2 as $multi_key => $multi_var) { $output .= ''; $output .= "k\n\r"; } } else { $output .= ''; $output .= "\n\r"; } } } # VARIABLE IST STRING else { $output .= ''; $output .= "\n\r"; } } } return $output; } function getFieldnames($table) { global $verbindung; # Prüfen der Felder $test_sql = "SELECT * FROM $table LIMIT 0,1"; //Suche definiern $test_query = mysql_query($test_sql, $verbindung); //Suche ausführen if(mysql_num_rows($test_query)==0) { $sql = "INSERT INTO `$table` (`id`) VALUES ('');"; $query = mysql_query($sql, $verbindung); //Suche ausführen $insert_row = TRUE; $test_sql = "SELECT * FROM $table LIMIT 0,1"; //Suche definiern $test_query = mysql_query($test_sql, $verbindung); //Suche ausführen } for($zaehler=0; $zaehler < mysql_num_fields($test_query); $zaehler++) { $feld_name_arr[] = mysql_field_name($test_query, $zaehler); } if($insert_row==TRUE) { $sql = "TRUNCATE `$table`;"; $query = mysql_query($sql, $verbindung); //Suche ausführen } return $feld_name_arr; } function postAllHidden($_POST,$do_not_post_arr) { foreach($_POST as $key => $var) { if($var!="") { if(!is_array($do_not_post_arr)) $do_not_post_arr = array(); if(!in_array($key,$do_not_post_arr)) { //echo $key ."-" . $var . "
    "; //if(is_array($var)) // echo "test"; if(is_array($var)) { $thisArray = $var; foreach($thisArray as $key2 => $var2) { $output .= ''; $output .= "\n\r"; } } # VARIABLE IST STRING else { $output .= ''; $output .= "\n\r"; } } } } return $output; } // DIESE FUNKTION SORTIERT DIE REIGHENFOLGE IN DEN NEWSLETTERN // für die normale Sortierung im content.inc.php ist die neue Funktio content_system_order zuständig // denn diese sortiert auch das letzt auf die erste pos -> d.h. sie tauscht durch function system_order ($id,$parent_field_name,$parent_id,$system_order,$sourceDatabase,$config_db,$parent_database_erweiterung) { $db_cms_config = $config_db; global $verbindung; if($system_order!="" AND $id!="") { $sql = "SELECT * FROM $db_cms_config WHERE $parent_field_name='$parent_id' $parent_database_erweiterung ORDER BY system_order ASC"; //Suche definiern $query = mysql_query($sql, $verbindung); //Suche ausführen AND parent_database='db_$sourceDatabase' $i = 1; $old_position_sql = "SELECT * FROM $db_cms_config WHERE id='$id' $parent_database_erweiterung LIMIT 0,1"; //Suche definiern $old_position_query = mysql_query($old_position_sql, $verbindung); //Suche ausführen $old_position = mysql_fetch_object($old_position_query); $old_position->system_order; $old_system_order = $old_position->system_order + $system_order; if($old_position->system_order == mysql_num_rows($query) AND $system_order>0) { $unterste_nach_oben = TRUE; //$old_system_order=1; //$ausgleich=1; } elseif($old_system_order==0) { //echo " FALL oberste_nach_unten
    "; //$old_system_order=mysql_num_rows($query); //$ausgleich=-(mysql_num_rows($query)+1); $oberste_nach_unten = TRUE; } else { $change_partner_sql = "SELECT * FROM $db_cms_config WHERE system_order='$old_system_order' AND $parent_field_name $parent_database_erweiterung LIMIT 0,1"; //Suche definiern $change_partner_query = mysql_query($change_partner_sql, $verbindung); //Suche ausführen $change_partner = mysql_fetch_object($change_partner_query); } while($result = mysql_fetch_object($query)) { # FALL - Unterster nach Oben if($unterste_nach_oben) { if($result->id == $id) { $new_order = 1; $new_id = $id; } else { $new_order = $i+1;//AUSGLEICH FÜR DEN EINSCHUB $new_id = $result->id; } //$write_sql = "UPDATE `$db_cms_config` SET `system_order`='$new_order' WHERE `id` = '$new_id' $parent_database_erweiterung LIMIT 1 ;"; } # FALL - Oberster nach Unten elseif($oberste_nach_unten) { if($result->id == $id) { $new_order = mysql_num_rows($query); $new_id = $id; } else { $new_order = $i-1;//AUSGLEICH FÜR DEN EINSCHUB $new_id = $result->id; } //$write_sql = "UPDATE `$db_cms_config` SET `system_order`='$new_order' WHERE `id` = '$new_id' $parent_database_erweiterung LIMIT 1 ;"; } # ANSONTEN POSITIONEN TAUSCHEN else { if($result->id==$change_partner->id) { //$change = $i - $system_order; $new_order = $i - $system_order; $new_id = $result->id; //$write_sql = "UPDATE `$db_cms_config` SET `system_order`='$change' WHERE `id` = '$result->id' $parent_database_erweiterung LIMIT 1 ;"; } elseif($result->id==$old_position->id) { $new_order = $i + $system_order; $new_id = $result->id; //$write_sql = "UPDATE `$db_cms_config` SET `system_order`='$change' WHERE `id` = '$result->id' $parent_database_erweiterung LIMIT 1 ;"; } else { $new_order = $i; $new_id = $result->id; //$write_sql = "UPDATE `$db_cms_config` SET `system_order`='$i' WHERE `id` = '$result->id' $parent_database_erweiterung LIMIT 1 ;"; } } //echo "

    "; $write_sql = "UPDATE `$db_cms_config` SET `system_order`='$new_order' WHERE `id` = '$new_id' $parent_database_erweiterung LIMIT 1 ;"; $write_query = mysql_query($write_sql, $verbindung); $i++; } } } //END FUNKTION SYSTEM ORDER function sendNewsletter($datei,$value_arr,$varnames_arr,$sender_email,$sender_name,$betreff,$empfaenger_email,$empfaenger_name,$feedbackcheck,$write_sendlist,$email_attachement) { $datum = date("Y-m-d H:i:s"); if($sender_email =="") $sender_email = "newsletter@3wm.de"; if($sender_name =="") $sender_name = "3wm"; if($empfaenger_email == "") $empfaenger_email = "info@3wm.de"; if($betreff=="") $betreff = "Kundeninformation"; # VOM BUILDER ERSTELLE HTML AUSLESEN UND IN VARIABLE PACKEN ZUM VERSCHICKEN if($datei == "") $datei = "../../formular/formular.temp.php"; if(file_exists($datei)) { # Zusammenstzen der Variablen if(is_array($varnames_arr)) { foreach($varnames_arr as $key => $var) { $$var = $value_arr[$key]; } } else $$varnames_arr = $value_arr; $datei_zeilen = file($datei); //$this_html_email = ""; for($i=0;$iid\" alt=\" \" height=\"1\" width=\"1\" border=\"0\">"; $this_html_email.= ""; # MAIL IT if(!class_exists(PHPMailer)) require("../cms/class/class.phpmailer.php"); $mail = new PHPMailer(); //$mail->IsSMTP(); // set mailer to use SMTP //$mail->Host = "smtp1.example.com;smtp2.example.com"; // specify main and backup server //$mail->SMTPAuth = false; // turn on SMTP authentication //$mail->Username = "jswan"; // SMTP username //$mail->Password = "secret"; // SMTP password $mail->From = $sender_email; $mail->FromName = $sender_name; //$mail->AddAddress($empfaenger_email); $mail->AddAddress($empfaenger_email,$empfaenger_name); // name is optional //$mail->AddReplyTo("info@example.com", "Information"); //$mail->WordWrap = 50; // set word wrap to 50 characters if($email_attachement!="") { $mail->AddAttachment($email_attachement); // add attachments } //$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name $mail->IsHTML(true); // set email format to HTML $mail->Subject = $betreff; $mail->Body = $this_html_email; $mail->AltBody = $this_text_mail; if(!$mail->Send()) { if($write_sendlist==TRUE) { # EINTRAGEN DES SENDEDATUMS IN DIE SENDLIST $status_sql = "UPDATE `cms_newsletter_sendlist` SET `feedback`='waiting' , `sent`='$datum' WHERE id='$sendlist->id';"; $write_status = mysql_query($status_sql, $verbindung) or die(mysql_error()); $formular_message_status = "ok"; } return; } else { $formular_message_status = $mail->ErrorInfo; return $formular_message_status; } }// END sendLetter function newsletter($newsletterID,$subscriber_varnames,$subscriber_values) { # EMPFÄNGER VARIABLEN ZUSAMMENSETZEN if(is_array($subscriber_varnames) AND is_array($subscriber_values)) { for($i=0;$i 0) { $email_style = "\n\r"; $output .= $email_style; } */ # NEWSLETTER DATEN / STRUKTUR ÄHNLICH $sql = "SELECT * FROM cms_newsletter WHERE id = '$newsletterID';"; //Suche definiern $sql_query = mysql_query($sql, $verbindung); //Suche ausführen $ergebnis = mysql_fetch_object($sql_query); //$output .= "
    "; //$output .= "
    "; # HEADER BILD PRÜFEN $pfad = "../..".$relpath_cms_newsletter.$ergebnis->pic; if($ergebnis->pic!="" AND file_exists($pfad)) $formular_pic = $ergebnis->pic; //$output .= "
    "; //if($ergebnis->pic!="" AND file_exists($pfad)) // $output .=""; //$output .= "
    ";//
    "; # AUSGABE DER BESTEHENDEN ELEMENTE $result_sql = "SELECT * FROM cms_newsletter_builder WHERE newsletter_id = '$newsletterID' ORDER BY system_order"; $result_query = mysql_query($result_sql, $verbindung); while($result = mysql_fetch_object($result_query)) { $output .= multiTemplate(substr($result->parent_database,3),"cms_frontend_content", "WHERE id = '$result->parent_id'", "LIMIT 0,1", "ORDER BY system_order", $wwwpath); } $content = $output; # TEMPLATE AUSLESEN # HTML AUSLESEN UND IN VARIABLE PACKEN ZUM VERSCHICKEN # Im SHorttext wird der Pfad zu anderen Templates gespeichert # Wenn leer -> damm Standard $Datei = "../".languageGetContent("shorttext",$ergebnis->id, "db_cms_newsletter", $actualLanguageDatabase); if($Datei =="../" OR !file_exists($Datei)) $Datei = "../../newsletter/newsletter.temp.php"; //echo "hkjhk".$Datei; if(file_exists($Datei)) { $datei_zeilen = file($Datei); $html_email =""; for($i=0;$ilabel; } # ENDE LanguagePackNaviLabel # START formatGermanCurrency # Nimmt einen Float- oder Int-Wert und gibt ihn in korrekter Euro-Formatierung zurück function formatGermanCurrency($fl) { global $currency; # return str_replace(".", ",", sprintf("%.2f", $fl)) . " EUR"; return number_format($fl, 2, ",", ".") . " " . $currency; } # formatGermanCurrency END #Start popUpUser function popUpUser($name,$startLevel,$endLevel,$selected) { if($name != "") { ?> "; for ($i=0; $i<=23; $i++) { //if($i >=4 && $i<=16) continue; for($j=0; $j<4; $j++) { $minuten = str_pad($j*15,2,"0",STR_PAD_LEFT); $stunden = str_pad($i,2,"0",STR_PAD_LEFT); $output .= ""; } }; $output .= " "; return $output; }//end function Tageszeit # arrayDropdown # Im $zusatz ist ein array der die Funktion aktuelleStammdaten füttert # ist es "" dann werden die Zusatzdaten nicht ausgeführt # ">>" im var selected, kann einen unabhängigen Startwertsetzen function arrayDropdown($name, $fileArray, $display, $selected, $zusatz) { global $specialJava; $output = ""; return $output; } # arrayDropdown ENDE # Helferfunktion für Passwort En-/Decryption function get_rnd_iv($iv_len) { $iv = ''; while ($iv_len-- > 0) { $iv .= chr(mt_rand() & 0xff); } return $iv; } # ENDE Helferfunktion für Passwort En-/Decryption # Passwort-Encryption function md5_encrypt($plain_text, $password, $iv_len = 16) { $plain_text .= "\x13"; $n = strlen($plain_text); if ($n % 16) $plain_text .= str_repeat("\0", 16 - ($n % 16)); $i = 0; $enc_text = get_rnd_iv($iv_len); $iv = substr($password ^ $enc_text, 0, 512); while ($i < $n) { $block = substr($plain_text, $i, 16) ^ pack('H*', md5($iv)); $enc_text .= $block; $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return base64_encode($enc_text); } # ENDE Passwort-Encryption # Passwort-Decryption function md5_decrypt($enc_text, $password, $iv_len = 16) { $enc_text = base64_decode($enc_text); $n = strlen($enc_text); $i = $iv_len; $plain_text = ''; $iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512); while ($i < $n) { $block = substr($enc_text, $i, 16); $plain_text .= $block ^ pack('H*', md5($iv)); $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return preg_replace('/\\x13\\x00*$/', '', $plain_text); } # ENDE Passwort-Decryption # Erzeugt Passwort (pass) der Länge (num) function random_pass($num) { # Zufallsgenerator seeden mt_srand((double)microtime()*1000000); # Erzeuge Passwort in der richtigen Länge while (strlen($pass) <= $num) { $i = chr(mt_rand (0,255)); if ((eregi("^[a-z0-9]$", $i)) && $i != "1" && $i != "l" && $i != "0" && $i != "O") $pass = $pass.$i; } return ($pass); } # Funktionen für das CMS function uploadToTemp($img,$img_name,$img_type,$bilderName,$abpath_temp) { if($img_name[0] == "") { $changepic = 0; } else { $changepic = 1; } if($changepic == 1) { # AUSLESEN DER MIME TYPES TABELLE global $verbindung; $db_abfrage_sql = "SELECT * FROM mime_types"; //Suchedefiniern $db_abfrage = mysql_query($db_abfrage_sql, $verbindung); //Suche ausführen $db_ergebnis = mysql_fetch_object($db_abfrage); while($db_ergebnis = mysql_fetch_object($db_abfrage)) { $mimetypeArray[] = $db_ergebnis->type; } //end while $i = 0; # Löschen des alten Bildes if(file_exists("$abpath_temp/$bilderName")) @unlink("$abpath_temp/$bilderName"); # Neuer Bildername $nameArrayNew = explode(".", $img_name[0]); $nameArrayOld = explode(".", $bilderName); $bilderName = $nameArrayOld[0] . "." . $nameArrayNew[1]; if(in_array($img_type[$i],$mimetypeArray)) { copy($img[$i], "$abpath_temp/$bilderName") or $log .= "Datei 1 konnte nicht auf den Server geladen werden
    "; if (file_exists("$abpath_temp/$img_name[$i]")) { $log = "Datei $bilderName wurde hochgeladen
    "; } } else { $log = "Datei $bilderName ist kein Bild
    "; } } $daten = array($changepic,$bilderName); return $daten; } # Ende Uploader # START singleCheckbox function singleCheckbox ($value,$name,$checked) { if($value == $checked) $checked = "checked"; else $checked = ""; $output = ""; return $output; } # ENDE Single Checkbox # START singleRadio function singleRadio ($value,$name,$checked) { if($value == $checked) $checked = "checked"; # else $checked = ""; $output = ""; return $output; } # ENDE Single Radio # START checkEmail # Überprüft Emailadresse auf richtige Formatierung function checkEmail($email) { if(ereg("^(.+)@(.+)\\.(.+)$", $email)) return true; else return false; } # checkEmail END # START checkString # Überprüft, ob ein String wenigstens x Zeichen lang ist. function checkString($str, $len) { if(strlen($str) >= $len) return true; else return false; } # checkString END function textTillBlank($text, $laenge) { if(strlen($text) > $laenge) $punkt = "... "; else $punkt = " "; return substr($text, 0, $laenge-1) . substr(substr($text, $laenge-1, strlen($text)), 0, strpos(substr($text, $laenge-1, strlen($text)), " ")) . $punkt; } # ende textTillStop #Start getVersion function getVersionsArray($steuerung,$verbindung,$db_cms_frontend_struktur,$content_path_array) { //Auslesen der relevanten Reihe $db_abfrage_sql = "SELECT * from $db_cms_frontend_struktur"; $db_abfrage = mysql_query($db_abfrage_sql, $verbindung); while($reihen = mysql_fetch_object($db_abfrage)) { if(getVersion($reihen->doc_name,$content_path_array)!= $reihen->version) { $neue_versionen = array_merge($neue_versionen,$reihen->doc_name); }//end if $alle_versionen = array_merge($alle_versionen,$reihen->doc_name); }//end while # mysql_close; $alle_versionen = array_unique($alle_versionen); $neue_versionen = array_unique($neue_versionen); if($steuerung == "neue") { return $neue_versionen; } if($steuerung == "alle") { return $alle_versionen; } }//end getVersionsArray #ENDE # START datetimeDatumShort function datetimeDatumShort($d) { $rohdate = $d; $monat = $rohdate[5] . $rohdate[6]; $tag = $rohdate[8] . $rohdate[9]; $jahr = $rohdate[0] . $rohdate[1] . $rohdate[2] . $rohdate[3]; $idstamp = mktime(2,0,0,$monat,$tag,$jahr); #Tag ausgeben $rueck = $tag . "." . $monat . "." . $jahr; return $rueck; } # END datetimeDatumShort # START datetimeDatumShort function datetimeCMS($d) { $rohdate = $d; $monat = $rohdate[5] . $rohdate[6]; $tag = $rohdate[8] . $rohdate[9]; $jahr = $rohdate[0] . $rohdate[1] . $rohdate[2] . $rohdate[3]; $idstamp = mktime(2,0,0,$monat,$tag,$jahr); #Tag ausgeben $rueck = $jahr . $monat . $tag; return $rueck; } # END datetimeDatumShort # START datetimeVollesDatum function datetimeVollesDatum($d) { $rohdate = $d; $monat = $rohdate[5] . $rohdate[6]; $tag = $rohdate[8] . $rohdate[9]; $jahr = $rohdate[0] . $rohdate[1] . $rohdate[2] . $rohdate[3]; $idstamp = mktime(2,0,0,$monat,$tag,$jahr); #Tagnamen erzeugen $tagesnamen = array ("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"); $tagesposition = date("w", $idstamp); $tagesposition--; # Sonntagsausgleich if($tagesposition == -1) $tagesposition = 6; $tagesname = $tagesnamen[$tagesposition]; #Monatsnamen $monatsnamen = array ("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); $monatsposition = $rohdate[5] . $rohdate[6]; $monatsposition--; $monatsname = $monatsnamen[$monatsposition]; #Tag ausgeben $rueck = $tagesname . ", " . $tag . ". " . $monatsname . " " . $jahr; return $rueck; } # END datetimeVollesDatum #Start Get Version function getVersion($modul,$content_path_array) { foreach ($content_path_array as $x) { $pfad = $x . $modul; if(file_exists($pfad)) { $datei = file($pfad); for($i=0; $i<8; $i++) { if (ereg("Version", $datei[$i])) { $output = trim(substr($datei[$i],10)); }//end if }//end for }//end if }//end foreach if($output == "") {return FALSE;} else return $output; }//function #ENDE getVersion #Start Get Script Information function getInfo($scriptname,$script_path,$info) { $pfad = $script_path . $scriptname; if(file_exists($pfad)) { $datei = file($pfad); for($i=0; $i<8; $i++) { if(ereg(strtoupper($info),strtoupper($datei[$i]))) { $output = trim(substr($datei[$i],strlen($info)+2)); }//end if }//end for }//end if if($output == "") {return FALSE;} else return $output; }//function #ENDE getVersion #Start Leerzeichen function AusgabeMitZeichen($wert,$zeichen) { for($i;$i<=strlen($wert);$i++) { $output .= substr($wert, $i,1) . $zeichen; }//end for return $output; }//function AusgabeMitZeichen #ENDE AusgabeMitZeichen #Start getFehlermeldung function getFehlermeldung($meldung) { $output .= "
    " . " " . $meldung; return $output; }//function #ENDE getFehlermeldung #Start getChecked function getChecked($value , $wert) { if($value == $wert) $output .= "checked"; return $output; }//function #ENDE getChecked #Start Bild einfügen und Fehlermeldungen schreiben function ladeBild($name, $hoehe, $breite) { if($name == "") echo ""; else if(file_exists($name)) { if($hoehe != "") {$ausgabe_hoehe = "height=\"" . $hoehe . "\" ";}; if($breite != "") {$ausgabe_breite = "width=\"" . $breite . "\" ";}; $output = ""; echo $output; }//end if }//function #ENDE ladeBild #Start Bild einfügen und Fehlermeldungen schreiben function returnBild($pfad,$name, $hoehe, $breite) { $meldung ="Kein Bild"; if($name == "") return $meldung; if(file_exists($pfad.$name)) { $bildwerte = getimagesize($pfad.$name); if($name != "" AND $bildwerte[0] > 50) { $breite = 50; $hoehe = ""; } if($hoehe != "") {$ausgabe_hoehe = "height=\"" . $hoehe . "\" ";}; if($breite != "") {$ausgabe_breite = "width=\"" . $breite . "\" ";}; $output = ""; return $output; }//end if else return $meldung; }//function #ENDE ladeBild #Start aktuelleStammdaten function aktuelleStammdaten($zeile,$webcode,$welche_sparte,$verbindung,$datenbank) { //Auslesen der relevanten Reihe $db_abfrage_sql = "SELECT * FROM $datenbank"; //Suchedefiniern $db_abfrage = mysql_query($db_abfrage_sql, $verbindung); //Suche ausführen $ergebnis = mysql_fetch_array($db_abfrage); //echo $welche_sparte; if($ergebnis[$zeile] != "") { $db_abfrage_sql = "SELECT * FROM $datenbank WHERE $zeile='$webcode'"; //Suchedefiniern $db_abfrage = mysql_query($db_abfrage_sql, $verbindung); //Suche ausführen if(mysql_num_rows($db_abfrage)!="") { $db_ergebnis = mysql_fetch_object($db_abfrage); $output = $db_ergebnis->$welche_sparte; } } return $output; }//end aktuelleStammdaten #ENDE aktuelleStammdaten #Start getHinweis function getHinweis($zeile,$wert,$zeile2,$wert2,$welche_sparte,$verbindung,$db_cms_frontend_struktur) { //Auslesen der relevanten Reihe $db_abfrage_sql = "SELECT * from $db_cms_frontend_struktur WHERE $zeile='$wert' AND $zeile2='$wert2'"; //Suchedefiniern $db_abfrage = mysql_query($db_abfrage_sql, $verbindung); //Suche ausführen $db_ergebnis = mysql_fetch_object($db_abfrage); $output = "Hinweis: " . $db_ergebnis->$welche_sparte; # mysql_close; return $output; }//end getHinweis #ENDE aktuelleStammdaten #START testExist # Prüft ob eine Datei existiert und passt im negativen Fall den webcodelude # an eine Dummy-Datei an function testExist($name,$content_path_array) { for($i=0;$i < sizeof($content_path_array);$i++) { $pfad = $content_path_array[$i] . $name; if(file_exists($pfad)) { //echo "Die Datei $name ist existent"; return TRUE; }//end if } return FALSE; }//end function testExist #ENDE testExist # START buildSelect # Nimmt das Ergebnis einer Datenbankabfrage und erzeugt daraus ein Pulldown # Die Reihenfolge der Items kann beinflusst werden; $name wird der Name des Pulldowns function buildSelect($name, $datenbank, $where, $ordner, $how, $value, $display, $verbindung) { $sql = "SELECT * FROM $datenbank $where"; if($ordner != "0") $sql .= " order BY $ordner $how"; $query = mysql_query($sql, $verbindung); $output = ""; return $output; } # buildSelect END #Start getMonatsnamen function getMonatsnamen($zahlwert) { settype($zahlwert,"integer"); $monatsnamen= array("Fehler","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Okotber","November","Dezember"); return $monatsnamen[$zahlwert]; } #EMDE getMonatsnamen #Start getWochentage function getWochentage($zahlwert) { if($zahlwert =="day" OR $zahlwert =="") $zahlwert = 8; if($zahlwert =="month") $zahlwert = 9; if($zahlwert =="year") $zahlwert = 10; settype($zahlwert,"integer"); $wochentag= array("Fehler","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag","täglich","monatlich","jährlich"); return $wochentag[$zahlwert]; } #EMDE getWochentage # ORDNERDATEIEN - Gibt in einem Ordner enthaltenen Dateinamen in einem Array zurück function ordnerDateien($ordner) { # Welche Dateinamen sollen geblockt werden $blockArray = array(".", "..", ".htaccess", ".htpasswd", "index.html"); $verz=opendir ("$ordner"); $fileAnzahl = 0; $fileArray = array(); while ($file = readdir ($verz)) { if(!in_array($file, $blockArray)) { $fileArray[] = $file; $fileAnzahl++; } # endif }# endwhile # Array sortieren natcasesort($fileArray); return $fileArray; } # ENDE # START buildConnectedSelect function buildConnectedSelect($name_select1, $name_select2, $name_db1, $name_db2, $ordner_db1, $ordner_db2, $how_db1, $how_db2, $verbindung) { $output .= "\n\n"; return $output; } # buildConnectedSelect END # START buildSelectDoppelDisplay # Nimmt das Ergebnis einer Datenbankabfrage und erzeugt daraus ein Pulldown # Die Reihenfolge der Items kann beinflusst werden; $name wird der Name des Pulldowns /* function buildSelectDoppelDisplay($name, $datenbank, $where, $order, $how, $value, $display, $verbindung) { $sql = "SELECT * FROM $datenbank $where"; if($order != "0") $sql .= " ORDER BY $order $how"; $query = mysql_query($sql, $verbindung); $output = ""; return $output; } */ # buildSelectDoppelDisplay END # START buildDropdown # Im $zusatz ist ein array der die Funktion aktuelleStammdaten füttert # ist es "" dann werden die Zusatzdaten nicht ausgeführt # ">>" im var selected, kann einen unabhängigen Startwertsetzen function builddropdown($name, $datenbank, $where, $order, $how, $value, $display, $selected, $zusatz, $verbindung) { $sql = "SELECT * FROM $datenbank $where"; if($order != "0" AND $order != "") $sql .= " ORDER BY $order $how"; //echo $sql; $query = mysql_query($sql, $verbindung); $output = ""; return $output; } # buildDropdown END # START dropdownMultiLanguages # Im $zusatz ist ein array der die Funktion aktuelleStammdaten füttert # ist es "" dann werden die Zusatzdaten nicht ausgeführt # ">>" im var selected, kann einen unabhängigen Startwertsetzen # # Beginnt man die Display-Variable mit >>, wird die Sparte der Hauptspracheder ausgelesen # Schreibt man nur den Spartennamen rein, wird die Sparte normalen Datenbank ausgelesen # # Value ohne ">>" nimmt einen Wert aus der SourceDatabase # Value mit ">>" zu Beginn nimmt den entsprechenden Wert in Sprachdatenbank # Display ohne ">>" nimmt einen Wert aus der SourceDatabase # Display mit ">>" zu Beginn nimmt den entsprechenden Wert in Sprachdatenbank function dropdownMultiLanguages($name, $datenbank, $sprachdatenBank, $where, $order, $how, $value, $display, $selected, $zusatz) { global $languageArray; global $languageArrayBackend; global $verbindung; global $language; global $webcode; global $specialJava; # ANZEIGE AUS SPRACHDATENBANK if(substr($display, 0,2) == ">>") { $display = substr($display,2); $sql_language = "SELECT * FROM $sprachdatenBank WHERE parent_database='db_$datenbank' ORDER BY $display $how"; $query_language = mysql_query($sql_language, $verbindung); if(mysql_num_rows($query_language)>200) { //return "Zuviele Einträge für die direkte Auswahl.
    Bitte über die Übersicht suchen"; $output = 'ID direkt eintragen '; return $output; } while($daten = mysql_fetch_object($query_language)) { if($where!="") { $sql_test = "SELECT * FROM $datenbank $where AND id=$daten->parent_id"; $query_test = mysql_query($sql_test, $verbindung); if(mysql_num_rows($query_test) <= 0) continue; } $idArray = $daten->parent_id; //Parent in der Sprachdb ist Id in der Source $displayArray[] = $daten->$display; # VALUE KOMMT AUCH AUS DER SPRACHDATENBANK if(substr($value,0,2) == ">>") { $value = substr($value,2); $valueArray[] = $daten->$value; } # VALUE KOMMT AUS DER SOURCEDATABASE else { if(aktuelleStammdaten("id",$daten->parent_id,$value,$verbindung,$datenbank) =="") echo $sql_test; $valueArray[] = aktuelleStammdaten("id",$daten->parent_id,$value,$verbindung,$datenbank); } if($zusatz !="") $zusatzArray[] = $daten->$zusatz[1]; } } # ANZEIGE AUS DER SOURCEDATABASE else { $sql = "SELECT * FROM $datenbank $where ORDER BY $display $how"; $query = mysql_query($sql, $verbindung); if(mysql_num_rows($query)>250) return "Zuviele Einträge für die direkte Auswahl.
    Bitte über die Übersicht suchen"; while($daten = mysql_fetch_object($query)) { $idArray = $daten->id; $displayArray[] = $daten->$display; # VALUE KOMMT AUCH AUS DER SOURCEDATABASE if(substr($value,0,2) != ">>") { $valueArray[] = $daten->$value; } # VALUE KOMMT AUS DER SPRACHDATENBANK else { $value = substr($value,2); $sql_language = "SELECT * FROM $sprachdatenBank WHERE parent_database='db_$datenbank' AND parent_id='$daten_id'"; $query_language = mysql_query($sql_language, $verbindung); $language_daten = mysql_fetch_object($query_language); $valueArray[] = $language_daten->$value; } if($zusatz !="") $zusatzArray[] = $daten->$zusatz[1]; } } $webcodeArray = explode("_",$webcode); if(in_array("order",$webcodeArray)) $java = "onChange=\"popupUpdate(this.value,this.name)\""; $output = ""; return $output; } # buildDropdown END ?>