";
# HEADER BILD PRÜFEN
$pfad = "../..".$relpath_cms_newsletter.$ergebnis->pic;
if($ergebnis->pic!="" AND file_exists($pfad))
$formular_pic = $ergebnis->pic;
//$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;$i
label;
}
# 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 != "") {
?>}
}
#Ende popUpUser
# START mysql_enum_values
function mysql_enum_values($tableName,$fieldName)
{
$result = mysql_query("DESCRIBE $tableName");
//then loop:
while($row = mysql_fetch_array($result))
{
//# row is mysql type, in format "int(11) unsigned zerofill"
//# or "enum('cheese','salmon')" etc.
ereg('^([^ (]+)(\((.+)\))?([ ](.+))?$',$row['Type'],$fieldTypeSplit);
//# split type up into array
$ret_fieldName = $row['Field'];
$fieldType = $fieldTypeSplit[1];// eg 'int' for integer.
$fieldFlags = $fieldTypeSplit[5]; // eg 'binary' or 'unsigned zerofill'.
$fieldLen = $fieldTypeSplit[3]; // eg 11, or 'cheese','salmon' for enum.
if (($fieldType=='enum' || $fieldType=='set') && ($ret_fieldName==$fieldName) )
{
$fieldOptions = split("','",substr($fieldLen,1,-1));
return $fieldOptions;
}
}
//if the funciton makes it this far, then it either
//did not find an enum/set field type, or it
//failed to find the the fieldname, so exit FALSE!
return FALSE;
}
# ENDE mysql_enum_values
#Start getHinweis
function Tageszeit($selectname,$startwert) {
if($startwert == 0 or $startwert == "")
$startwert = "00:00";
$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
?>