'; // // # für ht_rf_vk // echo '"DE|'.$z.'|ObAktiv";"1"
'; // echo '"DE|'.$z.'|Titel";"TITEL"
'; // echo '"DE|'.$z.'|Beschreibung";"BESCHREIBUNG"
'; //} function choosePageOfModule (& $r_pages_of_module_by_zone, $i_zone) { $i_page = ''; $x_page = ''; $x_zone = ''; if (isset ($r_pages_of_module_by_zone[$i_zone]) and $r_pages_of_module_by_zone[$i_zone]) { $i_page = $r_pages_of_module_by_zone[$i_zone]; } elseif ($r_pages_of_module_by_zone[0]) { $i_page = $r_pages_of_module_by_zone[0]; } elseif (!$i_zone) { foreach ($r_pages_of_module_by_zone as $x_zone => $x_page) if ($x_zone and $x_page) { $i_page = $x_page; break; } } return $i_page; } function findPagesOfModuleByZone (& $m_vorgaben, & $r_pages_of_module) { $r_pages_of_module_by_zone = array (); $x_page = ''; $x = ''; $t_bereiche = ''; $x_zone = ''; $r_zones_of_page = array (); $r_pages_of_module_by_zone[0] = 0; if (isset ($m_vorgaben['Data']['xdbNhKp'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['xdbNhKp'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['xdbNhKp'][0]['Sortierung'] as $x_page => $x) if (fncDatensatz ('DsAktiv.FZ', $m_vorgaben, array ('xdbNhKp', $x_page))) if (isset ($r_pages_of_module[$x_page])) if ($r_pages_of_module[$x_page]) { if (isset ($m_vorgaben['Data']['xdbNhKp'][$x_page]['Bereiche'])) if ($m_vorgaben['Data']['xdbNhKp'][$x_page]['Bereiche']) { $t_bereiche = $m_vorgaben['Data']['xdbNhKp'][$x_page]['Bereiche']; $r_zones_of_page = explode ('|', $t_bereiche); foreach ($r_zones_of_page as $x_zone) if (!isset ($r_pages_of_module_by_zone[$x_zone]) or !$r_pages_of_module_by_zone[$x_zone]) { $r_pages_of_module_by_zone[$x_zone] = $x_page; } } else { if (!$r_pages_of_module_by_zone[0]) { $r_pages_of_module_by_zone[0] = $x_page; } } } unset ($r_zones_of_page); return $r_pages_of_module_by_zone; } function findPagesOfModule (& $m_vorgaben, $k_modul) { $r_pages_of_module = array (); $i_element = ''; $x = ''; $t_element = ''; $t_type = ''; $t_type_modul = ''; $t_modul_option = ''; $x_page = ''; $t_modul_option = $m_vorgaben['r_module'][$k_modul]; $t_type_modul = 'lmnModul.' . $t_modul_option; if (isset ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'] as $i_element => $x) if (fncDatensatz ('DsAktiv.Z', $m_vorgaben, array ('datNhDetails', $i_element))) { $t_element = $m_vorgaben['Data']['datNhDetails'][$i_element]['Type']; $t_type = $m_vorgaben['Data']['datTypen'][$t_element]['Element']; if ($t_type == $t_type_modul) { $x_page = $m_vorgaben['Data']['datNhDetails'][$i_element]['Besitzer']; if (fncDatensatz ('DsAktiv.FZ', $m_vorgaben, array ('xdbNhKp', $x_page))) { $r_pages_of_module[$x_page] = true; } } } return $r_pages_of_module; } function findPageOfModule (& $m_vorgaben, $k_modul, $i_zone = 0) { $i_page = ''; $r_pages_of_module = array (); $r_pages_of_module_by_zone = array (); if (!$i_zone) $i_zone = 0; $r_pages_of_module = findPagesOfModule ($m_vorgaben, $k_modul); $r_pages_of_module_by_zone = findPagesOfModuleByZone ($m_vorgaben, $r_pages_of_module); $i_page = choosePageOfModule ($r_pages_of_module_by_zone, $i_zone); unset ($r_pages_of_module_by_zone); unset ($r_pages_of_module); return $i_page; } function formatiereDetails (& $Vorgaben, $b_details, $i_kopf) { $x = ''; $i_details = ''; $i_type = ''; $i_element = ''; $t_inhalt = ''; $t_referenz = ''; $k_option_starter = ''; $o_starter = true; if (isset ($Vorgaben["Data"][$b_details][0]["Sortierung"])) if (is_array ($Vorgaben["Data"][$b_details][0]["Sortierung"])) foreach ($Vorgaben["Data"][$b_details][0]["Sortierung"] as $i_details => $x) if ($Vorgaben["Data"][$b_details][$i_details]["Besitzer"] == $i_kopf) if (fncDatensatz ("DsAktiv.SZ", $Vorgaben, array ($b_details, $i_details))) { if ($o_starter) { $k_option_starter = 's'; $o_starter = false; } else { $k_option_starter = ''; } $i_type = $Vorgaben["Data"][$b_details][$i_details]["Type"]; $i_element = $Vorgaben["Data"]["datTypen"][$i_type]["Element"]; $t_inhalt = $Vorgaben["Data"][$b_details][$i_details]["Inhalt"]; $t_referenz = $Vorgaben["Data"][$b_details][$i_details]["Referenz"]; fncElement ($i_element . "p" . $k_option_starter, $Vorgaben, array ($t_inhalt, $t_referenz)); } } function leseVorgaben ($n_systemordner, $n_vorgaben) { $m_vorgaben = array (); $r_vorgaben = array (); $v_vorgabe = ''; $w_vorgabe = ''; // $xm_vorgaben = array (); //list () = $Parameter; // $m_vorgaben = array (); # Debug // $m_vorgaben["ObDebug"] = 1; # Reihenfolge der Vorgabengruppen bestimmen $m_vorgaben["Data"] = array (); $m_vorgaben["System"] = array (); $m_vorgaben["htmKopf"] = array (); $m_vorgaben["htmRumpf"] = array (); $m_vorgaben["SkriptStartzeit"] = microtime (1); $m_vorgaben["curIP"] = $_SERVER["REMOTE_ADDR"]; $m_vorgaben["curLang"] = ""; $Wurzel = "./"; $OrdnerSystem = $Wurzel . $n_systemordner . "/"; $PfadVorgaben = $OrdnerSystem . $n_vorgaben; $m_vorgaben["Data"]["Import"] = importiereDb ("Import", $PfadVorgaben, "ID"); $r_vorgaben = funDatenbank ("RegisterAlt", $m_vorgaben, array ("Import", "Vorgabe", "Wert")); unset ($m_vorgaben["Data"]["Import"]); if (is_array ($r_vorgaben)) foreach ($r_vorgaben as $v_vorgabe => $w_vorgabe) { $w_vorgabe = trim ($w_vorgabe); list ($v_vorgabe1, $v_vorgabe2, $v_vorgabe3, $v_vorgabe4, $v_vorgabe5) = explode (".", $v_vorgabe . "...."); switch ($v_vorgabe1) { case "Pfad": { if ($w_vorgabe) { $m_vorgaben["Pfade"][$v_vorgabe2] = $Wurzel . $w_vorgabe; } } break; case "Vokabel": { if ($w_vorgabe and $v_vorgabe3) { $m_vorgaben["System"]["Vokabeln"][$v_vorgabe2][$v_vorgabe3] = $w_vorgabe; } elseif ($w_vorgabe) { $m_vorgaben["System"]["Vokabeln"][$v_vorgabe2] = $w_vorgabe; } } break; case "Multi": { switch (1 * ($v_vorgabe3)) { case 2: { $SammleWerte = array (); $SammleWerte = explode (",", $w_vorgabe); $m_vorgaben[$v_vorgabe2] = array (); if (is_array ($SammleWerte)) foreach ($SammleWerte as $w_vorgaben) { list ($Schluessel, $w_vorgabe) = explode (":", $w_vorgaben); $m_vorgaben[$v_vorgabe2][trim ($Schluessel)] = trim ($w_vorgabe); } unset ($SammleWerte); } break; default: { $SammleWerte = array (); $SammleWerte = explode (",", $w_vorgabe); $m_vorgaben[$v_vorgabe2] = array (); if (is_array ($SammleWerte)) foreach ($SammleWerte as $w_vorgabe) { $m_vorgaben[$v_vorgabe2][] = trim ($w_vorgabe); } $m_vorgaben["Re" . $v_vorgabe2] = array_flip ($m_vorgaben[$v_vorgabe2]); unset ($SammleWerte); } break; } } break; case "Ordner": { if (mb_substr ($w_vorgabe, -1) != "/") { $w_vorgabe .= "/"; } $m_vorgaben["Ordner"][$v_vorgabe2] = $Wurzel . $w_vorgabe; } break; case "Filter": { $m_vorgaben["Filter"][$v_vorgabe2][$v_vorgabe3][$v_vorgabe4] = $w_vorgabe; if ($v_vorgabe5) { $m_vorgaben["FilterOptionen"][$v_vorgabe2][$v_vorgabe3][$v_vorgabe4] = $v_vorgabe5; } } break; case "Data": // Nullwerte zulassen, ID muß NICHT Zahl sein { $m_vorgaben["Data"][$v_vorgabe2][$v_vorgabe3] = $w_vorgabe; } break; case "Export": // Nullwerte zulassen, ID muß NICHT Zahl sein { $m_vorgaben["Export"][$v_vorgabe2][$v_vorgabe3][$v_vorgabe4] = $w_vorgabe; } break; default: { if ($v_vorgabe4) { $m_vorgaben[$v_vorgabe1][$v_vorgabe2][$v_vorgabe3][$v_vorgabe4] = $w_vorgabe; } elseif ($v_vorgabe3) { $m_vorgaben[$v_vorgabe1][$v_vorgabe2][$v_vorgabe3] = $w_vorgabe; } elseif ($v_vorgabe2) { $m_vorgaben[$v_vorgabe1][$v_vorgabe2] = $w_vorgabe; } else { $m_vorgaben[$v_vorgabe] = $w_vorgabe; } } break; } } $m_vorgaben["rrgBooks"] = array_flip ($m_vorgaben["regBooks"]); $m_vorgaben["Ordner"]["Wurzel"] = $Wurzel; # BasisVorgaben $m_vorgaben["Heute"][1] = funDatum ("Heute.1", $m_vorgaben, array ()); // $m_vorgaben["Heute"][4] = funDatum ("Konvertieren.1.4", $m_vorgaben, array ($m_vorgaben["Heute"][1])); $m_vorgaben["Heute"][8] = funDatum ("Konvertieren.1.8", $m_vorgaben, array ($m_vorgaben["Heute"][1])); // $m_vorgaben["Heute"][9] = funDatum ("Konvertieren.1.9", $m_vorgaben, array ($m_vorgaben["Heute"][1])); // $m_vorgaben["Heute"][12] = funDatum ("Konvertieren.1.12", $m_vorgaben, array ($m_vorgaben["Heute"][1])); $m_vorgaben["Heute"][10] = funDatum ("Konvertieren.1.10", $m_vorgaben, array ($m_vorgaben["Heute"][1])); // $m_vorgaben["Heute"][11] = funDatum ("Konvertieren.1.11", $m_vorgaben, array ($m_vorgaben["Heute"][1])); // $m_vorgaben["Heute"][13] = funDatum ("Konvertieren.1.13", $m_vorgaben, array ($m_vorgaben["Heute"][1])); // $m_vorgaben["Heute"][15] = funDatum ("Konvertieren.1.15", $m_vorgaben, array ($m_vorgaben["Heute"][1])); // $m_vorgaben["Heute"][44] = funDatum ("Konvertieren.1.44", $m_vorgaben, array ($m_vorgaben["Heute"][1])); $m_vorgaben["Gestern"][8] = funDatum ("Konvertieren.1.8", $m_vorgaben, array ($m_vorgaben["Heute"][1], -1)); // $m_vorgaben["Gestern"][10] = funDatum ("Konvertieren.1.10", $m_vorgaben, array ($m_vorgaben["Heute"][1], -1)); $m_vorgaben["Morgen"][8] = funDatum ("Konvertieren.1.8", $m_vorgaben, array ($m_vorgaben["Heute"][1], 1)); $m_vorgaben["Morgen"][10] = funDatum ("Konvertieren.1.10", $m_vorgaben, array ($m_vorgaben["Heute"][1], 1)); # neu $Heute = fncDatum ("dtmHeute.K", array ()); $m_vorgaben["Heute"]["NZO"] = $Heute; $m_vorgaben["Heute"]["DZP"] = fncDatum ("dtmAusgabe", array ($Heute, "DZP")); unset ($r_vorgaben); return $m_vorgaben; } function importiereDb ($n_datenbank, $p_datenbank, $f_id = '') { $m_datenbank = array (); $SpaltenNr = array (); $Version = fncDatei ("fdtVersion.", array ($p_datenbank)); $DateiGroesse = fncDatei ("fdtGroesse.", array ($p_datenbank)); $m_datenbank[0]["DatenbankName"] = $n_datenbank; $m_datenbank[0]["Version"] = $Version; if ($p_datenbank and is_file ($p_datenbank)) if ($Datei = fopen ($p_datenbank, "r")) { # physische Kopfzeile lesen $PhysischeKopfzeile = array (); $zahVersuche = 0; $obWert = 0; while (!$obWert and ++$zahVersuche < 999) { $PhysischeKopfzeile = fgetcsv ($Datei, $DateiGroesse, ";"); $obWert = $PhysischeKopfzeile[0]; } # Werte trimmen $AnzahlSpalten = count ($PhysischeKopfzeile); for ($Z = 0; $Z < $AnzahlSpalten; $Z++) { $PhysischeKopfzeile[$Z] = trim ($PhysischeKopfzeile[$Z]); } # Spaltennummern merken $SpaltenNr = array_flip ($PhysischeKopfzeile); # DBKopfzeile ermitteln $Kopfzeile = array (); if (!$f_id) { $f_id = $PhysischeKopfzeile[0]; } $Kopfzeile[$f_id] = 0; // fldID erstmal auf Status "virtuell" setzen, aber an Anfang der Kopfzeile if (is_array ($PhysischeKopfzeile)) foreach ($PhysischeKopfzeile as $Feld) if ($Feld) { $Kopfzeile[$Feld] = 1; } unset ($PhysischeKopfzeile); # Kopfzeile & fldID in DB Header schreiben $m_datenbank[0]["Kopfzeile"] = $Kopfzeile; $m_datenbank[0]["fldID"] = $f_id; # Datensätze einlesen $AutoID = 0; $Werte = array (); while ($Werte = fgetcsv ($Datei, $DateiGroesse, ";")) { $Datensatz = array (); if (!$Kopfzeile[$f_id]) // kein physisches ID Feld { $Datensatz[$f_id] = ++$AutoID; } if (!$Kopfzeile[$f_id] or trim ($Werte[$SpaltenNr[$f_id]])) { if (is_array ($Kopfzeile)) foreach ($Kopfzeile as $Feld => $ObPhysisch) if ($ObPhysisch) { if (isset ($Werte[$SpaltenNr[$Feld]])) { $Datensatz[$Feld] = trim ($Werte[$SpaltenNr[$Feld]]); } else { $Datensatz[$Feld] = ""; } } $m_datenbank[$Datensatz[$f_id]] = $Datensatz; # Sortierung bedienen $m_datenbank[0]["Sortierung"][$Datensatz[$f_id]] = 1; } unset ($Datensatz); unset ($Werte); } unset ($Kopfzeile); fclose ($Datei); } unset ($SpaltenNr); return $m_datenbank; } function leseDbTypen (& $m_vorgaben) { $xm_db_typen = array (); $m_db_typen = array (); // $d_dbs = array (); $xi_item = ''; $x = ''; # DbTypen lesen $xm_db_typen = importiereDb ("DBTypen", $m_vorgaben["Pfade"]["DBTypen"], "ID"); //# Debug //debug ('Mavidesk' . ' (' . __LINE__ . ')'); //$_d = '$m_vorgaben'; debugVariable ($_d = substr ($_d, 1), $$_d); # Werte übergeben if (is_array ($xm_db_typen)) foreach ($xm_db_typen as $xi_item => $x) if (isset ($xm_db_typen[$xi_item]["ID"])) if ($xm_db_typen[$xi_item]["ID"]) if ($xm_db_typen[$xi_item]["datDatenbank"]) if ($m_vorgaben['r_datenbanken'][$xm_db_typen[$xi_item]["datDatenbank"]]) { if (is_array ($xm_db_typen[$xi_item])) { extract ($xm_db_typen[$xi_item]); } # debug // $d_dbs[$datDatenbank] = $datDatenbank; if ($Feld) { # erstmal FeldTyp ermitteln # Relikt -> wird abgeschafft list ($Typ1, $Typ2, $Typ3, $Typ4, $Typ5, $Typ6) = explode (".", $Typ . "....."); // in Zukunft nur noch Typ1 und Typ2 # Feld an die Kopfzeile übergeben $m_db_typen[$datDatenbank]["Kopfzeile"][$Feld] = $ObPhysisch / 1; $m_db_typen[$datDatenbank]["ObAenderbar"][$Feld] = $ObAenderbar / 1; $m_db_typen[$datDatenbank]["ObSichtbar"][$Feld] = 1; // jedes Feld ist sichtbar, wenn es in DBTypen definiert wurde, ist für Rechte wichtig # Trigger vorbereiten $m_db_typen[$datDatenbank]["curTrigger"][$Feld] = 0; # Vokabelfeld? if ($ObVokabel) { $m_db_typen[$datDatenbank]["VokabelFelder"][$Feld] = 1; } # Bevorzugter Wert? if ($BevorzugterWert) { $m_db_typen[$datDatenbank]["BevorzugteWerteFelder"][$BevorzugterWert][$Feld] = 1; } # Bedingter Wert? if ($BedingterWert) { list ($MasterFeld, $WerteQuelle) = explode (":", $BedingterWert); $m_db_typen[$datDatenbank]["BedingteWerteFelder"][$MasterFeld][$Feld] = $WerteQuelle; } # Wertebereich Wert? if ($Wertebereich) { list ($Min, $Max) = explode ("-", $Wertebereich); $m_db_typen[$datDatenbank]["WertebereichOb"][$Feld] = 1; $m_db_typen[$datDatenbank]["WertebereichMin"][$Feld] = $Min / 1; $m_db_typen[$datDatenbank]["WertebereichMax"][$Feld] = $Max / 1; } $m_db_typen[$datDatenbank]["PflichtFelder"][$Feld] = 0; # FeldTyp if ($Typ1) // wird abgeschafft -> Feldtyp_wird_hier_übergeben { $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = $Typ1; } if ($Typ2) // wird abgeschafft -> Feldtyp_wird_hier_übergeben { $m_db_typen[$datDatenbank]["FeldTypen2"][$Feld][0] = $Typ2; } if ($Typ3) // wird abgeschafft -> Feldtyp_wird_hier_übergeben { $m_db_typen[$datDatenbank]["FeldTypen3"][$Feld][0] = $Typ3; } if ($Typ4) // wird abgeschafft -> Feldtyp_wird_hier_übergeben { $m_db_typen[$datDatenbank]["FeldTypen4"][$Feld][0] = $Typ4; } if ($Typ5) // wird abgeschafft -> Feldtyp_wird_hier_übergeben { $m_db_typen[$datDatenbank]["FeldTypen5"][$Feld][0] = $Typ5; } # aus dem Feldtyp sich ergebene, weitere Merkmale # hier_dbtypen_feldtypen switch ($Typ1) // Feldtyp_wird_hier_übergeben { case "dftWarnung": { $m_db_typen[$datDatenbank]["dftWarnung"][$Feld][1][0] = $Optionen; $m_db_typen[$datDatenbank]["dftWarnung"][$Feld][0][0] = $Nullwert; } break; case "dftAuswahl": // in DBTYPEN { $m_db_typen[$datDatenbank]["AuswahlFelder"][$Feld] = $Typ2 . ":" . $Typ3 . ":" . $Typ4 . ":" . $Typ5; switch ($Typ2) { case "Datenbank": { $m_db_typen[$datDatenbank]["bedingtDBs"][$Typ4] = $Typ4; } break; } } break; case "dftDbAuswahl": // in DBTYPEN case "dftDbOptionen": // in DBTYPEN { list ($dbBedingt) = explode ("|", $Optionen); $m_db_typen[$datDatenbank]["bedingtDBs"][$dbBedingt] = $dbBedingt; } break; case "dftBesitzer": // Schattenfeld als AUSWAHL { $datBesitzer = $Typ2; $felBesitzer = $Typ3; $ObSortiert = $Typ4; # in Besitzer-DB aufführen $m_db_typen[$datBesitzer]["Besitz"][$datDatenbank] = $Feld; $m_db_typen[$datDatenbank]["Besitzer"] = $datBesitzer; $m_db_typen[$datDatenbank]["PflichtFelder"][$Feld] = 1; $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = "dftAuswahl"; $m_db_typen[$datDatenbank]["AuswahlFelder"][$Feld] = "Datenbank:" . $ObSortiert . ":" . $datBesitzer . ":" . $felBesitzer; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = "dftAuswahl"; $m_db_typen[$datDatenbank]["Hierarchie"]["fldBesitzer"] = $Feld; $m_db_typen[$datBesitzer]["bedingtDBs"][$datDatenbank] = $datDatenbank; } break; case "dftBild": // in DBTYPEN { $m_db_typen[$datDatenbank]["BallastFelder"][$Feld] = "Bild"; $m_db_typen[$datDatenbank]["ZoomBildFelder"][$Feld] = $Feld; $m_db_typen[$datDatenbank]["ZoomLegendeFelder"][$Feld] = $Optionen; } break; case "dftDatei": // in DBTYPEN case "dftMP3": // in DBTYPEN case "dftPDF": // in DBTYPEN case "dftVideo": // in DBTYPEN { $m_db_typen[$datDatenbank]["BallastFelder"][$Feld] = "Media"; } break; case "dftDatum": // in DBTYPEN { $m_db_typen[$datDatenbank]["dtmFormate"][$Feld] = $Format; list ($trgTyp, $trgZusatz) = explode ("|", $Typ2 . "|"); switch ($trgTyp) { case "trgLaufzeit": // in DBTYPEN { $fldStart = $Feld; $fldEnde = $trgZusatz; $m_db_typen[$datDatenbank]["curTrigger"][$fldStart] = 1; // nur Startfeld zum Triggern markieren $m_db_typen[$datDatenbank]["Trigger"][$fldStart][] = "trgLaufzeitStart|" . $fldEnde; $m_db_typen[$datDatenbank]["Follow"][$fldEnde] = "flwLaufzeitEnde|" . $fldStart; } break; } } break; case "dftUhrzeit": // in DBTYPEN { $m_db_typen[$datDatenbank]["hrzFormate"][$Feld] = $Format; } break; case "dftDetails": // in DBTYPEN { $m_db_typen[$datDatenbank]["fldDetails"] = $Feld; $m_db_typen[$datDatenbank]["fldDplDetails"] = $Optionen; if (isset ($m_db_typen[$datDatenbank]["FeldTypen"][$Optionen][0])) { $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = $m_db_typen[$datDatenbank]["FeldTypen"][$Optionen][0]; } if (!isset ($Bezeichner)) { $Bezeichner = $m_db_typen[$datDatenbank]["FeldBezeichner"][$Optionen][0]; } } break; case "dftErsterWert": // Schattenfeld { $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFeld"] = $Typ2; } break; case "dftExklusiv": { $m_db_typen[$datDatenbank]["ExklusivFelder"][$Feld] = $Feld; $m_db_typen[$datDatenbank]["ExklFldUmgebung"][$Feld] = $Typ2; } break; case "dftHierarchie": { $m_db_typen[$datDatenbank]["fldHierarchie"] = $Feld; $m_db_typen[$datDatenbank]["fldTxtHierarchie"] = $Typ2; } break; case "dftID": { // if (mb_strstr ($Optionen, "Z")) // DB kann Zoom-Bilder enthalten // { // $m_vorgaben["regZoomDbs"][$datDatenbank] = $datDatenbank; // } if (mb_strstr ($Optionen, "I")) // DB hat nur eine Id { $m_db_typen[$datDatenbank]["enzID"] = 1; } if (mb_strstr ($Optionen, "E")) // enthält Elemente { $m_db_typen[$datDatenbank]["obLmnDb"] = 1; } elseif (mb_strstr ($Optionen, "V")) // enthält Vokabeln { $m_db_typen[$Besitzer]["dbVokabeln"] = $datDatenbank; } } break; case "dftInitiale": // Schattenfeld { $KopieFeld = $Feld; $OriginalFeld = $Typ2; $Anzahl = $Typ3 / 1; if (!$Anzahl) { $Anzahl = 1; } $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFeld"] = $OriginalFeld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Anzahl"] = $Anzahl; } break; case "dftKette": { list ($FeldA, $Verbinder, $FeldB, $ObZwang) = explode ("|", $Optionen . "|||"); /* Schattenfeld max 2 Glieder (mehr Glieder schon probiert - problematisch - lösen durch 2.,3.,4.Kettenfeld usw, */ $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = "dftText"; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["FeldA"] = $FeldA; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Verbinder"] = $Verbinder; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["FeldB"] = $FeldB; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["ObZwang"] = $ObZwang; } break; case "dftKlartext": // Schattenfeld { if (isset ($m_db_typen[$datDatenbank]["AuswahlFelder"][$Typ2])) // nur wenn Originalfeld ein Auswahlfeld ist { $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFeld"] = $Typ2; } } break; case "dftKombi": { $m_db_typen[$datDatenbank]["KombiFelder"][$Feld] = $Typ2; } break; case "dftZwilling": // Schattenfeld { # Wichtig: In DBTypen muß das Kopiefeld UNTER Originalfeld stehen $KopieFeld = $Feld; $OriginalFeld = $Typ2; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFeld"] = $OriginalFeld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ3"] = $Typ3; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ4"] = $Typ4; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ5"] = $Typ5; # übernehme FeldTypen und ggf. Bezeichner vom Originalfeld switch ($Typ3) { case "dftDatum": { $m_db_typen[$datDatenbank]["FeldTypen"][$KopieFeld][0] = "dftText"; $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = ""; $m_db_typen[$datDatenbank]["FeldTypen3"][$KopieFeld][0] = ""; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Aktion"] = "KonvertiereDatum"; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFormat"] = $Typ4; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["KopieFormat"] = $Typ5; } break; default: { if (isset ($m_db_typen[$datDatenbank]["FeldTypen"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen"][$OriginalFeld][0]; if (isset ($m_db_typen[$datDatenbank]["FeldTypen2"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen2"][$OriginalFeld][0]; } if (isset ($m_db_typen[$datDatenbank]["FeldTypen3"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen3"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen3"][$OriginalFeld][0]; } if (isset ($m_db_typen[$datDatenbank]["FeldTypen4"][$OriginalFeld][0])) // Zwischenlösung für Kopiefelder von Datumsfeldern: wenn nur bei der Kopie steht "wennveraltet", beim Original aber nichts, bleibt "wennveraltet" erhalten" { $m_db_typen[$datDatenbank]["FeldTypen4"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen4"][$OriginalFeld][0]; } if (isset ($m_db_typen[$datDatenbank]["ObFelder"][$OriginalFeld])) { $m_db_typen[$datDatenbank]["FeldTypen"][$KopieFeld][0] = "dftOb"; if ($Typ3) { $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $Typ3; } } } else { $m_db_typen[$datDatenbank]["FeldTypen"][$OriginalFeld][0] = ""; } switch ($m_db_typen[$datDatenbank]["FeldTypen"][$OriginalFeld][0]) { default: { if (isset ($m_db_typen[$datDatenbank]["FeldTypen2"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen2"][$OriginalFeld][0]; } if (isset ($m_db_typen[$datDatenbank]["FeldTypen3"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen3"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen3"][$OriginalFeld][0]; } if (isset ($m_db_typen[$datDatenbank]["FeldTypen4"][$OriginalFeld][0])) // Zwischenlösung für Kopiefelder von Datumsfeldern: wenn nur bei der Kopie steht "wennveraltet", beim Original aber nichts, bleibt "wennveraltet" erhalten" { $m_db_typen[$datDatenbank]["FeldTypen4"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen4"][$OriginalFeld][0]; } if (isset ($m_db_typen[$datDatenbank]["ObFelder"][$OriginalFeld])) { $m_db_typen[$datDatenbank]["FeldTypen"][$KopieFeld][0] = "dftOb"; if ($Typ3) { $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $Typ3; } } } break; case "dftAuswahl": { $ObUnterschied = 0; if ($Typ3) { $ObUnterschied = 1; $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $Typ3; } elseif (isset ($m_db_typen[$datDatenbank]["FeldTypen2"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen2"][$OriginalFeld][0]; } if ($Typ4) { $ObUnterschied = 1; $m_db_typen[$datDatenbank]["FeldTypen3"][$KopieFeld][0] = $Typ4; } elseif (isset ($m_db_typen[$datDatenbank]["FeldTypen3"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen3"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen3"][$OriginalFeld][0]; } if ($Typ5) { $ObUnterschied = 1; $m_db_typen[$datDatenbank]["FeldTypen4"][$KopieFeld][0] = $Typ5; } elseif (isset ($m_db_typen[$datDatenbank]["FeldTypen4"][$OriginalFeld][0])) { $m_db_typen[$datDatenbank]["FeldTypen4"][$KopieFeld][0] = $m_db_typen[$datDatenbank]["FeldTypen4"][$OriginalFeld][0]; } if ($ObUnterschied) // d.h. hier wird ein Auswahlfeld kopiert, und zwar so: Wert 1 : 1, Auswahlliste NICHT 1 : 1, sondern die Kopie holt sich die Klartexte zu den Werten aus einer anderen Datenbank, deshalb zu den Auswahlfeldern hinzufügen, somit werden separaten Auswahllisten für dieses Feld erzeugt { $m_db_typen[$datDatenbank]["AuswahlFelder"][$KopieFeld] = $Typ3 . ":" . $Typ4 . ":" . $Typ5 . ":" . $Typ6; } else { $m_db_typen[$datDatenbank]["AuswahlKopieFelder"][$OriginalFeld] = $KopieFeld; } } break; } } break; } if (!$Bezeichner) if (isset ($m_db_typen[$datDatenbank]["FeldBezeichner"][$OriginalFeld][0])) { $Bezeichner = $m_db_typen[$datDatenbank]["FeldBezeichner"][$OriginalFeld][0]; } # Sonderfälle switch ($Typ3) { case "Verweis": $Typ2 = $Typ3; $Typ3 = $Typ4; break; case "Marker": $m_db_typen[$datDatenbank]["FeldTypen"][$KopieFeld][0] = $Typ3; $m_db_typen[$datDatenbank]["FeldTypen2"][$KopieFeld][0] = $Typ4; break; } } break; case "dftMulti": { $m_db_typen[$datDatenbank]["Multis"][$Feld] = $Typ2; } break; case "dftOnOff": { $m_db_typen[$datDatenbank]["fldOnOff"] = $Feld; } break; case "dftRechnen": // Schattenfeld { $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = $Typ5; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld1"] = $Typ3; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld2"] = $Typ4; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Operation"] = $Typ2; } break; case "dftReihenfolge": { $m_db_typen[$datDatenbank]["fldReihenfolge"] = $Feld; } break; case "dftSchatten": // Schattenfeld { $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFeld"] = $Typ2; } break; case "dftSprache": { $m_db_typen[$datDatenbank]["curTrigger"][$Feld] = 1; $m_db_typen[$datDatenbank]["Trigger"][$Feld][] = "trgSprache"; $m_db_typen[$datDatenbank]["fldSprache"] = $Feld; } break; case "dftStaffel": // Schattenfeld case "dftBisStaffel": // Schattenfeld { $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = "dftText"; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["OriginalFeld"] = $Typ2; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Staffelung"] = $Typ3; } break; case "dftTicket": // Schattenfeld { $m_db_typen[$datDatenbank]["FeldTypen"][$Feld][0] = "dftText"; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Felder"] = array ($Typ2, $Typ3, $Typ4); $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Verbinder"] = "-"; } break; case "dftTonne": { list ($m_db_typen[$datDatenbank]["Tonne"]["pfxFrage"], $tmpArtikel, $m_db_typen[$datDatenbank]["Tonne"]["krzBezeichner"][0], $m_db_typen[$datDatenbank]["Tonne"]["fldBetrefftext"], $m_db_typen[$datDatenbank]["Tonne"]["sfxFrage"]) = explode ("|", $Optionen . "||||"); $Optionen = ""; $m_db_typen[$datDatenbank]["Tonne"]["lngBezeichner"][0] = $tmpArtikel . " " . $m_db_typen[$datDatenbank]["Tonne"]["krzBezeichner"][0]; } break; case "dftWenn": // Schattenfeld { $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["AlphaFeld"] = $Typ2; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["BetaFeld"] = $Typ3; } break; case "dftZeitraum": // Schattenfeld { $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Feld"] = $Feld; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Typ"] = $Typ1; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["Skalierung"] = $Typ2; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["ErstesFeld"] = $Typ3; $m_db_typen[$datDatenbank]["SchattenFelder"][$Feld]["ZweitesFeld"] = $Typ4; } break; } # Neufeld if ($ObNeu) { $m_db_typen[$datDatenbank]["NeuFeld"] = $Feld; $m_db_typen[$datDatenbank]["NeuTitel"] = $ObNeu; } # Besitzer? if ($Besitzer) { $m_db_typen[$Besitzer]["bedingtDBs"][$datDatenbank] = $datDatenbank; } # Nullwerte $m_db_typen[$datDatenbank]["NullWerte"][$Feld] = $Nullwert; # Nullwert-Umleitungen $m_db_typen[$datDatenbank]["NllWrtUmleitungen"][$Feld] = $NllWrtUmleitung; switch (mb_strtoupper ($Typ2)) { case "NURLESEN": { $m_db_typen[$datDatenbank]["NurLesen"][$Feld] = 1; } break; } # Bezeichner weiterverarbeiten if ($Feld == "ID") // bei der ID steht DB-Bezeichner { $m_db_typen[$datDatenbank]["Bezeichner"] = $Bezeichner; // Datenbank-Bezeichner $m_db_typen[$datDatenbank]["FeldBezeichner"][$Feld][0] = $Feld; // ID = ID } elseif ($Bezeichner) // Bezeichner im Klartext? { $m_db_typen[$datDatenbank]["FeldBezeichner"][$Feld][0] = $Bezeichner; } else // sonst übernehme Feldname als Bezeichner { $m_db_typen[$datDatenbank]["FeldBezeichner"][$Feld][0] = $Feld; } # Einheit $m_db_typen[$datDatenbank]["Einheiten"][$Feld] = $txEinheit; # Vorspann $m_db_typen[$datDatenbank]["Vorspaenne"][$Feld] = $txVorspann; # Anhang $m_db_typen[$datDatenbank]["Anhaenge"][$Feld] = $txAnhang; # weiteres if ($Typ1 == "dftID") { $m_db_typen[$datDatenbank]["fldID"] = $Feld; } if ($Optionen) // wichtig { $m_db_typen[$datDatenbank]["Optionen"][$Feld] = $Optionen; } if ($AuswahlFiltern) // wichtig { $m_db_typen[$datDatenbank]["AuswahlFiltern"][$Feld] = $AuswahlFiltern; } if (isset ($ObStandardSortierFeld)) { $m_db_typen[$datDatenbank]["SortierFeld"] = $Feld; } if ($ObPflichtFeld) { $m_db_typen[$datDatenbank]["PflichtFelder"][$Feld] = $ObPflichtFeld; } } } $m_vorgaben["System"]["DBTypen"] = $m_db_typen; # debug // foreach ($d_dbs as $d_db) // { // echo $d_db . '
'; // // } unset ($m_db_typen); unset ($xm_db_typen); } function zeigeButton ($k_richtung, & $m_vorgaben, $o_aktiv, $q_bild) { $c_box_aussen = ''; $c_box_innen_aktiv = ''; $c_box_innen_inaktiv = ''; $t_beschriftung = ''; switch ($k_richtung) { default: case 'rueckwaerts': { $c_box_aussen = 'cssOoBxZmVb1'; $c_box_innen_aktiv = 'cssOoBxZmVb2'; $c_box_innen_inaktiv = 'cssOoBxZmVb2x'; $t_beschriftung = fncPhrase ($m_vorgaben, array ("vorherigesBild", "G")); } break; case 'vorwaerts': { $c_box_aussen = 'cssOoBxZmNb1'; $c_box_innen_aktiv = 'cssOoBxZmNb2'; $c_box_innen_inaktiv = 'cssOoBxZmNb2x'; $t_beschriftung = fncPhrase ($m_vorgaben, array ("naechstesBild", "G")); } break; } fncElement ("lmnBox.A", $m_vorgaben, array ("", $c_box_aussen)); if ($o_aktiv) { fncElement ("lmnVerweis.ALJ", $m_vorgaben, array ($t_beschriftung, $q_bild)); fncElement ("lmnBox.AZ", $m_vorgaben, array ("", $c_box_innen_aktiv)); fncElement ("lmnVerweis.Z", $m_vorgaben, array ()); } else { fncElement ("lmnBox.AZ", $m_vorgaben, array ("", $c_box_innen_inaktiv)); } fncElement ("lmnBox.Z", $m_vorgaben, array ()); } function findeVorgaengerNachfolger (& $r_vorgaenger, & $r_nachfolger, $m_vorgaben, $n_datenbank, $k_schalter) { $x_vorgaenger = 0; $i_item = ''; $x = ''; $i_type = ''; $o_kandidat = false; if (is_array ($m_vorgaben["Data"][$n_datenbank][0]["Sortierung"])) foreach ($m_vorgaben["Data"][$n_datenbank][0]["Sortierung"] as $i_item => $x) if (fncDatensatz ("DsAktiv.F", $m_vorgaben, array ($n_datenbank, $i_item))) { $o_kandidat = false; switch ($k_schalter) { default: case 'U': // Übersicht { $o_kandidat = true; } break; case 'D': // Details { $i_type = fncFeld ("dtfWert.R", $m_vorgaben, array ($n_datenbank, $i_item, "Type")); if (isset ($m_vorgaben["Data"]["datTypen"][$i_type]["obZoom"])) if ($m_vorgaben["Data"]["datTypen"][$i_type]["obZoom"]) { $o_kandidat = true; } } break; } if ($o_kandidat) { $r_vorgaenger[$i_item] = $x_vorgaenger; if ($x_vorgaenger) { $r_nachfolger[$x_vorgaenger] = $i_item; } $x_vorgaenger = $i_item; } } $r_nachfolger[$x_vorgaenger] = 0; } function findeZufallsKategorieBilder (& $m_vorgaben, $n_datenbank) { $r_kategoriebilder = array (); $r_kategorien = array (); $m_alle_bilder_je_kategorie = array (); $r_bilder_je_kategorie = array (); $i_item = ''; $x = ''; $t_kategorie = ''; $t_bild = ''; if (is_array ($m_vorgaben['Data'][$n_datenbank][0]['Sortierung'])) foreach ($m_vorgaben['Data'][$n_datenbank][0]['Sortierung'] as $i_item => $x) if (fncDatensatz ('DsAktiv.F', $m_vorgaben, array ($n_datenbank, $i_item))) { $t_bild = fncFeld ('dtfWert.', $m_vorgaben, array ($n_datenbank, $i_item, 'TBild')); // ohne Nullwert! if ($t_bild) { if (!fncFeld ('dtfWert.R', $m_vorgaben, array ($n_datenbank, $i_item, 'mltKategorien'))) { # Kategorie Weitere $m_alle_bilder_je_kategorie[0][] = $t_bild; } else { $r_kategorien = explode ('|', fncFeld ('dtfWert.R', $m_vorgaben, array ($n_datenbank, $i_item, 'mltKategorien'))); foreach ($r_kategorien as $t_kategorie) { $m_alle_bilder_je_kategorie[$t_kategorie][] = $t_bild; } } } } foreach ($m_alle_bilder_je_kategorie as $t_kategorie => $r_bilder_je_kategorie) { shuffle ($r_bilder_je_kategorie); $r_kategoriebilder[$t_kategorie] = $r_bilder_je_kategorie[0]; } unset ($r_bilder_je_kategorie); unset ($m_alle_bilder_je_kategorie); unset ($r_kategorien); return $r_kategoriebilder; } function gibKategorieVerweisAus (& $m_vorgaben, $v_kategorie, $i_kategorie, $t_kategorie, $i_inhalte) { $q_ziel = ''; $z_obaktiv = 0; $q_ziel = $v_kategorie . '=' . $i_kategorie; if (isset ($_REQUEST[$v_kategorie])) if ($_REQUEST[$v_kategorie] == $i_kategorie) { $z_obaktiv = 1; } else { $z_obaktiv = 0; } fncElement ('lmnVerweis.AZNTU', $m_vorgaben, array ($t_kategorie, $i_inhalte . '|' . $q_ziel . '|' . $z_obaktiv)); } function zeigeWeitereDatenbank (& $m_vorgaben, $t_weitere_dbs) { $r_weitere_dbs = array (); $t_eintrag = ''; $n_datenbank = ''; $n_symbolleiste = ''; // list ($Dbs1, $Dbs2) = explode ("|", $m_vorgaben["Data"]["datModule"][$m_vorgaben["curModul"]]["WeitereDbs"] . "||"); $r_weitere_dbs = explode (',', $t_weitere_dbs); // if (is_array ($r_weitere_dbs)) foreach ($r_weitere_dbs as $t_eintrag) { list ($n_datenbank, $n_symbolleiste) = explode (':', $t_eintrag . '::'); if ($n_datenbank = trim ($n_datenbank)) if (!isset ($m_vorgaben['Benutzer']['VersteckteDatenbanken'][$n_datenbank]) or !$m_vorgaben['Benutzer']['VersteckteDatenbanken'][$n_datenbank]) { fncElement ('lmnAbsatz.AZ', $m_vorgaben, array ($m_vorgaben['Data'][$n_datenbank][0]['Bezeichner'], ' cssPortalDbTitel cssPpLt')); fncElement ('lmnSymbleiste.P', $m_vorgaben, array (trim ($n_symbolleiste))); fncElement ('lmnDbAnzeigen.M', $m_vorgaben, array ($n_datenbank)); } } unset ($r_weitere_dbs); } function findeGesetzteModule (& $m_vorgaben) { $r_module = array (); $i_element = ''; $x = ''; $t_element = ''; $p_modul = ''; $i_inhalte = ''; if (isset ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'] as $i_element => $x) { $t_element = $m_vorgaben['Data']['datNhDetails'][$i_element]['Type']; if (isset ($m_vorgaben['r_modultypen'][$t_element])) if ($m_vorgaben['r_modultypen'][$t_element]) { $p_modul = $m_vorgaben['r_modultypen'][$t_element]; $i_inhalte = $m_vorgaben['Data']['datNhDetails'][$i_element]['Besitzer']; $r_module[$i_inhalte] = $p_modul; } } return $r_module; } function zaehleArtikelJeKategorie (& $m_vorgaben, $n_datenbank) { $r_anzahl_je_kategorie = array (); $x = ''; $i_item = ''; $i_kategorie = ''; $r_kategorien_des_artikels = array (); #debug $_d = '$n_datenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // foreach ($r_anzahl_je_kategorie as $i_kategorie => $x) // { // $r_anzahl_je_kategorie[$i_kategorie] = 0; // } if (is_array ($m_vorgaben['Data'][$n_datenbank][0]['Sortierung'])) foreach ($m_vorgaben['Data'][$n_datenbank][0]['Sortierung'] as $i_item => $x) // if ($m_vorgaben['Data'][$n_datenbank][$i_item]['+flt']) if (fncDatensatz ('DsAktiv.SZ', $m_vorgaben, array ($n_datenbank, $i_item))) { #debug $_d = '$i_item'; debugVariable ($_d = substr ($_d, 1), $$_d); $r_kategorien_des_artikels = explode ('|', fncFeld ('dtfWert.R', $m_vorgaben, array ($n_datenbank, $i_item, 'mltKategorien'))); #debug $_d = '$r_kategorien_des_artikels'; debugVariable ($_d = substr ($_d, 1), $$_d); foreach ($r_kategorien_des_artikels as $i_kategorie) { if (!$i_kategorie) { $i_kategorie = 0; } if (!isset ($r_anzahl_je_kategorie[$i_kategorie])) { $r_anzahl_je_kategorie[$i_kategorie] = 0; } $r_anzahl_je_kategorie[$i_kategorie]++; } } return $r_anzahl_je_kategorie; } function sortiereDatenbankNachCode (& $m_vorgaben, $n_datenbank, $t_sortiercode) { switch ($t_sortiercode) { default: case "ns": // unsortiert { } break; case "rw": // rückwärts { fncDatenbank ("dtbSortieren.R", $m_vorgaben, array ($n_datenbank)); } break; case "zf": // zufällig { fncDatenbank ("dtbSortieren.Z", $m_vorgaben, array ($n_datenbank)); } break; case "nt": // nach Titel { fncDatenbank ("dtbSortieren", $m_vorgaben, array ($n_datenbank, "Titel")); } break; case "nb": // nach Bewertung { fncDatenbank ("dtbSortieren.", $m_vorgaben, array ($n_datenbank, "BwDs.1|BwAn.1|Jahr.1")); } break; case "nd": // nach Datum { fncDatenbank ("dtbSortieren.", $m_vorgaben, array ($n_datenbank, "dtmBeginn|hrzBeginn|Staette")); } break; } } function debugVariable ($t_variable, $v_variable, $t_vergleich = '') { # später statt var_dump, eigene Routine einsetzen if (DEBUGMODE) { $t_css = ''; # wenn Vergleich true, dann highlight if (!is_array ($v_variable) and $v_variable and mb_strtolower ($v_variable) == mb_strtolower ($t_vergleich)) { $t_css = ' cssOoDbgHiLite'; } echo '
'; // echo '
' . getVarName($v_variable) . '
'; echo '
' . $t_variable . '
'; echo '
';
				var_dump ($v_variable);
			echo '
'; echo '
'; } } function debug ($t_info = 'DEBUG') { if (DEBUGMODE) { echo '
'; echo '
' . $t_info . '
'; echo '
'; } } function debugStartButton () { if (DEBUGMODE) { echo '
'; echo '
»
'; echo '
'; } } function modifiziereTypen (& $m_vorgaben) { if (isset ($m_vorgaben['Data']['datTypen'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['datTypen'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['datTypen'][0]['Sortierung'] as $i_type => $x) { $t_modifiziert = ''; $t_modifiziert = fncVorgaben ($m_vorgaben, 'Bz_' . $i_type . '_Titel.N'); $m_vorgaben['Data']['datTypen'][$i_type]['Titel'] = ($t_modifiziert) ? 'Modul ' . $t_modifiziert : $m_vorgaben['Data']['datTypen'][$i_type]['Titel']; // $_d = '$t_modifiziert'; debugVariable ($_d = substr ($_d, 1), $$_d); $t_modifiziert = ''; $t_modifiziert = fncVorgaben ($m_vorgaben, 'Bz_' . $i_type . '_TitelLang.N'); $m_vorgaben['Data']['datTypen'][$i_type]['TitelLang'] = ($t_modifiziert) ? 'das Modul ' . $t_modifiziert : $m_vorgaben['Data']['datTypen'][$i_type]['TitelLang']; // $_d = '$t_modifiziert'; debugVariable ($_d = substr ($_d, 1), $$_d); } } function findModulPagesByZone (& $r_pages_of_module_by_zone, & $m_vorgaben, $t_type_modul) { $r_zones_to_find = array (); $i_zone = ''; $x = ''; $i_element = ''; $t_element = ''; $t_type = ''; $i_page = ''; $r_modul_pages = array (); $t_bereiche = ''; $r_zones_of_page = array (); $r_pages_of_module_by_zone[0] = 0; $r_zones_to_find[0] = true; if (isset ($m_vorgaben['Data']['datNhBereiche'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['datNhBereiche'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['datNhBereiche'][0]['Sortierung'] as $i_zone => $x) if (fncDatensatz ('DsAktiv.FZ', $m_vorgaben, array ('datNhBereiche', $i_zone))) { $r_pages_of_module_by_zone[$i_zone] = 0; $r_zones_to_find[$i_zone] = true; } if (isset ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['datNhDetails'][0]['Sortierung'] as $i_element => $x) if (fncDatensatz ('DsAktiv.FZ', $m_vorgaben, array ('datNhDetails', $i_element))) { $t_element = $m_vorgaben['Data']['datNhDetails'][$i_element]['Type']; $t_type = $m_vorgaben['Data']['datTypen'][$t_element]['Element']; if ($t_type == $t_type_modul) { $i_page = $m_vorgaben['Data']['datNhDetails'][$i_element]['Besitzer']; if (fncDatensatz ('DsAktiv.FZ', $m_vorgaben, array ('xdbNhKp', $i_page))) { $r_modul_pages[$i_page] = true; } } } if (isset ($m_vorgaben['Data']['xdbNhKp'][0]['Sortierung'])) if (is_array ($m_vorgaben['Data']['xdbNhKp'][0]['Sortierung'])) foreach ($m_vorgaben['Data']['xdbNhKp'][0]['Sortierung'] as $i_page => $x) if (fncDatensatz ('DsAktiv.FZ', $m_vorgaben, array ('xdbNhKp', $i_page))) if (isset ($r_modul_pages[$i_page])) if ($r_modul_pages[$i_page]) if (isset ($m_vorgaben['Data']['xdbNhKp'][$i_page]['Bereiche'])) { $t_bereiche = $m_vorgaben['Data']['xdbNhKp'][$i_page]['Bereiche']; if (!$t_bereiche) { if ($r_zones_to_find[0]) { $r_pages_of_module_by_zone[0] = $i_page; $r_zones_to_find[0] = false; } } else { $r_zones_of_page = explode ('|', $t_bereiche); foreach ($r_zones_of_page as $i_zone) if (isset ($r_zones_to_find[$i_zone])) if ($r_zones_to_find[$i_zone]) { $r_pages_of_module_by_zone[$i_zone] = $i_page; $r_zones_to_find[$i_zone] = false; } } } unset ($r_zones_of_page); unset ($r_modul_pages); unset ($r_zones_to_find); } function setPage (& $m_vorgaben) { # filtere aktive Inhalte fncFilter ('fltDatenbank.O', $m_vorgaben, array ('xdbNhKp')); fncFilter ('fltDatenbank.S', $m_vorgaben, array ('xdbNhKp')); fncFilter ('fltDatenbank.O', $m_vorgaben, array ('datNhBereiche')); # validiere Page & Co. $_REQUEST[PAGE] = validRecord ($_REQUEST[PAGE], $m_vorgaben['Data']['xdbNhKp']); $_REQUEST[ZONE] = validRecord ($_REQUEST[ZONE], $m_vorgaben['Data']['datNhBereiche']); # URL-Umleitung auf Bereich? redirectToZone ($_REQUEST[ZONE], $m_vorgaben['Data']['datNhBereiche']); # Suchwort gesetzt? if (0) { ### checken --> wurde so übernommen ### # # # Suchwort gesetzt? if (is_array ($m_vorgaben['AktiveSprachen'])) foreach ($m_vorgaben['AktiveSprachen'] as $krzSprache) { if (isset ($_REQUEST[(SEARCH . '-' . $krzSprache)]) and $_REQUEST[(SEARCH . '-' . $krzSprache)] and $m_vorgaben['curModPages'][$m_vorgaben['curLang']][$m_vorgaben['curZone']]['lmnSuche.']) { $_REQUEST[PAGE] = $m_vorgaben['curModPages'][$m_vorgaben['curLang']][$m_vorgaben['curZone']]['lmnSuche.']; } } # # ############################### } # Kategorie gesetzt? if (0) { } # schaue alle Module durch, ob ein Item angefordert wurde if (!$_REQUEST[PAGE]) { $t_modul_kurz = ''; $t_modul_option = ''; $t_datenbank = ''; $t_var_item = ''; $t_type_modul = ''; $i_item = ''; $t_item_zones = ''; $i_page = ''; $i_zone = ''; foreach ($m_vorgaben['r_module'] as $t_modul_kurz => $t_modul_option) { $t_datenbank = 'xdb' . $t_modul_kurz . 'Kp'; $t_var_item = 'var' . $t_modul_kurz . 'Item'; $t_type_modul = 'lmnModul.' . $t_modul_option; # wurde für dieses Modul ein Item angefordert? if (isset ($_REQUEST[$m_vorgaben['regVars'][$t_var_item]])) if ($_REQUEST[$m_vorgaben['regVars'][$t_var_item]]) { $i_item = $_REQUEST[$m_vorgaben['regVars'][$t_var_item]]; # wenn ja, dann entsprechende Datenbank lesen & filtern fncDatenbank ('dtbLesen', $m_vorgaben, array ($t_datenbank)); fncFilter ('fltDatenbank.O', $m_vorgaben, array ($t_datenbank)); # existiert das angeforderte Item? if (isset ($m_vorgaben['Data'][$t_datenbank][$i_item]['+flt'])) if ($m_vorgaben['Data'][$t_datenbank][$i_item]['+flt']) { # Item existiert und ist online, finde gesetzte(s) Modul(e) $r_modul_pages_by_zones = array (); findModulPagesByZone ($r_modul_pages_by_zones, $m_vorgaben, $t_type_modul); # finde passendes Modul $t_item_zones = (isset ($m_vorgaben['Data'][$t_datenbank][$i_item]['Bereiche'])) ? $m_vorgaben['Data'][$t_datenbank][$i_item]['Bereiche'] : ''; if (!$t_item_zones) { # erste gültige Modulseite wird übernommen, Reihenfolge: 1. außerhalb Bereiche oder 2. innerhalb irgendeines Bereiches foreach ($r_modul_pages_by_zones as $i_page) if ($i_page) { $_REQUEST[PAGE] = $i_page; break; } } else { $r_item_zones = array (); $r_item_zones = explode ('|', $t_item_zones); # in diesem Bereich foreach ($r_item_zones as $i_zone) { $i_page = $r_modul_pages_by_zones[$i_zone]; if ($i_page) { $_REQUEST[PAGE] = $i_page; break; } } # oder außerhalb Bereiche if (!$i_page) { $_REQUEST[PAGE] = $r_modul_pages_by_zones[0]; } unset ($r_item_zones); } unset ($r_modul_pages_by_zones); } else { # Item existiert und ist offline # dann versuche die Kategorie des Items aufzurufen # oder den Bereich des Items } } } } # Seite gesetzt? if ($_REQUEST[PAGE]) { # finde Bereich $_REQUEST[ZONE] = findZoneByPage ($_REQUEST[PAGE], $m_vorgaben['Data']['xdbNhKp'], $m_vorgaben['Data']['datNhBereiche'], $_REQUEST[ZONE]); } # Bereich gesetzt aber keine Seite? if (!$_REQUEST[PAGE]) if ($_REQUEST[ZONE]) { # finde Seite $_REQUEST[PAGE] = findFirstPageOfZone ($_REQUEST[ZONE], $m_vorgaben['Data']['xdbNhKp']); } # wenn kein Vorspann vereinbart, dann zur Startseite if (!$_REQUEST[PAGE]) if (!fncVorgaben ($m_vorgaben, 'ObVorspann.R')) { $_REQUEST[PAGE] = findFirstPage ($m_vorgaben['Data']['xdbNhKp'], $m_vorgaben['curLang']); $_REQUEST[ZONE] = findZoneByPage ($_REQUEST[PAGE], $m_vorgaben['Data']['xdbNhKp'], $m_vorgaben['Data']['datNhBereiche'], $_REQUEST[ZONE]); } # übernehmen $m_vorgaben['curPage'] = $_REQUEST[PAGE]; $m_vorgaben['curZone'] = $_REQUEST[ZONE]; # Inhalte nach aktuellem Bereich filtern fncFilter ('fltDatenbank.X', $m_vorgaben, array ('xdbNhKp', 'Bereiche', $m_vorgaben['curZone'])); # Menü Sichtbarkeiten bestimmen prepareNavigation ($m_vorgaben['Data']['xdbNhKp'], $m_vorgaben['curPage']); } function prepareNavigation (& $m_inhalte, $i_cur_page) { $i_page = ''; $i_papa_page = ''; $r_unterpunkte = array (); $i_unterpunkt = ''; $i_page_before = ''; # sichtbare Seiten und die aktuelle Seite bestimmen if (isset ($m_inhalte[0]['Sortierung'])) if (is_array ($m_inhalte[0]['Sortierung'])) foreach ($m_inhalte[0]['Sortierung'] as $i_page => $x) { if ($m_inhalte[$i_page]['+flt']) { # H-Punkte alle sichtbar if (!$m_inhalte[$i_page]['Hierarchie']) { $m_inhalte[$i_page]['+nvgVisible'] = 1; } # Aktuelle Seite und ggf. darüber-/darunterliegende Ebenen markieren if ($i_page == $i_cur_page) { $m_inhalte[$i_page]['+nvgVisible'] = 1; if ($m_inhalte[$i_page]['Hierarchie']) { $m_inhalte[$i_page]['+u1Visible'] = 1; } $m_inhalte[$i_page]['+nvgCurrent'] = 1; $m_inhalte[$i_page]['+nvgOpen'] = 1; # darüberliegende Ebenen markieren $i_papa_page = $m_inhalte[$i_page]['Hierarchie'] / 1; while ($i_papa_page) { $m_inhalte[$i_papa_page]['+nvgVisible'] = 1; if ($m_inhalte[$i_papa_page]['Hierarchie']) { $m_inhalte[$i_papa_page]['+u1Visible'] = 1; } $m_inhalte[$i_papa_page]['+nvgOpen'] = 1; $i_papa_page = $m_inhalte[$i_papa_page]['Hierarchie'] / 1; } } } } if (isset ($m_inhalte[0]['Sortierung'])) if (is_array ($m_inhalte[0]['Sortierung'])) foreach ($m_inhalte[0]['Sortierung'] as $i_page => $x) { if ($m_inhalte[$i_page]['+flt']) if (isset ($m_inhalte[$i_page]['+nvgOpen']) and $m_inhalte[$i_page]['+nvgOpen']) { # Unter offenen Punkten die nächsttiefere Ebene auch sichtbar machen if (isset ($m_inhalte[$i_page]['+ntrHierarchie']) and $m_inhalte[$i_page]['+ntrHierarchie']) { $r_unterpunkte = explode (',', $m_inhalte[$i_page]['+ntrHierarchie']); if (is_array ($r_unterpunkte)) foreach ($r_unterpunkte as $i_unterpunkt) if (isset ($m_inhalte[$i_unterpunkt]['+flt'])) if ($m_inhalte[$i_unterpunkt]['+flt']) if ($m_inhalte[$i_unterpunkt]['+mbnHierarchie'] == (1 + $m_inhalte[$i_page]['+mbnHierarchie'])) { $m_inhalte[$i_unterpunkt]['+nvgVisible'] = 1; $m_inhalte[$i_unterpunkt]['+u1Visible'] = 1; } unset ($r_unterpunkte); } } } # für Menüformatierung, Sockelbereiche ermitteln if (isset ($m_inhalte[0]['Sortierung'])) if (is_array ($m_inhalte[0]['Sortierung'])) foreach ($m_inhalte[0]['Sortierung'] as $i_page => $x) { if ($m_inhalte[$i_page]['+flt']) if (isset ($m_inhalte[$i_page]['+nvgVisible'])) if ($m_inhalte[$i_page]['+nvgVisible']) { $m_inhalte[$i_page]['+nvgSockel'] = 1; if ($i_page_before) { if ( ( $m_inhalte[$i_page]['+mbnHierarchie'] > $m_inhalte[$i_page_before]['+mbnHierarchie'] ) or ( $m_inhalte[$i_page]['+mbnHierarchie'] and $m_inhalte[$i_page]['+mbnHierarchie'] == $m_inhalte[$i_page_before]['+mbnHierarchie'] ) ) { $m_inhalte[$i_page_before]['+nvgSockel'] = 0; } } $i_page_before = $i_page; } } } function redirectToZone (& $i_cur_zone, $m_bereiche) { $i_zone = ''; $x = ''; if (!$_SERVER['REQUEST_URI'] or $_SERVER['REQUEST_URI'] == '/') if (isset ($m_bereiche[0]['Sortierung'])) foreach ($m_bereiche[0]['Sortierung'] as $i_zone => $x) if (isset ($m_bereiche[$i_zone]['+flt'])) if ($m_bereiche[$i_zone]['+flt']) if ($m_bereiche[$i_zone]['Umleitung']) if (mb_stristr ($_SERVER['SERVER_NAME'], $m_bereiche[$i_zone]['Umleitung'])) { $i_cur_zone = $i_zone; } unset ($m_bereiche); } function validRecord ($i_datensatz, $m_datenbank) { if (!isset ($m_datenbank[$i_datensatz]['+flt']) or !$m_datenbank[$i_datensatz]['+flt']) { $i_datensatz = ''; } unset ($m_datenbank); return $i_datensatz; } function findFirstPage ($m_inhalte, $t_lang) { $i_page = ''; $i_first_page = ''; $x = ''; foreach ($m_inhalte[0]['Sortierung'] as $i_page => $x) if (isset ($m_inhalte[$i_page]['+flt'])) if ($m_inhalte[$i_page]['+flt']) if (isset ($m_inhalte[$i_page]['ObAktiv'])) if ($m_inhalte[$i_page]['ObAktiv'] == 1) if ($m_inhalte[$i_page]['Sprache'] == $t_lang) { # merke erste gültige Seite if (!$i_first_page) { $i_first_page = $i_page; } # wenn Startseite gesetzt, dann zurück if ($m_inhalte[$i_page]['ObStartseite']) { unset ($m_inhalte); return $i_page; } } # sonst gib erste Seite zurück unset ($m_inhalte); return $i_first_page; } function findZoneByPage ($i_page, $m_inhalte, $m_bereiche, $i_cur_zone) { $i_zone = ''; $i_first_zone = ''; $r_bereiche = array (); # übernehme Bereiche der Seite if (isset ($m_inhalte[$i_page]['Bereiche'])) { $r_bereiche = explode ('|', $m_inhalte[$i_page]['Bereiche']); } unset ($m_inhalte); // var_dump ($i_page); // var_dump ($r_bereiche); # finde den ersten aktiven Bereich foreach ($r_bereiche as $i_zone) if (isset ($m_bereiche[$i_zone]['+flt'])) if ($m_bereiche[$i_zone]['+flt']) { # merke ersten gültigen Bereich if (!$i_first_zone) { $i_first_zone = $i_zone; } # wenn aktueller Bereich mitgeliefert, versuche zu erhalten if ($i_cur_zone) if ($i_zone == $i_cur_zone) { # dann gib diesen zurück unset ($m_bereiche); unset ($r_bereiche); return $i_zone; } } # sonst gib ersten Bereich zurück unset ($m_bereiche); unset ($r_bereiche); return $i_first_zone; } function findFirstPageOfZone ($i_zone, $m_inhalte) { $i_page = ''; $t_needle = '|' . $i_zone . '|'; $t_haystack = ''; $x = ''; # finde die Seite, wo der Bereich zum ersten Mal auftaucht foreach ($m_inhalte[0]['Sortierung'] as $i_page => $x) if (isset ($m_inhalte[$i_page]['+flt'])) if ($m_inhalte[$i_page]['+flt']) { $t_haystack = '|' . $m_inhalte[$i_page]['Bereiche'] . '|'; if (mb_strstr ($t_haystack, $t_needle)) { # die wird zurückgegeben nach Aufräumen unset ($m_inhalte); return $i_page; } } } function fncMuster ($AktOpt, $Vorgaben, $Parameter) { /* Aktion $Ergebnis = fncMuster ("Aktion.Optionen", $Vorgaben, array ()); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "Aktion": { list ($Parameter1, $Parameter2) = $Parameter; unset ($Parameter); # Debug //$dbgInfo = "fncMuster"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "Parameter1"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $HTML = array (); if (mb_strstr ($Optionen, "A")) { } $Ergebnis = implode ("\n", $HTML); $Vorgaben["htmRumpf"][] = implode ("\n", $HTML); unset ($HTML); $Ergebnis = $Vorgaben; unset ($Vorgaben); } break; } return $Ergebnis; } function fncVorgaben ($Vorgaben, $FeldOpt) { /* $Ergebnis = fncVorgaben ($Vorgaben, "Feld.N"); */ list ($fldFeld, $optFeld) = explode (".", $FeldOpt . "."); // unset ($Parameter); // debug (" fncVorgaben"); // $_d = '$FeldOpt'; debugVariable ($_d = substr ($_d, 1), $$_d,'lmndka'); // $_d = '$fldFeld'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$optFeld'; debugVariable ($_d = substr ($_d, 1), $$_d); $Ergebnis = fncFeld ("dtfWert." . $optFeld, $Vorgaben, array ("datVorgaben", 1, $fldFeld)); // debug (" fncVorgaben"); // $_d = '$Ergebnis'; debugVariable ($_d = substr ($_d, 1), $$_d,'lmndka'); // $d_version = $Vorgaben['Version']; // $_d = '$d_version'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$optFeld'; debugVariable ($_d = substr ($_d, 1), $$_d); unset ($Vorgaben); return $Ergebnis; } function fncJavaScript ($AktOpt, $Parameter) { /* Fenster $JS = fncJavaScript ("Fenster.Optionen", array (Ziel, FenstergrößeBxH, txtConfirm)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "Fenster": { /* B - scrollbars=yes C - vorher Confirm L - location=yes M - menubar=yes R - resizable=yes S - status=yes T - toolbar=yes */ list ($Ziel, $FensterGr, $txtConfirm) = $Parameter; unset ($Parameter); list ($FnBr, $FnHh) = explode ("x", $FensterGr); if (!$FnBr) { $FnBr = 330; } if (!$FnHh) { $FnHh = 530; } $Sammler = array (); // sammle JsOptionen $Sammler[] = "width=" . $FnBr; $Sammler[] = "height=" . $FnHh; if (mb_strstr ($Optionen, "L")) // location { $Sammler[] = "location=yes"; } else { $Sammler[] = "location=no"; } if (mb_strstr ($Optionen, "M")) // menubar { $Sammler[] = "menubar=yes"; } else { $Sammler[] = "menubar=no"; } if (mb_strstr ($Optionen, "T")) // toolbar { $Sammler[] = "toolbar=yes"; } else { $Sammler[] = "toolbar=no"; } if (mb_strstr ($Optionen, "R")) // resizable { $Sammler[] = "resizable=yes"; } else { $Sammler[] = "resizable=no"; } if (mb_strstr ($Optionen, "B")) // scrollbars { $Sammler[] = "scrollbars=yes"; } else { $Sammler[] = "scrollbars=no"; } if (mb_strstr ($Optionen, "S")) // status { $Sammler[] = "status=yes"; } else { $Sammler[] = "status=no"; } $jsOptionen = implode (",", $Sammler); unset ($Sammler); $JS = array (); if (mb_strstr ($Optionen, "C")) // Confirm { $JS[] = "if (confirm ('" . $txtConfirm . "')) "; $JS[] = "{ "; } $JS[] = "if (navigator.userAgent.indexOf('Chrome/') > 0) "; $JS[] = "{ "; $JS[] = "if (window.jsExtraFenster) "; $JS[] = "{ "; $JS[] = "window.jsExtraFenster.close(); "; $JS[] = "window.jsExtraFenster = null; "; $JS[] = "} "; $JS[] = "} "; $JS[] = "window.jsExtraFenster = window.open ('" . $Ziel . "', '', '" . $jsOptionen . "'); "; $JS[] = "window.jsExtraFenster.focus(); "; if (mb_strstr ($Optionen, "C")) // Confirm { $JS[] = "} "; } $Ergebnis = implode ("\n", $JS); unset ($JS); } break; } return $Ergebnis; } function fncAmbiente ($AktOpt, & $Vorgaben, $Parameter) { /* ItemValidieren fncAmbiente ("ItemValidieren", $Vorgaben, array ()); Setzen fncAmbiente ("Setzen", $Vorgaben, array ()); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "ItemValidieren": { unset ($Parameter); if (!isset ($_REQUEST[RECORD])) { $_REQUEST[RECORD] = 0; } if ($datDatenbank = $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["ObItem"]) if (!isset ($Vorgaben["Data"][$datDatenbank][$_REQUEST[RECORD]][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) or !$Vorgaben["Data"][$datDatenbank][$_REQUEST[RECORD]][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $_REQUEST[RECORD] = 0; } } break; case "Setzen": { unset ($Parameter); # Debug // //$dbgInfo = "Ambiente setzen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // echo var_dump($_REQUEST); // echo var_dump($Vorgaben["Benutzer"]["BenutzerID"]); # Ambiente laden fncDatenbank ("dtbLesen", $Vorgaben, array ("datAmbiente")); # Ambiente ändern if ($Vorgaben["Benutzer"]["BenutzerID"]) if (isset ($_REQUEST[AMBIENTE])) if ($knnSymbolleiste = $_REQUEST[AMBIENTE]) { # Debug // //$dbgInfo = "Ambiente gesetzt!"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); if (is_array ($Vorgaben["Data"]["datSmElemente"])) foreach ($Vorgaben["Data"]["datSmElemente"] as $idID => $tmp) if ($Vorgaben["Data"]["datSmElemente"][$idID]["Besitzer"] == $knnSymbolleiste) { # Debug // //$dbgInfo = "Ambiente geschwooft!"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); list ($tmp, $smbOptionen) = explode (".", $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"]["datSmElemente"][$idID]["Type"]]["Element"]); if (mb_strstr (mb_strtoupper ($smbOptionen), "F") or mb_strstr (mb_strtoupper ($smbOptionen), "G")) // Filter oder Gruppierer { list ($filVariable) = explode ("|", $Vorgaben["Data"]["datSmElemente"][$idID]["Inhalt"]); $filVariable = trim ($filVariable); if (isset ($_REQUEST[$filVariable])) { $filWert = $_REQUEST[$filVariable]; } else { $filWert = ""; } funDatenbank ("datAendern", $Vorgaben, array ("datAmbiente", $Vorgaben["Benutzer"]["BenutzerID"] . "|" . $filVariable, "Wert", $filWert)); # Debug // //$dbgInfo = "Ambiente setzen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $dbgBenutzerID = $Vorgaben["Benutzer"]["BenutzerID"]; // //$dbgVariable = "dbgBenutzerID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "filVariable"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "filWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } } unset ($tmp); $_REQUEST["OpenCoord"] = ""; $_REQUEST["ChangeCoord"] = ""; } $_REQUEST[AMBIENTE] = 0; } break; } return $Vorgaben; } function fncDatenbank ($AktOpt, & $Vorgaben, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "dtbSchreiben": { $Parameter[] = ""; list ($datDatenbank) = $Parameter; unset ($Parameter); $ObSchreiben = 0; if ($datDatenbank) // nur diese DB schreiben { $Vorgaben["SchreibeDatenbanken"] = array ($datDatenbank => 1); $ObSchreiben = 1; } else // alle zum Schreiben gekennzeichnetetn DBs schreiben { if (isset ($Vorgaben["SchreibeDatenbanken"])) if (is_array ($Vorgaben["SchreibeDatenbanken"])) foreach ($Vorgaben["SchreibeDatenbanken"] as $datDatenbank => $ob) if ($ob) { $ObSchreiben = 1; } } # Debug // //$dbgInfo = "dtbSchreiben"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $vgSchreibeDatenbanken = $Vorgaben["SchreibeDatenbanken"]; // //$dbgVariable = "vgSchreibeDatenbanken"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "ObSchreiben"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($ObSchreiben) { # dieses Flag erzwingt das Neulesen der DB, keine Erfolgsmarkierung! $Vorgaben["ObGeschrieben"] = 1; # exklusive Dateiendung im Archivordner bestimmen und mittels Datei blockieren $dtExklusiv = fncOrdner ("rdnExklusivname.HE", array ($Vorgaben["Ordner"]["Archiv"], 3)); if (fncDatei ("fdtSchreiben.", array ($Vorgaben["Ordner"]["Archiv"] . ".ht_tmp." . $dtExklusiv))) { # Datenbanken schreiben if (is_array ($Vorgaben["SchreibeDatenbanken"])) foreach ($Vorgaben["SchreibeDatenbanken"] as $datDatenbank => $ob) if ($ob) { $pfdDatenbank = $Vorgaben["Pfade"][$datDatenbank]; if ($pfdDatenbank) { # Debug //$dbgInfo = "flip"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $regKopfzeile = array (); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"] as $Feld => $ObPhysisch) if ($ObPhysisch) { $regKopfzeile[] = $Feld; } # Reihenfolge erstellen, ggf. Ids einfügen $regReihenfolge = fncReihenfolge ("IdsEinfuegen", $Vorgaben, array ($datDatenbank)); # Reihenfolge nach Sprachen sortieren $regReihenfolge = fncReihenfolge ("rflSprache", $Vorgaben, array ($datDatenbank, $regReihenfolge)); # Reihenfolge entsprechend Hierarchie zusortieren $regReihenfolge = fncReihenfolge ("rflHierarchie", $Vorgaben, array ($datDatenbank, $regReihenfolge)); # debug // echo var_dump ($datDatenbank); # CSV erzeugen $CSV = array (); $CSV[] = "\"" . implode ("\";\"", $regKopfzeile) . "\""; if (is_array ($regReihenfolge)) foreach ($regReihenfolge as $ID) { $regDatensatz = array (); for ($Z = 0; isset ($regKopfzeile[$Z]) and $regKopfzeile[$Z]; $Z++) { if (!isset ($Vorgaben["Data"][$datDatenbank][$ID][$regKopfzeile[$Z]])) { $Vorgaben["Data"][$datDatenbank][$ID][$regKopfzeile[$Z]] = ""; } $regDatensatz[] = "\"" . $Vorgaben["Data"][$datDatenbank][$ID][$regKopfzeile[$Z]] . "\""; } $CSV[] = implode (";", $regDatensatz); unset ($regDatensatz); } unset ($regReihenfolge); unset ($regKopfzeile); # schreibe Datei und Backup fncDatei ("fdtSchreiben.B", array ($pfdDatenbank, $CSV, $Vorgaben["Ordner"]["Archiv"], $dtExklusiv, fncVorgaben ($Vorgaben, "ArchivZahl"))); unset ($CSV); } $Vorgaben["SchreibeDatenbanken"][$datDatenbank] = 0; } # LOCK-Datei entsorgen fncDatei ("fdtEntfernen.", array ($Vorgaben["Ordner"]["Archiv"] . ".ht_tmp." . $dtExklusiv)); } } } break; case "dtbStatistik": { /* S - sortiert nach regSortierung */ list ($datDatenbank, $fldFeld, $regSortierung) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "S")) if (is_array ($regSortierung)) foreach ($regSortierung as $idID => $tmp) { $Vorgaben["Data"][$datDatenbank][0]["+Statistik"][$fldFeld][$idID] = 0; } $zhlNull = 0; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID))) { $wrtWert = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); # debug // var_dump ($fldFeld); // var_dump ($wrtWert); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "wrtWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgWert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; // //$dbgVariable = "dbgWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $wrtWerte = array (); switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { case "dftDbOptionen": { $wrtWerte = explode ("|", $wrtWert); } break; default: { $wrtWerte = array ($wrtWert); } break; } foreach ($wrtWerte as $wrtWert) { if (!$wrtWert) // Null separat sammeln und ans Ende stellen { $zhlNull++; } else { $Vorgaben["Data"][$datDatenbank][0]["+Statistik"][$fldFeld][$wrtWert]++; } } } if ($zhlNull) { $Vorgaben["Data"][$datDatenbank][0]["+Statistik"][$fldFeld][0] = $zhlNull; } } break; case "dtbLesen": { /* N - erzwingt Neu lesen, sonst Standard, d.h. keine DB wird 2x gelesen */ $Parameter[] = ""; list ($datDatenbank) = $Parameter; unset ($Parameter); # var $pfdDatenbank = ""; $fldID = ""; if ($datDatenbank) // nur diese DB lesen { $regLeseDatenbanken = array ($datDatenbank); } else // alle zum Lesen gekennzeichneten DBs lesen { $regLeseDatenbanken = explode ("+", $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["LeseDatenbanken"]); } if (is_array ($regLeseDatenbanken)) foreach ($regLeseDatenbanken as $datDatenbank) if (!isset ($Vorgaben["Data"][$datDatenbank][0]["DatenbankName"]) or mb_strstr ($Optionen, "N")) { if (isset ($Vorgaben["Pfade"][$datDatenbank])) { $pfdDatenbank = $Vorgaben["Pfade"][$datDatenbank]; } $Version = fncDatei ("fdtVersion.", array ($pfdDatenbank)); $dtGroesse = fncDatei ("fdtGroesse.", array ($pfdDatenbank)); $Vorgaben["Data"][$datDatenbank] = array (); if (isset ($Vorgaben["System"]["DBTypen"][$datDatenbank])) { $Vorgaben["Data"][$datDatenbank][0] = $Vorgaben["System"]["DBTypen"][$datDatenbank]; } $Vorgaben["Data"][$datDatenbank][0]["DatenbankName"] = $datDatenbank; $Vorgaben["Data"][$datDatenbank][0]["Version"] = $Version; if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldID"])) { $fldID = $Vorgaben["Data"][$datDatenbank][0]["fldID"]; } if (isset ($Vorgaben["System"]["DBTypen"][$datDatenbank]["enzID"])) { $enzID = $Vorgaben["System"]["DBTypen"][$datDatenbank]["enzID"]; } else { $enzID = ""; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"])) { $fldBetrefftext = $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"]; } else { $fldBetrefftext = ""; } $Vorgaben["Data"][$datDatenbank][0]["Sortierfelder"] = $fldBetrefftext; # bedingt diese DB weitere DBs? if (isset ($Vorgaben["Data"][$datDatenbank][0]["bedingtDBs"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["bedingtDBs"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["bedingtDBs"] as $bedDatenbank) { fncDatenbank ("dtbLesen", $Vorgaben, array ($bedDatenbank)); } if (isset ($Vorgaben["System"]["DBTypen"][$datDatenbank])) if ($Vorgaben["System"]["DBTypen"][$datDatenbank]) if ($pfdDatenbank) if (is_file ($pfdDatenbank)) { if ($hndDatei = fopen ($pfdDatenbank, "r")) { # physische Kopfzeile lesen $regPhysischeKopfzeile = array (); $zhlVersuche = 0; // while (!$regPhysischeKopfzeile[0] and $zhlVersuche < 99) // { // $zhlVersuche++; // $regPhysischeKopfzeile = fgetcsv ($hndDatei, $dtGroesse, ";"); // } do { $regPhysischeKopfzeile = fgetcsv ($hndDatei, $dtGroesse, ";"); } while (!$regPhysischeKopfzeile[0] and ++$zhlVersuche < 99); # Werte trimmen $zhlSpalten = count ($regPhysischeKopfzeile); for ($Z = 0; $Z < $zhlSpalten; $Z++) { $regPhysischeKopfzeile[$Z] = trim ($regPhysischeKopfzeile[$Z]); } # Spaltennummern merken $regSpaltenNr = array_flip ($regPhysischeKopfzeile); unset ($regPhysischeKopfzeile); # Datensätze einlesen $Vorgaben["Data"][$datDatenbank][0]["AktiveDs"] = 0; while ($regWerte = fgetcsv ($hndDatei, $dtGroesse, ";")) { $regDatensatz = array (); if (isset ($regSpaltenNr[$fldID]) and trim ($regWerte[$regSpaltenNr[$fldID]])) { if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"] as $Feld => $ObPhysisch) if ($ObPhysisch) if (isset ($regSpaltenNr[$Feld])) if (isset ($regWerte[$regSpaltenNr[$Feld]])) { $regDatensatz[$Feld] = trim ($regWerte[$regSpaltenNr[$Feld]]); } if (!$enzID or $regDatensatz[$fldID] == $enzID) { # Datensatz übergeben $Vorgaben["Data"][$datDatenbank][$regDatensatz[$fldID]] = $regDatensatz; # Datensatz sichtbar schalten $Vorgaben["Data"][$datDatenbank][$regDatensatz[$fldID]]["+flt"] = 1; $Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]++; # ID an Sortierung übergeben $Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$regDatensatz[$fldID]] = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $regDatensatz[$fldID], $fldBetrefftext)); } } unset ($regDatensatz); } unset ($regSpaltenNr); unset ($regWerte); fclose ($hndDatei); } } # StandardSchattenFelder erzeugen funDatenbank ("SchattenFelder.Standard", $Vorgaben, array ($datDatenbank)); # Trigger $Vorgaben = fncTrigger ("trgDatenbank", $Vorgaben, array ($datDatenbank)); } unset ($regLeseDatenbanken); } break; case "dtbSortieren": { /* R - Rückwärts Z - Zufall */ $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $txtFelderObAb) = $Parameter; unset ($Parameter); # Debug // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtFelderObAb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $obSortierFeld = 0; $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"] = array (); $regFelderObAb = explode ("|", $txtFelderObAb); if (is_array ($regFelderObAb)) foreach ($regFelderObAb as $txtFeldObAb) { if ($txtFeldObAb) { $obSortierFeld = 1; } list ($fldSortierFeld, $obAb) = explode (".", $txtFeldObAb . "."); $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][] = $fldSortierFeld; if ($obAb) { $Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$fldSortierFeld] = 1; } } unset ($regFelderObAb); $regSortierung = array (); if (mb_strstr ($Optionen, "Z")) // Zufall { # IDs sammeln $regSammler = array (); if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $ID => $tmp) { unset ($tmp); if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]])) if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $regSammler[] = $ID; } } if (is_array ($regSammler)) { shuffle ($regSammler); } if (is_array ($regSammler)) foreach ($regSammler as $ID) { $regSortierung[$ID] = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $ID, $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0])); } unset ($regSammler); } else { # Debug // //$dbgVariable = "obSortierFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # SchattenFelder erzeugen $regSchattenWerte = array (); if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $ID => $tmp) { unset ($tmp); if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]])) if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"] as $fldSortierFeld) switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldSortierFeld))) { case "dftDatum": // nicht belegte Datumswerte immer ans Ende { if ((!isset ($Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$fldSortierFeld]) or !$Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$fldSortierFeld]) and !fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $ID, $fldSortierFeld))) // aufwärts und Wert ist Null { $regSchattenWerte[$ID][$fldSortierFeld] = "99999999"; } else { $regSchattenWerte[$ID][$fldSortierFeld] = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $ID, $fldSortierFeld)); } } break; case "dftZahl": case "dftBetrag": { $regSchattenWerte[$ID][$fldSortierFeld] = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $ID, $fldSortierFeld)) / 1; } break; default: // auch für natürliche Sortierung, also ohne Sortierfeld { $regSchattenWerte[$ID][$fldSortierFeld] = fncText ("ftxSchattenwert", array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $ID, $fldSortierFeld)))); } break; } } # Debug // //$dbgVariable = "regSchattenWerte"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Reihenfolge der Sortierfelder umdrehen if (is_array ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"])) { $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"] = array_reverse ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"]); } # Werte ziehen für das erste Feld if (is_array ($regSchattenWerte)) foreach ($regSchattenWerte as $ID => $tmp) { unset ($tmp); $regSortierung[$ID] = $regSchattenWerte[$ID][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0]]; } # Debug // //$dbgVariable = "regSchattenWerte"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Werte sortieren if ($obSortierFeld) if (is_array ($regSortierung)) { if (isset ($Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0]]) and $Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0]]) { arsort ($regSortierung); } else { asort ($regSortierung); } } # Debug // //$dbgVariable = "regSortierung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); for ($Z = 1; isset ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][$Z]) and $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][$Z]; $Z++) // weitere SortierFelder? { # Werteliste für Feld ziehen (ohne Duplikate) $regGruppierung = array (); if (is_array ($regSchattenWerte)) foreach ($regSchattenWerte as $ID => $tmp) { unset ($tmp); $regGruppierung[$regSchattenWerte[$ID][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][$Z]]] = $ID; } if (is_array ($regGruppierung)) if (isset ($Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][$Z]]) and $Vorgaben["Data"][$datDatenbank][0]["SortierRichtungen"][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][$Z]]) { krsort ($regGruppierung); } else { ksort ($regGruppierung); } $regMerkeSortierung = $regSortierung; $regSortierung = array (); $regMerkeReste = array (); // regMerkeReste erhöht die Geschwindigkeit if (is_array ($regGruppierung)) foreach ($regGruppierung as $Gruppe => $txt) { if (is_array ($regMerkeSortierung)) foreach ($regMerkeSortierung as $ID => $txt) if ($regSchattenWerte[$ID][$Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][$Z]] == $Gruppe) { $regSortierung[$ID] = $ID; } else { $regMerkeReste[$ID] = $regMerkeSortierung[$ID]; } $regMerkeSortierung = $regMerkeReste; } unset ($regMerkeReste); unset ($regMerkeSortierung); } unset ($regSchattenWerte); # Debug // //$dbgVariable = "regSortierung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # dies ist nur noch für Debugzwecke interessant: Klartexte an die IDs hängen, der Übersichtlichkeit wegen $Z = 0; if (is_array ($regSortierung)) foreach ($regSortierung as $ID => $X) { # Debug // //$dbgVariable = "ID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "X"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $regMerkeWerte = array (); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"] as $fldSortierFeld) { $regMerkeWerte[] = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $ID, $fldSortierFeld)); } if ($obSortierFeld) // wenn nach Feld sortiert wurde { $regSortierung[$ID] = implode (" > ", $regMerkeWerte); } else // natürliche Reihenfolge wie in DB, dann aufsteigend mit lfd. Nummer versehen, wird für das Ändern der Reihenfolge benötigt { $regSortierung[$ID] = $Z++; } unset ($regMerkeWerte); } } # Debug // //$dbgVariable = "regSortierung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Rückwärts? if (mb_strstr ($Optionen, "R")) { $regSortierung = array_reverse ($regSortierung, true); } # Debug // //$dbgVariable = "regSortierung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Vorgaben["Data"][$datDatenbank][0]["Sortierung"] = $regSortierung; unset ($regSortierung); } break; case "dtbGruppieren": { $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $vrbFilter) = $Parameter; unset ($Parameter); # var # debug // echo var_dump ($vrbFilter); // echo var_dump ($_REQUEST[$vrbFilter] ); if (!isset ($_REQUEST[$vrbFilter])) { $_REQUEST[$vrbFilter] = ""; } # Debug // //$dbgVariable = "___dtbGruppieren"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($vrbFilter) { $fldGruppieren = $_REQUEST[$vrbFilter]; } else { $fldGruppieren = ""; } # debug // echo var_dump ($vrbFilter); // echo var_dump ($_REQUEST[$vrbFilter] ); // echo var_dump ($fldGruppieren); if ($fldGruppieren) { # Flag setzen $Vorgaben["Data"][$datDatenbank][0]["grpOb"] = 1; # Reihenfolge deaktivieren $Vorgaben["Data"][$datDatenbank][0]["ObAenderbar"][$Vorgaben["Data"][$datDatenbank][0]["fldReihenfolge"]] = 0; # Quelle switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldGruppieren))) { default: { $dbQuelle = $datDatenbank; $flVrgQuelle = $fldGruppieren; $flWrtQuelle = $fldGruppieren; $srtQuelle = ""; } break; case "dftBetrag": { $dbQuelle = $datDatenbank; $flVrgQuelle = $fldGruppieren; $flWrtQuelle = $fldGruppieren; $srtQuelle = "Z"; } break; case "dftDbAuswahl": { list ($dbQuelle, $flWrtQuelle, $srtQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldGruppieren]); $flVrgQuelle = $Vorgaben["Data"][$datDatenbank][0]["fldID"]; $srtQuelle = ""; } break; } # Register ziehen & sortieren $Vorgaben["Data"][$datDatenbank][0]["grpGruppen"] = fncRegister ("rgsZiehen.FN", array ($Vorgaben, $dbQuelle, $flVrgQuelle, $flWrtQuelle)); $Vorgaben["Data"][$datDatenbank][0]["grpGruppen"] = fncRegister ("rgsSortieren.N" . $srtQuelle, array ($Vorgaben["Data"][$datDatenbank][0]["grpGruppen"])); $zhlSeite = $_REQUEST[$Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"]]; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite] as $idID => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID))) { if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldGruppieren))) { if (!isset ($Vorgaben["Data"][$datDatenbank][0]["grpAnzahl"][fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldGruppieren))])) { $Vorgaben["Data"][$datDatenbank][0]["grpAnzahl"][fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldGruppieren))] = 0; } else { $Vorgaben["Data"][$datDatenbank][0]["grpAnzahl"][fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldGruppieren))]++; } $Vorgaben["Data"][$datDatenbank][0]["grpSortiert"][fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldGruppieren))][$idID] = $idID; } else { $Vorgaben["Data"][$datDatenbank][0]["grpAnzahl"][0]++; $Vorgaben["Data"][$datDatenbank][0]["grpSortiert"][0][$idID] = $idID; } } } else // keine Gruppierung angefordert, trotzdem Grundversorgung für Blätterfunktion schaffen { # Debug // //$dbgVariable = "___keine Gruppierung angefordert, trotzdem Grundversorgung für Blätterfunktion schaffen, für"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $zhlSeite = $_REQUEST[$Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"]]; if (isset ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite] as $idID => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID))) { $Vorgaben["Data"][$datDatenbank][0]["grpSortiert"][0][$idID] = $idID; } $Vorgaben["Data"][$datDatenbank][0]["grpGruppen"][0] = 1; } # debug // echo var_dump ($Vorgaben["Data"][$datDatenbank][0]); } break; } // return $Vorgaben; } function fncReihenfolge ($AktOpt, $Vorgaben, $Parameter) { /* rflSprache $Reihenfolge = fncReihenfolge ("rflSprache", $Vorgaben, array ($datDatenbank, $Reihenfolge)); rflHierarchie $Reihenfolge = fncReihenfolge ("rflHierarchie", $Vorgaben, array ($datDatenbank, $Reihenfolge)); IdsEinfuegen $Reihenfolge = fncReihenfolge ("IdsEinfuegen", $Vorgaben, array ($datDatenbank)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "rflSprache": { list ($datDatenbank, $Ergebnis) = $Parameter; unset ($Parameter); # Debug // //$dbgInfo = "rflSprache"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldSprache"]) and $Vorgaben["Data"][$datDatenbank][0]["fldSprache"]) { $fldSprache = $Vorgaben["Data"][$datDatenbank][0]["fldSprache"]; # Debug // //$dbgInfo = "fldSprache GESETZT"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $tmpReihenfolge = $Ergebnis; $Ergebnis = array (); if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $tmp => $krzSprache) if (is_array ($tmpReihenfolge)) foreach ($tmpReihenfolge as $ID) if ($ID) if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$fldSprache])) if ($krzSprache == $Vorgaben["Data"][$datDatenbank][$ID][$fldSprache]) { $Ergebnis[$ID] = $ID; } unset ($tmpReihenfolge); } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "rflHierarchie": { list ($datDatenbank, $Ergebnis) = $Parameter; unset ($Parameter); # falls Hierachiefeld, dann ggf. die Reihenfolge nochmal entsprechend Hierarchie zusortieren if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]) and $Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]) { $fldHierarchie = $Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]; # Ebenen bereitstellen if (is_array ($Ergebnis)) foreach ($Ergebnis as $ID) if ($ID) { if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$fldHierarchie])) { $idPapa = $Vorgaben["Data"][$datDatenbank][$ID][$fldHierarchie] / 1; } else { $Vorgaben["Data"][$datDatenbank][$ID][$fldHierarchie] = 0; $idPapa = 0; } $Vorgaben["Data"][$datDatenbank][$ID]["+mbnHierarchie"] = 0; // zählt die Ebene 0=Hauptmenü usw. while ($idPapa) { $Vorgaben["Data"][$datDatenbank][$ID]["+mbnHierarchie"]++; if (!isset ($Vorgaben["Data"][$datDatenbank][$idPapa][$fldHierarchie])) { $Vorgaben["Data"][$datDatenbank][$idPapa][$fldHierarchie] = 0; } $idPapa = $Vorgaben["Data"][$datDatenbank][$idPapa][$fldHierarchie] / 1; } } # Zusortieren $wrmReihenfolge = "|"; for ($zhlEbene = 0; $zhlEbene < 99; $zhlEbene++) if (is_array ($Ergebnis)) foreach ($Ergebnis as $ID) if ($ID) if ($Vorgaben["Data"][$datDatenbank][$ID]["+mbnHierarchie"] == $zhlEbene) { if (!$idPapa = $Vorgaben["Data"][$datDatenbank][$ID][$fldHierarchie]) { $wrmReihenfolge .= $ID . "/" . $ID . "|"; } else { $wrmReihenfolge = str_replace ("/" . $idPapa . "|", "|" . $ID . "/" . $ID . "|/" . $idPapa . "|", $wrmReihenfolge); } } unset ($Ergebnis); unset ($Vorgaben); $tmpReihenfolge = explode ("|", $wrmReihenfolge); $Ergebnis = array (); if (is_array ($tmpReihenfolge)) foreach ($tmpReihenfolge as $tmpID) if ($tmpID) { list ($ID) = explode ("/", $tmpID); if ($ID) { $Ergebnis[$ID] = $ID; } } unset ($tmpReihenfolge); } } break; case "IdsEinfuegen": { list ($datDatenbank) = $Parameter; unset ($Parameter); # physische Reihenfolge ermitteln $Ergebnis = fncRegister ("rgsZiehen", array ($Vorgaben, $datDatenbank, $Vorgaben["Data"][$datDatenbank][0]["fldID"], $Vorgaben["Data"][$datDatenbank][0]["fldID"])); # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (isset ($Vorgaben["Data"][$datDatenbank][0]["+Reihenfolge"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["+Reihenfolge"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["+Reihenfolge"] as $ID => $Details) if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $Ergebnis = fncRegister ("rgsIdEinfuegen." . $Details["relPosition"], array ($Ergebnis, $ID, $ID, $Details["idPosition"])); } unset ($Details); unset ($Vorgaben); } break; } return $Ergebnis; } function fncPhrase ($Vorgaben, $Parameter) { /* A - ANSII G - Großschreibung */ $Parameter[] = ""; $Parameter[] = ""; // list ($PhraseOpt, $Sprache) = $Parameter; list ($Ergebnis, $Optionen, $Sprache) = $Parameter; unset ($Parameter); // list ($Ergebnis, $Optionen) = explode (".", $PhraseOpt . "."); if (!$Sprache) { $Sprache = $Vorgaben["curLang"]; } //debug ('fncPhrase'); //$d_nullwert = $Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld]; // $_d = '$PhraseOpt'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$Ergebnis'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$Optionen'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$Sprache'; debugVariable ($_d = substr ($_d, 1), $$_d); $Ergebnis = fncFeld ("dtfWert.", $Vorgaben, array ("datPhPhrasen|" . $Sprache, $Ergebnis, "Phrase")); unset ($Vorgaben); if (mb_strstr ($Optionen, "G")) { $Ergebnis = ucfirst ($Ergebnis); } if (mb_strstr ($Optionen, "A")) { $Ergebnis = utf8_decode ($Ergebnis); } return $Ergebnis; } function fncFollow ($AktOpt, $Vorgaben, $Parameter) { /* flwDatenfeld $NewValue = fncFollow ("flwDatenfeld", $Vorgaben, array ($datDatenbank, $idID, $fldFollow, $NewValue)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "flwDatenfeld": { list ($datDatenbank, $idID, $fldFollow, $NewValue) = $Parameter; unset ($Parameter); if (isset ($Vorgaben["Data"][$datDatenbank][0]["Follow"][$fldFollow])) { list ($flwTyp, $Zusatz1) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Follow"][$fldFollow] . "|"); switch ($flwTyp) { case "flwLaufzeitEnde": { $fldStart = $Zusatz1; $fldEnde = $fldFollow; if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldStart]) and $Vorgaben["Data"][$datDatenbank][$idID][$fldStart] and $NewValue) if ($Vorgaben["Data"][$datDatenbank][$idID][$fldStart] > $NewValue) { $NewValue = $Vorgaben["Data"][$datDatenbank][$idID][$fldStart]; } } break; } } $Ergebnis = $NewValue; unset ($Vorgaben); } break; } return $Ergebnis; } function fncTrigger ($AktOpt, $Vorgaben, $Parameter) { /* trgDatenbank $Vorgaben = fncTrigger ("trgDatenbank", $Vorgaben, array ($datDatenbank, $idID, $fldTrigger)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "trgDatenbank": { $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $idID, $fldTrigger) = $Parameter; unset ($Parameter); if ($fldTrigger) // bestimmtes Feld triggern? { $Vorgaben["Data"][$datDatenbank][0]["curTrigger"][$fldTrigger] = 1; } if (!$idID) // dann ganze Datenbank { if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $idID => $tmp) // if ($idID != $idOpen) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID))) { $Vorgaben = fncTrigger ("trgDatenbank", $Vorgaben, array ($datDatenbank, $idID)); } unset ($tmp); } elseif (is_array ($Vorgaben["Data"][$datDatenbank][0]["curTrigger"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["curTrigger"] as $fldTrigger => $Ob) if ($Ob) { if (isset ($Vorgaben["Data"][$datDatenbank][0]["Trigger"][$fldTrigger])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Trigger"][$fldTrigger])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Trigger"][$fldTrigger] as $txtTrigger) // bestimmter Datensatz { list ($trgTyp, $Zusatz1) = explode ("|", $txtTrigger . "|"); switch ($trgTyp) { case "trgSprache": { # Zielfeld ändern $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]] = 0; # Trigger auf Zielfeld setzen $Vorgaben["Data"][$datDatenbank][0]["curTrigger"][$Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]] = 1; } break; case "trgLaufzeitStart": { $fldStart = $fldTrigger; $fldEnde = $Zusatz1; if ( isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldStart]) and $Vorgaben["Data"][$datDatenbank][$idID][$fldStart] and isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldEnde]) and $Vorgaben["Data"][$datDatenbank][$idID][$fldEnde] ) if ($Vorgaben["Data"][$datDatenbank][$idID][$fldStart] > $Vorgaben["Data"][$datDatenbank][$idID][$fldEnde]) { # Zielfeld ändern $Vorgaben["Data"][$datDatenbank][$idID][$fldEnde] = $Vorgaben["Data"][$datDatenbank][$idID][$fldStart]; # Trigger auf Zielfeld setzen $Vorgaben["Data"][$datDatenbank][0]["curTrigger"][$fldEnde] = 1; } } break; } } $Vorgaben["Data"][$datDatenbank][0]["curTrigger"][$fldTrigger] = 0; } $Ergebnis = $Vorgaben; unset ($Vorgaben); } break; } return $Ergebnis; } function fncFilter ($AktOpt, & $Vorgaben, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "fltDatenbank": { /* A - Archivzeitsteuerung: nach Ende B - Bis-Staffel F - Wert aus Filtervariable lesen, Name via wrtWert K - Kennwort N - Zone/Bereich, nicht exklusiv, für Module ??? O - ObOnOff P - Besitz filtern R - Rohwert filtern (z. B. bei Besitz) S - Sprache (DE/EN) T - ob true V - Von-bis-Staffel X - Zone/Bereich, exklusiv, für Menüpunkte Z - Zeitsteuerung: zwischen Start und Ende */ if (mb_strstr ($Optionen, "P")) // Besitz filtern { $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $idID) = $Parameter; unset ($Parameter); if (!$idID) if (isset ($_REQUEST[RECORD])) { $idID = $_REQUEST[RECORD]; } if ($idID) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Besitz"] as $dbBesitz => $dfBesitz) if ($dfBesitz) { fncFilter ("fltDatenbank.R", $Vorgaben, array ($dbBesitz, $dfBesitz, $idID)); $Vorgaben["Data"][$datDatenbank][$idID]["+AktiveDs-" . $dbBesitz] = $Vorgaben["Data"][$dbBesitz][0]["AktiveDs"]; } } else { $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $txtFelder, $wrtWert, $zhlStaffel, $fldStart, $fldEnde) = $Parameter; unset ($Parameter); # debug // //$dbgInfo = "fltDatenbank"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtFelder"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "wrtWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (!isset ($wrtWert)) { $wrtWert = ""; } if (!isset ($zhlStaffel) or !$zhlStaffel) { $zhlStaffel = 1; } # geöffnetes Feld wird vor Ausfiltern geschützt list ($dbOpen, $idOpen) = explode (",", $_REQUEST["OpenCoord"] . ","); # Wert aus Filtervariable lesen? if (mb_strstr ($Optionen, "F")) { $Optionen .= "R"; // Rohwert lesen und vergleichen if (isset ($_REQUEST[$wrtWert])) { $wrtWert = $_REQUEST[$wrtWert]; } else { $wrtWert = ""; } # Reihenfolge deaktivieren /* wieder rausgenommen if ($wrtWert) { $Vorgaben["Data"][$datDatenbank][0]["ObAenderbar"][$Vorgaben["Data"][$datDatenbank][0]["fldReihenfolge"]] = 0; } */ } $regFelder = explode ("|", $txtFelder); if (mb_strstr ($Optionen, "Z")) // Zeitsteuerung { $optAktiv = "Z"; } elseif (mb_strstr ($Optionen, "A")) // Zeitsteuerung Archiv { $optAktiv = "A"; } else { $optAktiv = ""; } if (mb_strstr ($Optionen, "R")) // Rohwert { $optWert = "R"; } else { $optWert = ""; } if (mb_strstr ($Optionen, "K")) // Kennwort { $Optionen .= "X"; } # Aktive Datensätze - Zähler zurückstzen $Vorgaben["Data"][$datDatenbank][0]["AktiveDs"] = 0; if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $idID => $tmp) { unset ($tmp); # Startwert ist null $ObTreffer = 0; $ObNichtTreffer = 0; // für Kennwort if (!isset ($Vorgaben["Data"][$datDatenbank][$idID]["+flt"])) { $Vorgaben["Data"][$datDatenbank][$idID]["+flt"] = 0; } if ($datDatenbank == $dbOpen and $idID == $idOpen) { $ObTreffer = 1; } elseif (fncDatensatz ("DsAktiv.F" . $optAktiv, $Vorgaben, array ($datDatenbank, $idID, $fldStart, $fldEnde))) { if (is_array ($regFelder)) foreach ($regFelder as $fldFeld) { $dbWert = fncFeld ("dtfWert.R" . $optWert, $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); if (mb_strstr ($Optionen, "K")) { if (mb_strtoupper (strval ($dbWert)) == mb_strtoupper (strval ($wrtWert))) { $ObTreffer = 1; } else { $ObNichtTreffer = 1; } } elseif (mb_strstr ($Optionen, "V")) { if ($dbWert < $wrtWert and $dbWert >= ($wrtWert - $zhlStaffel)) { $ObTreffer = 1; } } elseif (mb_strstr ($Optionen, "B")) { if ($dbWert < $wrtWert) { $ObTreffer = 1; } } elseif (mb_strstr ($Optionen, "T")) // ob true { if ($dbWert) { $ObTreffer = 1; } } elseif (mb_strstr ($Optionen, "N")) // Bereiche/Zone, für Module ??? wird nicht genutzt ??? { if (!$wrtWert or strval ($dbWert) == strval ($wrtWert)) { $ObTreffer = 1; // in Zone 0 sind alle Elemente sichtbar } } elseif (mb_strstr ($Optionen, "X")) { /** * Bereiche/Zone, für Menüpunkte * in Zone 0 nur nicht zugeordnete Elemente */ if (!$dbWert) { $ObTreffer = 1; } else { $r_bereiche = array (); $r_bereiche = explode ("|", $dbWert); foreach ($r_bereiche as $dbWert) { if (($dbWert / 1) == ($wrtWert / 1)) { $ObTreffer = 1; } } unset ($r_bereiche); } } else switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld))) { default: { if ($wrtWert == '!') { if (!$dbWert) { $ObTreffer = 1; } } elseif (strval ($dbWert) == strval ($wrtWert)) { $ObTreffer = 1; } } break; case "dftDbOptionen": { if ($dbWert) { $dbWerte = explode ("|", $dbWert); foreach ($dbWerte as $dbWert) { if ($wrtWert == '!') { if (!$dbWert) { $ObTreffer = 1; } } elseif (strval ($dbWert) == strval ($wrtWert)) { $ObTreffer = 1; } } unset ($dbWerte); } else { if ($wrtWert == '!') { if (!$dbWert) { $ObTreffer = 1; } } elseif (strval ($dbWert) == strval ($wrtWert)) { $ObTreffer = 1; } } } } } if (mb_strstr ($Optionen, "O")) if (strval (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datDatenbank][0]["fldOnOff"]))) != "1") { $ObTreffer = 0; } if (mb_strstr ($Optionen, "S")) if ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]] != $Vorgaben["curLang"]) { $ObTreffer = 0; } if (!mb_strstr ($Optionen, "X") and mb_strstr ($Optionen, "F") and !$wrtWert) // Filter auf 'alle' gesetzt, außer X { $ObTreffer = 1; } } if (mb_strstr ($Optionen, "K")) { if (!$ObTreffer or $ObNichtTreffer) { $Vorgaben["Data"][$datDatenbank][$idID]["+flt"] = 0; } } elseif (!$ObTreffer) { $Vorgaben["Data"][$datDatenbank][$idID]["+flt"] = 0; } # Aktive Datensätze zählen if ($Vorgaben["Data"][$datDatenbank][$idID]["+flt"]) { $Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]++; } } unset ($regFelder); # Debug // //$dbgVariable = "wrtWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgDatenbank = $Vorgaben["Data"][$datDatenbank]; // //$dbgVariable = "dbgDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } } break; } // return $Vorgaben; } function fncDatensatz ($AktOpt, $Vorgaben, $Parameter) { $Ergebnis = ""; list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "DsAnlegen": { $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $knnSymbolleiste) = $Parameter; unset ($Parameter); # Freie ID für neuen Datensatz finden $idID = funDatenbank ("FreieID", $Vorgaben, array ($datDatenbank)); # Debug //$dbgInfo = "___DsAnlegen___"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "knnSymbolleiste"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgDb = $Vorgaben["Data"][$datDatenbank]; // //$dbgVariable = "dbgDb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $SchreibeDatenbanken1 = $Vorgaben["SchreibeDatenbanken"]; // //$dbgVariable = "SchreibeDatenbanken1"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # neuen Datensatz anlegen funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datDatenbank][0]["fldID"], $idID)); # Debug // //$dbgInfo = "neuen Datensatz anlegen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $dbgDb = $Vorgaben["Data"][$datDatenbank]; // //$dbgVariable = "dbgDb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # wenn neben der Gesamtübersicht eine Detailansicht je Datensatz existiert, dann ID in Request übernehmen if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldDetails"]) and $Vorgaben["Data"][$datDatenbank][0]["fldDetails"]) // nicht nach ObItem, weil nur je Modul gesetzt, fldDetails hingegen je Datenbank { $_REQUEST[RECORD] = $idID; } # alle Pflichtfelder vorbelegen if (is_array ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"] as $PflichtFeld => $Ob) if ($Ob) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $PflichtFeld)); } # Debug // //$dbgInfo = "alle Pflichtfelder vorbelegen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $dbgDb = $Vorgaben["Data"][$datDatenbank]; // //$dbgVariable = "dbgDb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Debug // $datSmElemente = $Vorgaben["Data"]["datSmElemente"]; // //$dbgVariable = "datSmElemente"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Wenn am Filter ein Wert eingestellt ist, wird das entsprechende Feld mit dem Wert vorbelegt if (is_array ($Vorgaben["Data"]["datSmElemente"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datSmElemente"][0]["Sortierung"] as $idSmb => $tmp) if ($Vorgaben["Data"]["datSmElemente"][$idSmb]["Besitzer"] == $knnSymbolleiste) { list ($tmp, $smbOptionen) = explode (".", $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"]["datSmElemente"][$idSmb]["Type"]]["Element"]); if (mb_strstr (mb_strtoupper ($smbOptionen), "F")) // Filter { list ($filVariable, $filDatenbank, $filFeld) = explode ("|", $Vorgaben["Data"]["datSmElemente"][$idSmb]["Inhalt"]); $filVariable = trim ($filVariable); $filDatenbank = trim ($filDatenbank); $filFeld = trim ($filFeld); if (isset ($_REQUEST[$filVariable])) { $filWert = $_REQUEST[$filVariable]; } else { $filWert = ""; } if ($filDatenbank == $datDatenbank) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $filFeld, $filWert)); } } } # Debug // $SchreibeDatenbanken = $Vorgaben["SchreibeDatenbanken"]; // //$dbgVariable = "SchreibeDatenbanken"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # wenn Datenbank einen Besitzer hat if (isset ($Vorgaben["Data"][$datDatenbank][0]["Besitzer"])) if ($Vorgaben["Data"][$datDatenbank][0]["Besitzer"]) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["Besitzer"]][0]["Besitz"][$datDatenbank], $_REQUEST[RECORD])); } $Vorgaben["idID"] = $idID; $Ergebnis = $Vorgaben; # Debug // $SchreibeDatenbanken = $Vorgaben["SchreibeDatenbanken"]; // //$dbgVariable = "SchreibeDatenbanken"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); unset ($Vorgaben); } break; case "DsEntfernen": { list ($datDatenbank, $idID) = $Parameter; unset ($Parameter); if ($idID) { # Vokabelfelder? if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"] as $fldVokabel => $Ob) if ($Ob) { if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $idSprache => $krzSprache) { // $Vorgaben = fncDatensatz ("DsEntfernen", $Vorgaben, array ("datVkb", $krzSprache . "|" . $datDatenbank . "|" . $idID . "|" . $fldVokabel)); $Vorgaben = fncDatensatz ("DsEntfernen", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"], $krzSprache . "|" . $idID . "|" . $fldVokabel)); } } # BallastFelder mit entsorgen if (isset ($Vorgaben["Data"][$datDatenbank][0]["BallastFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["BallastFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["BallastFelder"] as $fldBallast => $Typ) switch ($Typ) { case "Bild": { if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldBallast])) { fncBild ("bldEntfernen", array ($Vorgaben["Ordner"]["CBilder"], $Vorgaben["Data"][$datDatenbank][$idID][$fldBallast])); } } break; case "Media": { fncDatei ("fdtEntfernen.", array ($Vorgaben["Ordner"]["Media"] . $Vorgaben["Data"][$datDatenbank][$idID][$fldBallast])); } break; } # Besitz gesetzt? if (isset ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Besitz"] as $dbBesitz => $dfBesitz) if (is_array ($Vorgaben["Data"][$dbBesitz])) foreach ($Vorgaben["Data"][$dbBesitz] as $idBesitz => $tmp) if ($idBesitz and $Vorgaben["Data"][$dbBesitz][$idBesitz][$dfBesitz] == $idID) { $Vorgaben = fncDatensatz ("DsEntfernen", $Vorgaben, array ($dbBesitz, $idBesitz)); } unset ($tmp); if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]])) if ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { // $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]] = 0; $Vorgaben["Data"][$datDatenbank][$idID] = array (); $Vorgaben["SchreibeDatenbanken"][$datDatenbank] = 1; } } $Ergebnis = $Vorgaben; unset ($Vorgaben); } break; case "DsAktiv": { /* A - Archivzeitsteuerung: nach Ende D - ID gesetzt F - Filter gesetzt S - Status on/off Z - Zeitsteuerung: zwischen Start und Ende */ $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $idID, $fldStart, $fldEnde) = $Parameter; unset ($Parameter); if (!$fldStart) { $fldStart = "Start"; } if (!$fldEnde) { $fldEnde = "Ende"; } if ( !mb_strstr ($Optionen, "D") or ( mb_strstr ($Optionen, "D") and $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]] ) ) if ( !mb_strstr ($Optionen, "F") or ( mb_strstr ($Optionen, "F") and isset ($Vorgaben["Data"][$datDatenbank][$idID]["+flt"]) and $Vorgaben["Data"][$datDatenbank][$idID]["+flt"] ) ) if ( !mb_strstr ($Optionen, "S") or !isset ($Vorgaben["Data"][$datDatenbank][0]["fldOnOff"]) or ( isset ($Vorgaben["Data"][$datDatenbank][0]["fldOnOff"]) and !$Vorgaben["Data"][$datDatenbank][0]["fldOnOff"] ) or ( mb_strstr ($Optionen, "S") and isset ($Vorgaben["Data"][$datDatenbank][0]["fldOnOff"]) and (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datDatenbank][0]["fldOnOff"])) / 1) == 1 ) ) if ( !mb_strstr ($Optionen, "Z") or ( mb_strstr ($Optionen, "Z") and ( (!fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldStart))) or ( fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldStart)) and fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldStart)) <= $Vorgaben["Heute"]["NZO"] ) ) and ( (!fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldEnde))) or ( fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldEnde)) and fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldEnde)) >= $Vorgaben["Heute"]["NZO"] ) ) ) ) if ( !mb_strstr ($Optionen, "A") or ( mb_strstr ($Optionen, "A") and ( fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldEnde)) and fncFeld ("dtfWert.RN", $Vorgaben, array ($datDatenbank, $idID, $fldEnde)) < $Vorgaben["Heute"]["NZO"] ) ) ) { $Ergebnis = true; } else { $Ergebnis = false; } unset ($Vorgaben); } break; } return $Ergebnis; } function fncElement ($AktOpt, & $Vorgaben, $Parameter) { /* lmnElement fncElement ("lmnElement.Opt", $Vorgaben, array ($txtInhalt, $txtReferenz)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "lmnMuster": { /* Q - Suche */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { # Debug // //$dbgInfo = "lmnMuster"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $dbgDatenbank = $Vorgaben["Data"]["dbgDatenbank"]; // //$dbgVariable = "dbgDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regMitarbeiter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "", $stlLinie)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnPDF": { /* I - initialisiere PDF N - neue Seite */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "I")) { # lade tFPDF require_once ("./Mavidesk/System/tfpdf/tfpdf.php"); # map FPDF to tFPDF so FPDF_TPL can extend it class FPDF extends tFPDF { # Remembers the template id of the imported page protected $_tplIdx; } # just require FPDI afterwards require_once('./Mavidesk/System/tfpdf/fpdi.php'); # neue PDF $Vorgaben['PDF']=new FPDI('P', 'mm', 'A4'); # Schriftarten $Vorgaben['PDF']->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true); $Vorgaben['PDF']->AddFont('DejaVu','B','DejaVuSansCondensed-Bold.ttf',true); # Durchschuss $Vorgaben['varPDFLineHeight'] = 5.5; # Ränder $Vorgaben['PDF']->SetTopMargin(19); $Vorgaben['PDF']->SetLeftMargin(21); $Vorgaben['PDF']->SetRightMargin(21); } elseif (mb_strstr ($Optionen, "B")) { $p_bild = $txtInhalt; list ($X, $Y, $W) = explode (',', $txtReferenz); $Vorgaben['PDF']->Image($p_bild, $X, $Y, $W); } elseif (mb_strstr ($Optionen, "A")) { $Vorgaben['PDF']->Output(); } elseif (mb_strstr ($Optionen, "N")) { $Vorgaben['PDF']->AddPage(); } } break; case "lmnAbstand": { /* Q - Suche */ list ($txtInhalt) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } elseif (mb_strstr ($Optionen, "p")) { $Vorgaben['PDF']->Ln($txtInhalt); } } break; case "lmnKalenderblatt": { /* L - links im Text Q - Suche */ list ($dtmDatum) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } else { if (mb_strstr ($Optionen, "L")) // Suche { $cssBxAussen = " cssOoBxKbG1L"; } else { $cssBxAussen = " cssOoBxKbG1"; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBxAussen)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxKbG2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxKbM1")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxKbM2")); # Monat $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array (mb_substr (fncDatum ("dtmAusgabe", array ($dtmDatum, "XMW", $Vorgaben)), 0, 3), " cssOoTxKbM")); // $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($dtmDatum, " cssOoTxKbM")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxKbT")); # Tag $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array (fncDatum ("dtmAusgabe", array ($dtmDatum, "XTZ")), " cssOoTxKbT")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnSpecials": { list ($Modul) = $Parameter; unset ($Parameter); # Bereiche klären switch ($Modul) { case "modInhalte": case "modTermine": { # var if (!isset ($Vorgaben["Data"]["datMitarbeiter"][$Vorgaben["curUser"]]["Bereiche"])) { $Vorgaben["Data"]["datMitarbeiter"][$Vorgaben["curUser"]]["Bereiche"] = 0; } switch ($Modul) { case "modInhalte": // lmnSpecials { $datDatenbank = "xdbNhKp"; $varFilter = "nhbr"; $namSymbolleiste = "smbNhInhalteM"; } break; case "modTermine": // lmnSpecials { $datDatenbank = "xdbTmKp"; $varFilter = "tmbr"; $namSymbolleiste = "smbTmTermineM"; } break; } $usrZone = $Vorgaben["Data"]["datMitarbeiter"][$Vorgaben["curUser"]]["Bereiche"]; if ($usrZone) { fncFilter ("fltDatenbank.", $Vorgaben, array ($datDatenbank, "Bereiche", $usrZone)); $_REQUEST[$varFilter] = $usrZone; $Vorgaben["Data"]["datAmbiente"][$Vorgaben["curUser"] . "|" . $varFilter] = $usrZone; $Vorgaben["Data"][$datDatenbank][0]["ObAenderbar"]["Bereiche"] = 0; $Vorgaben["Benutzer"]["VersteckteFilter"][$namSymbolleiste][$varFilter] = 1; } } break; } } break; case "lmnCmkErzeugePreise": { list ($idProdukt, $idPapier) = $Parameter; unset ($Parameter); $Mehrpreise = array (); if (is_array ($Vorgaben["Data"]["datCMehrpreise"])) foreach ($Vorgaben["Data"]["datCMehrpreise"] as $ID => $tmp) { unset ($tmp); if ($Vorgaben["Data"]["datCMehrpreise"][$ID]["ID"]) { $Mehrpreise[$Vorgaben["Data"]["datCMehrpreise"][$ID]["Farben"]][$ID] = $Vorgaben["Data"]["datCMehrpreise"][$ID]; } } fncDatenbank ("dtbSortieren", $Vorgaben, array ("datCPreise", "ID")); // Hilfssortierung, damit wir danach die Sortierung per Schleife durchlaufen und somit jeden Originaldatensatz nur einmal bekommen und nicht die Duplikate, die innerhalb der Schleife erzeugt werden # Auflagen ziehen $regAuflagen = fncRegister ("rgsZiehen.F", array ($Vorgaben, "datAuflagen", "Auflage", "Auflage")); $regCFarben = fncRegister ("rgsZiehen.F", array ($Vorgaben, "datCFarben", "ID", "Farbe")); if (is_array ($Vorgaben["Data"]["datCPreise"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datCPreise"][0]["Sortierung"] as $ID => $tmp) if ($Vorgaben["Data"]["datCPreise"][$ID]["+flt"]) if (!$idProdukt or $idProdukt == $Vorgaben["Data"]["datCPreise"][$ID]["Besitzer"]) if (!$idPapier or $idPapier == $Vorgaben["Data"]["datCPreise"][$ID]["Papier"]) { if (is_array ($regAuflagen)) foreach ($regAuflagen as $Auflage => $tmp) { unset ($tmp); if ($Auflage) if (is_array ($regCFarben)) foreach ($regCFarben as $Farbe) { # Debug // //$dbgVariable = "Auflage"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); list ($FarbeVS, $FarbeRS) = explode ("/", $Farbe); if (is_array ($Mehrpreise[$FarbeVS])) foreach ($Mehrpreise[$FarbeVS] as $idMehrpreis => $X) if ($Vorgaben["Data"]["datCPreise"][$ID]["Fixpreis" . $FarbeVS] and $Vorgaben["Data"]["datCPreise"][$ID]["Stkpreis" . $FarbeVS]) // nur wenn Ausgangspreise nicht null sind { # neuen Datensatz anlegen $FreieID = funDatenbank ("FreieID", $Vorgaben, array ("datCPreise")); $Vorgaben["Data"]["datCPreise"][$FreieID] = $Vorgaben["Data"]["datCPreise"][$ID]; $Vorgaben["Data"]["datCPreise"][$FreieID]["ID"] = $FreieID; $Vorgaben["Data"]["datCPreise"][$FreieID]["+flt"] = 1; # neue Felder $Vorgaben["Data"]["datCPreise"][$FreieID]["Auflage"] = $Auflage; $Vorgaben["Data"]["datCPreise"][$FreieID]["Farbe"] = $Farbe; $Vorgaben["Data"]["datCPreise"][$FreieID]["FarbeVS"] = $FarbeVS; // notwendig? $Vorgaben["Data"]["datCPreise"][$FreieID]["FarbeRS"] = $FarbeRS; // notwendig? $Vorgaben["Data"]["datCPreise"][$FreieID]["FarbenArt"] = $Mehrpreise[$FarbeVS][$idMehrpreis]["Titel"]; # Preis errechnen $Preis = $Vorgaben["Data"]["datCPreise"][$FreieID]["Fixpreis" . $FarbeVS] + $Mehrpreise[$FarbeVS][$idMehrpreis]["Mehrpreis"] + ($Vorgaben["Data"]["datCPreise"][$FreieID]["Stkpreis" . $FarbeVS] * $Vorgaben["Data"]["datCPreise"][$FreieID]["Auflage"]); if ($FarbeRS) { $Preis *= $Vorgaben["CFaktorRS"]; } # Mehrwertsteuer $Preis *= (100 + $Vorgaben["MwstSatz"]) / 100; # Preis übergeben $Vorgaben["Data"]["datCPreise"][$FreieID]["Preis"] = $Preis; } } } $Vorgaben["Data"]["datCPreise"][$ID]["ID"] = 0; // Original-Datensatz ausfiltern $Vorgaben["Data"]["datCPreise"][$ID]["+flt"] = 0; // Original-Datensatz ausfiltern } unset ($Mehrpreise); funDatenbank ("SchattenFelder.Standard", $Vorgaben, array ("datCPreise")); } break; case "lmnMappe": { /* B - Back F - Front Q - Suche */ // list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { if (mb_strstr ($Optionen, "F")) // Front { fncElement ("lmnVerweis.ANJ", $Vorgaben, array ("", fncVorgaben ($Vorgaben, "MpZlFr.R"))); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxMpFG")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxMpF1")); fncElement ("lmnAbsatz.AZBR", $Vorgaben, array (fncVorgaben ($Vorgaben, "MpTxFrO"))); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxMpF2")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncVorgaben ($Vorgaben, "MpTxFrM"), " cssOoAbMpF2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxMpF3")); fncElement ("lmnAbsatz.AZB", $Vorgaben, array (fncVorgaben ($Vorgaben, "MpTxFrU"))); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } elseif (mb_strstr ($Optionen, "B")) // Back { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxMpB1")); fncElement ("lmnVerweis.ANJ", $Vorgaben, array ("", fncVorgaben ($Vorgaben, "MpZlBc.R"))); fncElement ("lmnBild.V", $Vorgaben, array (fncVorgaben ($Vorgaben, "MpBlBc"))); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } } break; case "lmnTapete": { /* B - Blatt L - links R - rechts Z - schließen */ // list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "L")) // links { if (mb_strstr ($Optionen, "B") and !$Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObAlternativHgL"]) // Blatt { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpLB1")); if ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObAlternativHgR"]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpLBX")); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpLB2")); } } else { if ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObAlternativHgL"]) { $bldBild = fncVorgaben ($Vorgaben, "AltHgL"); } else { $bldBild = fncVorgaben ($Vorgaben, "StdHgL"); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpL", "background: url('" . $Vorgaben["Ordner"]["CBilder"] . $bldBild . "') left top no-repeat; ")); } } elseif (mb_strstr ($Optionen, "R")) // rechts { if (mb_strstr ($Optionen, "B") and !$Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObAlternativHgR"]) // Blatt { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpRB1")); if ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObAlternativHgL"]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpRBX")); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpRB2")); } } else { if ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObAlternativHgR"]) { $bldBild = fncVorgaben ($Vorgaben, "AltHgR"); } else { $bldBild = fncVorgaben ($Vorgaben, "StdHgR"); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTpR", "background: url(" . $Vorgaben["Ordner"]["CBilder"] . $bldBild . ") left top no-repeat; ")); } } elseif (mb_strstr ($Optionen, "Z")) // schließen { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnModul": { /* A - Aufmacher (seitlich) B - Visitenkarte C - Modul Chronik D - Modul Dokumente F - Aufmacher als Fußzeile f - Zeitstrahl G - Galerie J - Modul Jobs K - Modul Katalog L - Lageplan M - Modul Mitarbeiter N - Modul Künstler P - Modul Pinwand Q - Suche R - Modul Referenzen S - Modul Partner T - Modul Termine V - Verweis auf Item X - Modul Kunden Z - Archiv/Rückblick */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { if (!mb_strstr ($Optionen, "A") and !mb_strstr ($Optionen, "L")) // Aufmacher und Lageplan werden nicht durchsucht { if (mb_strstr ($Optionen, "P")) // Modul Pinwand { # Konstanten $datDatenbank = "xdbPwKp"; $datElemente = "datPwDetails"; $varItem = $Vorgaben["regVars"]["varPwItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "PwObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "PwSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "PwEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.P"]; } elseif (mb_strstr ($Optionen, "T")) // Modul Termine { # Konstanten $datDatenbank = "datTmReferenzen"; $datElemente = "datTmDetails"; $varItem = $Vorgaben["regVars"]["varTmItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "TmObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "TmSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "TmEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.T"]; } elseif (mb_strstr ($Optionen, "N")) // Modul Künstler { # Konstanten $datDatenbank = "datKnReferenzen"; $datElemente = "datKnDetails"; $varItem = $Vorgaben["regVars"]["varKnItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "KnObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "KnSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "KnEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.N"]; } elseif (mb_strstr ($Optionen, "C")) // Modul Chronik { # Konstanten $datDatenbank = "xdbChKp"; $datElemente = "datChDetails"; $varItem = $Vorgaben["regVars"]["varChItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "ChObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "ChSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "ChEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.C"]; } elseif (mb_strstr ($Optionen, "G")) // Modul Galerie { # Konstanten $datDatenbank = "xdbGlKp"; $datElemente = "datGlDetails"; $varItem = $Vorgaben["regVars"]["varGlItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "GlObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "GlSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "GlEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.C"]; } elseif (mb_strstr ($Optionen, "D")) // Modul Dokumente { # Konstanten $datDatenbank = "xdbDkKp"; $datElemente = "datDkDetails"; $varItem = $Vorgaben["regVars"]["varDkItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "DkObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "DkSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "DkEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.D"]; } elseif (mb_strstr ($Optionen, "K")) // Modul Katalog { # Konstanten $datDatenbank = "xdbKtKp"; $datElemente = "datKtDetails"; $varItem = $Vorgaben["regVars"]["varKtItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "KtObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "KtSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "KtEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.K"]; } elseif (mb_strstr ($Optionen, "R")) // Modul Referenzen { # Konstanten $datDatenbank = "xdbRfKp"; $datElemente = "datRfDetails"; $varItem = $Vorgaben["regVars"]["varRfItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "RfObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "RfSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "RfEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.R"]; } elseif (mb_strstr ($Optionen, "S")) // Modul Partner { # Konstanten $datDatenbank = "xdbPrKp"; $datElemente = "datPrDetails"; $varItem = $Vorgaben["regVars"]["varPrItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "PrObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "PrSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "PrEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.S"]; } elseif (mb_strstr ($Optionen, "J")) // Modul Jobs { # Konstanten $datDatenbank = "xdbJbKp"; $datElemente = "datJbDetails"; $varItem = $Vorgaben["regVars"]["varJbItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "JbObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "JbSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "JbEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.J"]; } elseif (mb_strstr ($Optionen, "M")) // Modul Mitarbeiter { # Konstanten $datDatenbank = "xdbMtKp"; $datElemente = "datMtDetails"; $varItem = $Vorgaben["regVars"]["varMtItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "MtObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "MtSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "MtEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.M"]; } elseif (mb_strstr ($Optionen, "X")) // Modul Kunden { # Konstanten $datDatenbank = "xdbKdKp"; $datElemente = "datKdDetails"; $varItem = $Vorgaben["regVars"]["varKdItem"]; $obDetailsAus = fncVorgaben ($Vorgaben, "KdObDetailsAus.R"); $knzSortierung = fncVorgaben ($Vorgaben, "KdSort.R"); $txtEinleitung = fncVorgaben ($Vorgaben, "KdEinleitung.FN"); $curModPage = $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnModul.X"]; } # Einleitung $Vorgaben["Heuhaufen"][$curModPage] .= $txtEinleitung . " "; # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Fixfilter fncFilter ("fltDatenbank.O", $Vorgaben, array ($datDatenbank)); fncFilter ("fltDatenbank.S", $Vorgaben, array ($datElemente)); # Sortieren sortiereDatenbankNachCode ($Vorgaben, $datDatenbank, $knzSortierung); if ($Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]) // Daten vorhanden? { if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idItem => $tmp) if ($Vorgaben["Data"][$datDatenbank][$idItem]["+flt"]) { $Vorgaben["curHhID"] = "|" . $varItem . "=" . $idItem; $Vorgaben["HeuTitel"][$Vorgaben["curHhID"]] = fncFeld ("dtfWert.F", $Vorgaben, array ($datDatenbank, $idItem, "Titel")); if (!isset ($Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]])) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] = ""; } $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert.F", $Vorgaben, array ($datDatenbank, $idItem, "Titel")) . " "; $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert.F", $Vorgaben, array ($datDatenbank, $idItem, "Beschreibung")) . " "; # Details if ($obDetailsAus or fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObDetailsAus"))) { } else { $Vorgaben["curHhItem"] = $idItem; fncElement ("lmnFormatieren.EQ", $Vorgaben, array ($datElemente)); } } } } } else { $z_waagerecht = 0; $z_senkrecht = 0; # Modulkürzel if (mb_strstr ($Optionen, "P")) // Modul Pinwand { $k_modul = "Pw"; } elseif (mb_strstr ($Optionen, "T")) // Modul Termine { $k_modul = "Tm"; } elseif (mb_strstr ($Optionen, "N")) // Modul Künstler { $k_modul = "Kn"; } elseif (mb_strstr ($Optionen, "C")) // Modul Chronik { $k_modul = "Ch"; } elseif (mb_strstr ($Optionen, "G")) // Modul Galerie { $k_modul = "Gl"; } elseif (mb_strstr ($Optionen, "D")) // Modul Dokumente { $k_modul = "Dk"; } elseif (mb_strstr ($Optionen, "K")) // Modul Katalog { $k_modul = "Kt"; } elseif (mb_strstr ($Optionen, "R")) // Modul Referenzen { $k_modul = "Rf"; } elseif (mb_strstr ($Optionen, "X")) // Modul Kunden { $k_modul = "Kd"; } elseif (mb_strstr ($Optionen, "S")) // Modul Partner { $k_modul = "Pr"; } elseif (mb_strstr ($Optionen, "J")) // Modul Jobs { $k_modul = "Jb"; } elseif (mb_strstr ($Optionen, "M")) // Modul Mitarbeiter { $k_modul = "Mt"; } # Modul merken $Vorgaben['cur_modul'] = $k_modul; # Aufmacher/Archiv/Rückblick? $o_aufmacher = false; $o_archiv = false; $o_zeitstrahl = false; if (mb_strstr ($Optionen, "A")) // Aufmacher { $o_aufmacher = true; // $knzSortierung = $knzAufmSort; } elseif (mb_strstr ($Optionen, "Z")) // Archiv { $o_archiv = true; } elseif (mb_strstr ($Optionen, "f")) // Zeitstrahl { $o_zeitstrahl = true; } $datDatenbank = "xdb" . $k_modul . "Kp"; $datElemente = "dat" . $k_modul . "Details"; $datKategorien = "dat" . $k_modul . "Kategorien"; $datBewerten = "dat" . $k_modul . "Bw"; $datAdressen = "dat" . $k_modul . "Staetten"; $dpBildLageplan = $Vorgaben["Ordner"]["CBilder"] . fncVorgaben ($Vorgaben, "xdf" . $k_modul . "BildLageplan.N"); $bxhABild = fncVorgaben ($Vorgaben, $k_modul . "GrABild.N"); $bxhUBild = fncVorgaben ($Vorgaben, $k_modul . "GrUBild.N"); $bxhKBild = fncVorgaben ($Vorgaben, $k_modul . "GrKBild.N"); $bxhDBild = fncVorgaben ($Vorgaben, $k_modul . "GrDBild.N"); // $dnKatVorhBild = fncVorgaben ($Vorgaben, $k_modul . "KatVorhBild.N"); $n_kategoriestandardbild = fncVorgaben ($Vorgaben, $k_modul . "Kategoriebild.N"); $idFormular = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZForm.RN") : fncVorgaben ($Vorgaben, $k_modul . "Form.RN"); // $knzAufmSort = fncVorgaben ($Vorgaben, $k_modul . "ASort.RN"); $knzCatSort = fncVorgaben ($Vorgaben, $k_modul . "CSort.RN"); $knzSortierung = ($o_aufmacher) ? fncVorgaben ($Vorgaben, $k_modul . "ASort.RN") : fncVorgaben ($Vorgaben, $k_modul . "Sort.RN"); $knzSortierung = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZSort.RN") : $knzSortierung; $obAFuss = fncVorgaben ($Vorgaben, $k_modul . "ObAFuss.R"); $obALogo = fncVorgaben ($Vorgaben, $k_modul . "ObALogo.R"); $obDLogo = fncVorgaben ($Vorgaben, $k_modul . "ObDLogo.R"); $obULogo = fncVorgaben ($Vorgaben, $k_modul . "ObULogo.R"); $obANurBild = fncVorgaben ($Vorgaben, $k_modul . "ObANurBild.R"); $obAOhneBild = fncVorgaben ($Vorgaben, $k_modul . "ObAOhneBild.R"); $obBAZ = fncVorgaben ($Vorgaben, $k_modul . "ObBAZ.R"); $obBewerten = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZObBewerten.R") : fncVorgaben ($Vorgaben, $k_modul . "ObBewerten.R"); $obBewText = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZObBewText.R") : fncVorgaben ($Vorgaben, $k_modul . "ObBewText.R"); $obBSeitenzahl = fncVorgaben ($Vorgaben, $k_modul . "ObBSeitenzahl.R"); $obCatGalerie = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZObCatGalerie.R") : fncVorgaben ($Vorgaben, $k_modul . "ObCatGalerie.R"); $obCLegende = fncVorgaben ($Vorgaben, $k_modul . "ObCLegende.R"); $obDBeschreibung = fncVorgaben ($Vorgaben, $k_modul . "ObDBeschreibung.R"); $obDBSeiten = fncVorgaben ($Vorgaben, $k_modul . "ObDBSeiten.R"); $obDetailsAus = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZObDetailsAus.R") : fncVorgaben ($Vorgaben, $k_modul . "ObDetailsAus.R"); $obDKategorie = fncVorgaben ($Vorgaben, $k_modul . "ObDKategorie.R"); $obDPreis = fncVorgaben ($Vorgaben, $k_modul . "ObDPreis.R"); $obDKontakt = fncVorgaben ($Vorgaben, $k_modul . "ObDKontakt.R"); $obDZoom = fncVorgaben ($Vorgaben, $k_modul . "ObDZoom.R"); $obFilterleiste = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZObFilterleiste.R") : fncVorgaben ($Vorgaben, $k_modul . "ObFilterleiste.R"); $obKalenderblatt = fncVorgaben ($Vorgaben, $k_modul . "ObKalenderblatt.R"); $obKartei = fncVorgaben ($Vorgaben, $k_modul . "ObKartei.R"); $obListeAZ = fncVorgaben ($Vorgaben, $k_modul . "ObListeAZ.R"); $obMatrix = fncVorgaben ($Vorgaben, $k_modul . "ObMatrix.R"); $obMKategorien = fncVorgaben ($Vorgaben, $k_modul . "ObMKategorien.R"); $obTabelle = fncVorgaben ($Vorgaben, $k_modul . "ObTabelle.R"); $obTBildImText = fncVorgaben ($Vorgaben, $k_modul . "ObTBildImText.R"); $obTitelbild = fncVorgaben ($Vorgaben, $k_modul . "ObTitelbild.R"); $obUBeschreibung = fncVorgaben ($Vorgaben, $k_modul . "ObUBeschreibung.R"); $obUKontakt = fncVorgaben ($Vorgaben, $k_modul . "ObUKontakt.R"); $obUGruNacKat = fncVorgaben ($Vorgaben, $k_modul . "ObUGruNacKat.R"); $obZufCBild = fncVorgaben ($Vorgaben, $k_modul . "ObZufCBild.R"); $o_d_zurueck = fncVorgaben ($Vorgaben, $k_modul . "ObDZurueck.R"); $o_u_galerie = fncVorgaben ($Vorgaben, $k_modul . "ObUGalerie.R"); $o_u_titel_verbergen = fncVorgaben ($Vorgaben, $k_modul . "ObUTitel.R"); $o_u_zoom = fncVorgaben ($Vorgaben, $k_modul . "ObUZoom.R"); $o_u_zurueck = fncVorgaben ($Vorgaben, $k_modul . "ObUZurueck.R"); $smbFilterleiste = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZSmbFilterleiste") : fncVorgaben ($Vorgaben, $k_modul . "SmbFilterleiste"); $t_preisnulltext = fncVorgaben ($Vorgaben, $k_modul . "TxWennPreisNull.N"); $t_kategorie_weitere = fncVorgaben ($Vorgaben, $k_modul . "CWeitere.N"); $txtAEinleitung = fncVorgaben ($Vorgaben, $k_modul . "AEinleitung.N"); $txtDetailsAnsehen = fncVorgaben ($Vorgaben, $k_modul . "DetailsAnsehen.N"); $txtEinleitung = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZEinleitung.N") : fncVorgaben ($Vorgaben, $k_modul . "Einleitung.N"); $txtKontaktAufnehmen = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZKontaktAufnehmen.N") : fncVorgaben ($Vorgaben, $k_modul . "KontaktAufnehmen.N"); $txtNachrichtSchreiben = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZNachrichtSchreiben.N") : fncVorgaben ($Vorgaben, $k_modul . "NachrichtSchreiben.N"); $txtTabTitel = fncVorgaben ($Vorgaben, $k_modul . "TxTabTitel.N"); $txtWennKeineDaten = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZTxWennNullInDb.N") : fncVorgaben ($Vorgaben, $k_modul . "TxWennNullInDb.N"); $txtWennKeineDatenNachFiltern = fncVorgaben ($Vorgaben, $k_modul . "TxWennNullNachFiltern.N"); $varCat = $Vorgaben["regVars"]["var" . $k_modul . "Cat"]; $varChap = $Vorgaben["regVars"]["var" . $k_modul . "Chap"]; $varEChap = $Vorgaben["regVars"]["var" . $k_modul . "EChap"]; $varItem = $Vorgaben["regVars"]["var" . $k_modul . "Item"]; $varZsJahr = $Vorgaben["regVars"]["var" . $k_modul . "ZsJ"]; $zhlAfBeschreibungKuerzen = fncVorgaben ($Vorgaben, $k_modul . "ABeschrK.N") / 1; $zhlAfTitelKuerzen = fncVorgaben ($Vorgaben, $k_modul . "ATitelK.N") / 1; $zhlAufmAnz = fncVorgaben ($Vorgaben, $k_modul . "AElemente.N") / 1; $zhlBAbk = fncVorgaben ($Vorgaben, $k_modul . "BAbk.N") / 1; $zhlBElemente = fncVorgaben ($Vorgaben, $k_modul . "BElemente.N") / 1; $zhlBeschreibungKuerzen = fncVorgaben ($Vorgaben, $k_modul . "BeschrK.N") / 1; $zhlDsJeSeite = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZDsJeSeite.N") : fncVorgaben ($Vorgaben, $k_modul . "DsJeSeite.N"); $zhlEDsJeSeite = fncVorgaben ($Vorgaben, $k_modul . "EDsJeSeite.N") / 1; $zhlTitelKuerzen = fncVorgaben ($Vorgaben, $k_modul . "TitelK.N") / 1; # Request-Variablen initialisieren if (!isset ($_REQUEST[$varZsJahr])) { $_REQUEST[$varZsJahr] = ''; } # Raster für Galerie if (mb_strstr ($zhlDsJeSeite, "x")) { list ($z_waagerecht, $z_senkrecht) = explode ('x', $zhlDsJeSeite); $zhlDsJeSeite = $z_waagerecht * $z_senkrecht; } //# Debug //debug ('obDetails'); //$_d = '$idItem'; debugVariable ($_d = substr ($_d, 1), $$_d); //$_d = '$obDetailsAus'; debugVariable ($_d = substr ($_d, 1), $$_d); # Var // $obAVerkettet = 0; // $obMitarbeiter = 0; if (!isset ($_REQUEST[$varCat])) { $_REQUEST[$varCat] = ""; } # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datBewerten)); fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Debug // $_d = '$datDatenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // $d_datenbank = $Vorgaben["Data"][$datDatenbank][1]['+flt']; // $_d = '$d_datenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); # Fixfilter ($o_archiv) ? fncFilter ("fltDatenbank.OA", $Vorgaben, array ($datDatenbank)) : fncFilter ("fltDatenbank.OZ", $Vorgaben, array ($datDatenbank)); // fncFilter ("fltDatenbank.OA", $Vorgaben, array ($datDatenbank)) ; // fncFilter ("fltDatenbank.OZ", $Vorgaben, array ($datDatenbank)) ; fncFilter ("fltDatenbank.X", $Vorgaben, array ($datDatenbank, "Bereiche", $Vorgaben["curZone"])); fncFilter ("fltDatenbank.S", $Vorgaben, array ($datElemente)); # Debug // $_d = '$datDatenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // $d_datenbank = $Vorgaben["Data"][$datDatenbank][2]; // $_d = '$d_datenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); if (!isset ($Vorgaben["Data"][$datKategorien][0]["Sortierung"])) { $Vorgaben["Data"][$datKategorien][0]["Sortierung"] = array (); } # Debug // $dbgAktiveDs = $Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]; // //$dbgVariable = "dbgAktiveDs"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgDatenbank = $Vorgaben["Data"][$datDatenbank]; // //$dbgVariable = "dbgDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); ### muss die Suche Q vielleicht auch hier runter??? ### if (mb_strstr ($Optionen, "P")) // Modul Pinwand { # Termine $datTermine = "xdbTmKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datTermine)); $varTmItem = $Vorgaben["regVars"]["varTmItem"]; # Künstler $datKuenstler = "xdbKnKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datKuenstler)); $varKnItem = $Vorgaben["regVars"]["varKnItem"]; # Chronik $datChronik = "xdbChKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datChronik)); $varChItem = $Vorgaben["regVars"]["varChItem"]; # Dokumente $datDokumente = "xdbDkKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datDokumente)); $varDkItem = $Vorgaben["regVars"]["varDkItem"]; # Katalog $datKatalog = "xdbKtKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datKatalog)); $varKtItem = $Vorgaben["regVars"]["varKtItem"]; # Referenzen $datReferenzen = "xdbRfKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datReferenzen)); $varRfItem = $Vorgaben["regVars"]["varRfItem"]; # Kunden $datKunden = "xdbKdKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datKunden)); $varKdItem = $Vorgaben["regVars"]["varKdItem"]; # Partner $datPartner = "xdbPrKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datPartner)); $varPrItem = $Vorgaben["regVars"]["varPrItem"]; # Jobs $datJobs = "xdbJbKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datJobs)); $varJbItem = $Vorgaben["regVars"]["varJbItem"]; # Mitarbeiter $datMitarbeiter = "xdbMtKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datMitarbeiter)); $varMtItem = $Vorgaben["regVars"]["varMtItem"]; } elseif (mb_strstr ($Optionen, "T")) // Modul Termine { # Künstler $datKuenstler = "xdbKnKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datKuenstler)); $varKnItem = $Vorgaben["regVars"]["varKnItem"]; } elseif (mb_strstr ($Optionen, "D")) // Modul Dokumente { # nur Datensätze zeigen, die auch eine Datei haben fncFilter ("fltDatenbank.T", $Vorgaben, array ($datDatenbank, "Datei")); } elseif (mb_strstr ($Optionen, "R")) // Modul Referenzen { # Mitarbeiter $datMitarbeiter = "xdbMtKp"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datMitarbeiter)); $varMtItem = $Vorgaben["regVars"]["varMtItem"]; } # Bewerten fncElement ("lmnBewerten.D", $Vorgaben, array ($datDatenbank, "", $datBewerten)); # Sortieren if (!mb_strstr ($Optionen, "V")) if (!mb_strstr ($Optionen, "B")) { sortiereDatenbankNachCode ($Vorgaben, $datDatenbank, $knzSortierung); } # Debug # Debug // $_d = '$datDatenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // $d_datenbank = $Vorgaben["Data"][$datDatenbank][2]; // $_d = '$d_datenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // $d_aktive_ds = $Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]; // $_d = '$d_aktive_ds'; debugVariable ($_d = substr ($_d, 1), $$_d); if (!$Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]) // keine Daten vorhanden? { if (!$o_aufmacher and !mb_strstr ($Optionen, "V")) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtWennKeineDaten)); } } else // Daten vorhanden { if ($obDetailsAus or (isset ($_REQUEST[$varItem]) and fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $_REQUEST[$varItem], "ObDetailsAus")))) { $_REQUEST[$varItem] = ""; } # Ausgabe if (mb_strstr ($Optionen, "p")) { if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $i_item => $x) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $i_item))) { $t_titel = fncFeld ("dtfWert.NU", $Vorgaben, array ($datDatenbank, $i_item, "Titel")); $t_beschreibung = fncFeld ("dtfWert.NU", $Vorgaben, array ($datDatenbank, $i_item, "Beschreibung")); $n_titelbild = fncFeld ("dtfWert.NR", $Vorgaben, array ($datDatenbank, $i_item, "TBild")); if ($n_titelbild) { fncElement ("lmnBild.p", $Vorgaben, array ($n_titelbild)); } fncElement ("lmnRubrik.AZp", $Vorgaben, array ($t_titel)); fncElement ("lmnAbsatz.AZp", $Vorgaben, array ($t_beschreibung)); # Details fncElement ("lmnFormatieren.Ep", $Vorgaben, array ($datElemente, $varEChap, $k_modul, $i_item)); # Linie fncElement ("lmnAbsatz.AZp", $Vorgaben, array ()); fncElement ("lmnLinie.p", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZp", $Vorgaben, array ()); } } elseif ($o_zeitstrahl) { $q_jahr = $_REQUEST[$varZsJahr] / 1; $i_page = findPageOfModule ($Vorgaben, $k_modul, $Vorgaben["curZone"]); $z_abstand = 12; $z_startjahr = 1938; $z_endjahr = 1956; $r_belegt = array (); $r_belegt = fncRegister ("rgsZiehen.", array ($Vorgaben, $datDatenbank, "Jahr", "Jahr")); # Box um gesamte Zeitleiste fncElement ("lmnBox.A", $Vorgaben, array ('', ' cssCcZsGesamt')); # 1. Durchlauf für Jahreszahl(en) for ($z_jahr = $z_startjahr; $z_jahr <= $z_endjahr; $z_jahr++) { # zeige Zahl, wenn aktiv # sonst zeige Start und Ende if ($z_jahr == $q_jahr or !$q_jahr and ($z_jahr == $z_startjahr or $z_jahr == $z_endjahr)) { fncElement ("lmnBox.A", $Vorgaben, array ('', '|margin-left: ' . $z_abstand . 'px; ')); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($z_jahr, ' cssCcZsJahr')); fncElement ("lmnBox.Z", $Vorgaben, array ()); } $z_abstand += 40; } # Umfluss stoppen fncElement ("lmnUmfluss.LR", $Vorgaben, array ()); # Grafik: Leiste fncElement ("lmnBox.AZ", $Vorgaben, array ('', ' cssCcZsLeiste')); # 2.Durchlauf für Punkte for ($z_jahr = $z_startjahr; $z_jahr <= $z_endjahr; $z_jahr++) { # aktiver Punkt if ($z_jahr == $q_jahr) { $c_farbe = ' cssCcZsAktiv'; } # inaktiver Punkt elseif (isset ($r_belegt[$z_jahr]) and $r_belegt[$z_jahr]) { $c_farbe = ' cssCcZsBelegt'; } # transparenter Punkt else { $c_farbe = ' cssCcZsNichtBelegt'; } # Ausgabe Punkte fncElement ("lmnVerweis.ANJ", $Vorgaben, array ($z_jahr, $i_page . '|' . $varCat . '=0' . '&' . $varZsJahr . '=' . $z_jahr)); fncElement ("lmnBox.AZ", $Vorgaben, array ('', ' cssCcZsPunkt' . $c_farbe)); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } fncElement ("lmnBox.Z", $Vorgaben, array ()); # Filtern fncFilter ("fltDatenbank.F", $Vorgaben, array ($datDatenbank, "Jahr", $varZsJahr)); } elseif (mb_strstr ($Optionen, "V")) // Verweis { if (!$txtInhalt) { $txtInhalt = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $txtReferenz, "Titel")); } fncElement ("lmnVerweis.AZIU", $Vorgaben, array ($txtInhalt, $varItem . "=" . $txtReferenz)); } elseif (mb_strstr ($Optionen, "B")) // Visitenkarte { $idItem = $txtReferenz; if (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild"))) { fncElement ("lmnBild.RLF", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "|" . $bxhUBild)); } fncElement ("lmnRubrik.AZ", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")))); # Position if ($txtPosition= fncFeld ("dtfWert.FN", $Vorgaben, array ($datDatenbank, $idItem, "txtPosition"))) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtPosition)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } # Telefon if ($Telefon = fncFeld ("dtfWert.FNV", $Vorgaben, array ($datDatenbank, $idItem, "Telefon"))) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($Telefon)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } // fncElement ("lmnBox.A", $Vorgaben, array ()); if (!$obDetailsAus and !fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObDetailsAus"))) { fncElement ("lmnVerweis.AZI", $Vorgaben, array ("Werdegang", $varItem . "=" . $idItem)); } // fncElement ("lmnUmfluss", $Vorgaben, array ()); // fncElement ("lmnBox.Z", $Vorgaben, array ()); // fncElement ("lmnLinie.", $Vorgaben, array ()); // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); if (!fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObKontaktAufnahme"))) { // fncElement ("lmnRubrik.AZ", $Vorgaben, array ($txtKontaktAufnehmen)); fncElement ("lmnVerweis.AZFU", $Vorgaben, array ("Kontakt", "45|" . $k_modul . "," . $idItem)); } // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); // fncElement ("lmnLinie.", $Vorgaben, array ()); } elseif (mb_strstr ($Optionen, "L")) // Lageplan { $brLp = 750; // Breite Lageplan $hhLp = 670; // Höhe Lageplan $brFt = 375; // Breite Foto $hhFt = 335; // Höhe Foto $vxFt = -11; // Versatz x Foto $vyFt = -11; // Versatz y Foto $rdPk = 15; // Radius Punkt $pxFt = 0; // Ausgangsposition x Foto $pyFt = $hhLp; // Ausgangsposition y Foto $nmMp = "xdtLp"; $nmFt = "xdtFt"; // $nmDb = $dpLr = $Vorgaben["Pfade"]["Geviert"]; # nach oben links $Vorgaben["htmRumpf"][] = fncHTML ("map.A", array ("name", $nmMp)); if (is_array ($Vorgaben["Data"][$datAdressen][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datAdressen][0]["Sortierung"] as $idItem => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datAdressen, $idItem))) { # Werte list ($kxPk, $kyPk) = explode (",", fncFeld ("dtfWert", $Vorgaben, array ($datAdressen, $idItem, "xdfKoord"))); $txPk = fncFeld ("dtfWert", $Vorgaben, array ($datAdressen, $idItem, "+TitelAdresse")); $dpFt = $Vorgaben["Ordner"]["CBilder"] . fncFeld ("dtfWert", $Vorgaben, array ($datAdressen, $idItem, "Bild")); $dxFt = $kxPk - $brFt + $vxFt - $pxFt; // Distanz x Foto $dyFt = $kyPk - $hhFt + $vyFt - $pyFt; // Distanz y Foto # Anzeige $Vorgaben["htmRumpf"][] = fncHTML ("area", array ("title", $txPk, "alt", $txPk, "href", "#mavidesk", "onmouseover", "document.getElementById('" . $nmFt . "').style.visibility = 'visible'; document.getElementById('" . $nmFt . "').style.width = '" . $brFt . "px'; document.getElementById('" . $nmFt . "').style.height = '" . $hhFt . "px'; document.getElementById('" . $nmFt . "').style.left = '" . $dxFt . "px'; document.getElementById('" . $nmFt . "').style.top = '" . $dyFt . "px'; document.getElementById('" . $nmFt . "').style.backgroundImage = 'url(" . $dpFt . ")'; ", "onmouseout", "document.getElementById('" . $nmFt . "').style.visibility = 'hidden'; ", "shape", "circle", "coords", $kxPk . "," . $kyPk . "," . $rdPk)); } $Vorgaben["htmRumpf"][] = fncHTML ("map.Z", array ()); $Vorgaben["htmRumpf"][] = fncHTML ("img", array ("src", $dpBildLageplan, "width", $brLp, "height", $hhLp, "border", 0, "usemap", "#" . $nmMp)); $Vorgaben["htmRumpf"][] = fncHTML ("div.A", array ("id", $nmFt, "class", " cssOoBxMdLgFt", "style", "width: 1px; height: 1px; visibility: hidden; top: 0px; left: 0px; background-image: url('" . $dpLr . "'); ")); $Vorgaben["htmRumpf"][] = fncHTML ("div.Z", array ()); } elseif ($o_aufmacher) // Aufmacher { $o_verweis = false; $k_verweistyp = ''; /** * äußere Box umschließt u.U. mehrere aufeinander folgende Aufmacher * und wird in lmnFormatieren gesteuert * */ if ($obAFuss) { $cssBxAfG2 = " cssOoBxMdAfFsG2"; $cssBxAfG3 = " cssOoBxMdAfFsG3"; $cssBxAfG4 = " cssOoBxMdAfFsG4"; // $cssBxAfEl5 = "cssOoBxMdAfFsHh"; // $optBldGr = "K"; } else { $cssBxAfG2 = " cssOoBxMdAfStG2"; $cssBxAfG3 = " cssOoBxMdAfStG3"; $cssBxAfG4 = " cssOoBxMdAfStG4"; $cssBxAfEl1 = ""; $cssBxAfEl2 = ""; $cssBxAfEl3 = ""; $cssBxAfEl4 = ""; // $cssBxAfEl5 = ""; // $optBldGr = "M"; } $obLinie = 0; $zhlElemente = 0; fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfG2)); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfG3)); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfG4)); if ($txtAEinleitung) { fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdAfTt")); fncElement ("lmnRubrik.AZ", $Vorgaben, array ($txtAEinleitung)); fncElement ("lmnBox.Z", $Vorgaben, array ()); } if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idItem => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idItem))) if (!$zhlAufmAnz or ++$zhlElemente <= $zhlAufmAnz) { if ($obLinie++) { if ($obAFuss) { $cssBxAfEl1 = " cssOoBxMdAfFsElG2"; $cssBxAfEl2 = " cssOoBxMdAfFsElL1"; $cssBxAfEl3 = " cssOoBxMdAfFsElL2"; $cssBxAfEl4 = " cssOoBxMdAfFsElL3"; } else { // fncElement ("lmnLinie.", $Vorgaben, array ()); fncElement ("lmnBox.AZ", $Vorgaben, array ("", ' cssCcAfTrenner')); } } elseif ($obAFuss) { $cssBxAfEl1 = " cssOoBxMdAfFsElG1"; $cssBxAfEl2 = ""; $cssBxAfEl3 = ""; $cssBxAfEl4 = "cssOoBxMdAfFsElO3"; } fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfEl1)); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfEl2)); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfEl3)); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxAfEl4)); if ($obDetailsAus or fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObDetailsAus"))) { if ($idTermin = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwTermin"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datTermine, $idTermin, "Titel")), $varTmItem . "=" . $idTermin)); $o_verweis = true; $k_verweistyp = 'Tm'; } elseif ($idKuenstler = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKuenstler"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKuenstler, $idKuenstler, "Titel")), $varKnItem . "=" . $idKuenstler)); $o_verweis = true; $k_verweistyp = 'Kn'; } elseif ($idBeitrag = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwBeitrag"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datChronik, $idBeitrag, "Titel")), $varChItem . "=" . $idBeitrag)); $o_verweis = true; $k_verweistyp = 'Ch'; } elseif ($idDokument = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwDokument"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datDokumente, $idDokument, "Titel")), $varDkItem . "=" . $idDokument)); $o_verweis = true; $k_verweistyp = 'Dk'; } elseif ($idProdukt = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwProdukt"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKatalog, $idProdukt, "Titel")), $varKtItem . "=" . $idProdukt)); $o_verweis = true; $k_verweistyp = 'Kt'; } elseif ($idReferenz = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwReferenz"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datReferenzen, $idReferenz, "Titel")), $varRfItem . "=" . $idReferenz)); $o_verweis = true; $k_verweistyp = 'Rf'; } elseif ($idKunde = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKunde"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKunden, $idKunde, "Titel")), $varKdItem . "=" . $idKunde)); $o_verweis = true; $k_verweistyp = 'Kd'; } elseif ($idPartner = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwPartner"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datPartner, $idPartner, "Titel")), $varPrItem . "=" . $idPartner)); $o_verweis = true; $k_verweistyp = 'Pr'; } elseif ($idJob = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwJob"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datJobs, $idJob, "Titel")), $varJbItem . "=" . $idJob)); $o_verweis = true; $k_verweistyp = 'Jb'; } elseif ($idMitarbeiter = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwMitarbeiter"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datMitarbeiter, $idMitarbeiter, "Titel")), $varMtItem . "=" . $idMitarbeiter)); $o_verweis = true; $k_verweistyp = 'Mt'; } elseif ($idThema = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwThema"))) { fncElement ("lmnVerweis.ANJH", $Vorgaben, array ("", $idThema)); $o_verweis = true; $k_verweistyp = 'Nh'; } elseif ($vrwInternet = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $idItem, "vrwInternet"))) { fncElement ("lmnVerweis.AXJH", $Vorgaben, array ("", $vrwInternet)); $o_verweis = true; $k_verweistyp = 'Ws'; } else { $o_verweis = false; $k_verweistyp = ''; } } if (!$o_verweis) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), $varItem . "=" . $idItem)); } fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdAfHh")); switch ($k_verweistyp) { case 'Ch': { $n_a_mod_sym = fncVorgaben ($Vorgaben, $k_verweistyp . "AModSym.N"); if ($n_a_mod_sym) { fncElement ("lmnBild.LF", $Vorgaben, array ($n_a_mod_sym . "|")); } } break; default: { $d_termin = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "fTermin")); if ($d_termin) { fncElement ("lmnKalenderblatt.L", $Vorgaben, array ($d_termin)); } elseif ($obKalenderblatt) { if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn"))) { fncElement ("lmnKalenderblatt.L", $Vorgaben, array (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn")))); } } elseif (!$obAOhneBild) { if ($obALogo and fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo"))) { fncElement ("lmnBild.RLF", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo")) . "|" . $bxhABild)); } elseif (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild"))) { fncElement ("lmnBild.RLF", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "|" . $bxhABild)); } } } } if (!$obANurBild) { fncElement ("lmnRubrik.AZ", $Vorgaben, array (fncText ("ftxKuerzen", array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), $zhlAfTitelKuerzen)))); if ($txtBeschreibung = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Beschreibung"))) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncText ("ftxKuerzen", array ($txtBeschreibung, $zhlAfBeschreibungKuerzen)))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } } fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } elseif (isset ($_REQUEST[$varItem]) and $_REQUEST[$varItem]) // Details { # Ziel Anhang $q_anhang = "&" . $varZsJahr . "=" . $_REQUEST[$varZsJahr]; # Item übergeben $idItem = $_REQUEST[$varItem]; if (isset ($_REQUEST[$varEChap]) and $_REQUEST[$varEChap] > 1) { $zhlSeite = $_REQUEST[$varEChap]; } else { $zhlSeite = 1; } if (!isset ($Vorgaben["Data"][$datDatenbank][$idItem]["+chap"])) { $Vorgaben["Data"][$datDatenbank][$idItem]["+chap"] = 0; } # Kategorie übergeben if ($obMKategorien) // multiple Kategorien { $idCat = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "mltKategorien")); } else { $idCat = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Kategorie")); } if (!$idCat) { // $txtKategorietitel = fncFeld ("dtfWert", $Vorgaben, array ($datKategorien, $idCat, "Titel")); $idCat = '!'; } // if ($idCat) // { // $txtKategorietitel = fncFeld ("dtfWert", $Vorgaben, array ($datKategorien, $idCat, "Titel")); // } // else // { // $idCat = '!'; // $txtKategorietitel = fncPhrase ($Vorgaben, array ("weitere", "G")); // } # Besitz filtern fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank, $idItem)); # Seitentitel setzen fncNavi ("SetTitle", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")))); # Titelbild überschreiben if ($obTitelbild) { fncNavi ("SetTitlePic", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idItem]["TBild"])); } # Filter // fncFilter ("fltDatenbank.", $Vorgaben, array ($datDatenbank, "Kategorie", $idCat)); // ??? # Blättern erzeugen fncElement ("lmnBlaettern.E", $Vorgaben, array ($datDatenbank, $varChap, $zhlDsJeSeite)); // ??? fncElement ("lmnBlaettern.EZ", $Vorgaben, array ($datElemente, $varEChap, $zhlEDsJeSeite)); # Zurück-Button fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxMdZr")); if ($o_d_zurueck) { if ($obCatGalerie) { fncElement ("lmnVerweis.AZT" . $opVerweis, $Vorgaben, array (fncPhrase ($Vorgaben, array ("zurueck")), $_REQUEST[PAGE] . "|" . $varCat . "=" . $idCat)); } else { fncElement ("lmnVerweis.AZT", $Vorgaben, array (fncPhrase ($Vorgaben, array ("zurueck")), $_REQUEST[PAGE])); } } else { fncElement ("lmnVerweis.AZK", $Vorgaben, array ("", $_REQUEST[PAGE] . "|" . $varChap . "=" . $Vorgaben["Data"][$datDatenbank][$idItem]["+chap"])); if ($obCatGalerie) { $idsCat = explode ("|", $idCat); $zhErste = 0; foreach ($idsCat as $idCat) { if ($idCat == '!') { $txtKategorietitel = $t_kategorie_weitere; } else { $txtKategorietitel = fncFeld ("dtfWert", $Vorgaben, array ($datKategorien, $idCat, "Titel")); } if (!$zhErste++) { $opVerweis = "K"; } else { $opVerweis = "k"; } fncElement ("lmnVerweis.AZ" . $opVerweis, $Vorgaben, array ($txtKategorietitel, $_REQUEST[PAGE] . "|" . $varCat . "=" . $idCat)); } } fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), $_REQUEST[PAGE] . "|" . $varItem . "=" . $idItem . "|1")); } fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); # Kontakt aufnehmen switch (strval ($idFormular)) { default: case "42": // Ich interessiere mich... { // $regTexte = array (); // $regTexte[] = fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $_REQUEST[PAGE], "Menu")); // if (isset ($txtKategorietitel)) // { // $regTexte[] = $txtKategorietitel; // } // $regTexte[] = $txTitel = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")); // $txtKontakt = urlencode (implode (" › ", $regTexte)); // unset ($regTexte); // $txVerweisZiel = $idFormular . "|Ich interessiere mich für " . $txTitel . " (aus " . $txtKontakt . ")"; $txVerweisZiel = $idFormular . "|" . $k_modul . ",H," . $idItem; } break; case "43": // Link zur Datei case "44": // Link zur Datei case "45": // Direktkontakt { $txVerweisZiel = $idFormular . "|" . $k_modul . ",D," . $idItem . ",1"; } break; } # Kopfdaten if ($zhlSeite == 1) // nur auf Seite 1 zeigen { $d_termin = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "fTermin")); if ($d_termin) { fncElement ("lmnKalenderblatt.L", $Vorgaben, array ($d_termin)); } # Tabelle Auf einen Blick if ($obTabelle) { fncElement ("lmnBlock.TK", $Vorgaben, array ($txtTabTitel)); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|ProduktID")); // fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|Kategorie")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|Flaeche")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|Jahr")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|Preis")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|Staette")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $idItem . "|Adresse")); fncElement ("lmnBlock.TF", $Vorgaben, array ()); } # Bewerten if ($obBewerten) { fncElement ("lmnBewerten.B", $Vorgaben, array ($datDatenbank, $idItem, $datBewerten, $varItem . "=" . $idItem)); } if ($obTBildImText) { if ($obDZoom) { $txOption = ""; } else { $txOption = "Z"; } if ($obDLogo and fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo"))) { // fncElement ("lmnBild.RLF", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo")) . "|" . $bxhUBild)); fncElement ("lmnBild.RF" . $txOption, $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo")) . "|" . $bxhDBild)); } else { // fncElement ("lmnBild.RF" . $txOption, $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "|" . $bxhDBild, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")))); fncElement ("lmnBild.RF" . $txOption, $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "|" . $bxhDBild, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), 'U,' . $idItem . ',,' . $Vorgaben["curZone"] . ',' . $o_archiv)); } } if ($obKalenderblatt) { if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn"))) { fncElement ("lmnKalenderblatt.L", $Vorgaben, array (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn")))); } } fncElement ("lmnBlock.RA", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Herkunft", "G")), $datDatenbank . "|" . $idItem . "|Herkunft")); if (mb_strstr ($Optionen, "T")) // nur bei Modul Termine { fncElement ("lmnRubrik.AZ", $Vorgaben, array (fncFeld ("dtfWert.NES", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn", "", "DXL")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idItem, "hrzBeginn")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idItem, "Staette")))); } if (!$obDBeschreibung and fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idItem, "Beschreibung"))) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idItem, "Beschreibung")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } // fncElement ("lmnBlock.RA", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Jahr", "G")), $datDatenbank . "|" . $idItem . "|Jahr")); if (!$obDKategorie) { fncElement ("lmnBlock.RA", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Kategorie", "G")), $datDatenbank . "|" . $idItem . "|Kategorie")); } if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Datei"))) { fncElement ("lmnRubrik.AZ", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Download", "G")))); fncElement ("lmnVerweis.AZFU", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), $txVerweisZiel)); } if (fncFeld ("dtfWert.", $Vorgaben, array ($datAdressen, fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Staette")), "+TitelAdresse"))) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Adresse", "G")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datAdressen, fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Staette")), "+Adresse")))); fncElement ("lmnVerweis.AZXU", $Vorgaben, array (fncPhrase ($Vorgaben, array ("findenAufGoogleMaps", "G")), "https://maps.google.com/maps?q=" . fncFeld ("dtfWert.", $Vorgaben, array ($datAdressen, fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Staette")), "+Adresse")))); fncElement ("lmnBox.AZ", $Vorgaben, array ("", "cssOoMfStL")); } } # Preis if (!$obDPreis and !$o_archiv) { if ($t_preisnulltext and !fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Preis"))) { $s_option_preis = 'N'; } else { $s_option_preis = ''; } // fncElement ("lmnPreis.E" . $s_option_preis, $Vorgaben, array ($datDatenbank . "|" . $idItem . "|Preis|" . $t_preisnulltext)); fncElement ("lmnPreis.E" . $s_option_preis, $Vorgaben, array ($datDatenbank . "|" . $idItem . "|Preis|" . $t_preisnulltext . '|' . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idItem, "tVorPreis")))); } # Details fncElement ("lmnFormatieren.E", $Vorgaben, array ($datElemente, $varEChap)); # Blättern if ($obDBSeiten) { fncElement ("lmnBlaettern.F", $Vorgaben, array ($datElemente, $varEChap, $varItem . "=" . $idItem, 9, 0, 0, 1)); } else { fncElement ("lmnBlaettern.S", $Vorgaben, array ($datElemente, $varEChap, $varItem . "=" . $idItem)); } fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); # Verweise if ($idTermin = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwTermin"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Termin", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwTermin")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datTermine, $idTermin, "Titel")), $varTmItem . "=" . $idTermin)); } if ($idKuenstler = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKuenstler"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Kuenstler", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwKuenstler")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKuenstler, $idKuenstler, "Titel")), $varKnItem . "=" . $idKuenstler)); } if ($idBeitrag = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwBeitrag"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Beitrag", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwBeitrag")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datChronik, $idBeitrag, "Titel")), $varChItem . "=" . $idBeitrag)); } if ($idDokument = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwDokument"))) { fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwDokument")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datDokumente, $idDokument, "Titel")), $varDkItem . "=" . $idDokument)); } if ($idProdukt = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwProdukt"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Produkt", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwProdukt")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKatalog, $idProdukt, "Titel")), $varKtItem . "=" . $idProdukt)); } if ($idReferenz = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwReferenz"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Referenz", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwReferenz")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datReferenzen, $idReferenz, "Titel")), $varRfItem . "=" . $idReferenz)); } if ($idKunde = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKunde"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Kunde", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwKunde")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKunden, $idKunde, "Titel")), $varKdItem . "=" . $idKunde)); } if ($idPartner = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwPartner"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Partner", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwPartner")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datPartner, $idPartner, "Titel")), $varPrItem . "=" . $idPartner)); } if ($idJob = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwJob"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Job", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwJob")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datJobs, $idJob, "Titel")), $varJbItem . "=" . $idJob)); } if ($idMitarbeiter = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwMitarbeiter"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Ansprechpartner", "G")))); fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, "vrwMitarbeiter")))); fncElement ("lmnVerweis.AZIH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datMitarbeiter, $idMitarbeiter, "Titel")), $varMtItem . "=" . $idMitarbeiter)); } if ($idThema = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwThema"))) { fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Thema", "G")))); fncElement ("lmnVerweis.AZNH", $Vorgaben, array ("", $idThema)); } if ($vrwInternet = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $idItem, "vrwInternet"))) { fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Website", "G")))); fncElement ("lmnVerweis.AZXH", $Vorgaben, array ("", $vrwInternet)); } # Kontakt aufnehmen if (!$obDKontakt) if (!fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObKontaktAufnahme"))) { fncElement ("lmnZwischentitel.P", $Vorgaben, array ($txtKontaktAufnehmen)); fncElement ("lmnVerweis.AZFU", $Vorgaben, array ($txtNachrichtSchreiben, $txVerweisZiel)); } # Bewerten if ($obBewerten and $obBewText) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnLinie", $Vorgaben, array ()); fncElement ("lmnBewerten.T", $Vorgaben, array ($datDatenbank, $idItem)); } fncElement ("lmnUmfluss", $Vorgaben, array ()); } elseif (!$obCatGalerie or $_REQUEST[$varCat] or $_REQUEST[$varCat] == '!') // 2.Übersicht der Elemente je Kategorie { # Item übergeben $idCat = ""; if (isset ($_REQUEST[$varCat])) { $idCat = $_REQUEST[$varCat]; } if (isset ($_REQUEST[$varChap]) and $_REQUEST[$varChap] > 1) { $zhlSeite = $_REQUEST[$varChap]; } else { $zhlSeite = 1; } # Filter if ($obMKategorien) // multiple Kategorien { fncFilter ("fltDatenbank.F", $Vorgaben, array ($datDatenbank, "mltKategorien", $varCat)); } else // exklusive Kategorie { fncFilter ("fltDatenbank.F", $Vorgaben, array ($datDatenbank, "Kategorie", $varCat)); } # Seitentitel setzen if ($idCat == '!') { $txtSeitentitel = $t_kategorie_weitere; } else { $txtSeitentitel = fncFeld ("dtfWert", $Vorgaben, array ($datKategorien, $idCat, "Titel")); } fncNavi ("SetTitle", $Vorgaben, array ($txtSeitentitel)); # Filter if ($obFilterleiste) { fncElement ("lmnSymbleiste.I", $Vorgaben, array ($smbFilterleiste)); } # Zurück-Button if ($obCatGalerie) { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxMdZr")); if ($o_u_zurueck) { fncElement ("lmnVerweis.AZT", $Vorgaben, array (fncPhrase ($Vorgaben, array ("zurueck")), $_REQUEST[PAGE])); } else { fncElement ("lmnVerweis.AZK", $Vorgaben, array ("", $_REQUEST[PAGE])); fncElement ("lmnVerweis.AZK", $Vorgaben, array ($txtSeitentitel, $_REQUEST[PAGE] . "|" . $varCat . "=" . $idCat . "|1")); } fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } elseif ($zhlSeite == 1 and $txtEinleitung) // wenn keine Kategorie-Galerie, dann hier die Einleitung zeigen, nur auf Seite 1 zeigen { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtEinleitung)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } if (!$Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtWennKeineDatenNachFiltern)); } else { if ($obMatrix) { $mtxTage = array (); $mtxLokale = array (); $mtxTermine = array (); $mtxZeiten = array (); # Termine übergeben if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idItem => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idItem))) { $dtmDatum = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn")); $hrzBeginn = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "hrzBeginn")); $idStaette = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Staette")); $mtxTage[$dtmDatum] = 1; $mtxZeiten[$dtmDatum][$hrzBeginn] = 1; $mtxLokale[$dtmDatum][$idStaette] = 1; $mtxTermine[$dtmDatum][$idStaette][$hrzBeginn][$idItem] = $idItem; } # Ausgabe fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxGs")); # Tage if (is_array ($mtxTage)) foreach ($mtxTage as $dtmDatum => $tmp) { fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", "|| cssOoTbMdMxGs")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxKb")); fncElement ("lmnKalenderblatt.", $Vorgaben, array ($dtmDatum)); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.D", $Vorgaben, array ("", " xcssOoTbMdMxSp")); # Lokale Kopfzeile, 1x je Tag fncElement ("lmnTabelle.AB", $Vorgaben, array ()); $obLinie = 0; if (is_array ($Vorgaben["Data"]["datTmStaetten"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datTmStaetten"][0]["Sortierung"] as $idStaette => $tmp) if ($mtxLokale[$dtmDatum][$idStaette]) { if (!$obLinie++) { $cssSpalte = "cssOoTbMdMxSp1"; } else { $cssSpalte = "cssOoTbMdMxSp2"; } fncElement ("lmnTabelle.C", $Vorgaben, array ("", $cssSpalte)); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxSp")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxLk1")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxLk2")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datTmStaetten", $idStaette, "Titel")), " cssOoTxMdMxLk")); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ("", "cssOoTbMdMxSp")); } fncElement ("lmnTabelle.YZ", $Vorgaben, array ("", "cssOoTbMdMxSp")); # Zeiten if (is_array ($mtxZeiten[$dtmDatum])) foreach ($mtxZeiten[$dtmDatum] as $hrzBeginn => $tmp) { fncElement ("lmnTabelle.AB", $Vorgaben, array ()); # 3. Lokale, Inhalt $obLinie = 0; if (is_array ($Vorgaben["Data"]["datTmStaetten"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datTmStaetten"][0]["Sortierung"] as $idStaette => $tmp) if ($mtxLokale[$dtmDatum][$idStaette]) { if (!$obLinie++) { $cssSpalte = "cssOoTbMdMxSp1"; } else { $cssSpalte = "cssOoTbMdMxSp2"; } fncElement ("lmnTabelle.C", $Vorgaben, array ("", $cssSpalte)); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxSp")); # Termine zur nämlichen Zeit am nämlichen Ort if (is_array ($mtxTermine[$dtmDatum][$idStaette][$hrzBeginn])) foreach ($mtxTermine[$dtmDatum][$idStaette][$hrzBeginn] as $idItem) { # Termin if ($obDetailsAus or fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObDetailsAus"))) { if ($idKuenstler = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKuenstler"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKuenstler, $idKuenstler, "Titel")), $varKnItem . "=" . $idKuenstler)); $o_verweis = true; } else { $o_verweis = false; } } else { fncElement ("lmnVerweis.ANJH", $Vorgaben, array ($txtDetailsAnsehen, $_REQUEST[PAGE] . "|" . $varItem . "=" . $idItem)); $o_verweis = true; } fncElement ("lmnBox.AZ", $Vorgaben, array ("", " cssOoBxMdMxTmB | background: url('" . $Vorgaben["Ordner"]["CBilder"] . fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "') center center no-repeat; background-size: cover;")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxTmZT")); fncElement ("lmnTabelle.ABC", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "hrzBeginn")) . " ", " cssOoTxMdMxTmZ")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), " cssOoTxMdMxTmT")); fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); if ($o_verweis) { fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } } fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ("", "cssOoTbMdMxSp")); } fncElement ("lmnTabelle.YZ", $Vorgaben, array ()); } # Sockel, 1x je Tag fncElement ("lmnTabelle.AB", $Vorgaben, array ()); $obLinie = 0; if (is_array ($Vorgaben["Data"]["datTmStaetten"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datTmStaetten"][0]["Sortierung"] as $idStaette => $tmp) if ($mtxLokale[$dtmDatum][$idStaette]) { if (!$obLinie++) { $cssSpalte = "cssOoTbMdMxSp1"; } else { $cssSpalte = "cssOoTbMdMxSp2"; } fncElement ("lmnTabelle.C", $Vorgaben, array ("", $cssSpalte)); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdMxSp")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ("", "cssOoTbMdMxSp")); } fncElement ("lmnTabelle.YZ", $Vorgaben, array ("", "cssOoTbMdMxSp")); fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); } unset ($mtxTage); unset ($mtxLokale); unset ($mtxTermine); unset ($mtxZeiten); fncElement ("lmnBox.Z", $Vorgaben, array ()); } elseif ($obKartei) { $t_anker = 'schnipsel'; $r_phrasen = array (); $i_ziel = ''; fncElement ("lmnTabelle.AB", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssCcBxMn||")); fncElement ("lmnTabelle.AB", $Vorgaben, array ()); $i = 0; $r_x = array (); if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $idItem => $r_x) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idItem))) { # Titel $t_titel = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")); # Sammle Phrasen $r_phrasen[$t_titel] = $idItem; if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Kategorie"))) { if ($i++) { fncElement ("lmnTabelle.C", $Vorgaben, array ("", " ")); fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('

|

')); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.C", $Vorgaben, array ("", " ")); fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('

' . $t_titel . '

')); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } } fncElement ("lmnTabelle.C", $Vorgaben, array ("", " ")); fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('

|

')); fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ("", " ")); fncElement ("lmnVerweis.AZTFUC", $Vorgaben, array ($txtNachrichtSchreiben)); fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.YZ", $Vorgaben, array ("", "cssOoTbMdMxSp")); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idItem => $x) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idItem))) { fncElement ("lmnTabelle.C", $Vorgaben, array ("", " cssCcTbEt")); fncElement ("lmnBox.A", $Vorgaben, array ("", "cssCcBxEt||" . $t_anker . $idItem)); fncElement ("lmnKapitel.AZ", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")))); if (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild"))) { fncElement ("lmnBild.RLF", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "|" . $bxhUBild)); } # Beschreibung if (!$obUBeschreibung and $t_beschreibung = fncFeld ("dtfWert.FN", $Vorgaben, array ($datDatenbank, $idItem, "Beschreibung"))) { # Anker setzen foreach ($r_phrasen as $t_phrase => $i_ziel) { $t_beschreibung = str_replace ($t_phrase, '' . $t_phrase . '', $t_beschreibung); } fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('

' . $t_beschreibung . '

')); } if ($vrwInternet = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $idItem, "vrwInternet"))) { // fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Website", "G")))); fncElement ("lmnVerweis.AZXH", $Vorgaben, array ("", $vrwInternet)); } # zurück fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('

(zurück)

')); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssCcBxRc")); fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.YZ", $Vorgaben, array ("", "cssOoTbMdMxSp")); } else // Liste statt Matrix { # Ziel Anhang $q_anhang = "&" . $varZsJahr . "=" . $_REQUEST[$varZsJahr]; # Blättern erzeugen fncElement ("lmnBlaettern.E", $Vorgaben, array ($datDatenbank, $varChap, $zhlDsJeSeite)); $zhlSeite = $_REQUEST[$varChap]; $obLinie = 0; $txGemerkteInitiale = ""; $cdGemerkteKategorie = ""; $o_text = false; $o_verweis = false; if ($o_u_galerie) { $cssTbListe = ""; } else { $cssTbListe = " cssSystemVolleBreite"; } fncElement ("lmnUmfluss.R", $Vorgaben, array ()); $z_elemente_in_zeile = 0; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlSeite] as $idItem => $tmp) { $z_elemente_in_zeile++; $obLinie++; $txTitelItem = fncText ("ftxKuerzen", array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), $zhlTitelKuerzen)); $txAktuelleInitiale = mb_substr ($txTitelItem, 0, 1); $cdAktuelleKategorie = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Kategorie")); if ($obUGruNacKat and $cdAktuelleKategorie != $cdGemerkteKategorie) // in Kategorien gruppiert { fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Kategorie")))); $cdGemerkteKategorie = $cdAktuelleKategorie; } elseif ($obListeAZ and $txAktuelleInitiale != $txGemerkteInitiale) { fncElement ("lmnZwischentitel.", $Vorgaben, array ($txAktuelleInitiale)); $txGemerkteInitiale = $txAktuelleInitiale; } elseif (!$o_u_galerie and !$obListeAZ and $obLinie > 1) { // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssCcMdULinie")); fncElement ("lmnLinie.", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } if ($o_u_galerie) { fncElement ("lmnBox.A", $Vorgaben, array ("", " cssCcMdUGalerie")); } if ($o_u_zoom) { } elseif ($obDetailsAus or fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObDetailsAus"))) { if ($idTermin = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwTermin"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datTermine, $idTermin, "Titel")), $varTmItem . "=" . $idTermin)); $o_verweis = true; $k_verweistyp = 'Tm'; } elseif ($idKuenstler = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKuenstler"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKuenstler, $idKuenstler, "Titel")), $varKnItem . "=" . $idKuenstler)); $o_verweis = true; $k_verweistyp = 'Kn'; } elseif ($idBeitrag = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwBeitrag"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datChronik, $idBeitrag, "Titel")), $varChItem . "=" . $idBeitrag)); $o_verweis = true; $k_verweistyp = 'Ch'; } elseif ($idDokument = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwDokument"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datDokumente, $idDokument, "Titel")), $varDkItem . "=" . $idDokument)); $o_verweis = true; $k_verweistyp = 'Dk'; } elseif ($idProdukt = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwProdukt"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKatalog, $idProdukt, "Titel")), $varKtItem . "=" . $idProdukt)); $o_verweis = true; $k_verweistyp = 'Kt'; } elseif ($idReferenz = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwReferenz"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datReferenzen, $idReferenz, "Titel")), $varRfItem . "=" . $idReferenz)); $o_verweis = true; $k_verweistyp = 'Rf'; } elseif ($idKunde = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwKunde"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datKunden, $idKunde, "Titel")), $varKdItem . "=" . $idKunde)); $o_verweis = true; $k_verweistyp = 'Kd'; } elseif ($idPartner = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwPartner"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datPartner, $idPartner, "Titel")), $varPrItem . "=" . $idPartner)); $o_verweis = true; $k_verweistyp = 'Pr'; } elseif ($idJob = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwJob"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datJobs, $idJob, "Titel")), $varJbItem . "=" . $idJob)); $o_verweis = true; $k_verweistyp = 'Jb'; } elseif ($idMitarbeiter = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwMitarbeiter"))) { fncElement ("lmnVerweis.AIJH", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datMitarbeiter, $idMitarbeiter, "Titel")), $varMtItem . "=" . $idMitarbeiter)); $o_verweis = true; $k_verweistyp = 'Mt'; } elseif ($idThema = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "vrwThema"))) { fncElement ("lmnVerweis.ANJH", $Vorgaben, array ("", $idThema)); $o_verweis = true; $k_verweistyp = 'Nh'; } elseif ($vrwInternet = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $idItem, "vrwInternet"))) { fncElement ("lmnVerweis.AXJH", $Vorgaben, array ("", $vrwInternet)); $o_verweis = true; $k_verweistyp = 'ws'; } else { $o_verweis = false; $k_verweistyp = ''; } } else { fncElement ("lmnVerweis.ANJH", $Vorgaben, array ($txtDetailsAnsehen, $_REQUEST[PAGE] . "|" . $varItem . "=" . $idItem . $q_anhang)); $o_verweis = true; $k_verweistyp = ''; } if ($o_verweis) // wenn keine Details, dann komplette Beschreibung in Übersicht zeigen { $zhlBeschreibungKuerzen = 0; $zhlTitelKuerzen = 0; } #.# // echo $k_verweistyp; fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", "||" . $cssTbListe)); switch ($k_verweistyp) { case 'Ch': { $n_a_mod_sym = fncVorgaben ($Vorgaben, $k_verweistyp . "AModSym.N"); if ($n_a_mod_sym) { fncElement ("lmnBild.LF", $Vorgaben, array ($n_a_mod_sym . "|")); } } break; default: { $d_termin = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "fTermin")); if ($d_termin) { fncElement ("lmnKalenderblatt.L", $Vorgaben, array ($d_termin)); } elseif ($obKalenderblatt) { if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn"))) { fncElement ("lmnKalenderblatt.", $Vorgaben, array (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn")))); } } else { if ($obULogo and fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo"))) { fncElement ("lmnBild.RLF", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Logo")) . "|" . $bxhUBild)); } elseif (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild"))) { if ($o_u_zoom) { $s_ob_zoom = 'Z'; } else { $s_ob_zoom = ''; } fncElement ("lmnBild.RLF" . $s_ob_zoom, $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "TBild")) . "|" . $bxhUBild, '', 'U,' . $idItem . ',' . $idCat . ',' . $Vorgaben["curZone"] . ',' . $o_archiv)); } } break; } } if (!$o_u_galerie) { fncElement ("lmnTabelle.D", $Vorgaben, array ("", $cssTbListe)); } if ($obBewerten) { $o_text = true; if ($obDetailsAus or fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObDetailsAus"))) { fncElement ("lmnBewerten.B", $Vorgaben, array ($datDatenbank, $idItem, $datBewerten, $varItem . "=" . $idItem . "&" . $varChap . "=" . $Vorgaben["Data"][$datDatenbank][$idItem]["+chap"])); } else { fncElement ("lmnBewerten", $Vorgaben, array ($datDatenbank, $idItem)); } } if (!$o_archiv) { if ($t_preisnulltext and !fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "Preis"))) { $s_option_preis = 'N'; } else { $s_option_preis = ''; } // fncElement ("lmnPreis.ER" . $s_option_preis, $Vorgaben, array ($datDatenbank . "|" . $idItem . "|Preis|" . $t_preisnulltext)); fncElement ("lmnPreis.ER" . $s_option_preis, $Vorgaben, array ($datDatenbank . "|" . $idItem . "|Preis|" . $t_preisnulltext . '|' . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idItem, "tVorPreis")))); } # Titel if ($obListeAZ) { $t_format = 'lmnAbsatz'; } else { $t_format = 'lmnRubrik'; } if (!$o_u_titel_verbergen) { $o_text = true; fncElement ($t_format . ".AZ", $Vorgaben, array ($txTitelItem)); # akademischer Titel $t_akadem_titel = fncFeld ("dtfWert.FN", $Vorgaben, array ($datDatenbank, $idItem, "txtTitel")); if ($t_akadem_titel) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($t_akadem_titel)); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } # Beschreibung if (!$obUBeschreibung and $txtBeschreibung = fncFeld ("dtfWert.FN", $Vorgaben, array ($datDatenbank, $idItem, "Beschreibung"))) { $o_text = true; fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncText ("ftxKuerzen", array ($txtBeschreibung, $zhlBeschreibungKuerzen)))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } # Aufgabenbereich fncElement ("lmnBlock.RA", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Aufgabenbereich", "G")), $datDatenbank . "|" . $idItem . "|txtAufgabe")); # in der Firma seit if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmEintritt"))) { $zhAlter = funDatum ("Alter.8", $Vorgaben, array (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "dtmEintritt")), $Vorgaben["Heute"][8])); $zhJahre = $zhAlter["Jahre"]; unset ($zhAlter); if ($zhJahre) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("bei uns seit " . $zhJahre . " " . fncText ("ftxEinheit", array ($zhJahre, "Jahr", "Jahren", "Jahren")))); } else { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("neu bei uns ")); } } if (mb_strstr ($Optionen, "T")) // nur bei Modul Termine { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.NES", $Vorgaben, array ($datDatenbank, $idItem, "dtmBeginn", "", "DXL")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idItem, "hrzBeginn")) . ", " . fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idItem, "Staette")))); } if ($obBewerten and $obBewText) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnBewerten.T", $Vorgaben, array ($datDatenbank, $idItem)); } # Sockel if ($o_text and !$obListeAZ) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); if ($o_verweis) { fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } if ($o_u_galerie) { fncElement ("lmnBox.Z", $Vorgaben, array ()); } if (!$o_u_galerie) { fncElement ("lmnUmfluss", $Vorgaben, array ()); } if ($z_waagerecht and $z_elemente_in_zeile == $z_waagerecht) { $z_elemente_in_zeile = 0; fncElement ("lmnUmfluss", $Vorgaben, array ()); } } # Blättern if ($idCat) { $vrwAnhang = $varCat . "=" . $idCat; } else { $vrwAnhang = ""; } fncElement ("lmnBlaettern.F", $Vorgaben, array ($datDatenbank, $varChap, $vrwAnhang, $zhlBElemente, $obBAZ, $zhlBAbk, $obBSeitenzahl)); fncElement ("lmnUmfluss", $Vorgaben, array ()); } } } else // 1.Übersicht der Kategorien { # Ziel Anhang $q_anhang = "&" . $varZsJahr . "=" . $_REQUEST[$varZsJahr]; # Exklusiv/Multi if ($obMKategorien) // multiple Kategorien { $fldKategorie = "mltKategorien"; } else // exklusive Kategorie { $fldKategorie = "Kategorie"; } # Sortieren sortiereDatenbankNachCode ($Vorgaben, $datKategorien, $knzCatSort); if ($txtEinleitung) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtEinleitung)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } if ($obZufCBild) // zufälliges Bild?; { $r_kategoriebilder = findeZufallsKategorieBilder ($Vorgaben, $datDatenbank); } fncDatenbank ("dtbStatistik.S", $Vorgaben, array ($datDatenbank, $fldKategorie, $Vorgaben["Data"][$datKategorien][0]["Sortierung"])); fncElement ("lmnUmfluss.", $Vorgaben, array ()); // wenn rechts Navi U gesetzt ist, sollen Kategorie-Kachel nicht ungleichmäßig angezeigt werden if (is_array ($Vorgaben["Data"][$datDatenbank][0]["+Statistik"][$fldKategorie])) foreach ($Vorgaben["Data"][$datDatenbank][0]["+Statistik"][$fldKategorie] as $idCat => $zhlMenge) if ($zhlMenge) { # Parameter if (!$idCat) { $txtTitel = $t_kategorie_weitere; $txtZiel = $_REQUEST[PAGE] . "|" . $varCat . "=!"; } else { $txtTitel = fncFeld ("dtfWert", $Vorgaben, array ($datKategorien, $idCat, "Titel")); $txtZiel = $_REQUEST[PAGE] . "|" . $varCat . "=" . $idCat; } # Anhang anhängen $txtZiel .= $q_anhang; # Kategoriebild $dtnBild = ""; if ($obZufCBild) // zufälliges Bild?; { // echo __LINE__; var_dump ($r_kategoriebilder); // var_dump ($idCat); // var_dump ($bldSammler); if (isset ($r_kategoriebilder[$idCat]) and $r_kategoriebilder[$idCat]) { // echo "J"; $dtnBild = $r_kategoriebilder[$idCat]; } else { // echo "N"; $dtnBild = $n_kategoriestandardbild; } } elseif (fncFeld ("dtfWert.N", $Vorgaben, array ($datKategorien, $idCat, "Bild"))) { $dtnBild = fncFeld ("dtfWert.N", $Vorgaben, array ($datKategorien, $idCat, "Bild")); } if ($dtnBild) { $cssHgBild = "background: url('" . $Vorgaben["Ordner"]["CBilder"] . $dtnBild . "') center center no-repeat; background-size: cover; "; } else { $cssHgBild = ""; } # Vorhang // if ($dnKatVorhBild) // { // $cssHgVorh = "background: url('" . $Vorgaben["Ordner"]["CBilder"] . $dnKatVorhBild . "') center bottom repeat-x; "; // } // else // { // $cssHgVorh = ""; // } # Ausgabe fncElement ("lmnVerweis.ANJ", $Vorgaben, array ($txtTitel, $txtZiel)); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdKt1")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdKt2")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdKt3")); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdKt4 | width: " . $bxhKBild . "px; height: " . $bxhKBild . "px; " . $cssHgBild)); fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", " | width: " . $bxhKBild . "px; height: " . $bxhKBild . "px; vertical-align: bottom; ")); if (!$obCLegende) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtTitel, " cssOoTfLtA cssOoTfRb cssOoTsLtA cssOoTsRb cssOoSnLt cssOoSnRb cssOoTxMdKt")); } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); if ($obCLegende) { fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxMdKt5 | width: " . $bxhKBild . "px; height: 70px; ")); fncElement ("lmnRubrik.AZ", $Vorgaben, array ($txtTitel)); fncElement ("lmnBox.Z", $Vorgaben, array ()); } fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } if ($obZufCBild) // zufälliges Bild?; { // unset ($bldSammler); unset ($r_kategoriebilder); } fncElement ("lmnUmfluss", $Vorgaben, array ()); } } } } break; case "lmnBewerten": { /* B - Bewerten (sonst nur Anzeige) D - Bewertung in die Db schreiben T - Anzeige als Text */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $idID, $datBw, $txtLoc) = $Parameter; unset ($Parameter); # Debug // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datBw"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtLoc"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # abgegebene Bewertung speichern if (mb_strstr ($Optionen, "D")) { if (isset ($_REQUEST[RATE]) and $_REQUEST[RATE]) // Bewerten { list ($idRate, $wrtRate) = explode (",", $_REQUEST[RATE]); # Debug //$dbgInfo = "ist gleich"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); funDatenbank ("datAendern", $Vorgaben, array ($datBw, $Vorgaben["curLang"] . "|" . $idRate . "|" . strval (md5 ($Vorgaben["curIP"])), "Wert", $wrtRate)); $_REQUEST[RATE] = 0; funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idRate, "BwSm", 0)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idRate, "BwAn", 0)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idRate, "BwDs", 0)); if (is_array ($Vorgaben["Data"][$datBw][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datBw][0]["Sortierung"] as $idBew => $X) { # Debug //$dbgVariable = "idBew"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); list ($xxSprache, $idItem) = explode ("|", $idBew); if ($xxSprache == $Vorgaben["curLang"] and $idItem == $idRate) { # neue Bewertung $zhlBewertung = $Vorgaben["Data"][$datBw][$idBew]["Wert"] / 1; # Debug //$dbgVariable = "xxSprache"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "idItem"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "zhlBewertung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # bisherige Bewertungen auslesen $BwSm = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank . "|" . $xxSprache, $idItem, "BwSm")); $BwAn = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank . "|" . $xxSprache, $idItem, "BwAn")); $BwDs = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank . "|" . $xxSprache, $idItem, "BwDs")); # Debug //$dbgVariable = "BwSm"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BwAn"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BwDs"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # neue Bewertung hinzufügen $BwSm += $zhlBewertung; $BwAn++; $BwDs = fncZahl ("zhlRunden", array ($BwSm / $BwAn)); # Debug //$dbgVariable = "BwSm"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BwAn"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BwDs"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idItem, "BwSm|" . $xxSprache, $BwSm)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idItem, "BwAn|" . $xxSprache, $BwAn)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idItem, "BwDs|" . $xxSprache, $BwDs)); } } fncDatenbank ("dtbSchreiben", $Vorgaben, array ()); } } elseif (mb_strstr ($Optionen, "T")) // als Text { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncPhrase ($Vorgaben, array ("Bewertung")) . ": " . fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $idID, "BwDs")) . " (" . fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $idID, "BwAn")) . ")")); } else // zeige Sterne { # aktuelle Bewertung auslesen $curBw = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $idID, "BwDs")); # Debug // //$dbgInfo = "aktuelle Bewertung auslesen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // // $datRtReisetipps = $Vorgaben["Data"]["datRtReisetipps"]; // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "curBw"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxBwG")); for ($Z = 1; $Z <= 5; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxBwH cssOoBxBwL" . $Z)); } if (mb_strstr ($Optionen, "B")) // Bewerten { for ($Z = 1; $Z <= $curBw; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxBwH cssOoBxBwB" . $Z)); } if ($Vorgaben["curLid"]) { $txtLoc .= "&" . LANG . "=" . $Vorgaben["curLid"]; } for ($Z = 1; $Z <= 5; $Z++) { $txtBew = "&" . RATE . "=" . $idID . "," . $Z; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxBwH cssOoBxBwBb")); fncElement ("lmnVerweis.ANJ", $Vorgaben, array (fncPhrase ($Vorgaben, array ("jetztBewerten", "G")), $_REQUEST[PAGE] . "|" . $txtLoc . $txtBew)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", "cssOoBxBwBxH")); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } for ($Z = 1; $Z <= 5; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } for ($Z = 1; $Z <= $curBw; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } else // nur anzeigen { for ($Z = 1; $Z <= $curBw; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxBwH cssOoBxBwA" . $Z)); } for ($Z = 1; $Z <= $curBw; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } for ($Z = 1; $Z <= 5; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnBlaettern": { /* B - Design B C - Design C E - Kapitel erzeugen F - Fußzeile O - oben links (sonst unten rechts) P - Portal S - simpel links/rechts blättern Z - Zeitsteuerung */ if (mb_strstr ($Optionen, "E")) // Kapitel erzeugen { $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $varChap, $zhlDsJeSeite) = $Parameter; unset ($Parameter); # Debug // debug ('Kapitel erzeugen'); // $_d = '$datDatenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$Optionen'; debugVariable ($_d = substr ($_d, 1), $$_d); // $d_datenbank = $Vorgaben["Data"][$datDatenbank][2]; // $_d = '$d_datenbank'; debugVariable ($_d = substr ($_d, 1), $$_d); // debug ('/Kapitel erzeugen'); if (mb_strstr ($Optionen, "Z")) // Zeitsteuerung { $optAktiv = "Z"; } else { $optAktiv = ""; } $zhlLfdKapitelNr = 1; $Z = 0; $Vorgaben["Data"][$datDatenbank][0]["Blaettern"] = array (); if (isset ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $tmp) if (fncDatensatz ("DsAktiv.F" . $optAktiv, $Vorgaben, array ($datDatenbank, $idID))) { // echo "|".$idID."|".$Vorgaben["Data"][$datDatenbank][$idID]["+flt"]."|
"; $Z++; if ($zhlDsJeSeite and $Z > ($zhlLfdKapitelNr * $zhlDsJeSeite)) { $zhlLfdKapitelNr++; } $Vorgaben["Data"][$datDatenbank][0]["Blaettern"][$zhlLfdKapitelNr][$idID] = $Z; $Vorgaben["Data"][$datDatenbank][$idID]["+chap"] = $zhlLfdKapitelNr; } # wenn Kapitel nicht gesetzt oder zu hoch, das passiert, wenn man auf der letzten Seite ist und danach den Filter benutzt, so dass diese Seite gar nicht mehr existiert --> dann Rücksprung zu Seite 1 if (!isset ($_REQUEST[$varChap]) or !$_REQUEST[$varChap] or $_REQUEST[$varChap] > $zhlLfdKapitelNr) { $_REQUEST[$varChap] = 1; } # wenn Datensatz geöffnet, dann auf dessen Seite springen list ($dbOpen, $idOpen) = explode (",", $_REQUEST["OpenCoord"] . ","); if ($dbOpen == $datDatenbank) if (isset ($Vorgaben["Data"][$datDatenbank][$idOpen]["+chap"])) { $_REQUEST[$Vorgaben["bltDBs"][ $Vorgaben["curModul"] ][$datDatenbank]["varChap"]] = $Vorgaben["Data"][$datDatenbank][$idOpen]["+chap"]; } } elseif (mb_strstr ($Optionen, "F")) // Fußzeile { list ($datDatenbank, $varChap, $txtVwAnhang, $zhlBElemente, $obBAZ, $zhlBAbk, $obBSeitenzahl) = $Parameter; unset ($Parameter); # var $obStg = 0; if (isset ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][2]) and $Vorgaben["Data"][$datDatenbank][0]["Blaettern"][2]) // nur anzeigen, wenn min. 2 Seiten { if (mb_strstr ($Optionen, "O")) // oben links { $cssBxG = "cssOoBxBtGFo"; } else { $cssBxG = "cssOoBxBtGFu"; } if (mb_strstr ($Optionen, "C")) // Design C { $optDesign = "C"; } elseif (mb_strstr ($Optionen, "B")) // Design B { $optDesign = "B"; } else // Design A { $optDesign = ""; } if ($Vorgaben["curLid"]) { $t_anhang_lang = "&" . LANG . "=" . $Vorgaben["curLid"]; } else { $t_anhang_lang = ""; } fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxG)); fncElement ("lmnTabelle.AB", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxBtEt")); fncElement ("lmnAbsatz.AZOb" . $optDesign, $Vorgaben, array (fncPhrase ($Vorgaben, array ("blaettern", "G")) . ":")); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); $zhlSeiten = count ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"]); if ($obBAZ and isset ($Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0]) and $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0] == "Titel") { $knzSortierung = "tt"; if (!$zhlBAbk) { $zhlBAbk = 2; } } elseif ($obBSeitenzahl) // zeigt 1 | 2 | 3 | 4 | ... { $knzSortierung = "sz"; } else // zeigt 1–2 | 3–4 | ... { $knzSortierung = "en"; } if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"] as $Seite => $regDetails) { $txtVon = ""; # Anzteige switch ($knzSortierung) { case "sz": // Seitenzahl { $txtVonBis = $Seite; } break; case "en": // Lfd. Nr. { $txtVon = array_shift ($regDetails); $txtBis = array_pop ($regDetails); if (!$txtBis) { $txtBis = $txtVon; } $txtVonBis = $txtVon . "–" . $txtBis; } break; case "tt": // Titel { if (is_array ($regDetails)) foreach ($regDetails as $idItem => $tmp) { if (!$txtVon) { $txtVon = mb_substr (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), 0, $zhlBAbk); } $txtBis = mb_substr (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")), 0, $zhlBAbk); } if (!$txtBis) { $txtBis = $txtVon; } $txtVonBis = $txtVon . "–" . $txtBis; } break; } unset ($regDetails); $zhlOK = $_REQUEST[$varChap] + floor ($zhlBElemente / 2); // Oberkante sichtbar if ($zhlOK > $zhlSeiten) { $zhlOK = $zhlSeiten; } $zhlUK = $zhlOK - $zhlBElemente +1; // Unterkante sichtbar if ($zhlUK < 1) { $zhlUK = 1; $zhlOK = $zhlBElemente; } if (!$zhlBElemente or $zhlSeiten <= $zhlBElemente or ($Seite >= $zhlUK and $Seite <= $zhlOK)) { $obSichtbar = 1; $obSeite = 1; } elseif ($Seite == $zhlUK - 1 or $Seite == $zhlOK + 1) { $obSichtbar = 1; $txtVonBis = "…"; $obSeite = 0; } else { $obSichtbar = 0; } if ($obSichtbar) { $Ziel = $_REQUEST[PAGE] . "|" . $varChap . "=" . $Seite . "&" . $txtVwAnhang . $t_anhang_lang; if (($_REQUEST[$varChap] / 1) == ($Seite / 1)) { $Ziel .= "|1"; // aktiv $cssBlatt = " cssOoBxBtEa"; } elseif (!$obSeite) { $cssBlatt = " cssOoBxBtEt"; } else { $cssBlatt = " cssOoBxBtE"; } if ($obStg++) { // fncElement ("lmnTabelle.C", $Vorgaben, array ()); // fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array ("|", "")); // fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBlatt)); fncElement ("lmnVerweis.AZSUb" . $optDesign, $Vorgaben, array ($txtVonBis, $Ziel)); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } } fncElement ("lmnTabelle.YZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); unset ($obAusblenden); } } elseif (mb_strstr ($Optionen, "P")) // Portal { list ($datDatenbank, $varChap, $zhlBElemente, $obBAZ, $zhlBAbk, $obBSeitenzahl) = $Parameter; unset ($Parameter); if (isset ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][2])) // nur anzeigen, wenn min. 2 Seiten if ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][2]) // nur anzeigen, wenn min. 2 Seiten { if (mb_strstr ($Optionen, "O")) // oben links { $cssBxG = "cssOoBxBtGPo"; } else { $cssBxG = "cssOoBxBtGPu"; } fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxG)); fncElement ("lmnTabelle.AB", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO", $Vorgaben, array (fncPhrase ($Vorgaben, array ("blaettern", "G")) . ":", " cssPpLt")); fncElement ("lmnTabelle.X", $Vorgaben, array ()); $zhlSeiten = count ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"]); if ($obBAZ and $Vorgaben["Data"][$datDatenbank][0]["SortierFelder"][0] == "Titel") { $knzSortierung = "tt"; if (!$zhlBAbk) { $zhlBAbk = 2; } } elseif ($obBSeitenzahl) // zeigt 1 | 2 | 3 | 4 | ... { $knzSortierung = "sz"; } else // zeigt 1–2 | 3–4 | ... { $knzSortierung = "en"; } $obStg = 0; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"] as $Seite => $regDetails) { $txtVon = ""; # Anzteige switch ($knzSortierung) { case "sz": // Seitenzahl { $txtVonBis = $Seite; } break; case "en": // Lfd. Nr. { $txtVon = array_shift ($regDetails); $txtBis = array_pop ($regDetails); if (!$txtBis) { $txtBis = $txtVon; } $txtVonBis = $txtVon . "–" . $txtBis; } break; case "tt": // Titel { $txtKVon = ""; if (is_array ($regDetails)) foreach ($regDetails as $idItem => $tmp) { if (!$txtKVon) { $txtKVon = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")); } $txtKBis = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel")); } $txtVon = mb_substr ($txtKVon, 0, $zhlBAbk); $txtBis = mb_substr ($txtKBis, 0, $zhlBAbk); if ($zhlBAbk > 1) if (mb_strtoupper ($txtVon) == mb_strtoupper ($txtBis)) { for ($Z = 1; $Z < mb_strlen ($txtKVon) and mb_strtoupper (mb_substr ($txtKVon, $Z, 1)) == mb_strtoupper (mb_substr ($txtKBis, $Z, 1)); $Z++); if ($Z < mb_strlen ($txtKVon)) { $txtVon = mb_substr ($txtKVon, 0, ($zhlBAbk - 1)) . "’" . mb_substr ($txtKVon, $Z, 1); $txtBis = mb_substr ($txtKBis, 0, ($zhlBAbk - 1)) . "’" . mb_substr ($txtKBis, $Z, 1); } } if (!$txtBis) { $txtBis = $txtVon; } $txtVonBis = $txtVon . "–" . $txtBis; } break; } unset ($regDetails); $zhlOK = $_REQUEST[$varChap] + floor ($zhlBElemente / 2); // Oberkante sichtbar if ($zhlOK > $zhlSeiten) { $zhlOK = $zhlSeiten; } $zhlUK = $zhlOK - $zhlBElemente +1; // Unterkante sichtbar if ($zhlUK < 1) { $zhlUK = 1; $zhlOK = $zhlBElemente; } if (!$zhlBElemente or $zhlSeiten <= $zhlBElemente or ($Seite >= $zhlUK and $Seite <= $zhlOK)) { $obSichtbar = 1; } elseif ($Seite == $zhlUK - 1 or $Seite == $zhlOK + 1) { $obSichtbar = 1; $txtVonBis = "…"; } else { $obSichtbar = 0; } if ($obSichtbar) { // $Ziel = $_REQUEST[PAGE] . "|" . $varChap . "=" . $Seite . "&" . $txtVwAnhang . $t_anhang_lang; if (($_REQUEST[$varChap] / 1) == ($Seite / 1)) // aktiv { $cssTx = " cssPpLt cssPortalBlTxA"; } else { $cssTx = " cssPpLt cssPortalBlTx"; } if ($obStg++) { fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO", $Vorgaben, array ("|", " cssPpLt")); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssPpBxBtE")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AW", array ("", $txtVonBis, $cssTx, "", 1, "document.frmMvd." . $varChap . ".value = '" . $Seite . "'; document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtVonBis)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } } fncElement ("lmnTabelle.YZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); unset ($obAusblenden); } } elseif (mb_strstr ($Optionen, "S")) // simpel links/rechts blättern { list ($datDatenbank, $varChap, $txtVwAnhang) = $Parameter; unset ($Parameter); if (isset ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"][2]) and $Vorgaben["Data"][$datDatenbank][0]["Blaettern"][2]) // nur anzeigen, wenn min. 2 Seiten { if (mb_strstr ($Optionen, "O")) // oben links { $cssBxG = "cssOoBxBtGSo"; } else { $cssBxG = "cssOoBxBtGSu"; } if (mb_strstr ($Optionen, "C")) // Design C { $optDesign = "C"; } elseif (mb_strstr ($Optionen, "B")) // Design B { $optDesign = "B"; } else // Design A { $optDesign = ""; } if ($Vorgaben["curLid"]) { $t_anhang_lang = "&" . LANG . "=" . $Vorgaben["curLid"]; } else { $t_anhang_lang = ""; } $zhlSeiten = count ($Vorgaben["Data"][$datDatenbank][0]["Blaettern"]); fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxG)); fncElement ("lmnTabelle.AB", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ()); // fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array (fncPhrase ($Vorgaben, array ("blaettern", "G")) . ":")); fncElement ("lmnTabelle.X", $Vorgaben, array ()); if ($_REQUEST[$varChap] - 1) { fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxBtE")); fncElement ("lmnVerweis.AZS" . $optDesign, $Vorgaben, array (fncPhrase ($Vorgaben, array ("zurueck")), $_REQUEST[PAGE] . "|" . $varChap . "=" . ($_REQUEST[$varChap] - 1) . "&" . $txtVwAnhang . $t_anhang_lang)); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } if (($_REQUEST[$varChap] - 1) and ($_REQUEST[$varChap] + 1) <= $zhlSeiten) { fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array ("|", "")); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } if (($_REQUEST[$varChap] + 1) <= $zhlSeiten) { fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxBtEs")); fncElement ("lmnVerweis.AZS" . $optDesign, $Vorgaben, array (fncPhrase ($Vorgaben, array ("weiter")), $_REQUEST[PAGE] . "|" . $varChap . "=" . ($_REQUEST[$varChap] + 1) . "&" . $txtVwAnhang . $t_anhang_lang)); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.YZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } } } break; case "lmnSprechblase": { /* A - Antwort B - Design B F - Frage Q - Suche */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { if (mb_strstr ($Optionen, "B")) // Suche { $optAbsatz = "B"; } else { $optAbsatz = ""; } fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb1")); if (mb_strstr ($Optionen, "F")) // Frage { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb2F")); } elseif (mb_strstr ($Optionen, "A")) // Antwort { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb2A")); } fncElement ("lmnMatroschka.A", $Vorgaben, array ("", "cssOoBxSb|3-7")); if (mb_strstr ($Optionen, "F")) // Frage { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb8F")); } elseif (mb_strstr ($Optionen, "A")) // Antwort { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb8A")); } if (mb_strstr ($Optionen, "F")) // Frage { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb9F")); } elseif (mb_strstr ($Optionen, "A")) // Antwort { fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxSb9A")); } fncElement ("lmnMatroschka.A", $Vorgaben, array ("", "cssOoBxSb|10-12")); if (mb_strstr ($Optionen, "F")) // Frage { fncElement ("lmnAbsatz.AZ" . $optAbsatz, $Vorgaben, array ($txtInhalt)); } elseif (mb_strstr ($Optionen, "A")) // Antwort { fncElement ("lmnAbsatz.AZR" . $optAbsatz, $Vorgaben, array ($txtInhalt)); } fncElement ("lmnMatroschka.Z", $Vorgaben, array ("", "|1-12")); } } break; case "lmnCShop": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { # Konstanten $datDatenbank = "datCProdukte"; $varItem1 = "ci"; $varItem2 = "cp"; $varItem3 = "cs"; $varItem4 = "cf"; # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ("datPapierformate")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datPapiersorten")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datFarben")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datCPreise")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datCMehrpreise")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datAuflagen")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datCFarben")); fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Fixfilter fncFilter ("fltDatenbank.O", $Vorgaben, array ($datDatenbank)); # Debug // $datCProdukte = $Vorgaben["Data"][$datDatenbank]; // //$dbgVariable = "datCProdukte"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datCPreise = $Vorgaben["Data"]["datCPreise"]; // //$dbgVariable = "datCPreise"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Titel")); fncDatenbank ("dtbSortieren", $Vorgaben, array ("datPapiersorten", "Titel")); # Ausgabe if (!$_REQUEST[$varItem1]) // 1.Übersicht: Produkte { $ObProdukte = 0; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $X) if ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $ObProdukte = 1; fncElement ("lmnKategoriebild", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $idID, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idID . ";" . $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"][$datDatenbank][$idID]["Bild"])); } if (!$ObProdukte) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Im Moment stehen keine Produkte zur Verfügung.")); } fncElement ("lmnUmfluss", $Vorgaben, array ()); } elseif (!$_REQUEST[$varItem2]) // 2.Übersicht, Papiere je Produkt { $idProdukt = $_REQUEST[$varItem1]; # Zurück-Verweis $Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Titel"] = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idProdukt, "Titel")); fncElement ("lmnVerweis.AZK", $Vorgaben, array ("", $_REQUEST[PAGE])); fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idProdukt, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt)); fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnLinie.", $Vorgaben, array ()); # Erzeuge Preise fncElement ("lmnCmkErzeugePreise", $Vorgaben, array ($idProdukt)); # Fixfilter fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "ID", $idProdukt)); fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank, $idProdukt)); // fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank)); # Debug // //$dbgVariable = "idProdukt"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datCPreise = $Vorgaben["Data"]["datCPreise"]; // //$dbgVariable = "datCPreise"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Ausgabe fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Das gewählte Produkt gibt es in diesen Papiersorten. Bitte wählen Sie:")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); $obPapiersorte = array (); if (is_array ($Vorgaben["Data"]["datCPreise"])) foreach ($Vorgaben["Data"]["datCPreise"] as $ID => $tmp) { unset ($tmp); if ($Vorgaben["Data"]["datCPreise"][$ID]["ID"]) { $obPapiersorte[$Vorgaben["Data"]["datCPreise"][$ID]["Papier"]] = $Vorgaben["Data"]["datCPreise"][$ID]["Papier"]; } } # Debug //$dbgVariable = "obPapiersorte"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (is_array ($Vorgaben["Data"]["datPapiersorten"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datPapiersorten"][0]["Sortierung"] as $idPapier => $X) if ($Vorgaben["Data"]["datPapiersorten"][$idPapier]["ID"]) if ($obPapiersorte[$idPapier]) { fncElement ("lmnKategoriebild", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datPapiersorten", $idPapier, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier . ";" . $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"]["datPapiersorten"][$idPapier]["StdBild"])); } fncElement ("lmnUmfluss", $Vorgaben, array ()); unset ($obPapiersorte); } elseif (!$_REQUEST[$varItem3]) // 3.Übersicht: Formate je Produkt/Papier { $idProdukt = $_REQUEST[$varItem1]; $idPapier = $_REQUEST[$varItem2]; // $idPreis = $_REQUEST[$varItem3]; # Zurück-Verweis fncElement ("lmnVerweis.AZK", $Vorgaben, array ("", $_REQUEST[PAGE])); fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idProdukt, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt)); fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ("datPapiersorten", $idPapier, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier)); fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnLinie.", $Vorgaben, array ()); # Debug // $datCPreise = $Vorgaben["Data"]["datCPreise"]; // //$dbgVariable = "datCPreise"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Fixfilter fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "ID", $idProdukt)); fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank, $idProdukt)); // fncFilter ("fltDatenbank", $Vorgaben, array ("datCPreise", "Papier", $idPapier)); // ??? # Erzeuge Preise fncElement ("lmnCmkErzeugePreise", $Vorgaben, array ($idProdukt, $idPapier)); # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbCShop")); # Setze Titel $Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Titel"] = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idProdukt, "Titel")) . ", " . fncFeld ("dtfWert.", $Vorgaben, array ("datPapiersorten", $idPapier, "Titel")); $Tabelle = array (); $Tabelle["Kopf"]["Format"] = "Format"; $Tabelle["ErstesFeld"]["Format"] = 1; $Tabelle["ObFett"]["Format"] = 1; // $Tabelle["Kopf"]["Papier"] = "Papier"; $Tabelle["Kopf"]["Grammatur"] = "Grammatur"; $Tabelle["ObRechts"]["Grammatur"] = 1; $Tabelle["Kopf"]["Farbe"] = "Farbe"; $Tabelle["Kopf"]["Auflage"] = "Auflage"; $Tabelle["ObRechts"]["Auflage"] = 1; $Tabelle["Kopf"]["Preis"] = "Preis"; $Tabelle["ObRechts"]["Preis"] = 1; $Tabelle["Kopf"]["Details"] = "Details"; $Tabelle["LetztesFeld"]["Details"] = 1; $ObDaten = 0; if (is_array ($Vorgaben["Data"]["datCPreise"])) foreach ($Vorgaben["Data"]["datCPreise"] as $ID => $tmp) { unset ($tmp); if ($Vorgaben["Data"]["datCPreise"][$ID]["+flt"] and $Vorgaben["Data"]["datCPreise"][$ID]["FarFar"]) { $ObDaten = 1; $Tabelle["Sortierung"][$ID] = $ID; $Tabelle["Werte"][$ID]["Format"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $ID, "Format")); $Tabelle["Werte"][$ID]["Grammatur"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $ID, "Grammatur")); $Tabelle["Werte"][$ID]["Farbe"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $ID, "FarFar")); $Tabelle["Werte"][$ID]["Auflage"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $ID, "Auflage")); $Tabelle["Werte"][$ID]["Preis"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $ID, "Preis")); } } if ($ObDaten) { # Kopfzeile if (is_array ($Tabelle["Kopf"])) foreach ($Tabelle["Kopf"] as $idMerkmal => $txtMerkmal) { unset ($tmp); if ($Tabelle["ErstesFeld"][$idMerkmal]) // erste anders { fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", " cssOoPrTbK | | cssOoPrTbG")); fncElement ("lmnAbsatz.AZB", $Vorgaben, array ($txtMerkmal)); } else { fncElement ("lmnTabelle.D", $Vorgaben, array ("", " cssOoPrTbK")); fncElement ("lmnAbsatz.AZB", $Vorgaben, array ($txtMerkmal)); } } # Zellen $Schalter = 0; if (is_array ($Tabelle["Sortierung"])) foreach ($Tabelle["Sortierung"] as $ID) { unset ($tmp); # Hell/Dunkel if ($Schalter) { $Schalter = 0; $cssZelle = "cssOoPrTbD"; } else { $Schalter = 1; $cssZelle = "cssOoPrTbH"; } if (is_array ($Tabelle["Kopf"])) foreach ($Tabelle["Kopf"] as $idMerkmal => $tmp) { unset ($tmp); if ($Tabelle["LetztesFeld"][$idMerkmal]) // letzte anders { fncElement ("lmnTabelle.D", $Vorgaben, array ("", $cssZelle)); fncElement ("lmnVerweis.AZN", $Vorgaben, array ("Details ansehen", $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier . "&" . $varItem3 . "=" . $ID)); } else { if ($Tabelle["ErstesFeld"][$idMerkmal]) // erste anders { fncElement ("lmnTabelle.E", $Vorgaben, array ("", $cssZelle)); } else { fncElement ("lmnTabelle.D", $Vorgaben, array ("", $cssZelle)); } if ($Tabelle["ObRechts"][$idMerkmal]) { $optAbsatz = "R"; } else { $optAbsatz = ""; } if ($Tabelle["ObFett"][$idMerkmal]) { fncElement ("lmnRubrik.AZ" . $optAbsatz, $Vorgaben, array ($Tabelle["Werte"][$ID][$idMerkmal])); } else { fncElement ("lmnAbsatz.AZ" . $optAbsatz, $Vorgaben, array ($Tabelle["Werte"][$ID][$idMerkmal])); } } } } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ("", $cssZelle)); unset ($Tabelle); } else { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Für die gewählte Filtereinstellung steht leider kein Produkte zur Verfügung.")); } fncElement ("lmnUmfluss", $Vorgaben, array ()); } else // 4.Details { $idProdukt = $_REQUEST[$varItem1]; $idPapier = $_REQUEST[$varItem2]; $idPreis = $_REQUEST[$varItem3]; $idFarbe = $_REQUEST[$varItem4]; # Fixfilter fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "ID", $idProdukt)); fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank, $idProdukt)); # Erzeuge Preise fncElement ("lmnCmkErzeugePreise", $Vorgaben, array ($idProdukt, $idPapier)); # Zurück-Verweis fncElement ("lmnVerweis.AZK", $Vorgaben, array ("", $_REQUEST[PAGE])); fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idProdukt, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt)); fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ("datPapiersorten", $idPapier, "Titel")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier)); // fncElement ("lmnVerweis.AZK", $Vorgaben, array (fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPapier, "Format")) . ", " . fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPapier, "FarFar")) . ", " . fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPapier, "Auflage")), $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier . "&" . $varItem3 . "=" . $idPreis)); fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnLinie.", $Vorgaben, array ()); # Setze Titel $Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Titel"] = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idProdukt, "Titel")) . ", " . fncFeld ("dtfWert.", $Vorgaben, array ("datPapiersorten", $idPapier, "Titel")); if (!$Vorgaben["Data"][$datDatenbank][$idProdukt][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Dieses Produkt steht nicht oder nicht mehr zur Verfügung.")); } else { # Ausgabe fncElement ("lmnBild.RM", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idProdukt]["Bild"])); // fncElement ("lmnVerweis.AZN", $Vorgaben, array ("zurück zur Preisübersicht", $_REQUEST[PAGE] . "&" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier . funAutos ("VerweisAnhang", $Vorgaben, array ($Auto, $Optionen)))); // fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); // fncElement ("lmnZwischentitel", $Vorgaben, array ("Produkt")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCProdukte" . "|" . $idProdukt . "|Titel")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCProdukte" . "|" . $idProdukt . "|Beschreibung")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCPreise" . "|" . $idPreis . "|Format")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCPreise" . "|" . $idPreis . "|FarFar")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCPreise" . "|" . $idPreis . "|Auflage")); fncElement ("lmnZwischentitel", $Vorgaben, array ("Papier")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCPreise" . "|" . $idPreis . "|Papier")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", "datCPreise" . "|" . $idPreis . "|Grammatur")); # Filter // fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbCShopP")); # Papierfarbe wählen, keine gewählt = Standard --> da ersetzen wir im Filter das Wort STANDARD mit der Std-Farbe // funDatenbank ("Filtern.Standard.Direktwert", $Vorgaben, array ("datFarben", "Besitzer", $Vorgaben["Data"]["datCPreise"][$idPreis]["Papier"])); // Zeige nur Farben, die das gewählte Papier bietet # gewählte Farbe (wenn keine, dann Standard) fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnZwischentitel", $Vorgaben, array ("Gewählte Farbe")); if (!$idFarbe) { fncElement ("lmnBild.LRG", $Vorgaben, array ($Vorgaben["Data"]["datPapiersorten"][$idPapier]["StdBild"], $Vorgaben["Data"]["datPapiersorten"][$idPapier]["StdFarbe"])); } else { fncElement ("lmnBild.LRG", $Vorgaben, array ($Vorgaben["Data"]["datFarben"][$idFarbe]["Bild"], $Vorgaben["Data"]["datFarben"][$idFarbe]["Titel"])); } fncElement ("lmnUmfluss", $Vorgaben, array ()); fncFilter ("fltDatenbank.P", $Vorgaben, array ("datPapiersorten", $idPapier)); $regFarben = fncRegister ("rgsZiehen.FNX", array ($Vorgaben, "datFarben", "ID", "ID")); $obWeitere = 0; if (is_array ($regFarben)) foreach ($regFarben as $ID => $X) if ($ID) { $obWeitere = 1; } if ($obWeitere) { fncElement ("lmnZwischentitel", $Vorgaben, array ("Weitere Farben")); } if (is_array ($regFarben)) foreach ($regFarben as $ID => $X) if ($ID != $idFarbe) { fncElement ("lmnVerweis.ANJ", $Vorgaben, array ("Farbe wählen", $_REQUEST[PAGE] . "|" . $varItem1 . "=" . $idProdukt . "&" . $varItem2 . "=" . $idPapier . "&" . $varItem3 . "=" . $idPreis . "&" . $varItem4 . "=" . $ID)); if (!$ID) { fncElement ("lmnBild.LRK", $Vorgaben, array ($Vorgaben["Data"]["datPapiersorten"][$idPapier]["StdBild"], $Vorgaben["Data"]["datPapiersorten"][$idPapier]["StdFarbe"])); } else { fncElement ("lmnBild.LRK", $Vorgaben, array ($Vorgaben["Data"]["datFarben"][$ID]["Bild"], $Vorgaben["Data"]["datFarben"][$ID]["Titel"])); } fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } fncElement ("lmnUmfluss", $Vorgaben, array ()); fncElement ("lmnZwischentitel", $Vorgaben, array ("Preis")); fncElement ("lmnPreis.E", $Vorgaben, array ("datCPreise" . "|" . $idPreis . "|Preis")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Der Preis enthält die gesetzliche Mehrwertsteuer. Der Preis gilt auf der Grundlage einer belichtungsfähigen Datei. Die Datei darf nur die Farben enthalten, die auch gedruckt werden sollen! Die Lieferung erfolgt frei Haus.")); fncElement ("lmnZwischentitel", $Vorgaben, array ("Frage zum Produkt?")); fncElement ("lmnVerweis.AZFU", $Vorgaben, array ("Frage zum Produkt stellen", "4|" . $idProdukt . "," . $idPapier . "," . $idPreis . "," . $idFarbe)); fncElement ("lmnZwischentitel", $Vorgaben, array ("Bestellung")); fncElement ("lmnVerweis.AZFUC", $Vorgaben, array ("Zur Bestellung", "3|" . $idProdukt . "," . $idPapier . "," . $idPreis . "," . $idFarbe)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Beim Klick auf diesen Button öffnet sich ein Fenster mit allen Angaben zur Bestätigung.")); } } } } break; case "lmnPreise": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { # Datenbank lesen $datDatenbank = "datPreise"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbPreise")); # Bereite Kopf vor $Tabelle = array (); $Tabelle["Kopf"]["Auflage"] = 1; # Sortieren für Kopf fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Merkmal")); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $X) if ($Vorgaben["Data"][$datDatenbank][$idID]["+flt"]) if ($Vorgaben["Data"][$datDatenbank][$idID]["Auflage"]) { $Tabelle["Kopf"][fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Merkmal"))] = 1; } # Sortieren für Werte $Beschreibung = ""; fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Auflage")); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $tmp) if ($Vorgaben["Data"][$datDatenbank][$idID]["+flt"]) if ($Vorgaben["Data"][$datDatenbank][$idID]["Auflage"]) { $ObDaten = 1; // $Tabelle["Werte"][fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Auflage"))][fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Merkmal"))] = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Preis")); $Tabelle["Werte"][fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Auflage"))][fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Merkmal"))] = $datDatenbank . "|" . $idID . "|Preis"; if (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Beschreibung"))) { $Beschreibung = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Beschreibung")); } } # Debug //$dbgVariable = "Tabelle"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($ObDaten) { # Kopfzeile if (is_array ($Tabelle["Kopf"])) foreach ($Tabelle["Kopf"] as $Merkmal => $tmp) { unset ($tmp); if ($Merkmal == "Auflage") // erste anders { fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", " cssOoPrTbK | | cssOoPrTbG")); fncElement ("lmnAbsatz.AZB", $Vorgaben, array ("Auflage")); } else { fncElement ("lmnTabelle.D", $Vorgaben, array ("", " cssOoPrTbK")); fncElement ("lmnAbsatz.AZB", $Vorgaben, array ($Merkmal)); } } # Zellen $Schalter = 0; if (is_array ($Tabelle["Werte"])) foreach ($Tabelle["Werte"] as $Auflage => $tmp) { unset ($tmp); # Hell/Dunkel if ($Schalter) { $Schalter = 0; $cssZelle = "cssOoPrTbD"; } else { $Schalter = 1; $cssZelle = "cssOoPrTbH"; } if (is_array ($Tabelle["Kopf"])) foreach ($Tabelle["Kopf"] as $Merkmal => $tmp) { unset ($tmp); if ($Merkmal == "Auflage") // erste anders { fncElement ("lmnTabelle.E", $Vorgaben, array ("", $cssZelle)); fncElement ("lmnKapitel.AZR", $Vorgaben, array ($Auflage)); } else { fncElement ("lmnTabelle.D", $Vorgaben, array ("", $cssZelle)); fncElement ("lmnPreis.R", $Vorgaben, array ($Tabelle["Werte"][$Auflage][$Merkmal])); } } } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ("", $cssZelle)); unset ($Tabelle); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Bitte beachten Sie")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Alle hier genannten Preise sind Nettopreise zzgl. Mwst.")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); if ($Beschreibung) { fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Produktbeschreibung")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($Beschreibung)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Daten")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Diese Preise gelten auf der Grundlage einer belichtungsfähigen Datei. Die Datei darf nur die Farben enthalten, die auch gedruckt werden sollen!")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Lieferung")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Die Lieferung erfolgt frei Haus.")); } } } break; case "lmnKalender": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ("datReservierungen")); if ($_REQUEST["KalenderAnsicht"]) switch ($_REQUEST["KalenderAnsicht"] / 1) { case -1: // rückwärts blättern { $_REQUEST["KalenderVersatz"]--; if ($_REQUEST["KalenderVersatz"] < 0) { $_REQUEST["KalenderVersatz"] = 0; } } break; case 1: // vorwärts blättern { $_REQUEST["KalenderVersatz"]++; } break; } $_REQUEST["KalenderAnsicht"] = 0; $AnzahlMonate = 24; $AnzahlSpalten = 2; $Breite = 201 * $AnzahlSpalten; $Vorgaben = funSpecial ("ErmittleBelegung.R", $Vorgaben, array ()); $Belegung = $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"]; $Kalendarium = funDatum ("Kalendarium", $Vorgaben, array (funDatum ("Heute.6", $Vorgaben, array (0, $_REQUEST["KalenderVersatz"], 0)), $AnzahlMonate)); # Ausgabe fncElement ("lmnBox.A", $Vorgaben, array ("", "| width: " . $Breite . "px; margin: 5px 4px 0px 30px; float: right; ")); fncElement ("lmnHtmlSchleuse", $Vorgaben, array (funEingabe ("BKalender", $Vorgaben, array ($Kalendarium, $ObAenderbar, $AnzahlSpalten, $Belegung)))); fncElement ("lmnBox.Z", $Vorgaben, array ()); } } break; case "lmnPreislisten": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { # Konstanten $datDatenbank = "datSPreise"; # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Datum")); # Hauptsaison/Nebensaison ermitteln list ($monStart, $monEnde) = explode ("-", fncVorgaben ($Vorgaben, "HSaison")); $StartHS = funDatum ("Konvertieren.10.19.NoCheck", $Vorgaben, array ("1." . $monStart . ".2000")); $EndeHS = funDatum ("Konvertieren.10.19.NoCheck", $Vorgaben, array ("1." . $monEnde . ".2000")); $StartNS = funDatum ("Konvertieren.10.19.NoCheck", $Vorgaben, array ("1." . ($monEnde + 1) . ".2000")); $EndeNS = funDatum ("Konvertieren.10.19.NoCheck", $Vorgaben, array ("1." . ($monStart - 1) . ".2000")); # Preislisten ziehen $regPreislisten = fncAltRegister ("Ziehen", $Vorgaben, array ($datDatenbank, "ID", "Datum")); $regPreislisten = fncAltRegister ("Sortieren", $Vorgaben, array ($regPreislisten)); $tmpSammler = array (); if (is_array ($regPreislisten)) foreach ($regPreislisten as $idID => $Datum) { $tmpSammler[] = $idID; } if (is_array ($tmpSammler)) foreach ($tmpSammler as $Z => $idID) { # Preisliste ist gültig ab... $Vorgaben["Data"][$datDatenbank][$idID]["Gueltigkeit"] = "Gültig vom " . funDatum ("Konvertieren.8.10.NoCheck", $Vorgaben, array ($regPreislisten[$idID])); # Preisliste ist gültig bis... if ($Z) { $idVorherigePreisliste = $tmpSammler[($Z - 1)]; $Datum3 = funDatum ("Konvertieren.8.3.NoCheck", $Vorgaben, array ($regPreislisten[$idID])); $DatumEndeVorherigePreisliste = funDatum ("Konvertieren.10.8", $Vorgaben, array ("0." . $Datum3[1] . "." . $Datum3[2])); $Vorgaben["Data"][$datDatenbank][$idVorherigePreisliste]["Gueltigkeit"] .= " bis " . funDatum ("Konvertieren.8.10.NoCheck", $Vorgaben, array ($DatumEndeVorherigePreisliste)) . "."; if ($DatumEndeVorherigePreisliste < $Vorgaben["Heute"][8]) { $Vorgaben["Data"][$datDatenbank][$idVorherigePreisliste][$Vorgaben["Data"][$datDatenbank][0]["fldID"]] = 0; } } } unset ($tmpSammler); unset ($regPreislisten); # die letzte Preisliste hat kein Enddatum, ist daher "gültig bis zum Erscheinen einer neuen Preisliste" $Vorgaben["Data"][$datDatenbank][$idID]["Gueltigkeit"] .= " bis zum Erscheinen einer neuen Preisliste."; # Ausgabe if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $X) if ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) if ($Vorgaben["Data"][$datDatenbank][$idID]["PreisPNHS"] and $Vorgaben["Data"][$datDatenbank][$idID]["PreisPNNS"]) { fncElement ("lmnZwischentitel", $Vorgaben, array ("Preisliste " . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Titel")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Gueltigkeit")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.ABC", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Hauptsaison (" . $StartHS . " bis " . $EndeHS . ")")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Preis pro Übernachtung")); if ($Vorgaben["Data"][$datDatenbank][$idID]["txtHS"]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("(" . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "txtHS")) . ")")); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "PreisPNHS")) . " EUR")); fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Nebensaison (" . $StartNS . " bis " . $EndeNS . ")")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Preis pro Übernachtung")); if ($Vorgaben["Data"][$datDatenbank][$idID]["txtNS"]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("(" . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "txtNS")) . ")")); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "PreisPNNS")) . " EUR")); fncElement ("lmnTabelle.E", $Vorgaben, array ()); if ($Vorgaben["Data"][$datDatenbank][$idID]["Endreinigung"]) { fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Endreinigung")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Grundreinigung im Haus")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("(für jeden Aufenthalt zu entrichten)")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Endreinigung")) . " EUR")); fncElement ("lmnTabelle.E", $Vorgaben, array ()); } if ($Vorgaben["Data"][$datDatenbank][$idID]["BettW"] or $Vorgaben["Data"][$datDatenbank][$idID]["HandT"]) { fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Zubehör (auf Wunsch)")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); if ($Vorgaben["Data"][$datDatenbank][$idID]["BettW"]) { fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Bettwäsche pro Person/pro Aufenthalt")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "BettW")) . " EUR")); } if ($Vorgaben["Data"][$datDatenbank][$idID]["HandT"]) { fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Handtücher pro Person/pro Aufenthalt")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "HandT")) . " EUR")); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.E", $Vorgaben, array ()); } if ($Vorgaben["Data"][$datDatenbank][$idID]["Rabatt7"] or $Vorgaben["Data"][$datDatenbank][$idID]["Rabatt14"]) { fncElement ("lmnTabelle.E.2", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Rabatte")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Bitte beachten Sie, dass Rabatte ausschließlich auf die Übernachtungspreise gewährt werden.")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.E", $Vorgaben, array ()); if ($Vorgaben["Data"][$datDatenbank][$idID]["Rabatt7"]) { fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("1-Wochenrabatt (7 zusammenhängende Übernachtungen)")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array ("–" . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Rabatt7")) . " %")); } if ($Vorgaben["Data"][$datDatenbank][$idID]["Rabatt14"]) { fncElement ("lmnTabelle.E", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("2-Wochenrabatt (14 zusammenhängende Übernachtungen)")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZR", $Vorgaben, array ("–" . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "Rabatt14")) . " %")); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); if ($Vorgaben["Data"][$datDatenbank][$idID]["txtKanu"]) { fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Kanuausleih")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $idID, "txtKanu")))); } } } } break; case "lmnReferenzen": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { # Datenbank lesen $datDatenbank = "datReferenzen"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Fixfilter fncFilter ("fltDatenbank.O", $Vorgaben, array ($datDatenbank)); # Sortieren // fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Sortierdatum.1")); fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Titel")); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $ID => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $ID))) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $Vorgaben["Data"][$datDatenbank][$ID]["Titel"] . " "; $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert.F", $Vorgaben, array ($datDatenbank, $ID, "Beschreibung")) . " "; } } else { # Konstanten $datDatenbank = "datReferenzen"; # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Fixfilter fncFilter ("fltDatenbank.O", $Vorgaben, array ($datDatenbank)); # Sortieren // fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Sortierdatum.1")); fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Titel")); if (!$Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncVorgaben ($Vorgaben, "RfTxWennNullInDb"))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } else { } if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $ID => $tmp) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $ID))) { if ($Steg++) { fncElement ("lmnLinie", $Vorgaben, array ()); } fncElement ("lmnTabelle.ABC", $Vorgaben, array ()); if ($Vorgaben["Data"][$datDatenbank][$ID]["Bild"]) { fncElement ("lmnBild.RLK", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$ID]["Bild"])); } else { fncElement ("lmnBild.RLK", $Vorgaben, array ($Vorgaben["Data"]["datVorgaben"][1]["StBildAn"])); } fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$ID]["Titel"])); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $ID, "Beschreibung")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); } } } break; case "lmnImmobilien": { /* A - Appartements F - Wohnen zum Kauf G - Gewerbe zur Miete H - Gewerbe zum Kauf K - Karte M - Wohnen zur Miete Q - Suche S - Straßenverzeichnis, */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { } else { # Datenbank lesen $datDatenbank = "datImmobilien"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Fixfilter // funDatenbank ("Filtern.Standard.Direktwert", $Vorgaben, array ($datDatenbank, "ObAktiv", 1)); fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "ObAktiv", 1)); # Debug $datImmobilien = $Vorgaben["Data"]["datImmobilien"][0]; //$dbgVariable = "datImmobilien"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "K")) // Karte { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 1)); // Wohnen zur Miete // fncDatenbank ("dtbLesen", $Vorgaben, array ("datBezirke")); $regBezirke = fncAltRegister ("Ziehen", $Vorgaben, array ("datBezirke", "ID", "Bezirk")); $regKoordinaten = fncAltRegister ("Ziehen", $Vorgaben, array ("datBezirke", "ID", "Koordinaten")); $regBelegteBezirke = array (); if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $ID => $tmp) { unset ($tmp); if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $regBelegteBezirke[$Vorgaben["Data"][$datDatenbank][$ID]["Bezirk"]] = 1; if ($Vorgaben["Data"][$datDatenbank][$ID]["Bezirk2"]) { $regBelegteBezirke[$Vorgaben["Data"][$datDatenbank][$ID]["Bezirk2"]] = 1; } } } $Vorgaben["htmRumpf"][] = " "; if (is_array ($regBezirke)) foreach ($regBezirke as $ID => $Bezirk) if ($ID <= 23) // Es gibt nur 23 Hauptbezirke { if ($regBelegteBezirke[$ID] == 1) { $Verweis = "./?" . PAGE . "=" . $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnImmobilien.M"] . "&bz=" . $ID; $PfadBild = $Vorgaben["Ordner"]["CDesign"] . "_karte_" . $ID . "x1_oo.gif"; } else { $Verweis = "#Do"; $PfadBild = $Vorgaben["Ordner"]["CDesign"] . "_karte_" . $ID . "x2_oo.gif"; } $Vorgaben["htmRumpf"][] = "\"" "; } unset ($regKoordinaten); unset ($regBezirke); $Vorgaben["htmRumpf"][] = " "; $Vorgaben["htmRumpf"][] = "
"; if (is_array ($regBelegteBezirke)) foreach ($regBelegteBezirke as $ID => $Ob) if ($ID <= 23) // Es gibt nur 23 Hauptbezirke { $Vorgaben["htmRumpf"][] = "
"; } $Vorgaben["htmRumpf"][] = "
"; if (is_array ($regBelegteBezirke)) foreach ($regBelegteBezirke as $ID => $X) if ($ID <= 23) // Es gibt nur 23 Hauptbezirke { $Vorgaben["htmRumpf"][] = "
"; } unset ($regBelegteBezirke); $Vorgaben["htmRumpf"][] = "
"; } elseif (mb_strstr ($Optionen, "S")) // Straßenverzeichnis { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 1)); // Wohnen zur Miete # Datenbank lesen // $datDatenbank = "datImmobilien"; // fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # Fixfilter // funDatenbank ("Filtern.Ob", $Vorgaben, array ($datDatenbank, "WohnungsID")); # Ausgabe $regStrassen = fncAltRegister ("Ziehen", $Vorgaben, array ($datDatenbank, "Strasse", "Strasse")); $Vorgaben = funSatz ("Spalten.4.Strassen", $Vorgaben, array ($regStrassen)); unset ($regStrassen); # Debug //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); } else // Anzeige der Objekte { if (mb_strstr ($Optionen, "F")) // Wohnen zum Kauf { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 2)); // Wohnen zum Kauf # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "KaufpreisJeQm")); } elseif (mb_strstr ($Optionen, "G")) // Gewerbe zur Miete { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 3)); // Gewerbe zur Miete # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Warm")); } elseif (mb_strstr ($Optionen, "H")) // Gewerbe zum Kauf { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 4)); // Gewerbe zum Kauf # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "KaufpreisJeQm")); } elseif (mb_strstr ($Optionen, "A")) // Appartements { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 1)); // Wohnen zur Miete fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "WohnungsTyp", 18)); // Appartment # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Warm")); } elseif (mb_strstr ($Optionen, "M")) // Wohnen zur Miete { # Filtern fncFilter ("fltDatenbank", $Vorgaben, array ($datDatenbank, "Kategorie", 1)); // Wohnen zur Miete # Sortieren fncDatenbank ("dtbSortieren", $Vorgaben, array ($datDatenbank, "Warm")); } if (!$_REQUEST[$Vorgaben["regVars"]["varItem"]]) // Übersicht { if (!$Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("In diesem Bereich sind momentan keine Objekte verfügbar")); } else { if (mb_strstr ($Optionen, "F")) // Wohnen zum Kauf { # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbImmobilienWK")); } elseif (mb_strstr ($Optionen, "G")) // Gewerbe zur Miete { # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbImmobilienGM")); } elseif (mb_strstr ($Optionen, "H")) // Gewerbe zum Kauf { # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbImmobilienGK")); } elseif (mb_strstr ($Optionen, "A")) // Appartements { # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbImmobilienWM")); } elseif (mb_strstr ($Optionen, "M")) // Wohnen zur Miete { # Filter fncElement ("lmnSymbleiste.I", $Vorgaben, array ("smbImmobilienWM")); } if (!$Vorgaben["Data"][$datDatenbank][0]["AktiveDs"]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Für die gewählte Filtereinstellung sind momentan keine Objekte verfügbar")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } else { # Kapitel erzeugen $regKapitelInListe = array (); $LfdKapitelNr = 1; $regKapitelInListe[$LfdKapitelNr]["Start"] = 1; $Z = 0; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $ID => $X) if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $Z++; if ($Z > ($LfdKapitelNr * $Vorgaben["Data"]["datVorgaben"][1]["AnzJeKap"])) { $LfdKapitelNr++; $regKapitelInListe[$LfdKapitelNr]["Start"] = $Z; } $regKapitelInListe[$LfdKapitelNr]["IDs"][$ID] = $Z; $regKapitelInListe[$LfdKapitelNr]["Ende"] = $Z; } if (!$_REQUEST[$varChap] or $_REQUEST[$varChap] > $LfdKapitelNr) // wenn noch nicht gesetzt oder zu hoch, das passiert, wenn man auf der letzten Seite ist und danach den Filter benutzt, so dass diese Seite gar nicht mehr existiert --> dann Rücksprung zu Seite 1 { $_REQUEST[$varChap] = 1; } # Fußzeile zum Blättern erzeugen $tmpAlle = array (); if (is_array ($regKapitelInListe)) foreach ($regKapitelInListe as $LfdKapitelNr => $tmp) { unset ($tmp); # Debug //$dbgVariable = "LfdKapitelNr"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $tmpEinzel = array (); if ($LfdKapitelNr != $_REQUEST[$varChap]) { $tmpEinzel[] = ""; } else { $tmpEinzel[] = ""; } if ($regKapitelInListe[$LfdKapitelNr]["Start"] == $regKapitelInListe[$LfdKapitelNr]["Ende"]) { $tmpEinzel[] = $regKapitelInListe[$LfdKapitelNr]["Start"]; } else { $tmpEinzel[] = $regKapitelInListe[$LfdKapitelNr]["Start"] . "–" . $regKapitelInListe[$LfdKapitelNr]["Ende"]; } if ($LfdKapitelNr != $_REQUEST[$varChap]) { $tmpEinzel[] = ""; } else { $tmpEinzel[] = ""; } if (is_array ($tmpEinzel)) { $tmpAlle[] = implode ("", $tmpEinzel); } } unset ($tmpEinzel); if (count ($tmpAlle) > 1) if (is_array ($tmpAlle)) // d.h. es passen nicht alle Objekte auf eine Seite, also blättern { $txtFusszeile = " Blättern: " . implode (" | ", $tmpAlle); } unset ($tmpAlle); # Debug // //$dbgVariable = "tmpSammler"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regKapitelInListe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $obTrenner = 0; if (is_array ($regKapitelInListe[$_REQUEST[$varChap]]["IDs"])) foreach ($regKapitelInListe[$_REQUEST[$varChap]]["IDs"] as $ID => $lfdNr) { if ($obTrenner++) { fncElement ("lmnLinie.O", $Vorgaben, array ()); } fncElement ("lmnVerweis.ANJ", $Vorgaben, array ("zum Exposé", $_REQUEST[PAGE] . "|" . $Vorgaben["regVars"]["varItem"] . "=" . $ID)); fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxOb")); fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", "||cssSystemVolleBreite")); if ($Vorgaben["Data"][$datDatenbank][$ID]["BildT"]) { fncElement ("lmnBild.RLK", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$ID]["BildT"])); } fncElement ("lmnTabelle.D", $Vorgaben, array ("", "cssSystemVolleBreite")); fncElement ("lmnBlock.K", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Ueberschrift")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnTabelle.ABC", $Vorgaben, array ()); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BezirkKiez")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Zimmer")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|WohnFlaecheQm")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Adresse")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObjektID")); fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); fncElement ("lmnTabelle.D", $Vorgaben, array ("", "cssSystemVolleBreite")); if (mb_strstr ($Optionen, "F")) // Wohnen zum Kauf { fncElement ("lmnPreis", $Vorgaben, array ($datDatenbank . "|" . $ID . "|KaufpreisJeQm")); } elseif (mb_strstr ($Optionen, "G")) // Gewerbe zur Miete { fncElement ("lmnPreis", $Vorgaben, array ($datDatenbank . "|" . $ID . "|WarmMwst")); } elseif (mb_strstr ($Optionen, "H")) // Gewerbe zum Kauf { fncElement ("lmnPreis", $Vorgaben, array ($datDatenbank . "|" . $ID . "|KaufpreisJeQmMwst")); } elseif (mb_strstr ($Optionen, "A")) // Appartements { fncElement ("lmnPreis", $Vorgaben, array ($datDatenbank . "|" . $ID . "|Warm")); } elseif (mb_strstr ($Optionen, "M")) // Wohnen zur Miete { fncElement ("lmnPreis", $Vorgaben, array ($datDatenbank . "|" . $ID . "|Warm")); } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } unset ($regKapitelInListe); fncElement ("lmnLinie.OD", $Vorgaben, array ()); fncElement ("lmnBox.A", $Vorgaben, array ("", "cssOoBxBl")); fncElement ("lmnHtmlSchleuse", $Vorgaben, array ($txtFusszeile)); fncElement ("lmnBox.Z", $Vorgaben, array ()); } } } else // Details { $ID = $_REQUEST[$Vorgaben["regVars"]["varItem"]]; switch (fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank, $ID, "KategorieKurz"))) { case "WM": { $Optionen = "M"; } break; case "WK": { $Optionen = "F"; } break; case "GM": { $Optionen = "G"; } break; case "GK": { $Optionen = "H"; } break; } fncNavi ("SetTitle", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$ID]["Ueberschrift"])); fncElement ("lmnVerweis.AZN", $Vorgaben, array ("zurück zur Übersicht", $_REQUEST[PAGE])); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnLinie", $Vorgaben, array ()); fncElement ("lmnBlock.TK", $Vorgaben, array ("Auf einen Blick…")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObjektID")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Adresse")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Groesse")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Lage")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Zimmer")); if (mb_strstr ($Optionen, "M")) // Wohnen zur Miete { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Nettokalt")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BeHzKo")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Warm")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Kaution")); } elseif (mb_strstr ($Optionen, "F")) // Wohnen zum Kauf { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Kaufpreis")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|KaufpreisJeQm")); } elseif (mb_strstr ($Optionen, "G")) // Gewerbe zur Miete { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|NettokaltMwst")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BeHzKoMwst")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|WarmMwst")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Kaution")); } elseif (mb_strstr ($Optionen, "H")) // Gewerbe zum Kauf { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|KaufpreisMwst")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|KaufpreisJeQmMwst")); } elseif (mb_strstr ($Optionen, "A")) // Appartements { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Nettokalt")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BeHzKo")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Warm")); fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Kaution")); } fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Provision")); fncElement ("lmnBlock.TG", $Vorgaben, array ("Besichtigung")); if ($Vorgaben["Data"][$datDatenbank][$ID]["BesDatum1"] and $Vorgaben["Data"][$datDatenbank][$ID]["BesDatum1"] >= $Vorgaben["Heute"][8]) { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BesTermin1")); } if ($Vorgaben["Data"][$datDatenbank][$ID]["BesDatum2"] and $Vorgaben["Data"][$datDatenbank][$ID]["BesDatum2"] >= $Vorgaben["Heute"][8]) { fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BesTermin2")); } fncElement ("lmnBlock.TZ", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BesichtigungsTermin")); fncElement ("lmnBlock.TF", $Vorgaben, array ()); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObjektBeschr")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|AusstattungBeschr")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|LageBeschr")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BezirkKiez")); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Stadtplan anzeigen")); fncElement ("lmnVerweis.AZXU", $Vorgaben, array ("Objekt auf GoogleMaps anzeigen", "maps.google.de/maps?q=" . $Vorgaben["Data"][$datDatenbank][$ID]["Adresse"])); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|WohnungsTyp")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|EtageEtagenZahl")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObAufzug")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObEBK")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObBalkonTerrasse")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObGartenNutzung")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObRollstuhlGerecht")); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("frei ab")); if (!$Vorgaben["Data"][$datDatenbank][$ID]["Bezugsfertig"] or $Vorgaben["Data"][$datDatenbank][$ID]["Bezugsfertig"] <= $Vorgaben["Heute"][8]) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("sofort")); } else { fncElement ("lmnBlock", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Bezugsfertig")); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|HeizungsArt")); if (mb_strstr ($Optionen, "M")) // Wohnen zur Miete { fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Haustiere")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObBetreutesWohnen")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Staffelmiete")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObWBS")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObGarageSP")); if ($Vorgaben["Data"][$datDatenbank][$ID]["ObGarageSP"]) { fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|SPMiete")); } } elseif (mb_strstr ($Optionen, "F")) // Wohnen zum Kauf { } elseif (mb_strstr ($Optionen, "G")) // Gewerbe zur Miete { fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Staffelmiete")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObGarageSP")); if ($Vorgaben["Data"][$datDatenbank][$ID]["ObGarageSP"]) { fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|SPMieteMwst")); } } elseif (mb_strstr ($Optionen, "H")) // Gewerbe zum Kauf { } elseif (mb_strstr ($Optionen, "A")) // Appartements { fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Haustiere")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObBetreutesWohnen")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|Staffelmiete")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObWBS")); fncElement ("lmnBlock.RA", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|ObGarageSP")); } fncElement ("lmnZwischentitel", $Vorgaben, array ("Bilder")); $IS24BilderReihenfolge = explode (",", $Vorgaben["IS24BilderReihenfolge"]); if (is_array ($IS24BilderReihenfolge)) foreach ($IS24BilderReihenfolge as $Bild) if ($Bild = trim ($Bild)) for ($Z = 0; $Z < 10; $Z++) { if ($Z) { $BildFeld = $Bild . $Z; } else { $BildFeld = $Bild; } $BildDatei = $Vorgaben["Data"][$datDatenbank][$ID][$BildFeld]; $BildTitel = fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $BildFeld, $ID)); if ($BildDatei) { fncElement ("lmnBild.RLKZ", $Vorgaben, array ($BildDatei, $BildTitel)); } } unset ($IS24BilderReihenfolge); fncElement ("lmnUmfluss", $Vorgaben, array ()); if ($Vorgaben["Data"][$datDatenbank][$ID]["Expose"]) { fncElement ("lmnZwischentitel", $Vorgaben, array ("Kurzexposé als PDF")); fncElement ("lmnVerweis.AZP", $Vorgaben, array ("Kurzexposé als PDF", $Vorgaben["Data"][$datDatenbank][$ID]["Expose"])); } if ($Vorgaben["Data"][$datDatenbank][$ID]["Video"] or $Vorgaben["Data"][$datDatenbank][$ID]["Video2"] or $Vorgaben["Data"][$datDatenbank][$ID]["Video3"]) { fncElement ("lmnZwischentitel", $Vorgaben, array ("Video(s)")); if ($Vorgaben["Data"][$datDatenbank][$ID]["Video"]) { fncElement ("lmnVerweis.AZV", $Vorgaben, array ("", $Vorgaben["Data"][$datDatenbank][$ID]["Video"])); } if ($Vorgaben["Data"][$datDatenbank][$ID]["Video2"]) { fncElement ("lmnVerweis.AZV", $Vorgaben, array ("", $Vorgaben["Data"][$datDatenbank][$ID]["Video2"])); } if ($Vorgaben["Data"][$datDatenbank][$ID]["Video3"]) { fncElement ("lmnVerweis.AZV", $Vorgaben, array ("", $Vorgaben["Data"][$datDatenbank][$ID]["Video3"])); } } if ($Vorgaben["Data"][$datDatenbank][$ID]["BesichtigungsTermin"]) { fncElement ("lmnZwischentitel", $Vorgaben, array ("Besichtigung")); fncElement ("lmnBlock", $Vorgaben, array ("", $datDatenbank . "|" . $ID . "|BesichtigungsTermin")); } fncElement ("lmnZwischentitel", $Vorgaben, array ("Interesse? Nehmen Sie Kontakt auf:")); fncElement ("lmnVerweis.AZF", $Vorgaben, array ("Frage zum Objekt stellen", "1|" . $ID)); fncElement ("lmnVerweis.AZF", $Vorgaben, array ("Grundriss anfordern", "4|" . $ID)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnZwischentitel", $Vorgaben, array ("Oder füllen Sie gleich unseren Bewerbungsbogen aus:")); fncElement ("lmnVerweis.AZF", $Vorgaben, array ("Bewerbungsbogen ausfüllen", "2|" . $ID)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnRubrik.AZ", $Vorgaben, array ("Ihrer Bewerbung fügen Sie bitte bei:")); fncElement ("lmnStichpunkt.AZ", $Vorgaben, array ("Kopie Personalausweis (Vor- und Rückseite)")); fncElement ("lmnStichpunkt.AZ", $Vorgaben, array ("Einkommensnachweis")); fncElement ("lmnStichpunkt.AZ", $Vorgaben, array ("Mietfreiheitsbestätigung Ihres derzeitigen/letzten Vermieters")); } } } } break; case "lmnHtmlSchleuse": { list ($txtInhalt) = $Parameter; unset ($Parameter); # Ausgabe $Vorgaben["htmRumpf"][] = $txtInhalt; } break; case "lmnLogo": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", fncVorgaben ($Vorgaben, "txtHomeButton.N"), "cssNwCursor cssNwGoHome", "", "", "location='./'; ")); } } break; case "lmnLinie": { /* D - durchgezogen L - im Lesetext O - ohne Abstand oben und unten P - gepunktet p - PDF Q - Suche S - gestrichelt */ $Parameter[] = ""; list ($txtInhalt) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } elseif (mb_strstr ($Optionen, "p")) { $Vorgaben['PDF']->SetLineWidth(0.05); $Vorgaben['PDF']->SetDrawColor(99,99,99); $Vorgaben['PDF']->Line(20,$Vorgaben['PDF']->GetY(),190, $Vorgaben['PDF']->GetY()); } else { list ($Oben, $Unten) = explode (",", $txtInhalt . ","); $Oben /= 1; $Unten /= 1; if (mb_strstr ($Optionen, "L")) { $Oben = 11; } elseif (!$Oben) { $Oben = 3; } if (!$Unten) { $Unten = 10; } if (mb_strstr ($Optionen, "O")) { $Oben = 0; $Unten = 0; } $stlLinie = "padding: " . $Oben . "px 0px " . $Unten . "px 0px; "; if (mb_strstr ($Optionen, "D")) { $klsLinie = "cssOoBxLnD"; } elseif (mb_strstr ($Optionen, "P")) { $klsLinie = "cssOoBxLnP"; } elseif (mb_strstr ($Optionen, "S")) { $klsLinie = "cssOoBxLnS"; } else { $klsLinie = "cssOoBxLnN"; } # Ausgabe // $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "", $stlLinie)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $klsLinie)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); // $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "lmnSuche": { /* B - Farbschema B (sonst A) K - EIngabefeld Kurzfassung L - Eingabefeld Langfassung Q - Suche */ // list ($Sprache) = $Parameter; unset ($Parameter); # Debug //$dbgInfo = "lmnSuche"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Parameter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "Q")) // Suche { } else { $obSuchfeld = 0; $obZeigen = 0; $vrbSearch = SEARCH . "-" . $Vorgaben["curLang"]; $wrtSearch = ""; if (isset ($_REQUEST[$vrbSearch])) { $wrtSearch = $_REQUEST[$vrbSearch]; } # Debug //$dbgVariable = "wrtSearch"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "K") or mb_strstr ($Optionen, "L")) // EIngabefeld { $obSuchfeld = 1; if (mb_strstr ($Optionen, "K")) // EIngabefeld Kurzfassung { if (trim ($wrtSearch) or !isset ($Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnSuche."]) or $_REQUEST[PAGE] != $Vorgaben["curModPages"][$Vorgaben["curLang"]][$Vorgaben["curZone"]]["lmnSuche."]) { $obZeigen = 1; } $cssBxSr = " cssOoBxSrK"; $brtSuchfeld = 26; } elseif (mb_strstr ($Optionen, "L")) // Eingabefeld Langfassung { $obZeigen = 1; $cssBxSr = " cssOoBxSrL"; $brtSuchfeld = 36; } } if (mb_strstr ($Optionen, "B")) { $optVerweis = "B"; } else { $optVerweis = ""; } # Ausgabe if ($obSuchfeld) // nur Suchfeld { if ($obZeigen) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBxSr)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ()); /* Lupe links? fncElement ("lmnVerweis.AZG", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ()); */ $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgText", array ($vrbSearch, $wrtSearch, $brtSuchfeld, "", "", "", "", " cssOoNpSc")); $Vorgaben["OpenFields"][$vrbSearch] = 1; $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ()); fncElement ("lmnVerweis.AZG" . $optVerweis, $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } else { if (!trim ($wrtSearch)) // kein Suchwort gesetzt { fncElement ("lmnSuche.L", $Vorgaben, array ()); } else // Suchwort gesetzt { $Vorgaben["Heuhaufen"] = array (); # Debug // $dbgHeuhaufen = $Vorgaben["Heuhaufen"]; // //$dbgVariable = "dbgHeuhaufen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Heuhaufen zusammenfegen fncElement ("lmnFormatieren.Q", $Vorgaben, array ()); # Debug $dbgHeuhaufen = $Vorgaben["Heuhaufen"]; //$dbgVariable = "dbgHeuhaufen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Suchen $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxSrTr")); $zhlTreffer = 0; $Steg = 0; if (is_array ($Vorgaben["Heuhaufen"])) foreach ($Vorgaben["Heuhaufen"] as $idID => $txtHeuhaufen) { if (!isset ($Vorgaben["HeuTitel"][$idID])) { $Vorgaben["HeuTitel"][$idID] = ""; } if (fncText ("ftxSuchen", array ($wrtSearch, $txtHeuhaufen))) { $zhlTreffer = 1; if ($Steg++) { fncElement ("lmnLinie", $Vorgaben, array ()); } fncElement ("lmnVerweis.ANJ", $Vorgaben, array ($Vorgaben["HeuTitel"][$idID], $idID)); if ($Vorgaben["HeuTitel"][$idID]) { fncElement ("lmnRubrik.AZ", $Vorgaben, array ($Vorgaben["HeuTitel"][$idID])); } else { fncElement ("lmnRubrik.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("xdbNhKp", $idID, "Menu")))); } fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncText ("ftxKuerzen", array ($txtHeuhaufen, 300)))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); fncElement ("lmnUmfluss.", $Vorgaben, array ()); } } if (!$zhlTreffer) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ("Die Suche nach »" . $wrtSearch . "« brachte leider keine Ergebnisse.")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); # Titel ändern $Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Titel"] = "Suche nach »" . $wrtSearch . "«"; } } } } break; case "lmnFahne": { /* P - Portal S - Small M - Medium L - Large */ list ($Sprache) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "P")) { $cssFahne = " cssPortalFahneGr cssPortalFahne" . $Sprache; } elseif (mb_strstr ($Optionen, "L")) { $cssFahne = " cssOoBxFhGrL cssOoBxFhL" . $Sprache; } elseif (mb_strstr ($Optionen, "M")) { $cssFahne = " cssOoBxFhGrM cssOoBxFhM" . $Sprache; } else // S { $cssFahne = " cssOoBxFhGrS cssOoBxFhS" . $Sprache; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", $cssFahne)); } break; case "lmnZitat": { /* Q - Suche */ list ($txtInhalt) = $Parameter; unset ($Parameter); list ($txtText, $txtUrheber) = explode ("|", $txtInhalt); if (mb_strstr ($Optionen, "Q")) { if ($txtInhalt) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtText . " " . $txtUrheber . " "; } } else { # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxZt1")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxZt2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxZt3")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxZt4")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtText, " cssOoTfLtA cssOoTfZt cssOoTsLtA cssOoTsZt cssOoSnLt cssOoSnZt")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtUrheber, " cssOoTfLtA cssOoTfZt cssOoTfZa cssOoTsLtA cssOoTsZt cssOoTsZa cssOoSnLt cssOoSnZt cssOoSnZa")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "lmnFacebook": { /* Q - Suche */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= "Facebook "; } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxFb1")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxFb2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxFb3")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstIFrame.N", array ("http://www.facebook.com/plugins/like.php?href=" . urlencode ($txtReferenz), "450x40")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstUmfluss", array ()); } } break; case "lmnBildVerweis": { /* Q - Suche */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } else { $onClick = "window._blank = window.open ('" . fncText ("ftxInternet", array ($txtReferenz)) . "')"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", $txtReferenz, "cssOoBxBlVw", "", "", $onClick)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBldbox.VL", array ($Vorgaben["Ordner"]["CBilder"], $txtInhalt)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnVideo": { /* Q - Suche */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= "Video " . $txtInhalt . " "; } else { if (mb_strstr ($Optionen, "1")) { $rdnQuelle = $Vorgaben["Ordner"]["Download"]; } else { $rdnQuelle = $Vorgaben["Ordner"]["Media"]; } $pfdVideo = $rdnQuelle . $txtReferenz; list ($brVideo, $hhVideo) = explode ("x", fncVorgaben ($Vorgaben, "GrVideo")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxVd")); $Vorgaben["htmRumpf"][] = fncHTML ("embed.A", array ("src", $pfdVideo, "width", $brVideo, "height", $hhVideo, "hidden", "false", "autostart", "false")) . fncHTML ("embed.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstUmfluss", array ()); } } break; case "lmnYouTube": { /* Q - Suche */ list ($txtInhalt) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxYt1")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxYt2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxYt3")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstIFrame.N", array ("http://www.youtube.com/embed/" . $txtInhalt . "?rel=0", fncVorgaben ($Vorgaben, "GrYouTube"))); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstUmfluss", array ()); } } break; case "lmnGoogleMap": { /* A - Adresse aus Vorgaben nehmen F - Adresse der Filiale Q - Suche */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } else { if (mb_strstr ($Optionen, "F")) { $txtAdresse = fncVorgaben ($Vorgaben, "FlStrasse") . "+" .fncVorgaben ($Vorgaben, "FlPLZ") . "+" .fncVorgaben ($Vorgaben, "FlOrt"); } if (mb_strstr ($Optionen, "A")) { $txtAdresse = fncVorgaben ($Vorgaben, "Strasse") . "+" .fncVorgaben ($Vorgaben, "PLZ") . "+" .fncVorgaben ($Vorgaben, "Ort"); } else { $txtAdresse = $txtReferenz; } if (!$txtInhalt) { $txtInhalt = fncVorgaben ($Vorgaben, "Firma"); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxGg1")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxGg2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxGg3")); // $Vorgaben["htmRumpf"][] = fncBaustein ("bstIFrame.N", array ("http://maps.google.de/maps?hl=" . $Vorgaben["curLang"] . "&q=" . str_replace ("(", "", str_replace (")", "", $txtAdresse)) . "&ie=UTF8&z=14&output=embed", fncVorgaben ($Vorgaben, "GrGoogleMap"))); $Vorgaben["htmRumpf"][] = fncBaustein ("bstIFrame.N", array ("http://maps.google.de/maps?hl=" . $Vorgaben["curLang"] . "&q=" . str_replace ("(", "", str_replace (")", "", $txtAdresse)) . "+(" . $txtInhalt . ")&ie=UTF8&z=14&output=embed", fncVorgaben ($Vorgaben, "GrGoogleMap"))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnVerweis.AZXU", $Vorgaben, array ("Größere Kartenansicht","http://maps.google.de/maps?hl=" . $Vorgaben["curLang"] . "&q=" . $txtAdresse . "+(" . $txtInhalt . ")&ie=UTF8&z=16")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstUmfluss", array ()); } } break; case "lmnStichpunkt": { /* A - auf p - PDF Q - Suche R - rund U - unsichtbar Z - zu */ list ($txtInhalt) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { if ($txtInhalt) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtInhalt . " "; } } elseif (mb_strstr ($Optionen, "p")) { if ($txtInhalt) { $Vorgaben['PDF']->SetFont('DejaVu','',12); $Vorgaben['PDF']->Cell(3.5,$Vorgaben['varPDFLineHeight'], '•','',0); $Vorgaben['PDF']->SetTextColor(0,0,0); $Vorgaben['PDF']->MultiCell(0 , $Vorgaben['varPDFLineHeight'] , $txtInhalt, 0, "L"); } else { $Vorgaben['PDF']->SetFont('DejaVu','',12); $Vorgaben['PDF']->Ln(2.5); } } else { // $txtInhalt = fncText ("ftxWandeln.H", array ($txtInhalt)); if (mb_strstr ($Optionen, "U")) // unsichtbar { $cssStichpunkt = " cssOoBxStU"; } else // R - rund { $cssStichpunkt = " cssOoBxStR"; } if (mb_strstr ($Optionen, "A")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssStichpunkt)); if ($txtInhalt) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtInhalt, " cssOoTfLtA cssOoTsLtA cssOoSnLt cssOoSnSt")); } } if (mb_strstr ($Optionen, "Z")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } } break; case "lmnUmfluss": { /* L - nur links Q - Suche R - nur rechts */ unset ($Parameter); $optUmfluss = ""; if (mb_strstr ($Optionen, "Q")) { } else { if (mb_strstr ($Optionen, "L")) { $optUmfluss = "L"; } elseif (mb_strstr ($Optionen, "R")) { $optUmfluss = "R"; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstUmfluss", array ($optUmfluss)); } } break; case "lmnKontaktblock": { /* Q - Suche */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { } else { # Ausgabe fncElement ("lmnZwischentitel.P", $Vorgaben, array (fncPhrase ($Vorgaben, array ("KontaktAufnehmen", "G")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncPhrase ($Vorgaben, array ("habenSieFragen", "G")) . " " . fncText ("ftxTelefon.G", array ($Vorgaben["Data"]["datVorgaben"][1]["Telefon"], $Vorgaben["curLang"])) . " " . fncPhrase ($Vorgaben, array ("oderSchreibenSie")) . ":")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); fncElement ("lmnVerweis.AZFU", $Vorgaben, array (fncPhrase ($Vorgaben, array ("NachrichtSchreiben", "G")))); } } break; case "lmnKontaktdaten": { /* A - Adressblock B - Bildnachweis E - E-Mail F - Firma I - Internet L - Labelcode M - Inhaber 2 N - Inhaber P - Ansprechpartner Q - Suche R - Register S - Steuernr. T - Telefon U - UstID X - Telefax Z - Firmenzusatz */ unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // Suche { if (mb_strstr ($Optionen, "A")) // Adressblock { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Strasse")) . " " . fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "PLZ")) . " " . fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Ort")) . " "; } elseif (mb_strstr ($Optionen, "E")) // E-Mail { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= "E-Mail "; } elseif (mb_strstr ($Optionen, "F")) // Firma { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Firma")) . " "; } elseif (mb_strstr ($Optionen, "P")) // Ansprechpartner { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "AnsprVN")) . " " . fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "AnsprNN")) . " "; } elseif (mb_strstr ($Optionen, "Z")) // Firmenzusatz { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "FirmaZusatz")) . " "; } elseif (mb_strstr ($Optionen, "N")) // Inhaber { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Inhaber")) . " "; } elseif (mb_strstr ($Optionen, "M")) // Inhaber { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Inhaber2")) . " "; } elseif (mb_strstr ($Optionen, "R")) // Register { // fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Register")))); $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Register")) . " "; } } else { # Ausgabe if (mb_strstr ($Optionen, "A")) // Adressblock { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Strasse")))); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "PLZ")) . " " . fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Ort")))); } elseif (mb_strstr ($Optionen, "E")) // E-Mail { fncElement ("lmnVerweis.AZEU", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "EMail")), fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "EMail")))); } elseif (mb_strstr ($Optionen, "F")) // Firma { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Firma")))); } elseif (mb_strstr ($Optionen, "T")) // Telefon { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncText ("ftxTelefon.G", array ($Vorgaben["Data"]["datVorgaben"][1]["Telefon"], $Vorgaben["curLang"])))); } elseif (mb_strstr ($Optionen, "X")) // Telefax { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncText ("ftxTelefon.G", array ($Vorgaben["Data"]["datVorgaben"][1]["Telefax"], $Vorgaben["curLang"])))); } elseif (mb_strstr ($Optionen, "P")) // Ansprechpartner { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "AnsprVN")) . " " . fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "AnsprNN")))); } elseif (mb_strstr ($Optionen, "I")) // Internet { fncElement ("lmnVerweis.AZXU", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Internet")), fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Internet")))); } elseif (mb_strstr ($Optionen, "Z")) // Firmenzusatz { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "FirmaZusatz")))); } elseif (mb_strstr ($Optionen, "N")) // Inhaber { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Inhaber")))); } elseif (mb_strstr ($Optionen, "M")) // Inhaber 2 { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Inhaber2")))); } elseif (mb_strstr ($Optionen, "R")) // Register { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Register")))); } elseif (mb_strstr ($Optionen, "U")) // UstID { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "UstID")))); } elseif (mb_strstr ($Optionen, "S")) // Steuernr { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "StNr")))); } elseif (mb_strstr ($Optionen, "L")) // Labelcode { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Labelcode")))); } elseif (mb_strstr ($Optionen, "B")) // Bildnachweis { fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "BldNWStd")))); } } } break; case "lmnAusgabe": { /* P - Portal F - Formular Z - Zoom */ unset ($Parameter); // fncElement ("lmnRumpf." . $Optionen, $Vorgaben, array ()); // echo implode ("\n", $Vorgaben["htmRumpf"]); fncElement ("lmnRumpf." . $Optionen, $Vorgaben, array ()); fncElement ("lmnKopf." . $Optionen, $Vorgaben, array ()); // Kopf muss nach Rumpf erzeugt werden echo implode ("\n", $Vorgaben["htmKopf"]); echo implode ("\n", $Vorgaben["htmRumpf"]); # Debug // $datImmobilien = $Vorgaben["Data"]["datImmobilien"][0]; // //$dbgVariable = "datImmobilien"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $funLaufzeiten = $Vorgaben["funLaufzeiten"]; unset ($Vorgaben); } break; case "lmnKopf": { /* P - Portal F - Formular Z - Zoom */ unset ($Parameter); if (mb_strstr ($Optionen, "P") or mb_strstr ($Optionen, "F") or mb_strstr ($Optionen, "Z")) { $optMeta = "P"; } else { $optMeta = ""; } $Vorgaben["htmKopf"][] = funAltBaustein ("Kopf.Start", $Vorgaben, array ()); if (!isset ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["Sprache"])) { $Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["Sprache"] = ""; } $Vorgaben["htmKopf"][] = fncBaustein ("bstMeta." . $optMeta, array ( $Vorgaben["Data"]["datVorgaben"][1]["Firma"], $Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["Sprache"], fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "Titel")), fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "Seitenbeschreibung")), fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "Suchbegriffe")), $Vorgaben["Data"]["datVorgaben"][1]["GgID"], $Vorgaben["Data"]["datVorgaben"][1]["YhID"] )); $Vorgaben["htmKopf"][] = fncBaustein ("bstTitle", array (fncText ("ftxWandeln.F", array ($Vorgaben["curTitle1"])), fncText ("ftxWandeln.F", array ($Vorgaben["curTitle2"])))); $Vorgaben["htmKopf"][] = funAltBaustein ("CSS", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("FavIcon", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Skript.Start", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Skript.Kontrolle", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Skript.Optionen", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Skript.Fernschreiber", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Skript.FrameKiller", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Skript.Ende", $Vorgaben, array ()); $Vorgaben["htmKopf"][] = funAltBaustein ("Kopf.Ende", $Vorgaben, array ()); } break; case "lmnRumpf": { /* P - Portal F - Formular Z - Zoom */ unset ($Parameter); $Vorgaben["htmRumpf"][] = funAltBaustein ("Rumpf.Start", $Vorgaben, array ()); if (mb_strstr ($Optionen, "P")) // Portal { # Portal Kopf fncElement ("lmnFormular.AP", $Vorgaben, array ()); // $Vorgaben["htmRumpf"][] = funAltBaustein ("Rahmen.Oben.Portal", $Vorgaben, array ()); fncElement ("lmnRahmen.AP", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalKopfBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssSystemVolleBreite")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalKopfBox2")); $Vorgaben["htmRumpf"][] = $Vorgaben["curTitle1"] . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPpLt cssPortalKopfBox3")); if ($Vorgaben["Benutzer"]["ObZugang"]) // Benutzer und Datum nur zeigen, wenn eingeloggt { $Vorgaben["htmRumpf"][] = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_verriegelt.gif")) . " " . $Vorgaben["Benutzer"]["Name"] . "
"; $Vorgaben["htmRumpf"][] = funDatum ("Heute.13", $Vorgaben, array ()) . "
"; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalMitteBox1")); # Modul übergeben wg. Übersichtlichkeit // $Modul = $Vorgaben["curModul"]; if (isset ($_REQUEST["Hilfe"]) and $_REQUEST["Hilfe"]) // { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalFilterBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Absatz", $Vorgaben, array ($Vorgaben["Hilfe"]["Ausgabe"]["Titel"], "cssSystemFett cssPortalHilfeAbsatz")); if (is_array ($Vorgaben["Hilfe"]["Ausgabe"]["Beschreibung"])) foreach ($Vorgaben["Hilfe"]["Ausgabe"]["Beschreibung"] as $Text) // if ($Text) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Absatz", $Vorgaben, array ($Text, "cssPortalHilfeAbsatz")); } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } elseif (isset ($_REQUEST[TICKET]) and $_REQUEST[TICKET]) // Ticket erhalten,. Aktion bestätigen { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalFilterBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Absatz", $Vorgaben, array ($Vorgaben["Ticket"]["Ausgabe"]["Titel"], "cssSystemFett")); if (is_array ($Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"])) foreach ($Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"] as $Text) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Absatz", $Vorgaben, array ($Text)); } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } elseif (!$Vorgaben["Benutzer"]["ObZugang"]) // zum Login { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalFilterBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPpLt, padding: 0px 0px 5px 0px; font-weight: bold; ")); $Vorgaben["htmRumpf"][] = "Benutzer
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funEingabe ("Text", $Vorgaben, array ("User")); $Vorgaben["OpenFields"]["User"] = 1; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPpLt, padding: 7px 0px 5px 0px; font-weight: bold; ")); $Vorgaben["htmRumpf"][] = "Kennwort
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funEingabe ("Kennwort", $Vorgaben, array ("Pass")); $Vorgaben["OpenFields"]["Pass"] = 1; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPpLt, padding: 7px 0px 0px 0px; text-align: right; ")); if ($Vorgaben["ObLoginHilfe"]) { $ObLoginHilfe = "" . fncAltBild ("Anzeigen.xfrage", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_frage.gif", 0, "margin-right: 2px !important; margin-right: 3px;")) . ""; } else { $ObLoginHilfe = ""; } $Vorgaben["htmRumpf"][] = $ObLoginHilfe . "" . BasisVerweis_47 ("Intern", $Vorgaben, "Anmelden", 0, "document.frmMvd.submit();", 0, "xweiter:portal_anmelden.gif") . fncAltBild ("Anzeigen.xweiter", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_anmelden.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } elseif ($Vorgaben["curModul"]) { if (!$_REQUEST[RECORD]) // Liste { # Debug // $dbgHptDB = $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["HauptDatenbank"]; // //$dbgVariable = "dbgHptDB"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Symbolleiste fncElement ("lmnSymbleiste.P", $Vorgaben, array (trim ($Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["knnSymbolleisteM"]))); # Datenbank fncElement ("lmnDbAnzeigen.M", $Vorgaben, array ($Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["HauptDatenbank"])); # Weitere Datenbanken zeigeWeitereDatenbank ($Vorgaben, $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["WeitereDbsInListe"]); } else // Zeige Details { # Debug //$dbgInfo = "Item gesetzt"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # Symbolleiste fncElement ("lmnSymbleiste.P", $Vorgaben, array (trim ($Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["knnSymbolleisteE"]))); # Hauptdatenbank anzeigen $datDatenbank = $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["HauptDatenbank"]; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssSystemVolleBreite")); if (mb_strstr (mb_strtoupper ($Vorgaben["Data"][$datDatenbank][0]["GelbeBoxOptionen"]), "X")) // ohne Rahmen also { $KlasseStilBox = ""; $KlasseTabelle = "cssSystemVolleBreite+"; } else { $KlasseStilBox = " ,padding: 0px 0px 2px 8px;"; $KlasseTabelle = "cssSystemVolleBreite+cssPortalGelbeBoxTabelle"; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($KlasseStilBox)); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ($KlasseTabelle)); fncElement ("lmnDbAnzeigen.G", $Vorgaben, array ($datDatenbank, $_REQUEST[RECORD])); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssSystemVolleBreite")); fncElement ("lmnDbAnzeigen.E", $Vorgaben, array ($datDatenbank, $_REQUEST[RECORD])); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); # Weitere Datenbanken zeigeWeitereDatenbank ($Vorgaben, $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["WeitereDbsInDetails"]); } # OpenCoord zurücksetzen $_REQUEST["OpenCoord"] = ""; } else // Startmenü { # AdminInfoBox // if ($Vorgaben["AdminInfo"]) // { // $Vorgaben["htmRumpf"][] = funDatenbank ("Anzeigen.AdminInfo", $Vorgaben, array ()); // } # Module if (is_array ($Vorgaben["Benutzer"]["ErlaubteModule"])) foreach ($Vorgaben["Benutzer"]["ErlaubteModule"] as $idModul => $Ob) if ($Ob) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Portal.Verweis.StartMenu", $Vorgaben, array ($idModul)); } } # Portal Fuß $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncAltBild ("Vorladen.cssPortalHGFarbe", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncAltBild ("Vorladen.cssPortalHGFarbe", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"])); // $Vorgaben["htmRumpf"][] = funAltBaustein ("Rahmen.Unten.Portal", $Vorgaben, array ()); fncElement ("lmnRahmen.UP", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPpLt cssPortalFussNote1")); if (!XDEBUG) { $Vorgaben["htmRumpf"][] = "MAVIDESK VERSION " . $Vorgaben["Version"] . " | " . fncZahl ("zhlRunden", array (((microtime (1) - $Vorgaben["SkriptStartzeit"]) / 1), 2)); } else { $Vorgaben["htmRumpf"][] = "MAVIDESK VERSION " . $Vorgaben["Version"] . " | " . fncZahl ("zhlRunden", array (((microtime (1) - $Vorgaben["SkriptStartzeit"]) / 1), 2)) . " | " . round (xdebug_peak_memory_usage() / 1048576) . " M"; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalFussBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalFussBox2")); fncElement ("lmnSymbol.PS", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); // $Vorgaben["htmRumpf"][] = funAltBaustein ("Rahmen.Ende", $Vorgaben, array ()); fncElement ("lmnRahmen.ZP", $Vorgaben, array ()); fncElement ("lmnFormular.Z", $Vorgaben, array ()); } elseif (mb_strstr ($Optionen, "F")) // Formulare { $ObInfoBox = $Vorgaben["ObInfoBox"]; $InfoBoxText = $Vorgaben["InfoBoxText"]; $Gruppen = $Vorgaben["Gruppen"]; // $ExtraBoxBreite = ($Vorgaben["FensterExtras"]["B"] - 55); // echo fncVorgaben ($Vorgaben, "bxhFensterGrM"); // list ($bFensterGrM) = explode ("x", fncVorgaben ($Vorgaben, "bxhFensterGrM.N")); // $ExtraBoxBreite = ($bFensterGrM - 55); $ExtraBoxBreite = '365'; // 420px - 55px = 365px $BoxStil = " min-height: " . $ExtraBoxBreite . "px; padding-bottom: 24px; "; $Titel = fncPhrase ($Vorgaben, array ($Vorgaben["Formular"][0]["FormularTitel"], "G")); $Step = $_REQUEST["Step"]; fncElement ("lmnFormular.AP", $Vorgaben, array ($Vorgaben["OnSubmit"])); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssSystemZentriert")); // 1.Box: zentriert den Inhalt $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraBox1, width: " . $ExtraBoxBreite . "px; ")); // 2.Box: legt die Breite des Rahmens fest $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraTitelBox1 ")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraTitelBox2 ")); $Vorgaben["htmRumpf"][] = "

" . $Titel . "

"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraRahmen," . $BoxStil)); // 3. Box: enthält den grauen Rahmen if ($ObInfoBox) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraInfoBox")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funExtraSymbol ("Aktiv", $Vorgaben, 0, "info-m", 0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array (" cssExtraInfoText")); $Vorgaben["htmRumpf"][] = $InfoBoxText . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.1", $Vorgaben, array (" cssExtraFormularTabelle")); switch ($Step) { case 1: case 2: { if (is_array ($Gruppen)) foreach ($Gruppen as $GruppenID => $Feld) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.23.2", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraGruppenTitel")); $Vorgaben["htmRumpf"][] = $Gruppen[$GruppenID][0]["GruppenBeschriftung"] . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.32", $Vorgaben, array ()); if (is_array ($Feld)) foreach ($Feld as $FeldID => $FeldBeschriftung) if ($FeldID) { if (isset ($Vorgaben["Formular"][0]["ObPflichtFelderKennzeichnen"]) and $Vorgaben["Formular"][0]["ObPflichtFelderKennzeichnen"] and $Vorgaben["Formular"][$FeldID]["ObPflichtFeld"]) { $ObSternchen = "*"; } else { $ObSternchen = ""; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.23", $Vorgaben, array (" cssExtraFormularLSpalte")); $Signal = ""; switch ($Step) { case 1: switch ($Vorgaben["Formular"][$FeldID]["FeldTyp"]) { case "Optionen": case "Radio": $Signal = fncAltBild ("Anzeigen.Signal" . $FeldID, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "signal_geviert.gif", " cssSignalLinks")); break; } break; } $Vorgaben["htmRumpf"][] = $Signal . " " . $FeldBeschriftung . $ObSternchen . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array (" cssExtraFormularRSpalteStep" . $Step)); switch ($Step) { case 1: { $Signal = fncAltBild ("Anzeigen.Signal" . $FeldID, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "signal_geviert.gif", " cssSignalRechts")); switch ($Vorgaben["Formular"][$FeldID]["FeldTyp"]) { case "Textfeld": { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" , margin-top: 1px; white-space: nowrap; ")); $Vorgaben["htmRumpf"][] = funEingabe ("Textfeld", $Vorgaben, array ($FeldID, $Vorgaben["Formular"][$FeldID]["Groesse"])) . $Signal . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } break; case "Text": { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" , margin-top: 1px; white-space: nowrap; ")); $Vorgaben["htmRumpf"][] = funEingabe ("Text", $Vorgaben, array ($FeldID, $Vorgaben["Formular"][$FeldID]["Groesse"])) . $Signal . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } break; case "Auswahl": { $Vorgaben["htmRumpf"][] = "" . funEingabe ("Auswahl", $Vorgaben, array ($FeldID, $Vorgaben["Formular"][$FeldID]["Kandidaten"])) . $Signal . " "; } break; case "Optionen": { $Vorgaben["htmRumpf"][] = funEingabe ("Optionen", $Vorgaben, array ($FeldID, $Vorgaben["Formular"][$FeldID]["Kandidaten"])); if (is_array ($Vorgaben["Formular"][$FeldID]["Kandidaten"])) foreach ($Vorgaben["Formular"][$FeldID]["Kandidaten"] as $AuswahlID => $AuswahlText) if ($AuswahlText) { $Vorgaben["OpenFields"][$FeldID . $AuswahlID] = 1; } } break; case "Radio": { $Vorgaben["htmRumpf"][] = funEingabe ("Radio", $Vorgaben, array ($FeldID, $Vorgaben["Formular"][$FeldID]["Kandidaten"])) . "
"; } break; case "Fix": { $Vorgaben["htmRumpf"][] = "
" . $_REQUEST[$FeldID] . "
"; } break; case "Datei": { $Vorgaben["htmRumpf"][] = "
(folgt im nächsten Schritt)
"; } break; case "Datum": { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" ,padding: 1px 0px 1px 2px; ")); if ($Datenbank[$idID][$fldFeld] and $Datenbank[$idID][$fldFeld] != -1) { $_REQUEST["NewValue"] = funDatum ("Konvertieren.8.10", $Vorgaben, array ($Datenbank[$idID][$fldFeld])); } else { $_REQUEST["NewValue"] = funDatum ("Heute.10", $Vorgaben, array ()); } $Vorgaben["htmRumpf"][] = funEingabe ("Text.NurLesen", $Vorgaben, array ($FeldID, 10)) . ""; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" ,padding: 2px 6px 1px 0px; white-space: nowrap; ")); // vormals 1px $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, "Datum wählen", 0, "displayCalendar (document.frmMvd." . $FeldID . ",'dd.mm.yyyy',this); ", 0, "xdatum" . $FeldID . ":portal_kalender.gif") . fncAltBild ("Anzeigen.xdatum" . $FeldID, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender.gif", 0, "margin-left: 1px !important; margin-left: 2px;")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); } break; } $Vorgaben["OpenFields"][$FeldID] = 1; } break; case 2: { switch ($Vorgaben["Formular"][$FeldID]["FeldTyp"]) { default: { if ($_REQUEST[$FeldID]) { $Eingabe = "[ " . $_REQUEST[$FeldID] . " ]"; } else { $Eingabe = "[       ]"; } $OnClick = "document.frmMvd.Active.value = '" . $FeldID . "'; document.frmMvd.Step.value = 1; document.frmMvd.submit(); "; $Vorgaben["htmRumpf"][] = funEingabe ("Blind", $Vorgaben, array ($FeldID)); $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, $FeldBeschriftung . " ändern", 0, $OnClick, " cssExtraVerweis1", 0) . $Eingabe . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } break; case "Datei": { $Vorgaben["htmRumpf"][] = funEingabe ("Datei", $Vorgaben, array ($FeldID, $Vorgaben["Formular"][$FeldID]["Groesse"])) . $Signal . "
"; } break; case "Fix": { $Vorgaben["htmRumpf"][] = $_REQUEST[$FeldID]; } break; case "Auswahl": case "Radio": { $Eingabe = "[ " . $Vorgaben["Formular"][$FeldID]["Kandidaten"][$_REQUEST[$FeldID]] . " ]"; $OnClick = "document.frmMvd.Active.value = '" . $FeldID . "'; document.frmMvd.Step.value = 1; document.frmMvd.submit(); "; $Vorgaben["htmRumpf"][] = funEingabe ("Blind", $Vorgaben, array ($FeldID)); $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, $FeldBeschriftung . " ändern", 0, $OnClick, " cssExtraVerweis1", 0) . $Eingabe . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } break; case "Optionen": { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.1", $Vorgaben, array ()); if (is_array ($Vorgaben["Formular"][$FeldID]["Kandidaten"])) foreach ($Vorgaben["Formular"][$FeldID]["Kandidaten"] as $KandidatenID => $AuswahlText) { if ($AuswahlText) { $OnClick = "document.frmMvd.Active.value = '" . $FeldID . "'; document.frmMvd.Step.value = 1; document.frmMvd.submit(); "; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.23", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, $FeldBeschriftung . " ändern", 0, $OnClick, " cssExtraVerweis1", 0) . "[" . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array (" cssSystemZentriert")); if ($_REQUEST[$FeldID][$KandidatenID]) { $OptionText = "x"; } else { $OptionText = "  "; } $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, $FeldBeschriftung . " ändern", 0, $OnClick, " cssExtraVerweis1", 0) . $OptionText . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, $FeldBeschriftung . " ändern", 0, $OnClick, " cssExtraVerweis1", 0) . "] " . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funEingabe ("Blind", $Vorgaben, array ($FeldID, $KandidatenID)); $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern", $Vorgaben, $FeldBeschriftung . " ändern", 0, $OnClick, " cssExtraVerweis1", 0) . $AuswahlText . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.32", $Vorgaben, array ()); } } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.10", $Vorgaben, array ()); } break; } } break; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.32", $Vorgaben, array ()); } } } break; case 3: { } break; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.10", $Vorgaben, array ()); if (isset ($Vorgaben["Formular"][0]["ObFussnoten"])) if ($Vorgaben["Formular"][0]["ObFussnoten"]) { if (isset ($Vorgaben["Formular"][0]["FussnotenTitel"])) if ($Vorgaben["Formular"][0]["FussnotenTitel"]) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssExtraGruppenTitel")); $Vorgaben["htmRumpf"][] = $Vorgaben["Formular"][0]["FussnotenTitel"] . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } for ($Z = 1, $E = 1; (($Z . $E) / 1) <= 99; $E++) { // $Vorgaben["htmRumpf"][] = $Z . $E . "
"; if (isset ($Vorgaben["Formular"][0]["Fussnote" . $Z . $E])) if ($Vorgaben["Formular"][0]["Fussnote" . $Z . $E]) switch ($E) { case 1: // Titel // $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ("cssSystemLinks,padding-left: 15px;")); $Vorgaben["htmRumpf"][] = "

" . $Vorgaben["Formular"][0]["Fussnote" . $Z . $E] . "

"; // $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ());cssExtraHinweisText break; default: // Text(e) $Vorgaben["htmRumpf"][] = "

" . $Vorgaben["Formular"][0]["Fussnote" . $Z . $E] . "

"; break; } if ($E == 9) { $Z++; $E = 0; } } } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssExtraSymbolLeisteBox,width: " . $ExtraBoxBreite . "px; + cssExtraSymbolLeisteL")); $Vorgaben["htmRumpf"][] = BasisSymbolLeiste_11 ($Vorgaben, $Vorgaben["SymboleLinks"]); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array (" cssExtraSymbolLeisteM")); $Vorgaben["htmRumpf"][] = BasisSymbolLeiste_11 ($Vorgaben, $Vorgaben["SymboleMitte"]); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array (" cssExtraSymbolLeisteR")); $Vorgaben["htmRumpf"][] = BasisSymbolLeiste_11 ($Vorgaben, $Vorgaben["SymboleRechts"]); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); fncElement ("lmnFormular.Z", $Vorgaben, array ()); } elseif (mb_strstr ($Optionen, "Z")) // Zoom { $r_vorgaenger = array (); $r_nachfolger = array (); $q_zoom = ''; $k_modul = ''; $k_schalter = ''; $i_bild = ''; $i_kategorie = ''; $i_bereich = ''; $o_archiv = ''; $n_datenbank = ''; $p_sortierung = ''; $n_besitzer = ''; $x = ''; $n_bild = ''; $t_bildtitel = ''; $t_bildlegende = ''; $i_besitzer = ''; $i_nachbar = ''; $q_zoom = $_REQUEST[OBJECT]; list ($k_modul, $k_schalter, $i_bild, $i_kategorie, $i_bereich, $o_archiv) = explode (',', $q_zoom); switch ($k_schalter) { case 'U': // Übersicht { $n_datenbank = "xdb" . $k_modul . "Kp"; $p_sortierung = ($o_archiv) ? fncVorgaben ($Vorgaben, $k_modul . "ZSort.RN") : fncVorgaben ($Vorgaben, $k_modul . "Sort.RN"); } break; case 'D': // Details { $n_besitzer = "xdb" . $k_modul . "Kp"; $n_datenbank = "dat" . $k_modul . "Details"; } break; } # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($n_datenbank)); if ($n_besitzer) { fncDatenbank ("dtbLesen", $Vorgaben, array ($n_besitzer)); } switch ($k_schalter) { case 'U': // Übersicht { # Fixfilter ($o_archiv) ? fncFilter ("fltDatenbank.OA", $Vorgaben, array ($n_datenbank)) : fncFilter ("fltDatenbank.OZ", $Vorgaben, array ($n_datenbank)); fncFilter ("fltDatenbank.X", $Vorgaben, array ($n_datenbank, "Bereiche", $i_bereich)); fncFilter ("fltDatenbank.", $Vorgaben, array ($n_datenbank, "mltKategorien", $i_kategorie)); sortiereDatenbankNachCode ($Vorgaben, $n_datenbank, $p_sortierung); $n_bild = fncFeld ("dtfWert.N", $Vorgaben, array ($n_datenbank, $i_bild, "TBild")); $t_bildtitel = fncFeld ("dtfWert.N", $Vorgaben, array ($n_datenbank, $i_bild, "Titel")); $t_bildlegende = fncFeld ("dtfWert.N", $Vorgaben, array ($n_datenbank, $i_bild, "Beschreibung")); } break; case 'D': // Details { $i_besitzer = $Vorgaben["Data"][$n_datenbank][$i_bild]['Besitzer']; fncFilter ("fltDatenbank.", $Vorgaben, array ($n_datenbank, "Besitzer", $i_besitzer)); $n_bild = fncFeld ("dtfWert.N", $Vorgaben, array ($n_datenbank, $i_bild, "Inhalt")); $t_bildtitel = fncFeld ("dtfWert.N", $Vorgaben, array ($n_besitzer, $i_besitzer, "Titel")); $t_bildlegende = fncFeld ("dtfWert.N", $Vorgaben, array ($n_datenbank, $i_bild, "Referenz")); } break; } findeVorgaengerNachfolger ($r_vorgaenger, $r_nachfolger, $Vorgaben, $n_datenbank, $k_schalter); fncElement ("lmnBox.A", $Vorgaben, array ("", "cssExtraZoomBox")); fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", "cssSystemMittig|width: 50%; |cssSystemVolleBreite cssSystemVolleHoehe")); if (isset ($r_vorgaenger[$i_bild])) if ($r_vorgaenger[$i_bild]) { $i_nachbar = $r_vorgaenger[$i_bild]; } else { $i_nachbar = ''; } zeigeButton ('rueckwaerts', $Vorgaben, $i_nachbar, $k_modul . ',' . $k_schalter . ',' . $i_nachbar . ',' . $i_kategorie . ',' . $i_bereich . ',' . $o_archiv); fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ("", "cssSystemMittig")); fncElement ("lmnBox.A", $Vorgaben, array ("", "cssExtraZoomDfUnten")); fncElement ("lmnBild.LXR", $Vorgaben, array ($n_bild)); fncElement ("lmnRubrik.AZ", $Vorgaben, array ($t_bildtitel)); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($t_bildlegende)); fncElement ("lmnBox.Z", $Vorgaben, array ()); fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ("", "cssSystemMittig|width: 50%; ")); if (isset ($r_nachfolger[$i_bild])) if ($r_nachfolger[$i_bild]) { $i_nachbar = $r_nachfolger[$i_bild]; } else { $i_nachbar = ''; } zeigeButton ('vorwaerts', $Vorgaben, $i_nachbar, $k_modul . ',' . $k_schalter . ',' . $i_nachbar . ',' . $i_kategorie . ',' . $i_bereich . ',' . $o_archiv); fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); unset ($r_nachfolger); unset ($r_vorgaenger); } else // Index { fncElement ("lmnFormular.AP", $Vorgaben, array ()); fncElement ("lmnFormatieren.D", $Vorgaben, array ()); fncElement ("lmnFormular.Z", $Vorgaben, array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBody.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstHtml.Z", array ()); # Thema setzen fncElement ("lmnThema.S", $Vorgaben, array ()); # Titelbild setzen fncElement ("lmnTitelbild.S", $Vorgaben, array ()); } break; case "lmnVerweis": { /* A - auf B - Design B (sonst A) C - Design C (sonst A) b - Design Blättern d - drucken D - Datei - aus Media direkt 1 - aus Download direkt E - E-Mail F - Kontaktformular G - Suche abschicken H - Horizontal strecken/Float Left unterbinden I - Item direkt aufrufen J - just the pointer, kein Text K - Verweiskette Start > Produkte > Bereich > Produkt k - Verweiskette Start > Kategorie + Zweite Kategorie > Produkt L - Lupe/Zoom M - MP3 N - interner Verweis, Querverweis O - ohne Text P - Verweis auf PDF 1 - aus Download direkt p - PDF schreiben Q - Suche R - Datei - aus Media indirekt 1 - aus Download indirekt S - Sprachwähler T - nur Text U - Umbruch V - Video W - Portal, Schloss versteckt X - extern, Internetadresse Y - Portal, Schloss Z - zu */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); # Var $ttlVerweis = ""; $cssAbstand = ""; $p_datei = ''; if (mb_strstr ($Optionen, "Q")) { if ($txtInhalt) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtInhalt . " "; } if ($txtReferenz) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtReferenz . " "; } } elseif (mb_strstr ($Optionen, "R")) // Datei indirekt { if (mb_strstr ($Optionen, "1")) // aus Download { $crDq = 1; } else // aus Media { $crDq = 0; } list ($tmp, $crDbDs) = explode (";", $txtReferenz); if (!$txtInhalt) { $txtInhalt = fncPhrase ($Vorgaben, array ("LinkZurDateiAnfordern", "G")); } fncElement ("lmnVerweis.AZFU", $Vorgaben, array ($txtInhalt, "44|" . $crDbDs . "," . $crDq)); } else { $obAktiv = 0; $cssAbsatz = ""; $cssSystemHand = " cssNwCursor"; $zhlWdhl = 1; if (mb_strstr ($Optionen, "E")) // E-Mail { if (mb_strstr ($Optionen, "C")) // Farbschema C { $cssBox = " cssOoBxVfC"; } elseif (mb_strstr ($Optionen, "B")) // Farbschema B { $cssBox = " cssOoBxVfB"; } else // Farbschema A { $cssBox = " cssOoBxVfA"; } if (!$txtInhalt) { // $txtInhalt = fncPhrase ($Vorgaben, array ("Anfrage", "G")); $txtInhalt = $txtReferenz; } // $onClick = "location='mailto:" . $txtReferenz . "?Subject=" . $txtInhalt . "'"; $onClick = "location='mailto:" . $txtReferenz . "?Subject=" . fncPhrase ($Vorgaben, array ("Anfrage", "G")) . "'"; $ttlVerweis = fncPhrase ($Vorgaben, array ("EMailSchreiben", "G")); } elseif (mb_strstr ($Optionen, "d")) // Drucken { if (mb_strstr ($Optionen, "C")) // Farbschema C { // $cssBox = " cssOoBxVfC"; } elseif (mb_strstr ($Optionen, "B")) // Farbschema B { // $cssBox = " cssOoBxVfB"; } else // Farbschema A { $cssBox = " cssOoBxVwDrA"; } $onClick = "window.print(); "; $txtInhalt = $ttlVerweis = fncPhrase ($Vorgaben, array ("SeiteDrucken", "G")); } elseif (mb_strstr ($Optionen, "Y") or mb_strstr ($Optionen, "W")) // Schloss { $ttlVerweis = ""; $cssAbstand = ""; if ($Vorgaben["obOmniMv"] or ($Vorgaben["obLocalMv"] and mb_strtoupper ($_SERVER["SERVER_NAME"]) == "LOCALHOST")) { $onClick = "window._blank = window.open ('./?" . BOOK . "=" . $Vorgaben["rrgBooks"]["booPortal"] . "')"; } else { $onClick = ""; } if (mb_strstr ($Optionen, "Y")) { if (mb_strstr ($Optionen, "B")) // Farbschema B { $cssBox = " cssOoBxVyB"; } else // Farbschema A { $cssBox = " cssOoBxVyA"; } } elseif (mb_strstr ($Optionen, "W")) { $cssBox = " cssOoBxLw"; $cssSystemHand = ""; } } elseif (mb_strstr ($Optionen, "G")) // Suche abschicken { $ttlVerweis = fncPhrase ($Vorgaben, array ("suchen", "G")); $cssAbstand = ""; $Optionen .= "O"; // kein Text if (mb_strstr ($Optionen, "C")) // Farbschema C { $cssBox = " cssOoBxSrC"; } elseif (mb_strstr ($Optionen, "B")) // Farbschema B { $cssBox = " cssOoBxSrB"; } else // Farbschema A { $cssBox = " cssOoBxSrA"; } $onClick = "document.frmMvd.submit(); "; } elseif (mb_strstr ($Optionen, "X")) // extern, Internetadresse { $cssBox = " cssOoBxVwXa"; // extern $onClick = "window._blank = window.open ('" . fncText ("ftxInternet", array ($txtReferenz)) . "')"; if (!$txtInhalt) { $txtInhalt = fncText ("ftxInternet.K", array ($txtReferenz)); } $ttlVerweis = $txtInhalt; } elseif (mb_strstr ($Optionen, "V")) // Video { $cssBox = " cssOoBxVwVa"; $onClick = "window._blank = window.open ('" . $Vorgaben["Ordner"]["Media"] . $txtReferenz . "')"; if (!$txtInhalt) { $txtInhalt = fncPhrase ($Vorgaben, array ("VideoAnsehen", "G")); } $ttlVerweis = fncPhrase ($Vorgaben, array ("VideoAnsehen", "G")); } elseif (mb_strstr ($Optionen, "M")) // MP3 { $cssBox = " cssOoBxVwMa"; $onClick = "window._blank = window.open ('" . $Vorgaben["Ordner"]["Media"] . $txtReferenz . "')"; if (!$txtInhalt) { $txtInhalt = fncPhrase ($Vorgaben, array ("MP3anhoeren", "G")); } $ttlVerweis = fncPhrase ($Vorgaben, array ("MP3anhoeren", "G")); } elseif (mb_strstr ($Optionen, "D")) // Datei direkt { if (mb_strstr ($Optionen, "1")) { $rdnQuelle = $Vorgaben["Ordner"]["Download"]; } else { $rdnQuelle = $Vorgaben["Ordner"]["Media"]; } $cssBox = " cssOoBxVwDa"; $onClick = "window._blank = window.open ('" . $rdnQuelle . $txtReferenz . "')"; if (!$txtInhalt) { $txtInhalt = fncPhrase ($Vorgaben, array ("DateiHerunterladen", "G")); } $ttlVerweis = fncPhrase ($Vorgaben, array ("DateiHerunterladen", "G")); } elseif (mb_strstr ($Optionen, "P")) // PDF { if (mb_strstr ($Optionen, "1")) { $rdnQuelle = $Vorgaben["Ordner"]["Download"]; } else { $rdnQuelle = $Vorgaben["Ordner"]["Media"]; } $cssBox = " cssOoBxPdf"; $p_datei = $rdnQuelle . $txtReferenz; $onClick = "window._blank = window.open ('" . $p_datei . "')"; if (!$txtInhalt) { $txtInhalt = fncPhrase ($Vorgaben, array ("PDFansehen", "G")); } $ttlVerweis = fncPhrase ($Vorgaben, array ("PDFansehen", "G")); } elseif (mb_strstr ($Optionen, "F")) // Formular { list ($idFormular, $txtObjekt) = explode ("|", $txtReferenz . "|"); if ($idFormular == 43 or $idFormular == 44) // Link zur Datei anfordern { $cssBox = " cssOoBxVkA"; } elseif (mb_strstr ($Optionen, "C")) // Farbschema C { $cssBox = " cssOoBxVfC"; } elseif (mb_strstr ($Optionen, "B")) // Farbschema B { $cssBox = " cssOoBxVfB"; } else // Farbschema A { $cssBox = " cssOoBxVfA"; } # Anfrage $txtAnfrage = BOOK . "=" . $Vorgaben["rrgBooks"]["booForms"]; if ($idFormular) { $txtAnfrage .= "&" . FORM . "=" . $idFormular; } if ($txtObjekt) { $txtAnfrage .= "&" . OBJECT . "=" . $txtObjekt; } if ($Vorgaben["curLid"]) { $txtAnfrage .= "&" . LANG . "=" . $Vorgaben["curLid"]; } $onClick = "if (navigator.userAgent.indexOf('Chrome/') > 0) { if (window.jsExtraFenster) { window.jsExtraFenster.close(); window.jsExtraFenster = null; } } window.jsExtraFenster = window.open ('./?" . $txtAnfrage . "', '" . BOOK . $Vorgaben["rrgBooks"]["booForms"] . "', 'width=420,height=590,location=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes,status=yes'); window.jsExtraFenster.focus(); "; if (!$txtInhalt and isset ($Vorgaben["regFormulare"][($txtReferenz / 1)])) { $txtInhalt = $Vorgaben["regFormulare"][($txtReferenz / 1)]; } $ttlVerweis = $txtInhalt; } elseif (mb_strstr ($Optionen, "L")) // Lupe/Zoom { $cssBox = " cssInhaltVerweisBoxF"; // Formular # Anfrage $txtAnfrage = BOOK . "=" . $Vorgaben["rrgBooks"]["booZoom"] . "&" . OBJECT . "=" . $txtReferenz; $onClick = "if (navigator.userAgent.indexOf('Chrome/') > 0) { if (window.jsExtraFenster) { window.jsExtraFenster.close(); window.jsExtraFenster = null; } } window.jsExtraFenster = window.open ('./?" . $txtAnfrage . "&" . $Vorgaben["regVars"]["varWidth"] . "=' + (screen.availWidth - 100) + '&" . $Vorgaben["regVars"]["varHeight"] . "=' + (screen.availHeight - 100), '" . BOOK . $Vorgaben["rrgBooks"]["booZoom"] . "', 'width=' + (screen.availWidth - 100) + ',height=' + (screen.availHeight - 100) + ',location=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes,status=yes'); window.jsExtraFenster.focus(); "; $ttlVerweis = $txtInhalt; } elseif (mb_strstr ($Optionen, "S")) // Sprachwähler { $cssBox = ""; // in der Box kein css notwendig, weil kein Symbol $txtAnfrage = ""; list ($idPage, $txtAnhang, $obAktiv) = explode ("|", $txtReferenz . "||"); if ($idPage) { $txtAnfrage .= PAGE . "=" . $idPage; } if ($txtAnhang) { $txtAnfrage .= "&" . $txtAnhang; } if ($txtAnfrage) { $txtAnfrage = "?" . $txtAnfrage; } $onClick = "location='./" . $txtAnfrage . "'"; if (!$txtInhalt) { $txtInhalt = $Vorgaben["Data"]["xdbNhKp"][$idPage]["Menu"]; } $ttlVerweis = $txtInhalt; } elseif (mb_strstr ($Optionen, "I")) // Item direkt aufrufen { # Wert $txtLoc = $txtReferenz; # Klasse $cssBox = " cssOoBxVwNa"; # Sprache if ($Vorgaben["curLid"]) { $txtSprachEinschub = "&" . LANG . "=" . $Vorgaben["curLid"]; } else { $txtSprachEinschub = ""; } # Ziel $onClick = "location='./?" . $txtLoc . $txtSprachEinschub . "'"; # Titel $ttlVerweis = $txtInhalt; } else // N = intern { if (mb_strstr ($Optionen, "T")) { $cssBox = ""; } elseif (mb_strstr ($Optionen, "B")) { if (mb_strstr ($Optionen, "K")) // Kette { $cssBox = " cssOoBxVwKb"; $cssAbsatz = " cssOoVwOA"; } elseif (mb_strstr ($Optionen, "k")) // KettePlus { $cssBox = " cssOoBxVwKkb"; $cssAbsatz = " cssOoVwOA"; } else { $cssBox = " cssOoBxVwNb"; } } else { if (mb_strstr ($Optionen, "K")) // Kette { $cssBox = " cssOoBxVwKa"; $cssAbsatz = " cssOoVwOA"; } elseif (mb_strstr ($Optionen, "k")) // KettePlus { $cssBox = " cssOoBxVwKka"; $cssAbsatz = " cssOoVwOA"; } else { $cssBox = " cssOoBxVwNa"; } } list ($idMenu, $txtWeitere, $obAktiv) = explode ("|", $txtReferenz . "||"); $txtAnfrage = ""; if ($idMenu) { $txtAnfrage .= PAGE . "=" . $idMenu; } if ($txtWeitere) // wenn weitere, dann obAktiv nicht verändern { if ($txtWeitere[0] == "&") { $txtWeitere = mb_substr ($txtWeitere, 1); } if ($txtAnfrage) { $txtAnfrage .= "&"; } $txtAnfrage .= $txtWeitere; } elseif (!mb_strstr ($Optionen, "K") and !mb_strstr ($Optionen, "k")) // aktiv in Kette nicht darstellen { // if (isset ($Vorgaben["curPage"]) and $idMenu == $Vorgaben["curPage"] and !mb_strstr ($Optionen, "K")) if (isset ($Vorgaben["curPage"]) and $idMenu == $Vorgaben["curPage"]) { $obAktiv = 1; } } if ($Vorgaben["curLid"]) { if ($txtAnfrage) { $txtAnfrage .= "&"; } $txtAnfrage .= LANG . "=" . $Vorgaben["curLid"]; } if ($txtAnfrage) { $txtAnfrage = "?" . $txtAnfrage; } $onClick = "location='./" . $txtAnfrage . "'"; if (!$txtInhalt) { $txtInhalt = fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $idMenu, "Menu")); } $ttlVerweis = fncText ("ftxWandeln.F", array ($txtInhalt)); } if ($obAktiv) { // $onClick = ''; if (mb_strstr ($Optionen, "b")) // Blättern { $cssTf = " cssOoTfBt cssOoTfBta"; $cssTs = " cssOoTsBt cssOoTsBta"; } elseif (mb_strstr ($Optionen, "C")) { $cssTf = " cssOoTfLtA cssOoTfLtB cssOoTfLtC cssOoTfVwA cssOoTfVwAa cssOoTfVwB cssOoTfVwBa cssOoTfVwC cssOoTfVwCa"; $cssTs = " cssOoTsLtA cssOoTsLtB cssOoTsLtC cssOoTsVwA cssOoTsVwAa cssOoTsVwB cssOoTsVwBa cssOoTsVwC cssOoTsVwCa cssOoSnLt"; } elseif (mb_strstr ($Optionen, "B")) { $cssTf = " cssOoTfLtA cssOoTfLtB cssOoTfVwA cssOoTfVwAa cssOoTfVwB cssOoTfVwBa"; $cssTs = " cssOoTsLtA cssOoTsLtB cssOoTsVwA cssOoTsVwAa cssOoTsVwB cssOoTsVwBa cssOoSnLt"; } else { $cssTf = " cssOoTfLtA cssOoTfVwA cssOoTfVwAa"; $cssTs = " cssOoTsLtA cssOoTsVwA cssOoTsVwAa cssOoSnLt"; } } else { if (mb_strstr ($Optionen, "b")) // Blättern { $cssTf = " cssOoTfBt"; $cssTs = " cssOoTsBt"; } elseif (mb_strstr ($Optionen, "C")) { $cssTf = " cssOoTfLtA cssOoTfLtB cssOoTfLtC cssOoTfVwA cssOoTfVwB cssOoTfVwC"; $cssTs = " cssOoTsLtA cssOoTsLtB cssOoTsLtC cssOoTsVwA cssOoTsVwB cssOoTsVwC cssOoSnLt"; } elseif (mb_strstr ($Optionen, "B")) { $cssTf = " cssOoTfLtA cssOoTfLtB cssOoTfVwA cssOoTfVwB"; $cssTs = " cssOoTsLtA cssOoTsLtB cssOoTsVwA cssOoTsVwB cssOoSnLt"; } else { $cssTf = " cssOoTfLtA cssOoTfVwA"; $cssTs = " cssOoTsLtA cssOoTsVwA cssOoSnLt"; } } if (mb_strstr ($Optionen, "J")) // Verweis ohne Text + Formatierung, für Boxen, Bereiche, Tabellen... { $cssBox = ""; $cssAbstand = ""; $Optionen .= "O"; } if (mb_strstr ($Optionen, "T")) // Verweis ohne Text + Formatierung, für Boxen, Bereiche, Tabellen... { $cssBox = ""; // $cssAbstand = ""; // $Optionen .= "O"; } if ($cssBox) { $cssBox1 = $cssBox . "1"; $cssBox2 = $cssBox . "2"; $cssBox3 = $cssBox . "3"; $cssBox4 = $cssBox . "4"; $cssBox5 = $cssBox . "5"; } else { $cssBox1 = $cssBox2 = $cssBox3 = $cssBox4 = $cssBox5 = ""; } if (mb_strstr ($Optionen, "p")) // PDF schreiben { if (mb_strstr ($Optionen, "P")) // PDF { $z_seitenzahl = $Vorgaben['PDF']->setSourceFile($p_datei); for ($z = 1; $z <= $z_seitenzahl; $z++) { $tplidx = $Vorgaben['PDF']->importPage($z, '/TrimBox'); $Vorgaben['PDF']->addPage(); $Vorgaben['PDF']->useTemplate($tplidx, 0, 0, 210); } } } else // HTML { # Ausgabe if (mb_strstr ($Optionen, "A")) { if (mb_strstr ($Optionen, "H")) // horizontal strecken { $txtFloatLeft = ""; } else // linksbündig { $txtFloatLeft = "float: left; "; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", $ttlVerweis, $cssTf . $cssSystemHand . $cssAbstand . $cssBox1, $txtFloatLeft, "", $onClick)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBox2)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBox3)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBox4)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBox5)); if (!mb_strstr ($Optionen, "O")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtInhalt, $cssTs . $cssAbsatz)); } } if (mb_strstr ($Optionen, "Z")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); if (mb_strstr ($Optionen, "U")) // Umbruch { $Vorgaben["htmRumpf"][] = fncBaustein ("bstUmfluss", array ("L")); } } } } } break; case "lmnStartbox": { unset ($Parameter); if (isset ($Vorgaben["curStarts"]) and count ($Vorgaben["curStarts"]) == 1 and isset ($Vorgaben["curStarts"][$Vorgaben["curLang"]]) and $Vorgaben["curStarts"][$Vorgaben["curLang"]]) { $Ziel = $Vorgaben["curStarts"][$Vorgaben["curLang"]]; if ($Vorgaben["ReAktiveSprachen"][$Vorgaben["curLang"]]) { $Ziel .= "|" . LANG . "=" . $Vorgaben["ReAktiveSprachen"][$Vorgaben["curLang"]]; } fncElement ("lmnVerweis.ANJ", $Vorgaben, array ("", $Ziel)); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxVs")); fncElement ("lmnSprachwahl.F", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); if (isset ($Vorgaben["curStarts"]) and count ($Vorgaben["curStarts"]) == 1 and isset ($Vorgaben["curStarts"][$Vorgaben["curLang"]]) and $Vorgaben["curStarts"][$Vorgaben["curLang"]]) { fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } } break; case "lmnDfAusgabe": { list ($datDatenbank, $idID, $fldFeld, $Sprache) = $Parameter; unset ($Parameter); if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldDetails"]) and $Vorgaben["Data"][$datDatenbank][0]["fldDetails"] == $fldFeld) // nur Verweisfeld { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AW", array ("", fncPhrase ($Vorgaben, array ("DetailsAnsehen", "G")), " cssPpLt cssPortalDfText", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd." . RECORD . ".value = '" . $idID . "'; document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array (fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datDatenbank][0]["fldDplDetails"])))); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } else // alle außer Verweisfeld { if (fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { $txtAusgabe = fncFeld ("dtfWert.KNE", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld)); } else { $txtAusgabe = fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld)); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AW", array ("", fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)) . " ändern", " cssPpLt cssPortalDfText", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtAusgabe, " cssPpLt")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnDfAnzeigen": { /* B - Bezeichner ausgeben G - Bezeichner in Gruppe (zentriert) N - Bezeichner nicht fett (Zeile 1) L - immer links Y - in gelber Box T - Textbezeichner S - Symbolbezeichner */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $idID, $fldFeld, $Sprache) = $Parameter; unset ($Parameter); if (!$Sprache) { $Sprache = $Vorgaben['curLang']; } # Feldtypen $FeldTyp = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)); $FeldTyp2 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)); $FeldTyp3 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 3)); $FeldTyp4 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 4)); // $FeldTyp5 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 5)); // bisher noch nicht benutzt??? # Optionen--> checken if (mb_strstr ($Optionen, "L")) { $ObImmerLinks = 1; } else { $ObImmerLinks = 0; } # Modul // $Vorgaben["curModul"] = $Vorgaben["curModul"]; # ThisCoord $ThisCoord = $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache; # Ausgabe if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssSystemRechtsUmflossen")); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array (mb_substr (md5 ($datDatenbank . $idID . $fldFeld . $Sprache), 0, 4), "", " cssSystemRechtsUmflossen")); } switch ($FeldTyp) { case "dftText": // in lmnDfAnzeigen case "dftID": // in lmnDfAnzeigen case "dftBetrag": // in lmnDfAnzeigen case "dftStunden": // in lmnDfAnzeigen case "dftZahl": // in lmnDfAnzeigen case "dftJahr": // in lmnDfAnzeigen case "dftZeitraum": // in lmnDfAnzeigen case "dftUhrzeit": // in lmnDfAnzeigen case "dftBenutzer": // in lmnDfAnzeigen case "dftEmail": // in lmnDfAnzeigen case "dftInternet": // in lmnDfAnzeigen case "dftTelefon": // in lmnDfAnzeigen case "dftTicket": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { # Optionen if (!isset ($Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld])) { $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] = ""; } list ($brtFeld, $zchMaximal) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] . "|"); # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgNpt")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgText", array ("NewValue", fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld)), $brtFeld, $zchMaximal)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftKombi": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { if (!isset ($Vorgaben["ObKombiNeuerWert"]) or !$Vorgaben["ObKombiNeuerWert"]) { # Debug // //$dbgInfo = "ObKombiNeuerWert: nein"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $Vorgaben["Data"][$datDatenbank][0]["FeldTypen"][$fldFeld][$idID] = "dftAuswahl"; // beim ersten Durchlauf Auswahl anbieten fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); } else { # Debug // //$dbgInfo = "ObKombiNeuerWert: ja"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $Vorgaben["Data"][$datDatenbank][0]["FeldTypen"][$fldFeld][$idID] = "dftText"; // der Benutzer wählte Neuer Wert, somit Text Eingabefeld anbieten fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); } } else { $Vorgaben["Data"][$datDatenbank][0]["FeldTypen"][$fldFeld][$idID] = "dftText"; // fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftDatum": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgNpt")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgText", array ("NewValue", fncFeld ("dtfWert.SNP", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld, $Vorgaben["Heute"]["DZP"], "DZP")), 10, 10)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Datum wählen", " cssPortalDfKalender cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "displayCalendar (document.frmMvd.NewValue,'dd.mm.yyyy',this); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); if (!$Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Entfernen", " cssPortalDfEntfernen cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.NewValue.value = ''; document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { // fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftPDF": // in lmnDfAnzeigen case "dftVideo": // in lmnDfAnzeigen case "dftMP3": // in lmnDfAnzeigen case "dftDatei": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.S" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)), "cssPortalDfPDFB")); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { # Optionen $brFeld = ""; if (isset ($Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld])) { $brFeld = $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgFlNpt")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgDatei", array ("NewValue", $brFeld)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { # Wert auslesen // $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; $Wert = fncFeld ("dtfWert", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld)); switch ($FeldTyp) { case "dftPDF": // in lmnDfAnzeigen { $ttlAnsehen = "PDF anzeigen"; $clcAnsehen = "window._blank = window.open ('" . $Vorgaben["Ordner"]["Media"] . $Wert . "')"; if ($Wert) { $ttlHochladen = "PDF ersetzen?"; $cssHochladen = "cssPortalDfPDF1"; $clcHochladen = "if (confirm ('Soll die vorhandene PDF entfernt werden?')) { document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); } "; } else { $ttlHochladen = "PDF hochladen?"; $cssHochladen = "cssPortalDfPDF0"; $clcHochladen = "document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); "; } $cssAnsehen = "cssPortalDfLupe"; } break; case "dftVideo": // in lmnDfAnzeigen { $ttlAnsehen = "Video ansehen"; $clcAnsehen = "window._blank = window.open ('" . $Vorgaben["Ordner"]["Media"] . $Wert . "')"; if ($Wert) { $ttlHochladen = "Video ersetzen?"; $cssHochladen = "cssPortalDfVideo1"; $clcHochladen = "if (confirm ('Soll das vorhandene Video entfernt werden?')) { document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); } "; } else { $ttlHochladen = "Video hochladen?"; $cssHochladen = "cssPortalDfVideo0"; $clcHochladen = "document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); "; } $cssAnsehen = "cssPortalDfLupe"; } break; case "dftMP3": // in lmnDfAnzeigen { $ttlAnsehen = "MP3 anhören"; $clcAnsehen = "window._blank = window.open ('" . $Vorgaben["Ordner"]["Media"] . $Wert . "')"; if ($Wert) { $ttlHochladen = "MP3 ersetzen?"; $cssHochladen = "cssPortalDfMP31"; $clcHochladen = "if (confirm ('Soll die vorhandene MP3 entfernt werden?')) { document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); } "; } else { $ttlHochladen = "MP3 hochladen?"; $cssHochladen = "cssPortalDfMP30"; $clcHochladen = "document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); "; } $cssAnsehen = "cssPortalDfOhr"; } break; case "dftDatei": // in lmnDfAnzeigen { $ttlAnsehen = "Datei ansehen"; $clcAnsehen = "window._blank = window.open ('" . $Vorgaben["Ordner"]["Media"] . $Wert . "')"; if ($Wert) { $ttlHochladen = "Datei ersetzen?"; $cssHochladen = "cssPortalDfDatei1"; $clcHochladen = "if (confirm ('Soll die vorhandene Datei entfernt werden?')) { document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); } "; } else { $ttlHochladen = "Datei hochladen?"; $cssHochladen = "cssPortalDfDatei0"; $clcHochladen = "document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); "; } $cssAnsehen = "cssPortalDfLupe"; } break; } // $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $ttlHochladen, $cssHochladen, "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), $clcHochladen)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $ttlAnsehen, $cssAnsehen, "", $Wert, $clcAnsehen)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftBild": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { # var $brFeld = 0; # Optionen if (isset ($Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld])) { $brFeld = $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgFlNpt")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgDatei", array ("NewValue", $brFeld)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { // list ($bldDatei, $bldBreite) = explode ("|", $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]); $bldDatei = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); # Debug //$dbgVariable = "bldDatei"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $bldBreite = 111; // Standard für Anzeige im mavidesk if (fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { if ($bldDatei) { $txtTitel = fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)) . " ersetzen"; $onClick = "if (confirm ('Soll das vorhandene Bild entfernt werden?')) { document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); } "; } else // txtAusgabe leer { $txtTitel = fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)) . " hochladen"; $onClick = "document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); "; } } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AW", array ("", $txtTitel, "cssPortalDfBild", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), $onClick)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBldbox.PN", array ($Vorgaben["Ordner"]["CBilder"], $bldDatei, $bldBreite)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "dftUnsichtbar": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } } break; case "dftTxtfeld": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { # Optionen if (!isset ($Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld])) { $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] = ""; } list ($bxhFeld) = explode (",", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]); # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgTxtr")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgTxtfeld", array ("NewValue", fncFeld ("dtfWert.U", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld)), $bxhFeld)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftNeuigkeit": // in lmnDfAnzeigen case "dftTermin": // in lmnDfAnzeigen case "dftKuenstler": // in lmnDfAnzeigen case "dftBeitrag": // in lmnDfAnzeigen case "dftDokument": // in lmnDfAnzeigen case "dftProdukt": // in lmnDfAnzeigen case "dftReferenz": // in lmnDfAnzeigen case "dftKunde": // in lmnDfAnzeigen case "dftPartner": // in lmnDfAnzeigen case "dftJob": // in lmnDfAnzeigen case "dftMitarbeiter": // in lmnDfAnzeigen case "dftHierarchie": // in lmnDfAnzeigen case "dftSprache": // in lmnDfAnzeigen case "dftOnOff": // in lmnDfAnzeigen case "dftAuswahl": // in lmnDfAnzeigen case "dftDbAuswahl": // in lmnDfAnzeigen case "dftRgAuswahl": // in lmnDfAnzeigen case "dftDownload": // in lmnDfAnzeigen case "dftFormular": // in lmnDfAnzeigen case "dftMenu": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { switch ($FeldTyp) { case "dftHierarchie": // in lmnDfAnzeigen { # Auswahlliste bereitstellen $regAuswahl = array (); $regAuswahl[0] = "als Hauptmenüpunkt"; $regAuswahl["~0"] = "---------------------"; $regTexte = fncRegister ("rgsZiehen.F", array ($Vorgaben, $datDatenbank, $Vorgaben["Data"][$datDatenbank][0]["fldID"], "+klr" . $fldFeld)); $rgJds = fncRegister ("rgsZiehen.F", array ($Vorgaben, $datDatenbank, $Vorgaben["Data"][$datDatenbank][0]["fldID"], "+hrc" . $fldFeld)); if (is_array ($rgJds)) foreach ($rgJds as $jdRg => $idsReg) if ($jdRg != $idID) if ( !$Vorgaben["Data"][$datDatenbank][0]["fldSprache"] or ( $Vorgaben["Data"][$datDatenbank][0]["fldSprache"] and isset ($Vorgaben["Data"][$datDatenbank][$jdRg][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]]) and $Vorgaben["Data"][$datDatenbank][$jdRg][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]] == $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]] ) ) if ( ( !isset ($Vorgaben["Data"][$datDatenbank][0]["Hierarchie"]["fldBesitzer"]) or !$Vorgaben["Data"][$datDatenbank][0]["Hierarchie"]["fldBesitzer"] ) or ( $Vorgaben["Data"][$datDatenbank][0]["Hierarchie"]["fldBesitzer"] and $Vorgaben["Data"][$datDatenbank][$jdRg][$Vorgaben["Data"][$datDatenbank][0]["Hierarchie"]["fldBesitzer"]] == $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["Hierarchie"]["fldBesitzer"]] ) ) if (!mb_strstr ($idsReg, "|" . $idID . "|")) { $regAuswahl[$jdRg] = "unter " . fncText ("ftxWandeln.F", array ($regTexte[$jdRg])); } unset ($rgJds); unset ($regTexte); } break; case "dftSprache": // in lmnDfAnzeigen { $regAuswahl = fncRegister ("rgsSortieren", array ($Vorgaben["Data"]["regLangDE"])); } break; case "dftNeuigkeit": // in lmnDfAnzeigen case "dftTermin": // in lmnDfAnzeigen case "dftKuenstler": // in lmnDfAnzeigen case "dftBeitrag": // in lmnDfAnzeigen case "dftDokument": // in lmnDfAnzeigen case "dftProdukt": // in lmnDfAnzeigen case "dftReferenz": // in lmnDfAnzeigen case "dftKunde": // in lmnDfAnzeigen case "dftPartner": // in lmnDfAnzeigen case "dftJob": // in lmnDfAnzeigen case "dftMitarbeiter": // in lmnDfAnzeigen { $regAuswahl = array (); $regAuswahl["~0"] = "---------------------"; switch ($FeldTyp) { case "dftNeuigkeit": // in lmnDfAnzeigen { $dbQuelle = "xdbPwKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("keine")); } break; case "dftTermin": // in lmnDfAnzeigen { $dbQuelle = "xdbTmKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftKuenstler": // in lmnDfAnzeigen { $dbQuelle = "xdbKnKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftBeitrag": // in lmnDfAnzeigen { $dbQuelle = "xdbChKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftDokument": // in lmnDfAnzeigen { $dbQuelle = "xdbDkKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftProdukt": // in lmnDfAnzeigen { $dbQuelle = "xdbKtKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftReferenz": // in lmnDfAnzeigen { $dbQuelle = "xdbRfKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("keine")); } break; case "dftKunde": // in lmnDfAnzeigen { $dbQuelle = "xdbKdKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftPartner": // in lmnDfAnzeigen { $dbQuelle = "xdbPrKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftJob": // in lmnDfAnzeigen { $dbQuelle = "xdbJbKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftMitarbeiter": // in lmnDfAnzeigen { $dbQuelle = "xdbMtKp"; $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("kein")); } break; } # Auswahlliste bereitstellen $regAuswahl = fncRegister ("rgsZiehen.", array ($Vorgaben, $dbQuelle, "ID", "Titel", "", $regAuswahl)); $regAuswahl = fncRegister ("rgsSortieren.N", array ($regAuswahl)); # Debug //$dbgVariable = "regAuswahl"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "dftMenu": // in lmnDfAnzeigen { # Auswahlliste bereitstellen if ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld]) { $Nullwert = fncPhrase ($Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld])); } else { $Nullwert = fncPhrase ($Vorgaben, array ("kein")); } $regAuswahl = fncRegister ("rgsZiehen.FN", array ($Vorgaben, "xdbNhKp", "ID", "+klrHierarchie", $Nullwert)); } break; case "dftAuswahl": // wird abgeschafft { $regAuswahl = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regOffAuswahl"]; } break; case "dftFormular": // in lmnDfAnzeigen { # Auswahlliste bereitstellen $regAuswahl = $Vorgaben["regFormulare"]; # System-Formulare entfernen if (is_array ($regAuswahl)) foreach ($regAuswahl as $jd => $tmp) if ($jd > 41) // ab 42 Systemformulare { $regAuswahl[$jd] = ""; } } break; case "dftOnOff": // in lmnDfAnzeigen { $regAuswahl = $Vorgaben["Data"]["regOnOff"]; if ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld]) { $regAuswahl = fncRegister ("rgsSortieren.U", array ($regAuswahl)); } else { $regAuswahl["~0"] = "---------------------"; $regAuswahl = fncRegister ("rgsSortieren.NU", array ($regAuswahl)); } } break; case "dftDbAuswahl": // in lmnDfAnzeigen { # var $regErlaubteWerte = array (); list ($dbQuelle, $flQuelle, $srtQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] . "||"); if (!isset ($Vorgaben["Data"][$datDatenbank][0]["AuswahlFiltern"][$fldFeld])) { $Vorgaben["Data"][$datDatenbank][0]["AuswahlFiltern"][$fldFeld] = ""; } list ($dbBezug, $flBezug, $flOptionen) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["AuswahlFiltern"][$fldFeld] . "||"); # regAuswahl filtern? if ($flBezug) { $regErlaubteWerte = explode ("|", $Vorgaben["Data"][$dbBezug][fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $flBezug))][$flOptionen]); } $regAuswahl = fncRegister ("rgsZiehen.N", array ($Vorgaben, $dbQuelle, $Vorgaben["Data"][$dbQuelle][0]["fldID"], $flQuelle, "", "", $regErlaubteWerte)); if (isset ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld]) { $regAuswahl = fncRegister ("rgsSortieren." . $srtQuelle, array ($regAuswahl)); } else { $regAuswahl["0"] = fncFeld ("dtfNullwert.K", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); $regAuswahl["~0"] = "---------------------"; $regAuswahl = fncRegister ("rgsSortieren.N" . $srtQuelle, array ($regAuswahl)); } } break; case "dftRgAuswahl": // in lmnDfAnzeigen { list ($rgQuelle, $srtQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]); $regAuswahl = $Vorgaben["Data"][$rgQuelle]; if ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld]) { $regAuswahl = fncRegister ("rgsSortieren." . $srtQuelle, array ($regAuswahl)); } else { $regAuswahl["0"] = fncFeld ("dtfNullwert.K", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); $regAuswahl["~0"] = "---------------------"; $regAuswahl = fncRegister ("rgsSortieren.N" . $srtQuelle, array ($regAuswahl)); } } break; case "dftDownload": // in lmnDfAnzeigen { $regAuswahl = fncOrdner ("rdnVerzeichnis.DI", array ($Vorgaben["Ordner"]["Download"])); $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("keine")); // ...Datei $regAuswahl["~0"] = "---------------------"; $regAuswahl = fncRegister ("rgsSortieren.N", array ($regAuswahl)); } break; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgSlct", "", " cssPpTbDf")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgAuswahl.S", array ("NewValue", fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld)), $regAuswahl)); unset ($regAuswahl); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpEgBttn")); switch ($FeldTyp) { default: { } break; case "dftDownload": // in lmnDfAnzeigen { /* hier mit Öffnen des Ordners via FTP, leider ist dann bei den meisten Browsern kein Upload möglich $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Download-Ordner öffnen", " cssPortalSmDwnld cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "window._blank = window.open ('ftp://" . fncText ("ftxInternet.K", array (fncVorgaben ($Vorgaben, "Internet"))) . mb_substr ($Vorgaben["Ordner"]["Download"], 1) . "')")); */ } break; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpTxDf")); fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftDbOptionen": // in lmnDfAnzeigen { if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.T" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)))); } elseif ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { list ($dbQuelle, $flQuelle, $srtQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] . "||"); $regAuswahl = fncRegister ("rgsZiehen.F", array ($Vorgaben, $dbQuelle, $Vorgaben["Data"][$dbQuelle][0]["fldID"], $flQuelle)); $regAuswahl = fncRegister ("rgsSortieren." . $srtQuelle, array ($regAuswahl)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTbEgOptionen", "", "")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgOptionen", array ("NewValue", $regAuswahl)); unset ($regAuswahl); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpEgBttn")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "Übernehmen", " cssPortalDfAbsenden cssPpSmForm", "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.submit(); ")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftOb": // in lmnDfAnzeigen case "dftExklusiv": // in lmnDfAnzeigen case "dftWarnung": // in lmnDfAnzeigen { switch ($FeldTyp) { case "dftOb": // in lmnDfAnzeigen case "dftExklusiv": // in lmnDfAnzeigen { $cssPortalDfB = " cssPortalDfExklB"; $cssPortalDf0 = " cssPortalDfExkl0"; $cssPortalDf1 = " cssPortalDfExkl1"; list ($ttlAktiv0, $ttlAktiv1, $ttlInaktiv0, $ttlInaktiv1) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] . "|||"); } break; case "dftWarnung": // in lmnDfAnzeigen { $cssPortalDfB = " cssPortalDfWrnB"; $cssPortalDf0 = " cssPortalDfWrn0"; $cssPortalDf1 = " cssPortalDfWrn1"; if (!$ttlInaktiv1 = $Vorgaben["Data"][$datDatenbank][0]["dftWarnung"][$fldFeld][1][$idID]) { // $ttlInaktiv1 = $Vorgaben["Data"][$datDatenbank][0]["dftWarnung"][$fldFeld][1][0]; } if (!$ttlInaktiv0 = $Vorgaben["Data"][$datDatenbank][0]["dftWarnung"][$fldFeld][0][$idID]) { $ttlInaktiv0 = $Vorgaben["Data"][$datDatenbank][0]["dftWarnung"][$fldFeld][0][0]; } # Debug // $kopfDB = $Vorgaben["Data"][$datDatenbank][0]; // //$dbgVariable = "kopfDB"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; } if (mb_strstr ($Optionen, "B")) { if (mb_strstr ($Optionen, "T")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "")); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssPpTxDf")); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.S" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)), $cssPortalDfB)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $ttlAktiv1 . ";" . $ttlInaktiv1, $cssPortalDf1, "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.NewValue.value = '0'; document.frmMvd.submit(); ")); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $ttlAktiv0 . ";" . $ttlInaktiv0, $cssPortalDf0, "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.NewValue.value = '1'; document.frmMvd.submit(); ")); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "dftTonne": // in lmnDfAnzeigen case "dftPDFErstellen": // in lmnDfAnzeigen case "dftKontaktformular": // in lmnDfAnzeigen { switch ($FeldTyp) { case "dftTonne": // in lmnDfAnzeigen { $cssPortalDfB = " cssPortalDfTonneB"; $cssPortalDf = " cssPortalDfTonne"; if (isset ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID]) and isset ($Vorgaben["Data"][$datDatenbank][0]["ReSortierung"]) and $Vorgaben["Data"][$datDatenbank][0]["ReSortierung"][($Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID] + 1)]) { $idAnsprung = $Vorgaben["Data"][$datDatenbank][0]["ReSortierung"][($Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID] + 1)]; } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID]) and isset ($Vorgaben["Data"][$datDatenbank][0]["ReSortierung"]) and $Vorgaben["Data"][$datDatenbank][0]["ReSortierung"][($Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID] - 1)]) { $idAnsprung = $Vorgaben["Data"][$datDatenbank][0]["ReSortierung"][($Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID] - 1)]; } else { $idAnsprung = 0; } $ttlText = fncFeld ("dtfBezeichner.TK", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)); $onClick = "if (confirm ('" . fncFeld ("dtfBezeichner.TL", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)) . "')) { document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $idAnsprung . "'; document.frmMvd.submit(); } "; } break; case "dftPDFErstellen": // in lmnDfAnzeigen { $cssPortalDfB = " cssPortalDfSchrB"; $cssPortalDf = " cssPortalDfSchr"; $ttlText = "PDF erzeugen?|PDF erzeugen nicht verfügbar"; // $onClick = "if (confirm ('Soll die PDF erzeugt werden? Dabei wird die vorhandene PDF überschrieben.')) { document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.submit(); }"; $onClick = fncJavaScript ("Fenster.BRS", array ("./?" . TICKET . "=" . $Vorgaben["Data"]["datVorgaben"][1]["TcPDFTicket"] . "&" . $Vorgaben["regVars"]["varAnx"] . "=" . $idID, fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "bxhFensterGrL")))); } break; case "dftKontaktformular": // in lmnDfAnzeigen { $cssPortalDfB = " cssPortalDfBrB"; $cssPortalDf = " cssPortalDfBr"; list ($idFormular, $ttlAktiv, $ttlInaktiv) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]); $ttlText = $ttlAktiv . "|" . $ttlInaktiv; $onClick = fncJavaScript ("Fenster.BRS", array ("./?" . BOOK . "=" . $Vorgaben["rrgBooks"]["booForms"] . "&" . FORM . "=" . $idFormular . "&" . OBJECT . "=" . $idID . "&" . LANG . "=" . $Vorgaben["curLid"], fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "bxhFensterGrM")))); } break; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.S" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)), $cssPortalDfB)); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $ttlText, $cssPortalDf, "", fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), $onClick)); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } break; case "dftReihenfolge": // in lmnDfAnzeigen { // $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", " cssPpTxDf")); // fncElement ("lmnDfAusgabe", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $Sprache)); // $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); # Debug // //$dbgVariable = "dftReihenfolge"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # abwärts if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.S" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)), "cssPortalDfReihenfolgeAbB")); } else { if (isset ($Vorgaben["Data"][$datDatenbank][$idID]["+rfgDanach"])) { $relPosition = $Vorgaben["Data"][$datDatenbank][$idID]["+rfgDanach"]; } else { $relPosition = ""; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", "abwärts schieben", "cssPortalDfReihenfolgeAb", "", $relPosition and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.NewValue.value = 'N:" . $relPosition . "'; document.frmMvd.submit(); ")); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " cssPpTxDf")); # aufwärts if (mb_strstr ($Optionen, "B")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBezeichner.S" . $Optionen, array ($fldFeld, fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)), "cssPortalDfReihenfolgeAufB")); } else { if (isset ($Vorgaben["Data"][$datDatenbank][$idID]["+rfgDavor"])) { $relPosition = $Vorgaben["Data"][$datDatenbank][$idID]["+rfgDavor"]; } else { $relPosition = ""; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", "aufwärts schieben", "cssPortalDfReihenfolgeAuf", "", $relPosition and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), "document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.NewValue.value = 'V:" . $relPosition . "'; document.frmMvd.submit(); ")); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } break; case "dftBKalender": // in lmnDfAnzeigen { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; switch ($AnzahlMonate = $FeldTyp2 / 1) { case true: { } break; case false: { $AnzahlMonate = 1; } break; } $AnzahlSpalten = $FeldTyp3 / 1; $Belegung = $Vorgaben["Data"][$datDatenbank][0]["Belegung"][$fldFeld]; $Kalendarium = funDatum ("Kalendarium", $Vorgaben, array (funDatum ("Heute.6", $Vorgaben, array (0, $_REQUEST["KalenderVersatz"], 0)), $AnzahlMonate)); $Wert = funEingabe ("BKalender", $Vorgaben, array ($Kalendarium, $ObAenderbar, $AnzahlSpalten, $Belegung)); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; case "dftBewertung": { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; $Padding = "padding: 2px 6px 0px 6px; "; // evtl. anpassen $Bild = "portal_" . $FeldTyp2; $Max = $FeldTyp3; # Setze Ansprunganker $Prefix = ""; $Suffix = $VerweisEnde; $Werte = array (); for ($Z = 0; $Z <= $Max; $Z++) { $BewertungPrefix = array (); $BewertungSuffix = ""; if ($ObAenderbar) { $BildTitel = ""; $VerweisTitel = "Setze Anwesenheit auf " . funZahl ("Formatieren.Viertelbruch", $Vorgaben, array ($Z / 2)) . " Mitarbeiter"; $BewertungPrefix[] = " wurde umgeräumt auf neue Methode --> muss noch gecheckt werden { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; list ($ActiveDB, $ActiveID, $ActiveField) = explode (",", $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]]); // if ($datDatenbank . "," . $idID . "," . $fldFeld == $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]]) // wenn schon aktiv, dann Markierung entfernen if ($datDatenbank == $ActiveDB and $idID == $ActiveID) // wenn schon aktiv, dann Markierung entfernen { $Prefix = BasisVerweis_47 ("Intern." . $fldFeld . $idID, $Vorgaben, "Markieren", 0, "document.frmMvd.ActiveCoord" . $Vorgaben["curModul"] . ".value = ''; document.frmMvd.submit();", "cssPortalVerweis1", 0); } else // markieren { $Prefix = BasisVerweis_47 ("Intern." . $fldFeld . $idID, $Vorgaben, "Markieren", 0, "document.frmMvd.ActiveCoord" . $Vorgaben["curModul"] . ".value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.submit();", "cssPortalVerweis1", 0); } $Suffix = BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; case "dftProzent": // --> wurde umgeräumt auf neue Methode --> muss noch gecheckt werden { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; if ((1 * $Wert) == $Wert) { $Wert = funZahl ("Formatieren.DE.0", $Vorgaben, array ($Wert)) . " %"; } else { $Wert = "—"; } if ($ObAenderbar) { $Prefix = $VerweisStart; $Suffix = $VerweisEnde; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; case "dftStatus": // --> wurde umgeräumt auf neue Methode --> muss noch gecheckt werden { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; $CPlanung = $_REQUEST["Planung"]; $FilterArbeitsgruppen = $_REQUEST["Arbeitsgruppen"]; $CMitarbeiter = $idID; $CEintrittsdatum = $Vorgaben["Data"]["datMitarbeiter"][$CMitarbeiter]["Eintrittsdatum"]; $CAustrittsdatum = $Vorgaben["Data"]["datMitarbeiter"][$CMitarbeiter]["Austrittsdatum"]; $CDatum = $fldFeld; $SpanVorspann = ""; $SpanNachspann = ""; # Titel bei MouseOver $FeldTitel = $Vorgaben["Data"]["datMitarbeiter"][$CMitarbeiter]["VornameNachname"] . " am " . $Vorgaben["Data"]["datMitarbeiter"][0]["FeldTitel"][$CDatum]; // $FeldTitel = $Vorgaben["Data"]["datMitarbeiter"][$CMitarbeiter]["NameVorname"] . ", " . $Datum]; if ($Wert and (!$CPlanung or $CPlanung == 1 and (!$FilterArbeitsgruppen or $Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Typ"]))) // Dienst oder Abwesenheit gesetzt oder Übersicht oder Planung Arbeitsgruppen aber keine AG gewählt oder automatische AG gewählt { $Arbeitsgruppen = explode (",", $Wert); $ArbeitsgruppenTitel = array (); $ArbeitsgruppenKurz = array (); if (is_array ($Arbeitsgruppen)) foreach ($Arbeitsgruppen as $Arbeitsgruppe) { $ArbeitsgruppenTitel[] = $Vorgaben["Data"]["datArbeitsgruppen"][$Arbeitsgruppe]["Titel"]; $ArbeitsgruppenKurz[] = $Vorgaben["Data"]["datArbeitsgruppen"][$Arbeitsgruppe]["Initiale"]; } $Titel = implode (", ", $ArbeitsgruppenTitel); $Wert = implode (", ", $ArbeitsgruppenKurz); } elseif ($Wert and $CPlanung == 1 and $FilterArbeitsgruppen) // Planung: Arbeitsgruppen + Arbeitsgruppe gewählt { $Arbeitsgruppen = explode (",", $Wert); $MerkeArbeitsgruppen = array (); $ObVorhanden = 0; if (is_array ($Arbeitsgruppen)) foreach ($Arbeitsgruppen as $Arbeitsgruppe) { $Arbeitsgruppe = trim ($Arbeitsgruppe); if ($Arbeitsgruppe == $FilterArbeitsgruppen) { $ObVorhanden = 1; } else { $MerkeArbeitsgruppen[] = $Arbeitsgruppe; } } $ArbeitsgruppenKurz = array (); if (is_array ($MerkeArbeitsgruppen)) foreach ($MerkeArbeitsgruppen as $Arbeitsgruppe) { $ArbeitsgruppenKurz[] = $Vorgaben["Data"]["datArbeitsgruppen"][$Arbeitsgruppe]["Initiale"]; } $Vorspann = implode (", ", $ArbeitsgruppenKurz); if ($ObVorhanden) { $Wert = $Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Initiale"]; $Titel = $Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Titel"] . " entfernen"; if ($Vorspann) { $Vorspann .= ", "; } if ($Vorgaben["Benutzer"]["DiensteEntfernenGesperrt"]) { $ObAenderbar = 0; } } elseif ($ObAenderbar and !$Vorgaben["Data"][$datDatenbank][0]["GesperrteFelder"][$CMitarbeiter][$fldFeld] and !$Vorgaben["Data"][$datDatenbank][0]["NurLesen"][$fldFeld] and !$Vorgaben["Data"]["Limiter"][$FilterArbeitsgruppen][$CDatum] and $CEintrittsdatum <= $CDatum and (!$CAustrittsdatum or $CAustrittsdatum >= $CDatum)) // Gesperrtefelder muß hier eigentlich nicht mehr abgefragt werden, ist doch schon in ObAenderbar enthalten? { $Wert = "+"; $Titel = $Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Titel"] . " setzen"; if ($Vorspann) { $Vorspann .= ", "; } } else { $Wert = ""; } } elseif ($Wert and (!$CPlanung or $CPlanung < 0)) // Abwesenheiten planen { $Werte = explode (",", $Wert); if ($Werte[0] < 0) { if ($Vorgaben["Benutzer"]["AbwesenheitenEntfernenGesperrt"][$Werte[0]] or $Vorgaben["Benutzer"]["AbwesenheitenGesperrt"][$CPlanung] or ($idID != $Vorgaben["Benutzer"]["BenutzerID"] and ($Vorgaben["Benutzer"]["FremdAbwesenheitenGesperrt"][$CPlanung] or $Vorgaben["Benutzer"]["FremdAbwesenheitenGesperrt"][$Werte[0]]))) { $ObAenderbar = 0; } $Titel = $Vorgaben["Data"]["DispoPlanung"][$Wert]; if ($Werte[0] == -10 or $Werte[0] == -11) { $Wert = "(" . mb_substr ($Titel, 0, 2) . ")"; } else { $Wert = mb_substr ($Titel, 0, 2); } } else { // $Wert = ""; $Arbeitsgruppen = explode (",", $Wert); $ArbeitsgruppenTitel = array (); $ArbeitsgruppenKurz = array (); if (is_array ($Arbeitsgruppen)) foreach ($Arbeitsgruppen as $Arbeitsgruppe) { $ArbeitsgruppenTitel[] = $Vorgaben["Data"]["datArbeitsgruppen"][$Arbeitsgruppe]["Titel"]; $ArbeitsgruppenKurz[] = $Vorgaben["Data"]["datArbeitsgruppen"][$Arbeitsgruppe]["Initiale"]; } $Titel = implode (", ", $ArbeitsgruppenTitel); $Wert = "" . implode (", ", $ArbeitsgruppenKurz) . ""; } } elseif ($ObAenderbar and !$Vorgaben["Data"][$datDatenbank][0]["GesperrteFelder"][$CMitarbeiter][$fldFeld] and !$Vorgaben["Data"][$datDatenbank][0]["GesperrteMitarbeiter"][$CMitarbeiter] and !$Vorgaben["Data"][$datDatenbank][0]["NurLesen"][$fldFeld] and !$Vorgaben["Data"]["Limiter"][$FilterArbeitsgruppen][$CDatum] and $CEintrittsdatum <= $CDatum and (!$CAustrittsdatum or $CAustrittsdatum >= $CDatum) and ($CPlanung == 1 and !$Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Typ"] or $CPlanung < 0)) // nur manuelle AGs planbar und Abwesenheiten { $Wert = "+"; if ($CPlanung == -1 or $CPlanung == -6) // Gleitzeit oder Urlaub { $Titel = $Vorgaben["Data"]["DispoPlanung"][$CPlanung] . " beantragen"; } elseif ($CPlanung < 0) // sonstige Abwesenheiten setzen { if ($Vorgaben["Benutzer"]["AbwesenheitenGesperrt"][$CPlanung] or ($idID != $Vorgaben["Benutzer"]["BenutzerID"] and $Vorgaben["Benutzer"]["FremdAbwesenheitenGesperrt"][$CPlanung])) { $ObAenderbar = 0; $Wert = ""; } else { $Titel = $Vorgaben["Data"]["DispoPlanung"][$CPlanung] . " setzen"; } } else // Arbeitsgruppe { $Titel = $Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Titel"] . " setzen"; } } else { $Wert = ""; } # Darf man das Feld ändern? if ($ObAenderbar and !$Vorgaben["Data"][$datDatenbank][0]["GesperrteFelder"][$CMitarbeiter][$fldFeld] and (!$Vorgaben["Data"][$datDatenbank][0]["GesperrteMitarbeiter"][$CMitarbeiter] or $Werte[0] == -6) and !$Vorgaben["Data"][$datDatenbank][0]["NurLesen"][$fldFeld] and $CEintrittsdatum <= $CDatum and (!$CAustrittsdatum or $CAustrittsdatum >= $CDatum) and ($CPlanung < 0 or $Vorgaben["Data"][$datDatenbank][0]["fldDetails"] == $fldFeld or !$Vorgaben["Data"]["datArbeitsgruppen"][$FilterArbeitsgruppen]["Typ"])) { $Prefix = BasisVerweis_47 ("Intern." . $fldFeld . $CMitarbeiter, $Vorgaben, $Titel, 0, "document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $CMitarbeiter . "," . $fldFeld . "'; document.frmMvd.submit();", " cssPortalVerweis2", 0); $Suffix = "".BasisVerweis_47 ("Ende", 0,0,0,0,0,0); } else // wenn das Feld nicht zu ändern ist, muß es trotzdem einen Namen kriegen, damit es korrekt angesprungen wird { $Prefix = ""; $Suffix = ""; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; case "dftMultiSwitch": // --> wurde umgeräumt auf neue Methode --> muss noch gecheckt werden { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; $CPlanung = $_REQUEST["Planung"]; switch ($CPlanung) { case -1: // Gleitzeit $Frage = "Soll die gesamte beantragte Gleitzeit im gewählten Zeitraum genehmigt werden?"; break; case -6: // Urlaub $Frage = "Soll der gesamte beantragte Erholungsurlaub im gewählten Zeitraum genehmigt werden?"; break; } $Symbol = "symbol_multiswitch.gif"; $Padding = "padding: 2px 6px 0px 6px; "; $Prefix = BasisVerweis_47 ("Intern.MultiSwitch" . $idID, $Vorgaben, "Alle genehmigen?", 0, "if (confirm ('" . $Frage . "')) { document.frmMvd.ChangeCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "'; document.frmMvd.submit(); }", 0, $datDatenbank . $fldFeld . $idID . ":" . $Symbol); $Wert = fncAltBild ("Anzeigen." . $datDatenbank . $fldFeld . $idID, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . $Symbol)); $Suffix = BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; case "dftKennwort": { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { // echo 88; $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" ,padding: 1px 0px 1px 3px; ")); $_REQUEST["NewValue"] = ""; $Vorgaben["htmRumpf"][] = funEingabe ("Kennwort", $Vorgaben, array ("NewValue")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" ,padding: 2px 6px 1px 0px; white-space: nowrap; ")); $Vorgaben["htmRumpf"][] = " " . BasisVerweis_47 ("Intern", $Vorgaben, "Übernehmen", 0, "document.frmMvd.submit();", 0, "xweiter:portal_ok.gif") . fncAltBild ("Anzeigen.xweiter", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_ok.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; if ($ObAenderbar) { $Wert = "•••••••"; $Prefix = BasisVerweis_47 ("Intern.Kennwort" . $idID, $Vorgaben, "Ändern", 0, "if (confirm ('Wollen Sie das Kennwort ändern?')) { document.frmMvd.OpenCoord.value = '" . $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache . "'; document.frmMvd.submit(); }", "cssPortalVerweis1", 0); $Suffix = BasisVerweis_47 ("Ende", 0,0,0,0,0,0); } else { $Wert = "•••••••"; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; case "dftRechte": { if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { # in Vorgaben wird die max. Anzahl Admins unter MaxAdmins festgelegt, darf nicht überschritten werden if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $ID => $X) if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]] and $ID != $idID and (1 * $Vorgaben["Data"][$datDatenbank][$ID]["Rechte"]) == 3) { $AnzahlAdmins++; } if ($AnzahlAdmins >= $Vorgaben["MaxAdmins"]) // max. Anzahl Admins erreicht, keine weiteren zulassen { $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regOffAuswahl"][3] = ""; } # nur Rechte zeigen bis maximal die des angemeldeten Benutzers if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regOffAuswahl"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regOffAuswahl"] as $AuswahlID => $X) if ($AuswahlID > $Vorgaben["Benutzer"]["Level"]) { $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regOffAuswahl"][$AuswahlID] = ""; } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" ,padding: 0px 0px 1px 1px; ")); $_REQUEST["NewValue"] = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; $Vorgaben["htmRumpf"][] = BasisVerweis_47 ("Intern." . $fldFeld . $idID, $Vorgaben, 0,0,0,0,0) . funEingabe ("Auswahl", $Vorgaben, array ("NewValue", $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regOffAuswahl"], 1)) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" ,padding: 1px 6px 1px 0px; white-space: nowrap; ")); $Vorgaben["htmRumpf"][] = " " . BasisVerweis_47 ("Intern", $Vorgaben, "Übernehmen", 0, "document.frmMvd.submit();", 0, "xweiter:portal_ok.gif") . fncAltBild ("Anzeigen.xweiter", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_ok.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); } else { # Wert auslesen $Wert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; $Wert = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"][(1 * $Wert)]; if ($ObAenderbar) { $Prefix = $VerweisStart; $Suffix = $VerweisEnde; if ($Wert) { $Anhang = funText ("Kette", $Vorgaben, array ((14 - mb_strlen ($Wert)), " ")); $Wert = $Wert . $Anhang; } else // Wert leer { $Wert = "[              ]"; } } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Rechts . $Festausschluss . ",font-size: 12px; " . $Padding, $FeldTitel)); $Vorgaben["htmRumpf"][] = $SpanVorspann . $Vorspann . $Prefix . $Wert . $Suffix . $SpanNachspann; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } break; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); # Fuß if (!mb_strstr ($Optionen, "B")) if ($ThisCoord == $_REQUEST["OpenCoord"] and fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) switch ($FeldTyp) { case "dftKombi": { } break; default: { $_REQUEST["ChangeCoord"] = $ThisCoord; } break; } } break; case "lmnSprachwahl": { /* B - Design B (sonst A) C - Design C (sonst A) F - Fahnen L - als Leiste */ $Parameter[] = ""; list ($txtTrenner) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "L")) { $cssSprachBox = " cssOoBxSpLs"; } elseif (mb_strstr ($Optionen, "F")) { $cssSprachBox = " cssOoBxSpF"; } if (mb_strstr ($Optionen, "C")) // Design C { $optDesign = "C"; } elseif (mb_strstr ($Optionen, "B")) // Design B { $optDesign = "B"; } else { $optDesign = ""; } if (mb_strstr ($Optionen, "L")) { if (count ($Vorgaben["curStarts"]) > 1 and !$Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObSprWAus"]) { fncElement ("lmnBox.A", $Vorgaben, array ("", $cssSprachBox)); fncElement ("lmnTabelle.AB", $Vorgaben, array ()); # Var $obStg = 0; if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) if (isset ($Vorgaben["curStarts"][$Sprache])) if ($Ziel = $Vorgaben["curStarts"][$Sprache] / 1) { if ($Vorgaben["ReAktiveSprachen"][$Sprache]) { $Ziel .= "|" . LANG . "=" . $Vorgaben["ReAktiveSprachen"][$Sprache]; } else { $Ziel .= "|"; } if (($Vorgaben["ReAktiveSprachen"][$Sprache] / 1) == ($_REQUEST[LANG] / 1)) { $Ziel .= "|1"; // aktiv } if ($txtTrenner and $obStg++) { fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array ($txtTrenner, "")); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.C", $Vorgaben, array ()); fncElement ("lmnVerweis.AZS" . $optDesign, $Vorgaben, array ($Vorgaben["Data"]["regLangXX"][$Sprache], $Ziel)); fncElement ("lmnTabelle.X", $Vorgaben, array ()); } fncElement ("lmnTabelle.YZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } else { fncElement ("lmnBox.AZ", $Vorgaben, array ("", " cssOoBxSpLu")); } } elseif (mb_strstr ($Optionen, "F")) { fncElement ("lmnBox.A", $Vorgaben, array ("", $cssSprachBox)); if (isset ($Vorgaben["curStarts"]) and count ($Vorgaben["curStarts"]) > 1) if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) if (isset ($Vorgaben["curStarts"][$Sprache])) if ($Ziel = $Vorgaben["curStarts"][$Sprache]) { if ($Vorgaben["ReAktiveSprachen"][$Sprache]) { $Ziel .= "|" . LANG . "=" . $Vorgaben["ReAktiveSprachen"][$Sprache]; } fncElement ("lmnVerweis.ASJ", $Vorgaben, array ("", $Ziel)); fncElement ("lmnFahne.M", $Vorgaben, array ($Sprache)); fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } fncElement ("lmnBox.Z", $Vorgaben, array ()); } } break; case "lmnSymbleiste": { /* P - Portal I - Index */ list ($smbKennung) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "P")) { $cssBxSymbolleiste1 = " cssPortalBxSymbolleiste"; $cssBxSymbolleiste2 = ""; } else // Index { $cssBxSymbolleiste1 = " cssOoBxSl1"; $cssBxSymbolleiste2 = " cssOoBxSl2"; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBxSymbolleiste1)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBxSymbolleiste2)); fncElement ("lmnFormatieren.S", $Vorgaben, array ($smbKennung)); fncElement ("lmnUmfluss", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } break; case "lmnSymbol": { /* A - Aktualisieren B - Beenden C --- D - Drucken E - Exportieren F - Filter U - unabhängig ob ID gesetzt M - bis XX,XX C - XX,XX bis YY,YY K - Kennwort G - Gruppierer I - Index K --- L - Mail versenden M --- N - Neu O - nach oben P - Portal S - Schließen T - Trenner U --- W - zweizeilig X - ohne Nullwert Y - CSS schreiben Z - zurück zur Liste */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); # Ausgabe if (mb_strstr ($Optionen, "W")) // zweizeilig { if (mb_strstr ($Optionen, "P")) // Portal { $cssAbstandS = " cssPortalSmDS"; $cssAbstandT = " cssPortalSmDT"; } else // Index { $cssAbstandS = " cssOoBxSmDS"; $cssAbstandT = " cssOoBxSmDT"; } } else // einzeilig { $cssAbstandS = ""; $cssAbstandT = ""; } if (mb_strstr ($Optionen, "P")) // Portal { $cssSmFilter = " cssPortalSmFilter"; $cssSmLegende = " cssPpLt cssPortalSmLegende"; $cssSmTrenner = " cssPortalSmTrenner"; $cssSmAktualisieren = " cssPortalSmAktualisieren"; $cssSmForm = " cssPpSmForm"; $optBlaettern = "P"; } else // Index { $cssSmFilter = " cssOoBxSmFl"; $cssSmLegende = " cssOoBxSmLg cssOoTfLtA cssOoTfRb cssOoTsLtA cssOoTsRb"; $cssSmTrenner = " cssOoBxSmTr"; $cssSmAktualisieren = " cssOoBxSmAl"; $cssSmForm = ""; $optBlaettern = "Z"; } if (mb_strstr ($Optionen, "G")) // Gruppierer { list ($vrbFilter, $datDatenbank, $txtLegende) = explode ("|", $txtInhalt); $datDatenbank = trim ($datDatenbank); $txtLegende = trim ($txtLegende); $vrbFilter = trim ($vrbFilter); list ($txtFelder, $namSymbolleiste) = explode (";", $txtReferenz); $regFelder = explode ("|", $txtFelder); # var $wrtFilter = ""; # Debug // //$dbgVariable = "regAuswahl"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgInfo = "Gruppierer"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # Auswahl komplettieren & evtl. versteckte Felder aussortieren $regAuswahl = array (); if (is_array ($regFelder)) foreach ($regFelder as $fldFeld) if ($fldFeld = trim ($fldFeld)) { # Debug // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (fncFeld ("dtfObRechte.S", $Vorgaben, array ($datDatenbank, $fldFeld))) { $regAuswahl[$fldFeld] = fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld)); } } unset ($regFelder); # Auswahlliste $regAuswahl[0] = "ohne"; $regAuswahl["~0"] = "---------------------"; $regAuswahl = fncRegister ("rgsSortieren.NU", array ($regAuswahl)); # Blättern erzeugen fncElement ("lmnBlaettern.E" . $optBlaettern, $Vorgaben, array ($datDatenbank, $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlDsJeSeite"])); # Gruppieren fncDatenbank ("dtbGruppieren", $Vorgaben, array ($datDatenbank, $vrbFilter)); # var // echo var_dump ($vrbFilter); // echo var_dump ($wrtFilter); // echo var_dump ($Vorgaben["Benutzer"]["BenutzerID"]); # Aktueller Wert if ($Vorgaben["Benutzer"]["BenutzerID"]) { # Debug // //$dbgInfo = "BenutzerID"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "BenutzerID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "vrbFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "wrtFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (isset ($Vorgaben["Data"]["datAmbiente"][$Vorgaben["Benutzer"]["BenutzerID"] . "|" . $vrbFilter]["Wert"])) { $wrtFilter = $Vorgaben["Data"]["datAmbiente"][$Vorgaben["Benutzer"]["BenutzerID"] . "|" . $vrbFilter]["Wert"]; } // //$dbgVariable = "wrtFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } else { # Debug // //$dbgInfo = "nicht BenutzerID"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $wrtFilter = $_REQUEST[$vrbFilter]; } # var // echo var_dump ($vrbFilter); // echo var_dump ($wrtFilter); # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", "", "", $cssSmFilter)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtLegende, $cssSmLegende)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ()); if (mb_strstr ($Optionen, "P")) { $optAmbiente = "A"; } else { $optAmbiente = "S"; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgAuswahl." . $optAmbiente, array ($vrbFilter, $wrtFilter, $regAuswahl, "", AMBIENTE, $namSymbolleiste)); $Vorgaben["OpenFields"][$vrbFilter] = 1; $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); unset ($regAuswahl); } elseif (mb_strstr ($Optionen, "F")) // Filter { list ($vrbFilter, $datDatenbank, $fldFelder, $txtLegende, $zhlStaffel) = explode ("|", $txtInhalt . "||||"); $datDatenbank = trim ($datDatenbank); $regFelder = explode ("/", trim ($fldFelder)); $txtFelder = implode ("|", $regFelder); $txtLegende = fncPhrase ($Vorgaben, array (trim ($txtLegende), "G")); $vrbFilter = trim ($vrbFilter); $zhlStaffel = trim ($zhlStaffel); list ($namAuswahl, $namSymbolleiste) = explode (";", $txtReferenz); # var $wrtFilter = ""; # Debug // //$dbgVariable = "FilterFilterFilterFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regFelder"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtLegende"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "vrbFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "namAuswahl"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Auswahlliste if ($namAuswahl) { list ($RDSchalter, $txtPfadAuswahl) = explode (":", $namAuswahl); # Debug // //$dbgVariable = "RDSchalter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); switch ($RDSchalter) { case "R": // aus Register erstellen { $namAuswahl = $txtPfadAuswahl; $regAuswahl = $Vorgaben["Data"][$txtPfadAuswahl]; } break; case "D": // aus Datenbank ziehen { $namAuswahl = ""; list ($datQuelle, $fldQuelle, $srtQuelle) = explode (".", $txtPfadAuswahl . ".."); $regAuswahl = fncRegister ("rgsZiehen.F", array ($Vorgaben, $datQuelle, $Vorgaben["Data"][$datQuelle][0]["fldID"], $fldQuelle)); if ($srtQuelle) { $regAuswahl = fncRegister ("rgsSortieren." . $srtQuelle, array ($regAuswahl)); } } break; } if ($namAuswahl == "regLangDE") { if (!isset ($_REQUEST[$vrbFilter]) or !$_REQUEST[$vrbFilter]) { $_REQUEST[$vrbFilter] = $Vorgaben["curLang"]; } } else { $regAuswahl[0] = fncPhrase ($Vorgaben, array ("alle")); $regAuswahl["~0"] = "---------------------"; } $regAuswahl = fncRegister ("rgsSortieren.NUZ", array ($regAuswahl)); $optFilter = ""; # Debug //$dbgVariable = "regAuswahl"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (mb_strstr ($Optionen, "C")) // Von-bis-Staffel { if (mb_strstr ($Optionen, "U")) { $optRegister = "U"; } else { $optRegister = ""; } if (is_array ($regFelder)) foreach ($regFelder as $fldFeld) { $regAuswahl = fncRegister ("rgsStaffel.NPV" . $optRegister, array ($Vorgaben, $datDatenbank, $fldFeld, fncPhrase ($Vorgaben, array ("alle")), $zhlStaffel)); } $optFilter = "V"; # Debug //$dbgVariable = "regAuswahl"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (mb_strstr ($Optionen, "M")) // Bis-Staffel { if (mb_strstr ($Optionen, "U")) { $optRegister = "U"; } else { $optRegister = ""; } if (is_array ($regFelder)) foreach ($regFelder as $fldFeld) { $regAuswahl = fncRegister ("rgsStaffel.NP" . $optRegister, array ($Vorgaben, $datDatenbank, $fldFeld, fncPhrase ($Vorgaben, array ("alle")), $zhlStaffel)); } $optFilter = "B"; } elseif (mb_strstr ($Optionen, "K")) // Kennwort { $optFilter = "K"; } else { if (mb_strstr ($Optionen, "U")) { $optRegister = "U"; } else { $optRegister = ""; } if (mb_strstr ($Optionen, "X")) // bei X Auswahl ohne Nullwert { $optFilter = "X"; } else { $optRegister .= "N"; $optFilter = ""; } if (is_array ($regFelder)) foreach ($regFelder as $fldFeld) { $regAuswahl = fncRegister ("rgsZiehen.FP" . $optRegister, array ($Vorgaben, $datDatenbank, $fldFeld, $fldFeld, fncPhrase ($Vorgaben, array ("alle")))); } switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld))) { case "dftZahl": { $optSort = "SZ"; } break; default: { $optSort = ""; } break; } $regAuswahl = fncRegister ("rgsSortieren.N" . $optSort, array ($regAuswahl)); if (mb_strstr ($Optionen, "X")) if (!isset ($_REQUEST[$vrbFilter]) or !$_REQUEST[$vrbFilter]) if (is_array ($regAuswahl)) { $_REQUEST[$vrbFilter] = key ($regAuswahl); } } unset ($regFelder); # Filtern fncFilter ("fltDatenbank.F" . $optFilter, $Vorgaben, array ($datDatenbank, $txtFelder, $vrbFilter, $zhlStaffel)); # Debug // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtFelder"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "vrbFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "zhlStaffel"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "optFilter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Aktueller Wert if (isset ($Vorgaben["Benutzer"]["BenutzerID"]) and $Vorgaben["Benutzer"]["BenutzerID"]) { if (isset ($_REQUEST[$vrbFilter]) and $_REQUEST[$vrbFilter]) { $wrtFilter = $_REQUEST[$vrbFilter]; } elseif (isset ($Vorgaben["Data"]["datAmbiente"][$Vorgaben["Benutzer"]["BenutzerID"] . "|" . $vrbFilter]["Wert"])) { $wrtFilter = $Vorgaben["Data"]["datAmbiente"][$Vorgaben["Benutzer"]["BenutzerID"] . "|" . $vrbFilter]["Wert"]; } } elseif (isset ($_REQUEST[$vrbFilter])) { $wrtFilter = $_REQUEST[$vrbFilter]; } # Ausgabe if (fncFeld ("dtfObRechte.S", $Vorgaben, array ($datDatenbank, $txtFelder))) if (fncFeld ("dtfObRechte.F", $Vorgaben, array ($namSymbolleiste, $vrbFilter))) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("", "", "", "", "", $cssSmFilter)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtLegende, $cssSmLegende)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ()); if (mb_strstr ($Optionen, "P")) { $optAmbiente = "A"; } else { $optAmbiente = "S"; } if (mb_strstr ($Optionen, "K")) // Kennwort { $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgText." . $optAmbiente, array ($vrbFilter, $wrtFilter, 24, 0, "", AMBIENTE, $namSymbolleiste)); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgAuswahl." . $optAmbiente, array ($vrbFilter, $wrtFilter, $regAuswahl, "", AMBIENTE, $namSymbolleiste)); } $Vorgaben["OpenFields"][$vrbFilter] = 1; $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } elseif (mb_strstr ($Optionen, "B")) // Beenden { $txtTitel = "Beenden"; $jsOnClick = "document.frmMvd." . MODUL . ".value = '0'; document.frmMvd.OpenCoord.value = ''; document.frmMvd.submit(); "; $cssSymbol = " cssPortalSmBeenden"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "S")) // Schließen { if (isset ($_REQUEST["Hilfe"]) and $_REQUEST["Hilfe"]) // wenn Hilfe, dann Schließkreuz { $txtTitel = "Schließen"; $txtLegende = "Schließen"; $jsOnClick = "window.close(); "; $cssSymbol = " cssPortalSmSchliessenB"; } elseif ($Vorgaben["curModul"]) { $txtTitel = "Beenden"; $txtLegende = "Beenden"; $jsOnClick = "document.frmMvd." . MODUL . ".value = '0'; document.frmMvd.OpenCoord.value = ''; document.frmMvd.submit(); "; $cssSymbol = " cssPortalSmSchliessenB"; } else { $txtTitel = "Abmelden"; $txtLegende = "Abmelden"; $jsOnClick = "document.frmMvd.User.value = ''; document.frmMvd.Pass.value = ''; document.frmMvd." . MODUL . ".value = '0'; document.frmMvd.OpenCoord.value = ''; document.frmMvd.submit(); "; $cssSymbol = " cssPortalSmSchliessenA"; } if ($Vorgaben["Benutzer"]["ObZugang"] or (isset ($_REQUEST["Hilfe"]) and $_REQUEST["Hilfe"])) // Schaltfläche nur zeigen, wenn eingeloggt oder Hilfetext { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AW", array ("", $txtTitel, $cssAbstandS . $cssSymbol, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtLegende, " cssPpLt cssPortalSmSchliessenT")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } elseif (mb_strstr ($Optionen, "D")) // Drucken { $txtTitel = "Drucken"; $jsOnClick = "window.print(); "; $cssSymbol = " cssPortalSmDrucken"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "Y")) // CSS schreiben { // $varTicket = $txtInhalt; $txtTitel = "CSS schreiben"; $jsOnClick = fncJavaScript ("Fenster.CBRS", array ("./?" . TICKET . "=css", fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "bxhFensterGrS")), "Soll das CSS geschrieben werden?")); $cssSymbol = " cssPortalSmExport"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "E")) // Exportieren { $varTicket = $txtInhalt; $txtTitel = "Exportieren"; $jsOnClick = fncJavaScript ("Fenster.CBRS", array ("./?" . TICKET . "=" . $Vorgaben["Data"]["datVorgaben"][1][$varTicket], fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "bxhFensterGrS")), "Soll der Export gestartet werden?")); $cssSymbol = " cssPortalSmExport"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "L")) // Mail versenden { list ($datDatenbank, $varTicket) = explode ("|", $txtInhalt); $txtTitel = "Newsletter versenden"; $jsOnClick = fncJavaScript ("Fenster.CBRS", array ("./?" . TICKET . "=" . $Vorgaben["Data"][trim ($datDatenbank)][$_REQUEST[RECORD]][trim ($varTicket)], fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "bxhFensterGrS")), "Soll der Newsletter versandt werden?")); $cssSymbol = " cssPortalSmMailV"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "A")) // Aktualisieren { # debug // echo var_dump ($Vorgaben["bltDBs"]); $datDatenbank = $txtInhalt; list ($tmp, $namSymbolleiste) = explode (";", $txtReferenz); $txtTitel = "Aktualisieren"; if (mb_strstr ($Optionen, "P")) { $jsAmbiente = "document.frmMvd." . AMBIENTE . ".value = '" . $namSymbolleiste . "'; "; # Blättern if (!isset ($Vorgaben["Data"][$datDatenbank][0]["grpOb"]) or !$Vorgaben["Data"][$datDatenbank][0]["grpOb"]) // nur, wenn vorher nicht gruppiert wurde (sonst wird dort geblättert) { if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"] = ""; } if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlDsJeSeite"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlDsJeSeite"] = 0; } fncElement ("lmnBlaettern.EP", $Vorgaben, array ($datDatenbank, $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlDsJeSeite"])); fncDatenbank ("dtbGruppieren", $Vorgaben, array ($datDatenbank)); } } else { $jsAmbiente = ""; } $jsOnClick = $jsAmbiente . "document.frmMvd.submit(); "; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssSmAktualisieren . $cssAbstandS . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "N")) // Neu { $datDatenbank = $txtInhalt; list ($tmp, $namSymbolleiste) = explode (";", $txtReferenz); // $txtTitel = $Vorgaben["Data"][$datDatenbank][0]["NeuTitel"].'123'; $t_modifiziert = ''; $t_modifiziert = fncVorgaben ($Vorgaben, 'Bz_' . $datDatenbank . '_NeuTitel.N'); $txtTitel = ($t_modifiziert) ? $t_modifiziert : $Vorgaben["Data"][$datDatenbank][0]["NeuTitel"]; if (!$txtTitel) { $txtTitel = "Neu"; } $jsOnClick = "document.frmMvd.ChangeCoord.value = '" . $datDatenbank . ",,Neu," . $namSymbolleiste . "'; document.frmMvd.NewValue.value = ''; document.frmMvd.submit(); "; $cssSymbol = " cssPortalSmNeu"; if (!$_REQUEST["OpenCoord"]) // nur aktiv, wenn kein Feld geöffnet { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1, $jsOnClick)); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 0, $jsOnClick)); } # Debug //$dbgInfo = "Symbol NEU"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $dbgOpenCoord = $_REQUEST["OpenCoord"]; //$dbgVariable = "dbgOpenCoord"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Parameter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (mb_strstr ($Optionen, "Z")) { $datDatenbank = $txtInhalt; $txtTitel = "Zurück zur Liste"; $jsOnClick = "document.frmMvd.ActiveCoord" . $Vorgaben["curModul"] . ".value = '" . $datDatenbank . "," . $_REQUEST[RECORD] . "'; document.frmMvd." . RECORD . ".value = 0; document.frmMvd.OpenCoord.value = ''; document.frmMvd.submit(); "; $cssSymbol = " cssPortalSmZurueck"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "O")) { $txtTitel = "Nach oben"; $jsOnClick = "location='#oben'"; $cssSymbol = " cssPortalSmNachOben"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZW", array ("", $txtTitel, $cssAbstandS . $cssSymbol . $cssSmForm, "", 1 or fncFeld ("dtfObRechte.AS", $Vorgaben, array ("datSmElemente", $fldFeld, $idID)), $jsOnClick)); } elseif (mb_strstr ($Optionen, "T")) // Trenner { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", $cssSmTrenner . $cssAbstandT)); } } break; case "lmnDbAnzeigen": { /* M - Matrix, 2D E - Einzel, 1D G - GelbeBox L - mit Legende */ # Optionen if (mb_strstr ($Optionen, "M")) { list ($datDatenbank) = $Parameter; unset ($Parameter); list ($ActiveDB, $ActiveID, $ActiveField) = explode (",", $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]] . ",,"); # Debug // $xdbNhKp = $Vorgaben["Data"]["xdbNhKp"][0]; // //$dbgVariable = "xdbNhKp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # AnzeigeFelder übergeben --> checken $AnzeigeFelder2D = funDatenbank ("AnzeigeFelder.2D", $Vorgaben, array ($datDatenbank)); $AnzeigeFelder2G = funDatenbank ("AnzeigeFelder.2DGruppiert", $Vorgaben, array ($datDatenbank)); $Spaltenzahl = count ($AnzeigeFelder2D); if (isset ($Vorgaben["Gitter"][$datDatenbank]) and $Vorgaben["Gitter"][$datDatenbank]) { $cssGitterLinks = " cssPpGitterLinks"; $cssGitterRechts = " cssPpGitterRechts"; $cssGitterOben = " cssPpGitterOben"; $cssGitterUnten = " cssPpGitterUnten"; $cssPunkteRechts = " cssPpPunkteRechts"; $cssPunkteUnten = " cssPpPunkteUnten"; } else { $cssGitterLinks = ""; $cssGitterRechts = ""; $cssGitterOben = ""; $cssGitterUnten = ""; $cssPunkteRechts = ""; $cssPunkteUnten = ""; } $regFeldStile = array (); // $FeldFarben = array (); if (isset ($Vorgaben["Data"][$datDatenbank][0]["FeldFarben"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["FeldFarben"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["FeldFarben"] as $Feld => $Farbe) { $regFeldStile[$Feld] = "background: " . $Farbe . "; "; // $FeldFarben[$Feld] = $Farbe; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssSystemVolleBreite")); # Tabellenkopf if ($AnzeigeFelder2G) { $FelderGesamtzahl = 0; $G = 0; $Gruppenzahl = count ($AnzeigeFelder2G); if (is_array ($AnzeigeFelder2G)) foreach ($AnzeigeFelder2G as $Gruppe => $Felder) { $Felderzahl = count ($Felder); if (!$G++) { if ($Gruppe and $Gruppe[0] != "/") { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123." . $Felderzahl, $Vorgaben, array ("cssSystemVolleBreite+," . $cssGitterOben . $cssGitterRechts . $cssPunkteUnten . $cssGitterLinks)); } elseif ((!$Gruppe or $Gruppe[0] == "/") and $G == $Gruppenzahl) // kein Gruppentitel UND letzte Gruppe { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123." . $Felderzahl, $Vorgaben, array ("cssSystemVolleBreite+," . $cssGitterUnten)); } else { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123." . $Felderzahl, $Vorgaben, array ("cssSystemVolleBreite+," . $cssGitterUnten . $cssGitterRechts)); } } else { if ($Gruppe and $Gruppe[0] != "/") { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33." . $Felderzahl, $Vorgaben, array ("," . $cssGitterOben . $cssGitterRechts . $cssPunkteUnten)); } elseif ((!$Gruppe or $Gruppe[0] == "/") and $G == $Gruppenzahl) // kein Gruppentitel UND letzte Gruppe { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33." . $Felderzahl, $Vorgaben, array ("," . $cssGitterUnten)); } else { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33." . $Felderzahl, $Vorgaben, array ("," . $cssGitterUnten . $cssGitterRechts)); } } $Vorgaben["htmRumpf"][] = funEingabe ("UniLabel.Gruppe", $Vorgaben, array ($datDatenbank, $Gruppe)); } if (is_array ($AnzeigeFelder2G)) foreach ($AnzeigeFelder2G as $Gruppe => $Felder) { $Felderzahl = count ($Felder); $F = 0; if (is_array ($Felder)) foreach ($Felder as $Feld) { $F++; if (!$FelderGesamtzahl++) { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ($cssZelle . "," . $cssPunkteRechts . $cssGitterLinks . $regFeldStile[$Feld])); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("", "", "", $cssPunkteRechts . $cssGitterLinks, $regFeldStile[$Feld])); } elseif ($F < $Felderzahl) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("," . $cssPunkteRechts . $regFeldStile[$Feld])); } else { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("," . $cssGitterRechts . $regFeldStile[$Feld])); } # wenn Gruppentitel vorhanden, dann Gruppentitel fett und Feldbezeichner normal sonst Feldbezeichner fett if ($Gruppe and $Gruppe[0] != "/") { $Vorgaben["htmRumpf"][] = funEingabe ("UniLabel.Normal", $Vorgaben, array ($datDatenbank, $Feld)); } else { $Vorgaben["htmRumpf"][] = funEingabe ("UniLabel", $Vorgaben, array ($datDatenbank, $Feld)); } } } } elseif (is_array ($AnzeigeFelder2D)) { $FelderGesamtzahl = 0; foreach ($AnzeigeFelder2D as $Feld) { if (!isset ($regFeldStile[$Feld])) { $regFeldStile[$Feld] = ""; } if (!$FelderGesamtzahl++) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssSystemVolleBreite+," . $cssGitterOben . $cssGitterRechts . $cssGitterLinks . $regFeldStile[$Feld])); } else { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("," . $cssGitterOben . $cssGitterRechts . $regFeldStile[$Feld])); } fncElement ("lmnDfAnzeigen.B", $Vorgaben, array ($datDatenbank, 0, $Feld)); } } # Trennlinie $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ($FelderGesamtzahl, "", "", "", "")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box", $Vorgaben, array ("cssPortalLinie")); # Blättern if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBElemente"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBElemente"] = 0; } if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBAZ"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBAZ"] = 0; } if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBAbk"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBAbk"] = 0; } if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBSeitenzahl"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBSeitenzahl"] = 0; } if (!isset ($Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"])) { $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"] = ""; } fncElement ("lmnBlaettern.PO", $Vorgaben, array ($datDatenbank, $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBElemente"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBAZ"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBAbk"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBSeitenzahl"])); fncElement ("lmnUmfluss", $Vorgaben, array ()); # Datensätze if (isset ($Vorgaben["Data"][$datDatenbank][0]["grpGruppen"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["grpGruppen"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["grpGruppen"] as $idGruppe => $txtGruppe) { # Tabelle Gruppe Start if (isset ($Vorgaben["Data"][$datDatenbank][0]["grpOb"])) if ($Vorgaben["Data"][$datDatenbank][0]["grpOb"]) if ($Vorgaben["Data"][$datDatenbank][0]["grpAnzahl"][$idGruppe]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ($FelderGesamtzahl, "", "", "", "")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtGruppe . " (" . $Vorgaben["Data"][$datDatenbank][0]["grpAnzahl"][$idGruppe] . ")", " cssPortalGruppe cssPpLt")); } # Tabelle gruppe Ende $Vorgaben["curTbHg"] = 1; // Startwert für abwechselnde Zeilenfarbe setzen if (isset ($Vorgaben["Data"][$datDatenbank][0]["grpSortiert"][$idGruppe])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["grpSortiert"][$idGruppe])) foreach ($Vorgaben["Data"][$datDatenbank][0]["grpSortiert"][$idGruppe] as $idID => $X) if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID))) { $Vorgaben["curTbHg"] = fncZahl ("zhlKippeln", array ($Vorgaben["curTbHg"])); // abwechselnde Zeilenfarbe if ($datDatenbank == $ActiveDB and $idID == $ActiveID) { $cssZelle = " cssPpTbHgAk"; } else { $cssZelle = " cssPpTbHgNr" . $Vorgaben["curTbHg"]; } $F = 0; if ($AnzeigeFelder2G) { $FelderGesamtzahl = 0; if (is_array ($AnzeigeFelder2G)) foreach ($AnzeigeFelder2G as $Gruppe => $Felder) { $Felderzahl = count ($Felder); $F = 0; if (is_array ($Felder)) foreach ($Felder as $Feld) { $ZellStil = funDatenbank ("ZellStil", $Vorgaben, array ($datDatenbank, $idID, $Feld)); $F++; if (!$FelderGesamtzahl++) { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ($cssZelle . "," . $ZellStil . $cssPunkteRechts . $cssGitterUnten . $cssGitterLinks)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("", "", "", $cssZelle . $cssPunkteRechts . $cssGitterUnten . $cssGitterLinks, $ZellStil)); } elseif ($F < $Felderzahl) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ($cssZelle . ", " . $ZellStil . $cssPunkteRechts . $cssGitterUnten)); } else { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ($cssZelle . ", " . $ZellStil . $cssGitterRechts . $cssGitterUnten)); } if ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Feld]) { if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.AB", array ("", "", "", " ", "", "cssSystemRechtsUmflossen")); if (count ($Vorgaben["AktiveSprachen"]) > 1) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " ")); fncElement ("lmnFahne.P", $Vorgaben, array ($Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " ")); fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $Feld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } else { fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $Feld)); } } } } elseif (is_array ($AnzeigeFelder2D)) foreach ($AnzeigeFelder2D as $Feld) { $ZellStil = funDatenbank ("ZellStil", $Vorgaben, array ($datDatenbank, $idID, $Feld)); if (!$F++) { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ("," . $ZellStil . $cssGitterRechts . $cssGitterUnten . $cssGitterLinks)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("", "", "", $cssZelle . $cssGitterRechts . $cssGitterUnten . $cssGitterLinks, $ZellStil)); } else // alle weiteren { $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ($cssZelle . ", " . $ZellStil . $cssGitterRechts . $cssGitterUnten)); } if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Feld]) and $Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Feld]) { if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.AB", array ("", "", "", " ", "", "cssSystemRechtsUmflossen")); if (count ($Vorgaben["AktiveSprachen"]) > 1) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " ")); fncElement ("lmnFahne.P", $Vorgaben, array ($Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " ")); fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $Feld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } else { fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $Feld)); } } } } $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); # Blättern fncElement ("lmnBlaettern.P", $Vorgaben, array ($datDatenbank, $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBElemente"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBAZ"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["zhlBAbk"], $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["obBSeitenzahl"])); fncElement ("lmnUmfluss", $Vorgaben, array ()); # Legende if (mb_strstr ($Optionen, "L")) { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (", padding: 20px 0px 0px 0px; font-size: 11px; ")); $MerkeText = array (); $MerkeFarben = array (); if (is_array ($Vorgaben["Farben"]["Disposition"]["Status"])) foreach ($Vorgaben["Farben"]["Disposition"]["Status"] as $Status => $Farbe) if ($Vorgaben["Data"]["DispoPlanung"][$Status]) { $MerkeFarben[$Farbe][$Status] = $Vorgaben["Data"]["DispoPlanung"][$Status]; } if (is_array ($MerkeFarben)) foreach ($MerkeFarben as $Farbe => $X) { $MerkeText[mb_strtoupper(implode ("", $MerkeFarben[$Farbe]))] = "" . fncAltBild ("Geviert", $Vorgaben, array (14, 13)) . " " . implode ("/", $MerkeFarben[$Farbe]) . "" . fncAltBild ("Geviert", $Vorgaben, array (1, 20)) . ""; } if (is_array ($MerkeText)) ksort ($MerkeText); if (is_array ($Vorgaben["Data"]["datArbeitsgruppen"][0]["LegendenSortierung"])) foreach ($Vorgaben["Data"]["datArbeitsgruppen"][0]["LegendenSortierung"] as $idID => $X) if (!$Vorgaben["Data"]["datArbeitsgruppen"][$idID]["Typ"]) { $MerkeText[] = "" . $Vorgaben["Data"]["datArbeitsgruppen"][$idID]["Initiale"] . " " . $Vorgaben["Data"]["datArbeitsgruppen"][$idID]["Titel"] . "" . fncAltBild ("Geviert", $Vorgaben, array (1, 20)) . ""; } $Vorgaben["htmRumpf"][] = "Legende:
" . implode (" ", $MerkeText) . "
"; $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); unset ($regFeldStile); } elseif (mb_strstr ($Optionen, "E")) { list ($datDatenbank, $idID) = $Parameter; unset ($Parameter); list ($ActiveDB, $ActiveID, $ActiveField) = explode (",", $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]] . ",,"); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" _cssSystemVolleBreite, padding: 0px 20px 0px 20px;")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssSystemVolleBreite")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssSystemVolleBreite")); $Gruppenzahl = 0; if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"]["1D"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"]["1D"] as $Gruppe => $Felder) { if (!$Gruppenzahl++) { $cssErste = " cssPortalErsteGruppe"; } else { $cssErste = ""; } // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223.2", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("2", "", "", "", "")); // $Vorgaben["htmRumpf"][] = funEingabe ("Gruppe." . $ObErste, $Vorgaben, array ("
" . $Gruppe . "
")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($Gruppe, " cssPortalGruppe cssPpLt" . $cssErste)); # Debug // //$dbgVariable = "Felder"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Vorgaben["curTbHg"] = 1; // Startwert für abwechselnde Zeilenfarbe setzen if (is_array ($Felder)) foreach ($Felder as $Feld) if (!isset ($Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld]) or !$Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld]) { // $ZellStil = funDatenbank ("ZellStil", $Vorgaben, array ($datDatenbank, $idID, $Feld)); $Vorgaben["curTbHg"] = fncZahl ("zhlKippeln", array ($Vorgaben["curTbHg"])); // abwechselnde Zeilenfarbe if ($datDatenbank == $ActiveDB and $idID == $ActiveID and $Feld == $ActiveField) { $cssZelle = " cssPpTbHgAk"; } else { $cssZelle = " cssPpTbHgNr" . $Vorgaben["curTbHg"]; } // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ($cssZelle)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("", "", "", $cssZelle)); fncElement ("lmnDfAnzeigen.BTN", $Vorgaben, array ($datDatenbank, $idID, $Feld)); // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ($cssZelle)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", $cssZelle)); if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Feld]) and $Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Feld]) { if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.AB", array ("", "", "", " ", "", "cssSystemRechtsUmflossen")); if (count ($Vorgaben["AktiveSprachen"]) > 1) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " ")); fncElement ("lmnFahne.P", $Vorgaben, array ($Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ("", "", "", " ")); fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $Feld, $Sprache)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } else { fncElement ("lmnDfAnzeigen", $Vorgaben, array ($datDatenbank, $idID, $Feld)); } } } unset ($Felder); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } elseif (mb_strstr ($Optionen, "G")) { list ($datDatenbank, $idID) = $Parameter; unset ($Parameter); if (mb_strstr (mb_strtoupper ($Vorgaben["Data"][$datDatenbank][0]["GelbeBoxOptionen"]), "X")) // ohne Rahmen also { $Klasse2 = " cssPortalGelbeBox2x"; $Klasse3a = " cssPortalGelbeBox3x"; } else { $Klasse2 = " cssPortalGelbeBox2"; $Klasse3a = " cssPortalGelbeBox3a"; } if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"]["GelbeBox"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"]["GelbeBox"] as $Nr => $Feld) { if (!$Nr and !$Feld) // 1. Feld = Überschrift { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBox3")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Klasse3a)); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("xcssSystemVolleBreite ")); // beim Abgleich IE FF rausgenommen } elseif (!$Nr) // 1. Feld = Überschrift { $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBox1")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Klasse2)); $Vorgaben["htmRumpf"][] = funAltBaustein ("Absatz", $Vorgaben, array ($Feld, " cssPpLt cssSystemFett cssPortalGelbeBoxZelle")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBox3")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array ($Klasse3a)); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("xcssSystemVolleBreite ")); // beim Abgleich IE FF rausgenommen } else switch ($Feld) { default: { list ($Feld, $Zusatz) = explode (".", $Feld); if (mb_strtoupper ($Zusatz) == "X") // Zeige kein Label { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223.2", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("2", "", "", "", "")); } else { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("", "", "", "", "")); fncElement ("lmnDfAnzeigen.BT", $Vorgaben, array ($datDatenbank, $idID, $Feld)); // $Vorgaben["htmRumpf"][] = funEingabe ("Label.GelbeBox", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner"][$Feld])); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssSystemFestAusschluss")); } // $Vorgaben["htmRumpf"][] = funEingabe ("Universal." . $datDatenbank . "." . $idID . "." . $Feld . ".GelbeBox", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank])); fncElement ("lmnDfAnzeigen.G", $Vorgaben, array ($datDatenbank, $idID, $Feld)); } break; case "...": { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223.2", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("2", "", "", "", "")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBoxZwischen")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBoxPunkte")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } break; case "===": { // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223.2", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("2", "", "", "", "")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBoxZwischen")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGelbeBoxLinien")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } break; } } // $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.3223.2", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("2", "", "", "", "")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box", $Vorgaben, array (" cssPortalGelbeBox4")); $Vorgaben["htmRumpf"][] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = funAltBaustein ("Box.Z", $Vorgaben, array ()); break; } } break; case "lmnBild": { /* F - fixes Maß wird geliefert K - klein / sonst Original M - mittel / sonst Original G - groß / sonst Original D - quadratisches Bild mit Seitenlänge K, M oder G X - Zoomgröße / sonst Original A - Aktuelle Größe B - kleiner C - noch kleiner * L - linksbündig (sonst rechtsbündig) N - nicht umfließend P - Portal p - PDF Q - Suche R - mit Rahmen S - strecken > nichtproportionales Seitenverhältnis Z - Zoom --- V - versetzt, d.h. das Bild bringt bringt selbst den Abstand mit: 5px 0px 2px 7px; */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz, $q_zoom) = $Parameter; unset ($Parameter); # var $optQuad = ""; if (mb_strstr ($Optionen, "Q")) { if ($txtReferenz) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtReferenz . " "; } } elseif (mb_strstr ($Optionen, "p")) { # Bild $p_bild = $Vorgaben["Ordner"]["CBilder"] . $txtInhalt; $Vorgaben['PDF']->Image($p_bild, 22.5, $Vorgaben['PDF']->GetY() + 1, 0, 80); $Vorgaben['PDF']->Ln(84); # Legende if ($txtReferenz) { $Vorgaben['PDF']->SetLineWidth(0.1); $Vorgaben['PDF']->SetDrawColor(255,255,255); $Vorgaben['PDF']->Line($Vorgaben['PDF']->GetX()+5.4,$Vorgaben['PDF']->GetY()-7.5,$Vorgaben['PDF']->GetX()+5.4, $Vorgaben['PDF']->GetY()+11); $Vorgaben['PDF']->SetLineWidth(0.05); $Vorgaben['PDF']->SetDrawColor(99,99,99); $Vorgaben['PDF']->Line($Vorgaben['PDF']->GetX()+5,$Vorgaben['PDF']->GetY()-7.5,$Vorgaben['PDF']->GetX()+5, $Vorgaben['PDF']->GetY()+11); $Vorgaben['PDF']->SetFont('DejaVu','',11); $Vorgaben['PDF']->Cell(7,0, " ",'',0); $Vorgaben['PDF']->MultiCell(90 , 4.5 , $txtReferenz, 0, "L"); $Vorgaben['PDF']->Ln(10); } else { $Vorgaben['PDF']->Ln(1); } } else { $bldDatei = $txtInhalt; if (mb_strstr ($Optionen, "K")) // klein { $bldBreite = $Vorgaben["Data"]["datVorgaben"][1]["BldGrK"]; $bldHoehe = 0; } elseif (mb_strstr ($Optionen, "M")) // mittel { $bldBreite = $Vorgaben["Data"]["datVorgaben"][1]["BldGrM"]; $bldHoehe = 0; } elseif (mb_strstr ($Optionen, "G")) // groß { $bldBreite = $Vorgaben["Data"]["datVorgaben"][1]["BldGrG"]; $bldHoehe = 0; } elseif (mb_strstr ($Optionen, "F")) // fixes Maß geliefert { list ($bldDatei, $bldBxH) = explode ("|", $txtInhalt . "|"); list ($bldBreite, $bldHoehe, $optQuad) = explode ("x", $bldBxH . "xx"); } elseif (mb_strstr ($Optionen, "X")) { if (mb_strstr ($Optionen, "A")) { $bldBreite = $Vorgaben["Data"]["datVorgaben"][1]["BldGrA"]; $bldHoehe = 0; } elseif (mb_strstr ($Optionen, "B")) { $bldBreite = $Vorgaben["Data"]["datVorgaben"][1]["BldGrB"]; $bldHoehe = 0; } elseif (mb_strstr ($Optionen, "C")) { $bldBreite = $Vorgaben["Data"]["datVorgaben"][1]["BldGrC"]; $bldHoehe = 0; } else { $bldBreite = $_REQUEST[$Vorgaben["regVars"]["varWidth"]] - $Vorgaben["Data"]["datVorgaben"][1]["BldGrXB"]; $bldHoehe = $_REQUEST[$Vorgaben["regVars"]["varHeight"]] - $Vorgaben["Data"]["datVorgaben"][1]["BldGrXH"]; } } else { $bldBreite = 0; $bldHoehe = 0; } if (mb_strstr ($Optionen, "D")) // quadratisches Bild { $bldHoehe = $bldBreite; $optQuad = "Q"; } # Umgebung if (mb_strstr ($Optionen, "P")) // Portal { $cssBoxA = " cssPortalBildBoxL"; } else // Index { # Ausrichtung if (mb_strstr ($Optionen, "L")) // links { $cssBoxA = " cssOoBxBlL"; } else // rechts { $cssBoxA = " cssOoBxBlR"; } } if (mb_strstr ($Optionen, "Z")) { $obZoom = 1; } else { $obZoom = 0; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxBlHg" . $cssBoxA)); if ($obZoom) { fncElement ("lmnVerweis.ALJ", $Vorgaben, array ("Zoom", $Vorgaben['cur_modul'] . ',' . $q_zoom)); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBldbox." . $Optionen . $optQuad, array ($Vorgaben["Ordner"]["CBilder"], $bldDatei, $bldBreite, $bldHoehe, $txtReferenz)); if ($obZoom) { fncElement ("lmnVerweis.Z", $Vorgaben, array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnThema": { /* p - PDF S = Thema auslesen und setzen, sonst nur Platzhalter */ $Parameter[] = ""; list ($txtInhalt) = $Parameter; unset ($Parameter); if (!isset ($Vorgaben["curPage"])) { $Vorgaben["curPage"] = ""; } if (mb_strstr ($Optionen, "p")) { $Vorgaben['PDF']->AddPage(); $Vorgaben['PDF']->SetFont('DejaVu','',19); $Vorgaben['PDF']->MultiCell(130 , 8 , $txtInhalt, 0, "L"); $Vorgaben['PDF']->Ln(6); $p_logo = $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"]["datVorgaben"][1]["fPDFLogo"]; $Vorgaben['PDF']->Image($p_logo, 162, 5, 26); $Vorgaben['PDF']->SetLineWidth(0.05); $Vorgaben['PDF']->SetDrawColor(99,99,99); $Vorgaben['PDF']->Line(0,$Vorgaben['PDF']->GetY()-3.5,210,$Vorgaben['PDF']->GetY()-3.5); } elseif (mb_strstr ($Optionen, "S")) { if ((!isset ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObThemaAus"]) or !$Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObThemaAus"]) and isset ($Vorgaben["WoIstThemaLang"]) and $Vorgaben["WoIstThemaLang"]) // wenn ThemaLang existiert, wird es (erst) hier ausgetauscht, damit es in den Autos noch überschrieben werden kann { if (!$txtThema = fncFeld ("dtfWert.", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "Titel"))) { $txtThema = fncFeld ("dtfWert.", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "Menu")); } $Vorgaben["htmRumpf"][$Vorgaben["WoIstThemaLang"]] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTh")) . fncBaustein ("bstAbsatz.AZ", array ($txtThema, " cssOoTfLtA cssOoTfRb cssOoTfZw cssOoTfUk cssOoTfKp cssOoTfTh cssOoTsLtA cssOoTsRb cssOoTsZw cssOoTsUk cssOoTsKp cssOoTsTh cssOoSnLt cssOoSnRb cssOoSnZw cssOoSnTh cssOoSnUk cssOoSnKp")) . fncBaustein ("bstBox.Z", array ()); } } else { $Vorgaben["WoIstThemaLang"] = count ($Vorgaben["htmRumpf"]); $Vorgaben["htmRumpf"][] = ""; } } break; case "lmnKapitel": case "lmnUKapitel": case "lmnZwischentitel": { /* P - Pfeil nach oben p - PDF Q - Suche R - rechtsbündig s - Starter */ list ($txtInhalt) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { if ($txtInhalt) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtInhalt . " "; } } elseif (mb_strstr ($Optionen, "p")) { if ($txtInhalt) { $Vorgaben['PDF']->SetFont('DejaVu','B',12); if (!mb_strstr ($Optionen, "s")) // Abstand vor nur wenn nicht Starter { $Vorgaben['PDF']->Ln(2.5); } $Vorgaben['PDF']->MultiCell(130 , 5 , $txtInhalt, 0, "L"); } else { $Vorgaben['PDF']->SetFont('DejaVu','',12); $Vorgaben['PDF']->Ln(2.5); } } else { // $txtInhalt = fncText ("ftxWandeln.H", array ($txtInhalt)); if (mb_strstr ($Optionen, "R")) { $cssAusrichtung = " cssSystemRechts"; } else { $cssAusrichtung = ""; } if (!$txtInhalt) { $txtInhalt = " "; } switch ($Aktion) { case "lmnKapitel": { $cssAbsatz = " cssOoTfLtA cssOoTfRb cssOoTfZw cssOoTfUk cssOoTfKp cssOoTsLtA cssOoTsRb cssOoTsZw cssOoTsUk cssOoTsKp cssOoSnLt cssOoSnRb cssOoSnZw cssOoSnUk cssOoSnKp"; $cssBox = " cssOoBxKp"; } break; case "lmnUKapitel": { $cssAbsatz = " cssOoTfLtA cssOoTfRb cssOoTfZw cssOoTfUk cssOoTsLtA cssOoTsRb cssOoTsZw cssOoTsUk cssOoSnLt cssOoSnRb cssOoSnZw cssOoSnUk"; $cssBox = " cssOoBxUk"; } break; case "lmnZwischentitel": { $cssAbsatz = " cssOoTfLtA cssOoTfRb cssOoTfZw cssOoTsLtA cssOoTsRb cssOoTsZw cssOoSnLt cssOoSnRb cssOoSnZw"; $cssBox = " cssOoBxZw"; } break; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssBox)); if (mb_strstr ($Optionen, "P")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "nach oben", "cssOoBxPfO", "", "", "location='#oben'")); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtInhalt, $cssAbsatz . $cssAusrichtung)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnAbsatz": case "lmnRubrik": { /* A - Auf B - Design B (sonst A) C - Design C (sonst A) O - ohne Abstand links/rechts p - PDF Q - Suche R - rechtsbündig Z - Zu */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { if ($txtInhalt) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtInhalt . " "; } } elseif (mb_strstr ($Optionen, "p")) { if (mb_strstr ($Optionen, "R")) { $k_ausrichtung = "R"; } else { $k_ausrichtung = "L"; } if ($Aktion == 'lmnRubrik') { $Vorgaben['PDF']->SetFont('DejaVu','B',12); $Vorgaben['PDF']->MultiCell(0 , $Vorgaben['varPDFLineHeight'] , $txtInhalt, 0, $k_ausrichtung); } else { $Vorgaben['PDF']->SetFont('DejaVu','',12); $r_zeilen = explode ('¦', $txtInhalt); foreach ($r_zeilen as $t_zeile) { if ($t_zeile) { $Vorgaben['PDF']->MultiCell(0 , $Vorgaben['varPDFLineHeight'] , $t_zeile, 0, $k_ausrichtung); } else // Leerzeile { $Vorgaben['PDF']->Ln(2.5); } } } } else { // $txtInhalt = fncText ("ftxWandeln.H", array ($txtInhalt)); if (mb_strstr ($Optionen, "R")) { $cssAusrichtung = " cssSystemRechts"; } else { $cssAusrichtung = ""; } switch ($Aktion) { case "lmnRubrik": { $cssAbsatz = " cssOoTfLtA cssOoTfRb cssOoTsLtA cssOoTsRb cssOoSnLt cssOoSnRb"; } break; case "lmnAbsatz": { if ($txtReferenz) { $cssAbsatz = $txtReferenz; } elseif (mb_strstr ($Optionen, "O")) { if (mb_strstr ($Optionen, "C")) { $cssAbsatz = " cssOoTfLtA cssOoTfLtB cssOoTfLtC cssOoTsLtA cssOoTsLtB cssOoTsLtC"; } elseif (mb_strstr ($Optionen, "B")) { $cssAbsatz = " cssOoTfLtA cssOoTfLtB cssOoTsLtA cssOoTsLtB"; } else // Design A { $cssAbsatz = " cssOoTfLtA cssOoTsLtA"; } } else { if (mb_strstr ($Optionen, "C")) { $cssAbsatz = " cssOoTfLtA cssOoTfLtB cssOoTfLtC cssOoTsLtA cssOoTsLtB cssOoTsLtC cssOoSnLt"; } elseif (mb_strstr ($Optionen, "B")) { $cssAbsatz = " cssOoTfLtA cssOoTfLtB cssOoTsLtA cssOoTsLtB cssOoSnLt"; } else // Design A { $cssAbsatz = " cssOoTfLtA cssOoTsLtA cssOoSnLt"; } } } break; } $txtAbsatz = $txtInhalt; if (!$txtAbsatz) { $txtAbsatz = " "; $cssAbsatz = " cssOoTsLz"; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz." . $Optionen, array ($txtAbsatz, $cssAbsatz . $cssAusrichtung)); } } break; case "lmnPreis": { /* E - mit Einheit N - Nulltext ausgeben (sonst bei null nichts ausgeben) R - rechtsbündig V - nur volle Euro ausgeben */ list ($txtInhalt) = $Parameter; unset ($Parameter); $o_ausgabe = false; // list ($datDatenbank, $idID, $fldFeld, $t_nulltext) = explode ("|", $txtInhalt . '|'); list ($datDatenbank, $idID, $fldFeld, $t_nulltext, $t_vorspann) = explode ("|", $txtInhalt . '||'); if ($t_vorspann) { $t_vorspann .= ' '; } else { $t_vorspann = ''; } if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) { $o_ausgabe = true; list ($txtEuro, $txtCent) = explode (",", fncZahl ("zhlFormatieren.D2", array ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]))); if (mb_strstr ($Optionen, "V")) // nur volle Euro ausgeben { $txtKomma = ""; $txtCent = " "; } else { $txtKomma = ","; } if (mb_strstr ($Optionen, "E")) // mit Einheit { if ($txtWaehrung = fncFeld ("dtfEinheit", $Vorgaben, array ($datDatenbank, $fldFeld, 1))) { } else { $txtWaehrung = "€"; } } else { $txtWaehrung = ""; } } elseif (mb_strstr ($Optionen, "N")) { $o_ausgabe = true; } if ($o_ausgabe) { $cssEuro = " cssOoTfLtA cssOoTfPe cssOoTsLtA cssOoTsPe cssOoSnLt cssOoSnPe"; $cssCent = " cssOoTfLtA cssOoTfPe cssOoTfPc cssOoTsLtA cssOoTsPe cssOoTsPc cssOoSnLt cssOoSnPe cssOoSnPc"; # Ausrichtung if (mb_strstr ($Optionen, "R")) // rechtsbündig { $stlBox = "float: right; "; } else { $stlBox = ""; } # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxPr", $stlBox)); if (mb_strstr ($Optionen, "N")) // { $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($t_nulltext, $cssEuro)); } else { fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('' . $txtEuro . $txtKomma . '' . $txtCent . '' . $txtWaehrung . '')); fncElement ("lmnHtmlSchleuse", $Vorgaben, array ('' . $t_vorspann . $txtEuro . $txtKomma . '' . $txtCent . '' . $txtWaehrung . '')); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnDachzeile": { /* Z - Zusatz */ unset ($Parameter); # Ausgabe if (mb_strstr ($Optionen, "Z")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array (fncFeld ("dtfWert.", $Vorgaben, array ("datVorgaben", 1, "DachzeileZusatz")), " cssOoTfLtA cssOoTfDc cssOoTfDz cssOoTsLtA cssOoTsDc cssOoTsDz cssOoSnLt cssOoSnDc cssOoSnDz")); } else { $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array (fncFeld ("dtfWert.", $Vorgaben, array ("datVorgaben", 1, "Dachzeile")), " cssOoTfLtA cssOoTfDc cssOoTsLtA cssOoTsDc cssOoSnLt cssOoSnDc")); } } break; case "lmnBilderVorladen": { unset ($Parameter); # checken !!! $Vorgaben["htmRumpf"][] = fncAltBild ("Vorladen", $Vorgaben, array ()); } break; case "lmnImpressum": { /* B - Design B (sonst A) C - Design C (sonst A) R - txtInhalt steht rechts */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); # var $txtRInhalt = ""; $idImpressum = ""; if (mb_strstr ($Optionen, "C")) // Design C { $optDesign = "C"; } elseif (mb_strstr ($Optionen, "B")) // Design B { $optDesign = "B"; } else { $optDesign = ""; } if (mb_strstr ($Optionen, "R")) // txtInhalt steht rechts { $txtRInhalt = $txtInhalt; $txtInhalt = ""; } if (isset ($Vorgaben["Data"]["xdbNhKp"][0]["ExklusivIDs"]["ObImpressum"][$Vorgaben["curLang"] . ";0"])) { $idImpressum = $Vorgaben["Data"]["xdbNhKp"][0]["ExklusivIDs"]["ObImpressum"][$Vorgaben["curLang"] . ";0"]; } $idAGB = ""; if (isset ($Vorgaben["Data"]["xdbNhKp"][0]["ExklusivIDs"]["ObAGB"])) { $idAGB = $Vorgaben["Data"]["xdbNhKp"][0]["ExklusivIDs"]["ObAGB"][$Vorgaben["curLang"] . ";0"]; } # Ausgabe fncElement ("lmnBox.A", $Vorgaben, array ("", " cssOoBxIm")); fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", "|| cssOoTbIm")); if ($txtInhalt) { $obElement = 1; fncElement ("lmnAbsatz.AZ" . $optDesign, $Vorgaben, array ($txtInhalt)); } if ($idImpressum) { if ($obElement) { fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array ("|")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); } $obElement = 1; fncElement ("lmnVerweis.AZNT" . $optDesign, $Vorgaben, array ($Vorgaben["Data"]["xdbNhKp"][$idImpressum]["Menu"], $idImpressum)); } if ($idAGB) { if ($obElement) { fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array ("|")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); } $obElement = 1; fncElement ("lmnVerweis.AZNT" . $optDesign, $Vorgaben, array ($Vorgaben["Data"]["xdbNhKp"][$idAGB]["Menu"], $idAGB)); } if ($txtRInhalt) { if ($obElement) { fncElement ("lmnTabelle.D", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZO" . $optDesign, $Vorgaben, array ("|")); fncElement ("lmnTabelle.D", $Vorgaben, array ()); } fncElement ("lmnAbsatz.AZ" . $optDesign, $Vorgaben, array ($txtRInhalt)); } fncElement ("lmnTabelle.YZ", $Vorgaben, array ()); fncElement ("lmnBox.Z", $Vorgaben, array ()); } break; case "lmnFormatieren": { /* D - Design laden E - Elemente/Details p - PDF Q - Heuhaufen für Suche bilden S - Symbole --- sonst Inhalt laden */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($b_details, $varEChap, $k_modul, $i_kopf) = $Parameter; unset ($Parameter); # Debug // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $obInhalteBox = 0; if (mb_strstr ($Optionen, "E")) // Elemente/Details { $obInhalteBox = 1; $cssBxNh = " cssOoBxDt"; $b_kopf = "xdb" . $k_modul . "Kp"; } elseif (mb_strstr ($Optionen, "D")) // Design laden { if ($Vorgaben["curPage"]) { $b_details = "datDesign"; } else { $b_details = "datStart"; } } elseif (mb_strstr ($Optionen, "S")) // Symbole { $smbKennung = $b_details; $b_details = "datSmElemente"; } else // sonst Inhalt laden { $varEChap = "varNhEChap"; $b_details = "datNhDetails"; $b_kopf = "xdbNhKp"; $obInhalteBox = 1; $cssBxNh = " cssOoBxNh"; if (mb_strstr ($Optionen, "Q")) // Heuhaufen für Suche bilden { # Erstbehandlung für Suche, füge Menüeintrag und Thema zum Heuhaufen hinzu if (is_array ($Vorgaben["Data"]["xdbNhKp"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["xdbNhKp"][0]["Sortierung"] as $idID => $tmp) if (fncDatensatz ("DsAktiv.SZ", $Vorgaben, array ("xdbNhKp", $idID))) { if (!isset ($Vorgaben["Heuhaufen"][$idID])) { $Vorgaben["Heuhaufen"][$idID] = ""; } $Vorgaben["Heuhaufen"][$idID] .= fncFeld ("dtfWert.F", $Vorgaben, array ("xdbNhKp", $idID, "Menu")) . " "; $Vorgaben["Heuhaufen"][$idID] .= fncFeld ("dtfWert.F", $Vorgaben, array ("xdbNhKp", $idID, "Titel")) . " "; } } # Debug // //$dbgVariable = "zhlSeite"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } # Seite übergeben if (isset ($_REQUEST[$varEChap])) { $zhlSeite = $_REQUEST[$varEChap]; } else { $zhlSeite = ""; } if (mb_strstr ($Optionen, "S")) // Symbole { # 1. Durchlauf: Sind Zweilzeiler dabei? $OptionZweizeiler = ""; if (is_array ($Vorgaben["Data"][$b_details][0]["Sortierung"])) foreach ($Vorgaben["Data"][$b_details][0]["Sortierung"] as $idID => $tmp) if ($Vorgaben["Data"][$b_details][$idID]["Besitzer"] == $smbKennung) { switch ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$b_details][$idID]["Type"]]["Element"]) { case "lmnSymbol.PF": case "lmnSymbol.PFU": case "lmnSymbol.PG": case "lmnSymbol.IF": case "lmnSymbol.IFU": case "lmnSymbol.IFX": case "lmnSymbol.IFUX": case "lmnSymbol.IFC": case "lmnSymbol.IFCU": case "lmnSymbol.IFM": case "lmnSymbol.IFMU": case "lmnSymbol.IFMK": { // $t_inhalt = $Vorgaben["Data"][$b_details][$idID]["Inhalt"]; // // list ($vrbFilter, $datDatenbank, $fldFelder) = explode ("|", $t_inhalt . "||||"); // // if (fncFeld ("dtfObRechte.S", $Vorgaben, array ($datDatenbank, $fldFelder))) // if (fncFeld ("dtfObRechte.F", $Vorgaben, array ($smbKennung, $vrbFilter))) // { $OptionZweizeiler = "W"; // } } break; } } // if (fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) # 2. Durchlauf: Formatieren if (is_array ($Vorgaben["Data"][$b_details][0]["Sortierung"])) foreach ($Vorgaben["Data"][$b_details][0]["Sortierung"] as $idID => $tmp) if ($Vorgaben["Data"][$b_details][$idID]["Besitzer"] == $smbKennung) { fncElement ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$b_details][$idID]["Type"]]["Element"] . $OptionZweizeiler, $Vorgaben, array ($Vorgaben["Data"][$b_details][$idID]["Inhalt"], $Vorgaben["Data"][$b_details][$idID]["Referenz"] . ";" . $smbKennung)); } } elseif (mb_strstr ($Optionen, "Q")) // Heuhaufen für Suche bilden { # Zweitbehandlung für Suche, füge Text aus Elementen zum Heuhaufen hinzu if (isset ($Vorgaben["Data"][$b_details][0]["Sortierung"])) if (is_array ($Vorgaben["Data"][$b_details][0]["Sortierung"])) foreach ($Vorgaben["Data"][$b_details][0]["Sortierung"] as $idID => $tmp) if (fncDatensatz ("DsAktiv.SZ", $Vorgaben, array ($b_details, $idID))) { # Debug // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $obOK = 0; if (mb_strstr ($Optionen, "E") and $Vorgaben["Data"][$b_details][$idID]["Besitzer"] == $Vorgaben["curHhItem"]) { $obOK = 1; } if (!mb_strstr ($Optionen, "E") and fncDatensatz ("DsAktiv.SZ", $Vorgaben, array ($Vorgaben["Data"][$b_details][0]["Besitzer"], $Vorgaben["Data"][$b_details][$idID]["Besitzer"]))) { $obOK = 1; $Vorgaben["curHhID"] = $Vorgaben["Data"][$b_details][$idID]["Besitzer"]; // if ($Vorgaben["Data"][$b_details][0]["Besitzer"]) } # Debug // //$dbgVariable = "obOK"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($obOK) { fncElement ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$b_details][$idID]["Type"]]["Element"] . "Q", $Vorgaben, array ($Vorgaben["Data"][$b_details][$idID]["Inhalt"], $Vorgaben["Data"][$b_details][$idID]["Referenz"])); } } } elseif (mb_strstr ($Optionen, "p")) // PDF { if (mb_strstr ($Optionen, "E")) // Elemente/Details { formatiereDetails ($Vorgaben, $b_details, $i_kopf); } else { $x = ''; $i_kopf = ''; $t_titel = ''; if (isset ($Vorgaben["Data"][$b_kopf][0]["Sortierung"])) if (is_array ($Vorgaben["Data"][$b_kopf][0]["Sortierung"])) foreach ($Vorgaben["Data"][$b_kopf][0]["Sortierung"] as $i_kopf => $x) if (isset ($Vorgaben["Data"][$b_kopf][$i_kopf]["ObPDF"])) if ($Vorgaben["Data"][$b_kopf][$i_kopf]["ObPDF"]) // if (fncDatensatz ("DsAktiv.SZ", $Vorgaben, array ($b_kopf, $i_kopf))) { # Titel setzen $t_titel = fncFeld ("dtfWert.NF", $Vorgaben, array ($b_kopf, $i_kopf, "Titel")); fncElement ("lmnThema.p", $Vorgaben, array ($t_titel)); formatiereDetails ($Vorgaben, $b_details, $i_kopf); } } } elseif (mb_strstr ($Optionen, "D")) // Design { if (isset ($Vorgaben["Data"][$b_details][0]["Sortierung"])) if (is_array ($Vorgaben["Data"][$b_details][0]["Sortierung"])) foreach ($Vorgaben["Data"][$b_details][0]["Sortierung"] as $idID => $tmp) if (fncDatensatz ("DsAktiv.FZ", $Vorgaben, array ($b_details, $idID))) { $i_type = $Vorgaben["Data"][$b_details][$idID]["Type"]; fncElement ($Vorgaben["Data"]["datTypen"][$i_type]["Element"], $Vorgaben, array ($Vorgaben["Data"][$b_details][$idID]["Inhalt"], $Vorgaben["Data"][$b_details][$idID]["Referenz"])); } } else // Inhaltebox aus dat Nh Elemente bzw. dat Details { # Inhaltebox if ($obInhalteBox) { fncElement ("lmnBox.A", $Vorgaben, array ("", $cssBxNh)); } # Vorbereiten $i_vorherige_type = ''; # neu if (isset ($Vorgaben["Data"][$b_details][0]["Blaettern"][$zhlSeite])) if (is_array ($Vorgaben["Data"][$b_details][0]["Blaettern"][$zhlSeite])) foreach ($Vorgaben["Data"][$b_details][0]["Blaettern"][$zhlSeite] as $idID => $tmp) if (fncDatensatz ("DsAktiv.FZ", $Vorgaben, array ($b_details, $idID))) { // echo "..".$idID."..inh"; # aktuelle Type $t_aktuelle_type = $Vorgaben['Data'][$b_details][$idID]['Type']; $q_zoom = ''; # Bezug zur vorhergehenden Type prüfen if ($i_vorherige_type) { # vorherige Type $t_vorherige_type = $Vorgaben['Data'][$b_details][$i_vorherige_type]['Type']; # Leerzeile vor Zwischentitel entfernen if ($t_aktuelle_type == "lmnCzb" and ($t_vorherige_type == "lmnCba" and !$Vorgaben["Data"][$b_details][$i_vorherige_type]["Inhalt"])) { $Vorgaben["Data"][$b_details][$i_vorherige_type]['+flt'] = 0; } # Leerzeile nach Zwischentitel entfernen if (($t_aktuelle_type == "lmnCba" and !$Vorgaben["Data"][$b_details][$idID]["Inhalt"]) and $t_vorherige_type == "lmnCzb") { $Vorgaben["Data"][$b_details][$idID]['+flt'] = 0; } } # übergebe aktuelle ID als Vorgänger ID $i_vorherige_type = $idID; } $obTabelle = 0; // automatisch Tabelle schließen mit Tabellenfuß $obTabOffen = 0; // automatisch Tabelle öffnen mit Tabelle öffnen $o_aufmacher_offen = false; # neu if (isset ($Vorgaben["Data"][$b_details][0]["Blaettern"][$zhlSeite])) if (is_array ($Vorgaben["Data"][$b_details][0]["Blaettern"][$zhlSeite])) foreach ($Vorgaben["Data"][$b_details][0]["Blaettern"][$zhlSeite] as $idID => $tmp) if (fncDatensatz ("DsAktiv.FZ", $Vorgaben, array ($b_details, $idID))) { $t_aktuelle_type = $Vorgaben['Data'][$b_details][$idID]['Type']; if ($t_aktuelle_type == "lmnCta" or $t_aktuelle_type == "lmnCtb") { if (!$obTabOffen) { fncElement ("lmnTabelle.SO", $Vorgaben, array ()); $obTabOffen = 1; } $obTabelle = 1; } elseif ($obTabelle) { fncElement ("lmnTabelle.SF", $Vorgaben, array ()); $obTabOffen = 0; $obTabelle = 0; } # Aufmacher kommen gemeinsam in eine Box if (isset ($Vorgaben['r_aufmacher'][$t_aktuelle_type]) and $Vorgaben['r_aufmacher'][$t_aktuelle_type]) { if (!$o_aufmacher_offen) { # Aufmacher als Fußleiste oder an der Seite if (fncVorgaben ($Vorgaben, $Vorgaben['r_aufmacher'][$t_aktuelle_type] . "ObAFuss.R")) { $c_box = 'cssOoBxMdAfFsG1'; } else { $c_box = 'cssOoBxMdAfStG1'; } fncElement ('lmnBox.A', $Vorgaben, array ('', $c_box)); } $o_aufmacher_offen = true; } elseif ($o_aufmacher_offen) { fncElement ("lmnBox.Z", $Vorgaben, array ()); $o_aufmacher_offen = false; } if ($t_aktuelle_type) { if (isset ($Vorgaben["Data"]["datTypen"][$t_aktuelle_type]["obZoom"])) if ($Vorgaben["Data"]["datTypen"][$t_aktuelle_type]["obZoom"]) { $q_zoom = 'D,' . $idID . ',,' . $Vorgaben["curZone"] . ','; } # bei Download indirekt (Link per E-Mail) den Namen der Datenbank mitliefern if (isset ($Vorgaben["Data"]["datTypen"][$t_aktuelle_type]["obForm"])) if ($Vorgaben["Data"]["datTypen"][$t_aktuelle_type]["obForm"]) { $Vorgaben["Data"][$b_details][$idID]["Referenz"] .= ";" . $Vorgaben['cur_modul'] . ",D," . $idID; } fncElement ($Vorgaben["Data"]["datTypen"][$t_aktuelle_type]["Element"], $Vorgaben, array ($Vorgaben["Data"][$b_details][$idID]["Inhalt"], $Vorgaben["Data"][$b_details][$idID]["Referenz"], $q_zoom)); } } if ($obTabelle) { fncElement ("lmnTabelle.SF", $Vorgaben, array ()); } if ($o_aufmacher_offen) { fncElement ("lmnBox.Z", $Vorgaben, array ()); } # testweise: Umfluss immer nach Details fncElement ("lmnUmfluss", $Vorgaben, array ()); # Inhaltebox if ($obInhalteBox) { fncElement ("lmnBox.Z", $Vorgaben, array ()); } } } break; case "lmnNavigation": { /* B - Bereiche K - Kasten (Standard) L - Leiste P - Piktogramme T - Tafel U - Untermenü des aktiven Menüpunktes */ unset ($Parameter); # Anhang $t_anhang_lang = ($_REQUEST[LANG]) ? '&' . LANG . '=' . $_REQUEST[LANG] : ''; $t_anhang_zone = ($_REQUEST[ZONE]) ? '&' . ZONE . '=' . $_REQUEST[ZONE] : ''; if (!isset ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObNaviAus"]) or !$Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObNaviAus"]) { if (mb_strstr ($Optionen, "T")) // Tafel { $r_module = array (); $r_kategorien_sortiert = array (); $r_anzahl_je_kategorie = array (); $i_inhalte = ''; $x = ''; $p_modul = ''; $n_datenbank = ''; $n_kategorien = ''; $v_kategorie = ''; $t_sortiercode = ''; $i_kategorie = ''; $t_kategorie = ''; $z_unterpunkt = 0; $z_steg = 0; # finde gesetzte Module $r_module = findeGesetzteModule ($Vorgaben); # Ausgabe fncElement ("lmnTabelle.ABC", $Vorgaben, array ('', '||cssCcMenuTafelT')); if (is_array ($Vorgaben['Data']['xdbNhKp'][0]['Sortierung'])) foreach ($Vorgaben['Data']['xdbNhKp'][0]['Sortierung'] as $i_inhalte => $x) if (fncDatensatz ('DsAktiv.SZ', $Vorgaben, array ('xdbNhKp', $i_inhalte))) { $z_unterpunkt = $Vorgaben['Data']['xdbNhKp'][$i_inhalte]['Hierarchie']; if (!$z_unterpunkt) { # ab dem 2. Element Steg setzen $z_steg++; if ($z_steg) { fncElement ("lmnTabelle.D", $Vorgaben, array ()); } fncElement ("lmnBox.A", $Vorgaben, array ("", 'cssCcMenuTafelE')); # gib Verweis aus fncElement ("lmnBox.A", $Vorgaben, array ("", 'cssCcMenuTafelH')); fncElement ('lmnVerweis.AZNTU', $Vorgaben, array ('', $i_inhalte)); fncElement ("lmnBox.Z", $Vorgaben, array ()); if (isset ($r_module[$i_inhalte])) if ($r_module[$i_inhalte]) { # merke Vorsilbe $p_modul = $r_module[$i_inhalte]; $n_datenbank = 'xdb' . $p_modul . 'Kp'; $n_kategorien = 'dat' . $p_modul . 'Kategorien'; $v_kategorie = $Vorgaben['regVars']['var' . $p_modul . 'Cat']; fncDatenbank ('dtbLesen', $Vorgaben, array ($n_datenbank)); fncDatenbank ('dtbLesen', $Vorgaben, array ($n_kategorien)); fncFilter ('fltDatenbank.OZ', $Vorgaben, array ($n_datenbank)); $t_sortiercode = fncVorgaben ($Vorgaben, $p_modul . 'CSort.NR'); sortiereDatenbankNachCode ($Vorgaben, $n_kategorien, $t_sortiercode); if (isset ($Vorgaben['Data'][$n_kategorien][0]['Sortierung'])) { $r_kategorien_sortiert = $Vorgaben['Data'][$n_kategorien][0]['Sortierung']; } $r_anzahl_je_kategorie = zaehleArtikelJeKategorie ($Vorgaben, $n_datenbank); # Artikel in Kategorien? foreach ($r_kategorien_sortiert as $i_kategorie => $x) if (isset ($r_anzahl_je_kategorie[$i_kategorie])) if ($r_anzahl_je_kategorie[$i_kategorie]) { $t_kategorie = fncFeld ('dtfWert.FN', $Vorgaben, array ($n_kategorien, $i_kategorie, 'Titel')); gibKategorieVerweisAus ($Vorgaben, $v_kategorie, $i_kategorie, $t_kategorie, $i_inhalte); } # Artikel ja, aber nicht in Kategorie, also in "Weitere" if (isset ($r_anzahl_je_kategorie[0])) if ($r_anzahl_je_kategorie[0]) { $t_kategorie = fncVorgaben ($Vorgaben, $p_modul . 'CWeitere.N'); $i_kategorie = '!'; gibKategorieVerweisAus ($Vorgaben, $v_kategorie, $i_kategorie, $t_kategorie, $i_inhalte); } } # zeige Untermenüpunkte $r_unterpunkte = explode (',', $Vorgaben['Data']['xdbNhKp'][$i_inhalte]['+ntrHierarchie']); foreach ($r_unterpunkte as $i_inhalte) if (fncDatensatz ('DsAktiv.SZ', $Vorgaben, array ('xdbNhKp', $i_inhalte))) { fncElement ('lmnVerweis.AZNTU', $Vorgaben, array ('', $i_inhalte)); } fncElement ("lmnBox.Z", $Vorgaben, array ()); } } fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); unset ($r_anzahl_je_kategorie); unset ($r_kategorien_sortiert); unset ($r_module); } elseif (mb_strstr ($Optionen, "P")) { $i_inhalte = ''; $x = ''; $s_piktogramm = ''; $z = 0; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", 'cssCcPkG')); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", 'cssCcPkD cssCcPkDL')); if (is_array ($Vorgaben["Data"]["xdbNhKp"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["xdbNhKp"][0]["Sortierung"] as $i_inhalte => $x) if ($Vorgaben["Data"]["xdbNhKp"][$i_inhalte]["+flt"]) { $s_piktogramm = $Vorgaben["Data"]["xdbNhKp"][$i_inhalte]["Piktogramm"]; $t_titel = $Vorgaben["Data"]["xdbNhKp"][$i_inhalte]["Menu"]; $j_ziel = "location='./?" . PAGE . "=" . $i_inhalte . $t_anhang_lang . "'"; if ($i_inhalte == $_REQUEST[PAGE]) { $s_aktiv = 'a'; } else { $s_aktiv = ''; } if ($s_piktogramm) { if ($z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", 'cssCcPkDM')); } // $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", fncFeld ("dtfWert.FN", $Vorgaben, array ("datNhBereiche", $idBereich, "Titel")), " cssOoBxNvBrZn" . $idBereich, "", "", $j_ziel)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", $t_titel, 'cssCcPkE cssCcPkE' . $s_piktogramm . $s_aktiv . ' cssNwCursor', '', '', $j_ziel)); } } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", 'cssCcPkD cssCcPkDR')); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } elseif (mb_strstr ($Optionen, "B")) // Bereiche { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", "cssOoBxNvBrGs")); if (isset ($Vorgaben["Data"]["datNhBereiche"][0]["Sortierung"])) if (is_array ($Vorgaben["Data"]["datNhBereiche"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datNhBereiche"][0]["Sortierung"] as $idBereich => $tmp) if ($Vorgaben["Data"]["datNhBereiche"][$idBereich]["+flt"]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxNvBrZn0Au")); if ($idBereich != $Vorgaben["curZone"]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", fncFeld ("dtfWert.FN", $Vorgaben, array ("datNhBereiche", $idBereich, "Titel")), " cssOoBxNvBrZn" . $idBereich, "", "", "location='./?" . ZONE . "=" . $idBereich . $t_anhang_lang . "'")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", " cssOoBxNvBrZn0In")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } else // Bereich gewählt { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxNvBrZn" . $idBereich . "a")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", " cssOoBxNvBrZn0In")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } elseif (mb_strstr ($Optionen, "L")) // Leiste { // list ($Indize) = $Parameter; // $Indize /= 1; $MarkierteThemen = fncAltMenu ("MarkierteThemen", $Vorgaben, array ()); $ObUnterThemen = fncAltMenu ("ObUnterThemen", $Vorgaben, array ()); # Debug // $dbgNhInh = $Vorgaben["Data"]["xdbNhKp"]; // //$dbgVariable = "dbgNhInh"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($Vorgaben["curZone"]) { $csFarbe0i = " cssOoMnKl0Br" . $Vorgaben["curZone"]; $csFarbe0a = " cssOoMnKl0Br" . $Vorgaben["curZone"] . "a"; $csFarbe1i = " cssOoMnKl1Br" . $Vorgaben["curZone"]; $csFarbe1a = " cssOoMnKl1Br" . $Vorgaben["curZone"] . "a"; } else { $csFarbe0i = ""; $csFarbe0a = ""; $csFarbe1i = ""; $csFarbe1a = ""; } $Vorgaben["htmRumpf"][] = "
"; # Einleitung Level 1 $Vorgaben["htmRumpf"][] = ""; $Vorgaben["htmRumpf"][] = "
"; $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", " cssOoMfStB")); } elseif (mb_strstr ($Optionen, "U")) // Untermenü des aktiven Menüpunktes { # Wenn als reines Untermenü (in Verbindung mit Klappmenü), dann prüfen, ob überhaupt Untermenüpunkte vorhanden sind $obSichtbar = 0; if (is_array ($Vorgaben["Data"]["xdbNhKp"])) foreach ($Vorgaben["Data"]["xdbNhKp"] as $idID => $tmp) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["ID"])) if ($Vorgaben["Data"]["xdbNhKp"][$idID]["ID"]) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgVisible"])) if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgVisible"]) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+u1Visible"])) if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+u1Visible"]) { $obSichtbar = 1; } if ($obSichtbar) { # Box um komplettes Menü $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxMnUG1")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxMnUG2")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxMnUG3")); if (is_array ($Vorgaben["Data"]["xdbNhKp"])) foreach ($Vorgaben["Data"]["xdbNhKp"] as $idID => $tmp) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["ID"])) if ($Vorgaben["Data"]["xdbNhKp"][$idID]["ID"]) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgVisible"])) if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgVisible"]) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+u1Visible"])) if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+u1Visible"]) { # CSS Ebene $cssEbene = $Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"] / 1; if ($cssEbene > 3) { $cssEbene = 3; } switch ($cssEbene) { case 1: { $cssAbsatz = " cssOoTsLtA cssOoTsMn0 cssOoTsMnU1 cssOoSnMn0 cssOoSnMnU1"; $cssBxStandard = " cssOoTfLtA cssOoTfMnSt0 cssOoTfMnUSt1"; # gewählter/offener Eintrag? if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) // gewählter Eintrag { $cssAktiv = " cssOoTfMnAk0 cssOoTfMnUAk1"; // gewählter Eintrag $cssOffen = ""; } elseif (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) // offener Eintrag { $cssAktiv = ""; $cssOffen = " cssOoTfMnOf0 cssOoTfMnUOf1"; // offener Eintrag } else { $cssAktiv = ""; $cssOffen = ""; } } break; case 2: { $cssAbsatz = " cssOoTsLtA cssOoTsMn0 cssOoTsMnU1 cssOoTsMnU2 cssOoSnMn0 cssOoSnUMn1 cssOoSnMnU2"; $cssBxStandard = " cssOoTfLtA cssOoTfMnSt0 cssOoTfMnUSt1 cssOoTfMnUSt2"; # gewählter/offener Eintrag? if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) // gewählter Eintrag { $cssAktiv = " cssOoTfMnAk0 cssOoTfMnUAk1 cssOoTfMnUAk2"; // gewählter Eintrag $cssOffen = ""; } elseif (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) // offener Eintrag { $cssAktiv = ""; $cssOffen = " cssOoTfMnOf0 cssOoTfMnUOf1 cssOoTfMnUOf2"; // offener Eintrag } else { $cssAktiv = ""; $cssOffen = ""; } } break; case 3: { $cssAbsatz = " cssOoTsLtA cssOoTsMn0 cssOoTsMnU1 cssOoTsMnU2 cssOoTsMnU3 cssOoSnMn0 cssOoSnUMn1 cssOoSnMnU2 cssOoSnMnU3"; $cssBxStandard = " cssOoTfLtA cssOoTfMnSt0 cssOoTfMnUSt1 cssOoTfMnUSt2 cssOoTfMnUSt3"; # gewählter/offener Eintrag? if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) // gewählter Eintrag { $cssAktiv = " cssOoTfMnAk0 cssOoTfMnUAk1 cssOoTfMnUAk2 cssOoTfMnUAk3"; // gewählter Eintrag $cssOffen = ""; } elseif ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) // offener Eintrag { $cssAktiv = ""; $cssOffen = " cssOoTfMnOf0 cssOoTfMnUOf1 cssOoTfMnUOf2 cssOoTfMnUOf3"; // offener Eintrag } else { $cssAktiv = ""; $cssOffen = ""; } } break; } # Box um Menüeintrag, Verweis $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", fncFeld ("dtfWert.FN", $Vorgaben, array ("xdbNhKp", $idID, "Menu")), $cssBxStandard . $cssOffen . $cssAktiv, "", "", "location='./?" . PAGE . "=" . $idID . $t_anhang_zone . $t_anhang_lang . "'")); # Box(en) für Einzug links - öffnen for ($Z = 1; $Z <= $Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"]; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxMnUE")); } # Menüeintrag $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($Vorgaben["Data"]["xdbNhKp"][$idID]["Menu"], $cssAbsatz)); # Box(en) für Einzug links - schließen for ($Z = 1; $Z <= $Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"]; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } # Box für Sockel, Abstand Fuß if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgSockel"]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", " cssOoBxMnUS")); } # Box um Menüeintrag, Verweis $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } unset ($tmp); # Box um komplettes Menü $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } else // Kasten { # Var $zhlSteg = 0; # Box um komplettes Menü $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxMnG")); if (is_array ($Vorgaben["Data"]["xdbNhKp"])) foreach ($Vorgaben["Data"]["xdbNhKp"] as $idID => $tmp) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["ID"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["ID"]) if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgVisible"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgVisible"]) // if (!mb_strstr ($Optionen, "U") or $Vorgaben["Data"]["xdbNhKp"][$idID]["+u1Visible"]) { # CSS Ebene $cssEbene = $Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"] / 1; if ($cssEbene > 2) { $cssEbene = 2; } switch ($cssEbene) { case 0: { $cssAbsatz = " cssOoTsLtA cssOoTsMn0 cssOoSnMn0"; $cssBxStandard = " cssOoTfLtA cssOoTfMnSt0"; # gewählter/offener Eintrag? if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) // gewählter Eintrag { $cssAktiv = " cssOoTfMnAk0"; // gewählter Eintrag $cssOffen = ""; } elseif (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) // offener Eintrag { $cssAktiv = ""; $cssOffen = " cssOoTfMnOf0"; // offener Eintrag } else { $cssAktiv = ""; $cssOffen = ""; } } break; case 1: { $cssAbsatz = " cssOoTsLtA cssOoTsMn0 cssOoTsMn1 cssOoSnMn0 cssOoSnMn1"; $cssBxStandard = " cssOoTfLtA cssOoTfMnSt0 cssOoTfMnSt1"; # gewählter/offener Eintrag? if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) // gewählter Eintrag { $cssAktiv = " cssOoTfMnAk0 cssOoTfMnAk1"; // gewählter Eintrag $cssOffen = ""; } elseif (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) // offener Eintrag { $cssAktiv = ""; $cssOffen = " cssOoTfMnOf0 cssOoTfMnOf1"; // offener Eintrag } else { $cssAktiv = ""; $cssOffen = ""; } } break; case 2: { $cssAbsatz = " cssOoTsLtA cssOoTsMn0 cssOoTsMn1 cssOoTsMn2 cssOoSnMn0 cssOoSnMn1 cssOoSnMn2"; $cssBxStandard = " cssOoTfLtA cssOoTfMnSt0 cssOoTfMnSt1 cssOoTfMnSt2"; # gewählter/offener Eintrag? if (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgCurrent"]) // gewählter Eintrag { $cssAktiv = " cssOoTfMnAk0 cssOoTfMnAk1 cssOoTfMnAk2"; // gewählter Eintrag $cssOffen = ""; } elseif (isset ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) and $Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgOpen"]) // offener Eintrag { $cssAktiv = ""; $cssOffen = " cssOoTfMnOf0 cssOoTfMnOf1 cssOoTfMnOf2"; // offener Eintrag } else { $cssAktiv = ""; $cssOffen = ""; } } break; } # Angaben abhängig von Menüebene, Linie als Steg? $cssLinie = ""; // keine Linie oben if (!$Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"]) if ($zhlSteg++) { $cssLinie = " cssOoBxMnL"; // Linie oben ab 2. Element } # Box für Linie oben $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $cssLinie)); # Box um Menüeintrag, Verweis $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", fncFeld ("dtfWert.FN", $Vorgaben, array ("xdbNhKp", $idID, "Menu")), $cssBxStandard . $cssOffen . $cssAktiv, "", "", "location='./?" . PAGE . "=" . $idID . $t_anhang_zone . $t_anhang_lang . "'")); # Box(en) für Einzug links for ($Z = 1; $Z <= $Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"]; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxMnE")); } # Menüeintrag $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($Vorgaben["Data"]["xdbNhKp"][$idID]["Menu"], $cssAbsatz)); # Box(en) für Einzug links for ($Z = 1; $Z <= $Vorgaben["Data"]["xdbNhKp"][$idID]["+mbnHierarchie"]; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } # Box für Sockel, Abstand Fuß if ($Vorgaben["Data"]["xdbNhKp"][$idID]["+nvgSockel"]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.AZ", array ("", "", " cssOoBxMnS")); } # Box um Menüeintrag, Verweis $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); # Box für Linie oben $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } unset ($tmp); # Box um komplettes Menü $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } } break; case "lmnBox": { $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); $ttlBox = $txtInhalt; list ($klsBox, $stlBox, $idBox) = explode ("|", $txtReferenz . "||"); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox." . $Optionen, array ($idBox, $ttlBox, $klsBox, $stlBox)); } break; case "lmnBlock": { /* entweder T - Tabelle F - Fuß G - Gruppentitel K - Kopfzeile Z - Zeile oder A - mit Abstand danach F - fett K - als Kapitel R - mit Rubrik U - als Unterkapitel */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); list ($datDatenbank, $idID, $fldFeld) = explode ("|", $txtReferenz . "||"); # Debug // $dbgWert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; // //$dbgVariable = "dbgWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "T")) // Tabelle { if (mb_strstr ($Optionen, "K")) // Kopfzeile { fncElement ("lmnTabelle.ABC", $Vorgaben, array ("", " cssOoTbZl cssOoTbHgK0||cssOoTbGs||2")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtInhalt, " cssOoTfLtA cssOoTfRb cssOoTsLtA cssOoTsRb cssOoSnLt cssOoSnRb cssOoTbTxK")); } elseif (mb_strstr ($Optionen, "Z")) // Zeile { if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld))) { fncElement ("lmnTabelle.E", $Vorgaben, array ("", " cssOoTbZl cssOoTbHgL0")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)), " cssOoTfLtA cssOoTsLtA cssOoSnLt cssOoTbTxZ")); fncElement ("lmnTabelle.D", $Vorgaben, array ("", " cssOoTbZl cssOoTbHgR0")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array (fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)), " cssOoTfLtA cssOoTsLtA cssOoSnLt cssOoTbTxZ")); } } elseif (mb_strstr ($Optionen, "G")) // Gruppentitel { fncElement ("lmnTabelle.E", $Vorgaben, array ("", " cssOoTbZl cssOoTbHgK0||||2")); fncElement ("lmnAbsatz.AZ", $Vorgaben, array ($txtInhalt, " cssOoTfLtA cssOoTfRb cssOoTsLtA cssOoTsRb cssOoSnLt cssOoSnRb cssOoTbTxK")); } elseif (mb_strstr ($Optionen, "F")) // Fuß { fncElement ("lmnTabelle.XYZ", $Vorgaben, array ()); } } elseif (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld))) { if (mb_strstr ($Optionen, "R")) { if ($txtInhalt) { $txtRubrik = $txtInhalt; } else { $txtRubrik = fncFeld ("dtfBezeichner", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)); } fncElement ("lmnRubrik.AZ", $Vorgaben, array ($txtRubrik)); } if (mb_strstr ($Optionen, "F")) { $lmnElement = "lmnRubrik"; } elseif (mb_strstr ($Optionen, "U")) { $lmnElement = "lmnUKapitel"; } elseif (mb_strstr ($Optionen, "K")) { $lmnElement = "lmnKapitel"; } else { $lmnElement = "lmnAbsatz"; } fncElement ($lmnElement . ".AZ", $Vorgaben, array (fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)))); if (mb_strstr ($Optionen, "A")) { fncElement ("lmnAbsatz.AZ", $Vorgaben, array ()); } } } break; case "lmnTitelbild": { /* A - auf, Platzhalter wird gesetzt S - Titelbild auslesen und setzen, sonst nur Platzhalter Z - zu */ unset ($Parameter); # var $TBild = ""; if (!isset ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObTBildAus"]) or !$Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["ObTBildAus"]) { if (mb_strstr ($Optionen, "A")) // erstmal nur Platzhalter setzen { $Vorgaben["curPosTBild"] = count ($Vorgaben["htmRumpf"]); // Position merken $Vorgaben["htmRumpf"][] = ""; // Position blockieren } elseif (mb_strstr ($Optionen, "Z")) // schließen { # Ausgabe $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } elseif (mb_strstr ($Optionen, "S")) // Titelbild auslesen und setzen { if (isset ($Vorgaben["curPosTBild"])) if ($Vorgaben["curPosTBild"]) { if (isset ($Vorgaben["curTitlePic"]) and $Vorgaben["curTitlePic"]) // Titelbild wurde durch Modul überschrieben? { $TBild = $Vorgaben["curTitlePic"]; } elseif (fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "TBild"))) // Seite selbst hat Titelbild? { $TBild = fncFeld ("dtfWert.N", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "TBild")); } elseif ($dsPapa = fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $Vorgaben["curPage"], "Hierarchie")) and fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "TBild"))) // übergeordnetes Thema hat Titelbild? { $TBild = fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "TBild")); } elseif ($dsPapa = fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "Hierarchie")) and fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "TBild"))) // über übergeordnetes Thema hat Titelbild? { $TBild = fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "TBild")); } elseif ($dsPapa = fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "Hierarchie")) and fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "TBild"))) // über über übergeordnetes Thema hat Titelbild? { $TBild = fncFeld ("dtfWert.R", $Vorgaben, array ("xdbNhKp", $dsPapa, "TBild")); } if ($TBild) { // $t_css_tbild = "background: url('" . $Vorgaben["Ordner"]["CBilder"] . $TBild . "') center center no-repeat; "; $t_css_tbild = "background-image: url('" . $Vorgaben["Ordner"]["CBilder"] . $TBild . "'); "; } else { $t_css_tbild = ''; } # Ausgabe $Vorgaben["htmRumpf"][$Vorgaben["curPosTBild"]] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxTb1")) . fncBaustein ("bstBox.A", array ("", "", " cssOoBxTb2", $t_css_tbild)) . fncBaustein ("bstBox.A", array ("", "", " cssOoBxTb3")); } } } # debug // $dbgNh = $Vorgaben["Data"]["xdbNhKp"]; // //$dbgVariable = "dbgNh"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "lmnSchloss": { /* B - Farbschema B (sonst A) V - versteckt */ unset ($Parameter); if (mb_strstr ($Optionen, "V")) // versteckt { $sfxOpt = "W"; } elseif (mb_strstr ($Optionen, "B")) // Farbschema B { $sfxOpt = "YB"; } else { $sfxOpt = "Y"; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxLg")); fncElement ("lmnVerweis.AZO" . $sfxOpt, $Vorgaben, array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } break; case "lmnXtern": { /* Q - Suche X - Xing */ list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= "xing "; } else { if (mb_strstr ($Optionen, "X")) // Xing { $htmHTML = ""; } fncElement ("lmnHtmlSchleuse", $Vorgaben, array ($htmHTML)); } } break; case "lmnMatroschka": { /* A - Auf Z - Zu */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); // $ttlZelle = $txtInhalt; list ($pfxKlasse, $ndzStartEnde) = explode ("|", $txtReferenz . "|"); $pfxKlasse = trim ($pfxKlasse); $ndzStartEnde = trim ($ndzStartEnde); if (!$pfxKlasse) { $pfxKlasse = " cssInhaltMatroschka"; } list ($ndzStart, $ndzEnde) = explode ("-", $ndzStartEnde . "-"); $ndzStart = $ndzStart / 1; $ndzEnde = $ndzEnde / 1; if (!$ndzStart) { $ndzStart = 1; } if ($ndzEnde < $ndzStart) { $ndzEnde = $ndzStart; } if (mb_strstr ($Optionen, "A")) for ($Z = $ndzStart; $Z <= $ndzEnde; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", $pfxKlasse . $Z)); } if (mb_strstr ($Optionen, "Z")) for ($Z = $ndzStart; $Z <= $ndzEnde; $Z++) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } } break; case "lmnTabelle": { /* A - Tabelle auf B - Zeile auf C - Zelle auf D - Zelle zu + Zelle auf E - Zelle zu + Zeile zu + Zeile auf + Zelle auf Q - Suche X - Zelle zu Y - Zeile zu Z - Tabelle zu --- S - Satz: O - öffnen K - Kopfreihe R - Reihe F - Fuß */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) { if ($txtInhalt) { $Vorgaben["Heuhaufen"][$Vorgaben["curHhID"]] .= $txtInhalt . " "; } } else { if (mb_strstr ($Optionen, "D")) { fncElement ("lmnTabelle.X", $Vorgaben, array ()); fncElement ("lmnTabelle.C", $Vorgaben, array ($txtInhalt, $txtReferenz)); } elseif (mb_strstr ($Optionen, "E")) { fncElement ("lmnTabelle.XY", $Vorgaben, array ()); fncElement ("lmnTabelle.BC", $Vorgaben, array ($txtInhalt, $txtReferenz)); } elseif (mb_strstr ($Optionen, "S")) { $txtZellen = explode ("|", $txtInhalt); $zhlSpalten = count ($txtZellen); $spnWerte = array (); $lscSpalten = array (); for ($idZelle = ($zhlSpalten - 1); $idZelle >= 0; $idZelle--) { $txtZellen[$idZelle] = trim ($txtZellen[$idZelle]); if ($idZelle > 0 and $txtZellen[$idZelle] == "=") { $txtZellen[$idZelle] = ""; $lscSpalten[$idZelle] = 1; if (!isset ($spnWerte[$idZelle]) or !$spnWerte[$idZelle]) { $spnWerte[$idZelle] = 2; } else { $spnWerte[$idZelle]++; } // $spnWerte[$idZelle]++; if (!isset ($spnWerte[($idZelle - 1)])) { $spnWerte[($idZelle - 1)] = 0; } $spnWerte[($idZelle - 1)] += $spnWerte[$idZelle]; } else { // $txtZellen[$idZelle] = fncText ("ftxWandeln.H", array ($txtZellen[$idZelle])); } } if (mb_strstr ($Optionen, "O")) // Tabelle öffnen { $Vorgaben["curTbHg"] = 0; // Startwert für abwechselnde Zeilenfarbe setzen $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.A", array ("", "", " cssOoTbGs")); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.A", array ()); } elseif (mb_strstr ($Optionen, "K") or mb_strstr ($Optionen, "R")) // Kopfreihe oder Zeile { $Vorgaben["curTbHg"] = fncZahl ("zhlKippeln", array ($Vorgaben["curTbHg"])); // abwechselnde Zeilenfarbe if (mb_strstr ($Optionen, "K")) // Kopfreihe { $cssAbsatz = " cssOoTfLtA cssOoTsLtA cssOoSnLt cssOoTbTxZ cssOoTbTxK"; } else // Reihe { $cssAbsatz = " cssOoTfLtA cssOoTsLtA cssOoSnLt cssOoTbTxZ"; } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.B", array ()); if (is_array ($txtZellen)) foreach ($txtZellen as $idZelle => $txtZelle) if (!isset ($lscSpalten[$idZelle]) or !$lscSpalten[$idZelle]) { if (!isset ($spnWerte[$idZelle])) { $spnWerte[$idZelle] = 0; } if (!$idZelle) // 1. Spalte links { $cssAusrichtung = ""; # Zellklasse if (mb_strstr ($Optionen, "K")) // Kopfreihe { if ($Vorgaben["curZone"]) { $csFarbe = " cssOoTbHgK" . $Vorgaben["curZone"]; } else { $csFarbe = ""; } $cssZelle = " cssOoTbZl cssOoTbHgK0" . $csFarbe; } else // Reihe { if ($Vorgaben["curTbHg"]) { $cssZelle = " cssOoTbZl cssOoTbHgL0 cssOoTbHgL1"; } else { $cssZelle = " cssOoTbZl cssOoTbHgL0"; } } } else // ab 2. Spalte { if (mb_strstr ($txtZelle, "››")) // rechtsbündig { $txtZelle = str_replace ("››", "", $txtZelle); $cssAusrichtung = " cssSystemRechts"; } else // linksbündig { $cssAusrichtung = ""; } # Zellklasse if (mb_strstr ($Optionen, "K")) // Kopfreihe { if ($Vorgaben["curZone"]) { $csFarbe = " cssOoTbHgK" . $Vorgaben["curZone"]; } else { $csFarbe = ""; } $cssZelle = " cssOoTbZl cssOoTbHgK0" . $csFarbe; } else // Reihe { if ($Vorgaben["curTbHg"]) { $cssZelle = " cssOoTbZl cssOoTbHgR0 cssOoTbHgR1"; } else { $cssZelle = " cssOoTbZl cssOoTbHgR0"; } } } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.C", array ($spnWerte[$idZelle], 0, "", $cssZelle)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstAbsatz.AZ", array ($txtZelle, $cssAbsatz . $cssAusrichtung)); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.X", array ()); } $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.Y", array ()); } elseif (mb_strstr ($Optionen, "F")) // Fuß { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.Z", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstBox.Z", array ()); } unset ($spnWerte); unset ($lscSpalten); unset ($txtZellen); } else { $ttlZelle = $txtInhalt; list ($klsZelle, $stlZelle, $klsTabelle, $stlTabelle, $vrbHxV) = explode ("|", $txtReferenz . "||||"); list ($vrbHorizontal, $vrbVertikal) = explode ("x", $vrbHxV . "x"); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle." . $Optionen, array ($vrbHorizontal, $vrbVertikal, $ttlZelle, $klsZelle, $stlZelle, $klsTabelle, $stlTabelle)); } } } break; case "lmnRahmen": { /* A - oben M - Mitte U - unten Z - Ende P - Portal */ unset ($Parameter); if (mb_strstr ($Optionen, "P")) { $pfxKlasse = " cssPortal"; } else { $pfxKlasse = " cssOo"; } if (mb_strstr ($Optionen, "A")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.ABC", array ("1", "1", "", $pfxKlasse . "RaO", "", $pfxKlasse . "RaG")); } elseif (mb_strstr ($Optionen, "M")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("1", "1", "", $pfxKlasse . "RaM")); } elseif (mb_strstr ($Optionen, "U")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XY", array ()); $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.BC", array ("1", "1", "", $pfxKlasse . "RaU")); } elseif (mb_strstr ($Optionen, "Z")) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstTabelle.XYZ", array ()); } } break; case "lmnFormular": { /* A - Auf Z - Zu P - Methode: Post */ $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $txtReferenz) = $Parameter; unset ($Parameter); if ($txtInhalt) { $frmOnSubmit = implode ("; ", explode ("|", $txtInhalt)) . "; "; } else { $frmOnSubmit = ""; } # Formular-Name if (isset ($txtReferenz)) { $namFormular = $txtReferenz; } else { $namFormular = ""; } if (!$namFormular) { $namFormular = "frmMvd"; } # Ausgabe if (mb_strstr ($Optionen, "Z")) { # Zeige immer OpenCoord $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgBlind", array ("OpenCoord", $_REQUEST["OpenCoord"])); $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgBlind", array ("ChangeCoord", $_REQUEST["ChangeCoord"])); $Vorgaben["OpenFields"]["OpenCoord"] = 1; $Vorgaben["OpenFields"]["ChangeCoord"] = 1; # Blindfeld unabhängig vom Wert verhindert. # Wenn ein sichtbares Eingabefeld da ist, # darf kein zusätzliches hidden-Feld existieren # bei sichtbaren Eingabefeld immer ausschalten if (is_array ($_REQUEST)) foreach ($_REQUEST as $rquVariable => $rquWert) if (!isset ($Vorgaben["OpenFields"][$rquVariable]) or !$Vorgaben["OpenFields"][$rquVariable]) { $Vorgaben["htmRumpf"][] = fncBaustein ("bstEgBlind", array ($rquVariable, $rquWert)); } } $Vorgaben["htmRumpf"][] = fncBaustein ("bstFormular." . $Optionen, array ($namFormular, $frmOnSubmit)); } break; } // if (isset ($Vorgaben)) // { // return $Vorgaben; // } } function fncZahl ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "zhlZufall": { list ($Minimalwert, $Maximalwert) = $Parameter; unset ($Parameter); $Minimalwert /= 1; $Maximalwert /= 1; mt_srand ((double) microtime () * 1000000); if ($Minimalwert != $Maximalwert and $Minimalwert < $Maximalwert) { $Ergebnis = mt_rand ($Minimalwert, $Maximalwert); } else { $Ergebnis = $Minimalwert; } } break; case "zhlRunden": { $Parameter[] = ""; $Parameter[] = ""; list ($Ergebnis, $DezimalStellen) = $Parameter; unset ($Parameter); $Ergebnis /= 1; $DezimalStellen /= 1; $Ergebnis = round ($Ergebnis, $DezimalStellen); } break; case "zhlFormatieren": { /* D - deutsch --> 2.400,50 E - englisch --> 2,400.00 V - Viertelbruch */ list ($Ergebnis) = $Parameter; unset ($Parameter); # Dezimalstellen if (mb_strstr ($Optionen, "3")) { $DezimalStellen = 3; } elseif (mb_strstr ($Optionen, "2")) { $DezimalStellen = 2; } elseif (mb_strstr ($Optionen, "1")) { $DezimalStellen = 1; } else // 0 (null) { $DezimalStellen = 0; } // # Parameter // $Format = $Aktion2; // $DezimalStellen = (1 * $Aktion3); // list ($Ergebnis) = $Parameter; $Ergebnis /= 1; if (mb_strstr ($Optionen, "V")) { $Vorrat = array ( 0 => "", 1 => "¼", 2 => "½", 3 => "¾" ); $Ganzzahl = floor ($Ergebnis); $Nachkomma = fncZahl ("zhlRunden", array (4 * ($Ergebnis - $Ganzzahl))); if ($Nachkomma == 4) { $Ganzzahl++; $Nachkomma = 0; } $Ergebnis = $Ganzzahl . $Vorrat[$Nachkomma]; unset ($Vorrat); } elseif (mb_strstr ($Optionen, "D")) { $Ergebnis = number_format ($Ergebnis, $DezimalStellen, ",", "."); } elseif (mb_strstr ($Optionen, "E")) { $Ergebnis = number_format ($Ergebnis, $DezimalStellen, ".", ","); } } break; case "zhlKippeln": { list ($Ergebnis) = $Parameter; unset ($Parameter); if ($Ergebnis) { $Ergebnis = 0; } else { $Ergebnis = 1; } } break; } return $Ergebnis; } function fncNavi ($AktOpt, & $Vorgaben, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "SetTitlePic": { /* */ list ($dtnBild) = $Parameter; unset ($Parameter); # Setze Titelbild $Vorgaben["curTitlePic"] = $dtnBild; } break; case "SetTitle": { /* P - Portal F - Formular Z - Zoom */ $Parameter[] = ""; list ($txtTitel) = $Parameter; unset ($Parameter); # var $Vorgaben["curTitle1"] = ""; $Vorgaben["curTitle2"] = ""; // if (!isset ($Vorgaben["curModul"])) // { // $Vorgaben["curModul"] = ""; // } # Setze Seitentitel if (mb_strstr ($Optionen, "P")) // Portal { if ($Vorgaben["curModul"]) // Modul gewählt { $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $Vorgaben["curModul"] . "_Titel"); $Vorgaben["curTitle1"] = ($t_modifiziert) ? $t_modifiziert : $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["Titel"]; } elseif (isset ($Vorgaben["Benutzer"]["ObZugang"]) and $Vorgaben["Benutzer"]["ObZugang"]) // Startmenü { $Vorgaben["curTitle1"] = "Start"; } elseif (isset ($_REQUEST["Hilfe"]) and $_REQUEST["Hilfe"]) { $Vorgaben["curTitle1"] = "Hilfe"; } elseif (isset ($_REQUEST[TICKET]) and $_REQUEST[TICKET]) // Ticket { $Vorgaben["curTitle1"] = "Ticket"; } else // Login { $Vorgaben["curTitle1"] = "Login"; } $Vorgaben["curTitle2"] = "Mavidesk © www.stroner.com"; } elseif (mb_strstr ($Optionen, "F")) // Formulare { $Vorgaben["curTitle1"] = fncPhrase ($Vorgaben, array ($Vorgaben["Formular"][0]["FormularTitel"], "G")); } elseif (mb_strstr ($Optionen, "Z")) // Zoom { $curLegende = ""; $Vorgaben["curTitle1"] = ""; $curBild = $_REQUEST[OBJECT]; if (isset ($Vorgaben["Data"]["datBilder"][$curBild]["Legende"])) { $curLegende = $Vorgaben["Data"]["datBilder"][$curBild]["Legende"]; } if (isset ($Vorgaben["Data"]["datBilder"][$_REQUEST[OBJECT]]["Legende"])) { $Vorgaben["curTitle1"] = $Vorgaben["Data"]["datBilder"][$_REQUEST[OBJECT]]["Legende"]; } } else // Index { $Vorgaben["curTitle1"] = ""; if ($txtTitel) { $Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Titel"] = $txtTitel; $Vorgaben["curTitle1"] = $txtTitel; } elseif (isset ($Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["Menu"])) { $Vorgaben["curTitle1"] = $Vorgaben["Data"]["xdbNhKp"][$Vorgaben["curPage"]]["Menu"]; } $Vorgaben["curTitle2"] = fncFeld ("dtfWert", $Vorgaben, array ("datVorgaben", 1, "Seitentitel")); } } break; case "SetModPages": { unset ($Parameter); if (isset ($Vorgaben["Data"]["datNhDetails"][0]["Sortierung"])) if (is_array ($Vorgaben["Data"]["datNhDetails"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datNhDetails"][0]["Sortierung"] as $idElement => $tmp) { $dsBesitzer = $Vorgaben["Data"]["datNhDetails"][$idElement]["Besitzer"]; if (isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"]["datNhDetails"][$idElement]["Type"]]["Element"])) if (fncDatensatz ("DsAktiv.FZ", $Vorgaben, array ("datNhDetails", $idElement))) if (fncDatensatz ("DsAktiv.FZ", $Vorgaben, array ("xdbNhKp", $dsBesitzer))) { $t_zones = array (); if (isset ($Vorgaben["Data"]["xdbNhKp"][$dsBesitzer]["Bereiche"])) { $t_zones = explode ('|', $Vorgaben["Data"]["xdbNhKp"][$dsBesitzer]["Bereiche"]); } else { $t_zones[0] = 0; } $Vorgaben["curModPages"] [ $Vorgaben["Data"]["xdbNhKp"][$dsBesitzer][$Vorgaben["Data"]["xdbNhKp"][0]["fldSprache"]] ] [ ($t_zones[0] / 1) ] [ $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"]["datNhDetails"][$idElement]["Type"]]["Element"] ] = $dsBesitzer; // $x = explode ('|', $Vorgaben["Data"]["xdbNhKp"][$dsBesitzer]["Bereiche"])[0] / 1; // $x = explode ('|', $Vorgaben["Data"]["xdbNhKp"][$dsBesitzer]["Bereiche"])[0]; // $x = explode ('|', $Vorgaben["Data"]["xdbNhKp"][$dsBesitzer]["Bereiche"]); // var_dump ($x); } } } break; case "SetModul": { unset ($Parameter); if (!isset ($_REQUEST[MODUL])) { $_REQUEST[MODUL] = ""; } $Vorgaben["curModul"] = $_REQUEST[MODUL]; } break; case "SetClient": { unset ($Parameter); # curClient setzen $Vorgaben["curClient"] = ""; if (isset ($Vorgaben["Data"]["datVorgaben"][1]["Klient"])) { $Vorgaben["curClient"] = $Vorgaben["Data"]["datVorgaben"][1]["Klient"]; } } break; case "SetLang": { unset ($Parameter); # Sprachen vorbereiten if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) // z.B. DE { $Vorgaben["ObSprache"][$Sprache] = 1; } if (is_array ($Vorgaben["Data"]["regLangDE"])) foreach ($Vorgaben["Data"]["regLangDE"] as $Sprache => $tmp) if (!isset ($Vorgaben["ObSprache"][$Sprache]) or !$Vorgaben["ObSprache"][$Sprache]) { $Vorgaben["Data"]["regLangDE"][$Sprache] = ""; } # curLid feststellen $Lang = 0; if (isset ($_REQUEST[PAGE]) and $_REQUEST[PAGE] and isset ($Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Sprache"])) // wenn Seite angefordert wurde { $Lang = $Vorgaben["ReAktiveSprachen"][$Vorgaben["Data"]["xdbNhKp"][$_REQUEST[PAGE]]["Sprache"]]; // dann Sprache der Seite übernehmen } elseif (isset ($_REQUEST[LANG])) // sonst { $Lang = $_REQUEST[LANG]; // Sprache aus Request übernehmen } $Lang /= 1; if (!$Vorgaben["AktiveSprachen"][$Lang]) { $Lang = 0; } # curLang setzen $Vorgaben["curLang"] = $Vorgaben["AktiveSprachen"][$Lang]; // z.B. DE # curLid setzen $_REQUEST[LANG] = $Lang; // z.B. 0 $Vorgaben["curLid"] = $Lang; // z.B. 0 if ($Vorgaben["ObMehrsprachig"]) { $Vorgaben["System"]["SVokabeln"] = funVorgaben ("Vokabeln.System", $Vorgaben, array ()); // $Vorgaben["System"]["CVokabeln"] = funVorgaben ("Vokabeln.Client", $Vorgaben, array ()); } if (is_array ($Vorgaben["System"]["Vokabeln"])) foreach ($Vorgaben["System"]["Vokabeln"] as $Vorgabe => $Wert) { if (is_array ($Wert)) foreach ($Wert as $Vorgabe2 => $Wert2) { if (isset ($Vorgaben["System"]["SVokabeln"][$Wert2]) and $Vorgaben["System"]["SVokabeln"][$Wert2]) { // //$dbgVariable = "ja"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Vorgaben["System"]["Vokabeln"][$Vorgabe][$Vorgabe2] = $Vorgaben["System"]["SVokabeln"][$Wert2]; } else { // //$dbgVariable = "nein"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Vorgaben["System"]["Vokabeln"][$Vorgabe][$Vorgabe2] = "/!\ " . $Wert2; } } elseif (isset ($Vorgaben["System"]["SVokabeln"][$Wert]) and $Vorgaben["System"]["SVokabeln"][$Wert]) { if ($Vorgaben["System"]["SVokabeln"][$Wert]) { $Vorgaben["System"]["Vokabeln"][$Vorgabe] = $Vorgaben["System"]["SVokabeln"][$Wert]; } else { $Vorgaben["System"]["Vokabeln"][$Vorgabe] = "/!\ " . $Wert; } } } # dies ist notwendig für Vorspann und Sprachwahl if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $Sprache) { $Vorgaben["curStarts"][$Sprache] = findFirstPage ($Vorgaben['Data']['xdbNhKp'], $Sprache); } } break; case "SetBook": { $Parameter[] = ""; list ($setBook) = $Parameter; unset ($Parameter); $Vorgaben["curBid"] = 0; if (isset ($Vorgaben["rrgBooks"][$setBook]) and $Vorgaben["rrgBooks"][$setBook]) { $Vorgaben["curBid"] = $Vorgaben["rrgBooks"][$setBook]; } elseif (isset ($_REQUEST[BOOK])) { $Vorgaben["curBid"] = $_REQUEST[BOOK] / 1; } # wenn leer, dann ggf. aus Vorgaben setzen if (!$Vorgaben["curBid"]) if (isset ($Vorgaben["setBook"]) and $Vorgaben["setBook"]) if ($Vorgaben["rrgBooks"][$Vorgaben["setBook"]]) { $Vorgaben["curBid"] = $Vorgaben["rrgBooks"][$Vorgaben["setBook"]]; $Vorgaben["curBook"] = $Vorgaben["setBook"]; } if (!isset ($Vorgaben["regBooks"][$Vorgaben["curBid"]]) or !$Vorgaben["regBooks"][$Vorgaben["curBid"]]) { $Vorgaben["curBid"] = 0; $Vorgaben["curBook"] = ""; } else { $Vorgaben["curBook"] = $Vorgaben["regBooks"][$Vorgaben["curBid"]]; } $_REQUEST[BOOK] = $Vorgaben["curBid"]; } break; } // return $Vorgaben; } function fncUhrzeit ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "hrzValidieren": { list ($Ergebnis) = $Parameter; unset ($Parameter); $Ergebnis = sprintf ("%03d", $Ergebnis); $St = mb_substr ($Ergebnis, 0, -2); if ($St > 23) { $St = 23; } $Mn = mb_substr ($Ergebnis, -2); if ($Mn > 59) { $Mn = 59; } $Ergebnis = ($St . $Mn) / 1; } break; case "hrzEingabe": { /* A - automatische Erkennung des Formats J - für Null > Jetzt einsetzen V - Validieren */ $Parameter[] = ""; $Parameter[] = ""; list ($Ergebnis, $QuellFormat) = $Parameter; unset ($Parameter); # Debug // //$dbgVariable = "___hrzEingabe___"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "QuellFormat"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "A")) { if (mb_strstr ($Ergebnis, ".")) // Punkt { $Ergebnis = fncUhrzeit ("hrzEingabe.", array ($Ergebnis, "SMP")); } elseif (mb_strstr ($Ergebnis, ":")) // Doppelpunkt { $Ergebnis = fncUhrzeit ("hrzEingabe.", array ($Ergebnis, "SMD")); } elseif (mb_strstr ($Ergebnis, "-")) // Strich { $Ergebnis = fncUhrzeit ("hrzEingabe.", array ($Ergebnis, "SMS")); } elseif (mb_strstr ($Ergebnis, "/")) // Querstrich { $Ergebnis = fncUhrzeit ("hrzEingabe.", array ($Ergebnis, "SMQ")); } elseif (mb_strstr ($Ergebnis, ",")) // Komma { $Ergebnis = fncUhrzeit ("hrzEingabe.", array ($Ergebnis, "SMK")); } else // als Zahl z.B. 1234 für 12:34 Uhr { $Ergebnis = fncUhrzeit ("hrzEingabe.", array ($Ergebnis, "SMZ")); } } else { switch ($QuellFormat) { case "SMP": { list ($St, $Mn) = explode (".", $Ergebnis); } break; case "SMD": { list ($St, $Mn) = explode (":", $Ergebnis); } break; case "SMS": { list ($St, $Mn) = explode ("-", $Ergebnis); } break; case "SMQ": { list ($St, $Mn) = explode ("/", $Ergebnis); } break; case "SMK": { list ($St, $Mn) = explode (",", $Ergebnis); } break; case "SMZ": { if ($Ergebnis > 23) { $Ergebnis = sprintf ("%03d", $Ergebnis); $St = mb_substr ($Ergebnis, 0, -2); $Mn = mb_substr ($Ergebnis, -2); } else { $St = $Ergebnis; $Mn = 0; } } break; } if (mb_strstr ($Optionen, "J")) { if (!$St) { $St = fncUhrzeit ("hrzJetzt.S", array ()); } if (!$Mn) { $Mn = fncUhrzeit ("hrzJetzt.M", array ()); } } $Ergebnis = ($St . sprintf ("%02d", $Mn)) / 1; } # Validieren? if (mb_strstr ($Optionen, "V")) { $Ergebnis = fncUhrzeit ("hrzValidieren", array ($Ergebnis)); } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "hrzJetzt": { /* S - Stunde M - Monat K - komplett */ unset ($Parameter); if (mb_strstr ($Optionen, "K")) { $Ergebnis = date ("Gi"); } elseif (mb_strstr ($Optionen, "S")) { $Ergebnis = date ("G"); } elseif (mb_strstr ($Optionen, "M")) { $Ergebnis = date ("i"); } } break; case "hrzAusgabe": { /* V - validieren */ list ($Ergebnis, $ZielFormat) = $Parameter; unset ($Parameter); # Validieren? if (mb_strstr ($Optionen, "V")) { $Ergebnis = fncUhrzeit ("hrzValidieren", array ($Ergebnis)); } $Ergebnis = sprintf ("%03d", $Ergebnis); $St = mb_substr ($Ergebnis, 0, -2); $Mn = mb_substr ($Ergebnis, -2); switch ($ZielFormat) { case "SMD": { $Ergebnis = $St . ":" . sprintf ("%02d", $Mn); } break; case "SMP": { $Ergebnis = $St . "." . sprintf ("%02d", $Mn); } break; } } break; } return $Ergebnis; } function fncDatum ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "dtmValidieren": { list ($Tg, $Mn, $Jr) = $Parameter; unset ($Parameter); $Ergebnis = date ("Ymd", mktime (0, 0, 0, $Mn, $Tg, $Jr)); } break; case "dtmEingabe": { /* A - automatische Erkennung des Formats H - für Null > Heute einsetzen V - Validieren +30/0/0 = heute in 30 Tagen oder 1/+1/0 = erster des nächsten Monats */ $Parameter[] = ""; $Parameter[] = ""; list ($Ergebnis, $QuellFormat) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "A")) { if ($Ergebnis or mb_strstr ($Optionen, "H")) { if (mb_strstr ($Ergebnis, ".")) // Punkt { $Ergebnis = fncDatum ("dtmEingabe.H", array ($Ergebnis, "DZP")); // Punkt } elseif (mb_strstr ($Ergebnis, "/") or mb_strstr ($Ergebnis, "+") or mb_strstr ($Ergebnis, "-")) // bevor "ohne alles" angenommen werden darf, auf +/- prüfen { $Ergebnis = fncDatum ("dtmEingabe.H", array ($Ergebnis, "DZQ")); // Querstrich } else // ohne alles { $Ergebnis = fncDatum ("dtmEingabe.H", array ($Ergebnis, "DZO")); // TTMMJJJJ } } } else { switch ($QuellFormat) { case "DZP": { list ($Tg, $Mn, $Jr) = explode (".", $Ergebnis . ".."); } break; case "DZQ": { list ($Tg, $Mn, $Jr) = explode ("/", $Ergebnis . "//"); } break; case "DZO": { $Tg = mb_substr ($Ergebnis, 0, 2); $Mn = mb_substr ($Ergebnis, 2, 2); $Jr = mb_substr ($Ergebnis, 4, 4); } break; } if (mb_strstr ($Optionen, "H")) { if (!$Tg) { $Tg = fncDatum ("dtmHeute.T", array ()); } if (!$Mn) { $Mn = fncDatum ("dtmHeute.M", array ()); } if (!$Jr) { $Jr = fncDatum ("dtmHeute.J", array ()); } } # Rechnen? if (mb_substr ($Tg, 0, 1) == "+") { $Tg = fncDatum ("dtmHeute.T", array ()) + mb_substr ($Tg, 1); $Optionen = "V"; // validieren } elseif (mb_substr ($Tg, 0, 1) == "-") { $Tg = fncDatum ("dtmHeute.T", array ()) - mb_substr ($Tg, 1); $Optionen = "V"; // validieren } if (mb_substr ($Mn, 0, 1) == "+") { $Mn = fncDatum ("dtmHeute.M", array ()) + mb_substr ($Mn, 1); $Optionen = "V"; // validieren } elseif (mb_substr ($Mn, 0, 1) == "-") { $Mn = fncDatum ("dtmHeute.M", array ()) - mb_substr ($Mn, 1); $Optionen = "V"; // validieren } if (mb_substr ($Jr, 0, 1) == "+") { $Jr = fncDatum ("dtmHeute.J", array ()) + mb_substr ($Jr, 1); $Optionen = "V"; // validieren } elseif (mb_substr ($Jr, 0, 1) == "-") { $Jr = fncDatum ("dtmHeute.J", array ()) - mb_substr ($Jr, 1); $Optionen = "V"; // validieren } if (mb_strstr ($Optionen, "V")) { $Ergebnis = fncDatum ("dtmValidieren", array ($Tg, $Mn, $Jr)); } else { $Ergebnis = sprintf ("%04d", $Jr) . sprintf ("%02d", $Mn) . sprintf ("%02d", $Tg); } } # Validieren? } break; case "dtmHeute": { /* T - Tag M - Monat J - Jahr K - komplett */ unset ($Parameter); # Debug // //$dbgVariable = "txtDatum"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "K")) { $Ergebnis = date ("Ymd"); } elseif (mb_strstr ($Optionen, "T")) { $Ergebnis = date ("j"); } elseif (mb_strstr ($Optionen, "M")) { $Ergebnis = date ("n"); } elseif (mb_strstr ($Optionen, "J")) { $Ergebnis = date ("Y"); } } break; case "dtmAusgabe": { /* */ $Parameter[] = ""; $Parameter[] = ""; list ($Ergebnis, $ZielFormat, $Vorgaben) = $Parameter; unset ($Parameter); if ($Ergebnis) { $Tg = mb_substr ($Ergebnis, 6, 2); $Mn = mb_substr ($Ergebnis, 4, 2); $Jr = mb_substr ($Ergebnis, 0, 4); switch ($ZielFormat) { default: case "DZP": // TT.MM.JJJJ { $Ergebnis = sprintf ("%02d", $Tg) . "." . sprintf ("%02d", $Mn) . "." . sprintf ("%04d", $Jr); } break; case "NZS": // JJJJ-MM-TT { $Ergebnis = sprintf ("%04d", $Jr) . "-" . sprintf ("%02d", $Mn) . "-" . sprintf ("%02d", $Tg); } break; case "XTZ": // T { $Ergebnis = $Tg / 1; } break; case "XMW": // Mmmmmmm --> benötigt Vorgaben! { // $Ergebnis = "Monat" . $Mn; $Ergebnis = fncPhrase ($Vorgaben, array ("Monat" . $Mn)); } break; case "DXL": { $Ergebnis = fncPhrase ($Vorgaben, array ("Wochentag" . date ("w", mktime (12, 0, 0, $Mn, $Tg, $Jr)))) . ", " . sprintf ("%02d", $Tg) . ". " . fncPhrase ($Vorgaben, array ("Monat" . $Mn)) . " " . sprintf ("%04d", $Jr); } break; } } unset ($Vorgaben); } break; } return $Ergebnis; } function fncText ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "ftxEinheit": { list ($zhlMenge, $txtSingular, $txtPlural, $txtNull) = $Parameter; unset ($Parameter); // list ($txtSingular, $txtPlural) = explode ("|", $txtSingularPlural); if (!$txtPlural) { $txtPlural = $txtSingular; } // if (!$txtNull) // { // $txtNull = $txtPlural; // } if ($zhlMenge > 1) { $Ergebnis = $txtPlural; } elseif ($zhlMenge < 1) { $Ergebnis = $txtNull; } else // genau 1 { $Ergebnis = $txtSingular; } } break; case "ftxSuchen": { list ($txtNadel, $txtHeuhaufen) = $Parameter; unset ($Parameter); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "ftxSuchen_____________________"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtNadel"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtHeuhaufen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idQuelle"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Heuhaufen bilden $txtHeuhaufen = fncText ("ftxSchattenwert.Q", array ($txtHeuhaufen)); # Debug // //$dbgVariable = "txtHeuhaufen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Suchworte bilden $regSuchworte = explode (" ", fncText ("ftxSchattenwert", array ($txtNadel))); $regNadeln = array (); if (is_array ($regSuchworte)) foreach ($regSuchworte as $txtSuchwort) { switch (mb_strlen ($txtSuchwort)) // Suchwortlänge { default: // ist das Suchwort min. 4 Buchstaben lang, darf es überall stehen... { $regNadeln[] = $txtSuchwort; } break; case 0: // kein Suchwort, z.B. durch Eingabe eines Leerzeichens nach Trimmen { } break; case 1: case 2: // wenn das Suchwort nur 1 oder 2 Zeichen hat, muss es allein stehen... { $regNadeln[] = "^" . $txtSuchwort . "[ -/]|[ -/]" . $txtSuchwort . "[ -/]|[ -/]" . $txtSuchwort . "$"; } break; case 3: // wenn das Suchwort 3 Buchstaben hat, muss damit ein Wort beginnen... { $regNadeln[] = "^" . $txtSuchwort . "|[ -/]" . $txtSuchwort; } break; } } unset ($regSuchworte); # Treffer ermitteln $zhlNadeln = 0; $zhlTreffer = 0; if (is_array ($regNadeln)) foreach ($regNadeln as $txtNadel) { $zhlNadeln++; if (preg_match ("#" . $txtNadel . "#", $txtHeuhaufen)) { $zhlTreffer++; } else { } } unset ($regNadeln); if ($zhlTreffer and $zhlTreffer == $zhlNadeln) { $Ergebnis = true; } else { $Ergebnis = false; } } break; case "ftxKuerzen": { list ($Ergebnis, $zhlZeichen) = $Parameter; unset ($Parameter); $zhlTextlaenge = mb_strlen ($Ergebnis); $zhlZeichen /= 1; if ($zhlZeichen and $zhlTextlaenge > $zhlZeichen) { $Ergebnis = mb_substr ($Ergebnis, 0, $zhlZeichen) . " …"; } } break; case "ftxInternet": { /* K - kurz, ohne http:// */ list ($Ergebnis) = $Parameter; unset ($Parameter); # Slash am Ende entfernen if (mb_substr ($Ergebnis, -1) == "/") { $Ergebnis = mb_substr ($Ergebnis, 0, -1); } # HTTP-Vorspann ergänzen if (!mb_strstr (mb_strtoupper ($Ergebnis), "HTTP")) { $Ergebnis = "http://" . $Ergebnis; } # HTTP-Vorspann entfernen? if (mb_strstr ($Optionen, "K")) { $Ergebnis = str_replace ("http://", "", $Ergebnis); $Ergebnis = str_replace ("https://", "", $Ergebnis); } } break; case "ftxSchattenwert": { /* Q - für Suche S - sortiertauglich U - URL-tauglich */ list ($Ergebnis) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "Q")) // für Suche { $Ergebnis = str_replace ("ä", "A", $Ergebnis); $Ergebnis = str_replace ("Ä", "A", $Ergebnis); $Ergebnis = str_replace ("ö", "O", $Ergebnis); $Ergebnis = str_replace ("Ö", "O", $Ergebnis); $Ergebnis = str_replace ("ü", "U", $Ergebnis); $Ergebnis = str_replace ("Ü", "U", $Ergebnis); $Ergebnis = str_replace (".", " ", $Ergebnis); $Ergebnis = str_replace ("-", " ", $Ergebnis); $Ergebnis = str_replace ("+", " ", $Ergebnis); $Ergebnis = str_replace ("=", " ", $Ergebnis); $Ergebnis = str_replace ("’", "", $Ergebnis); $Ergebnis = str_replace (":", "", $Ergebnis); $Ergebnis = str_replace ("»", "", $Ergebnis); $Ergebnis = str_replace ("«", "", $Ergebnis); $Ergebnis = str_replace (",", " ", $Ergebnis); $Ergebnis = @ereg_replace (" +", " ", $Ergebnis); // Mehrfach-Leerzeichen entfernen } elseif (mb_strstr ($Optionen, "U")) // URL-tauglich { $Ergebnis = str_replace ("ä", "AE", $Ergebnis); $Ergebnis = str_replace ("Ä", "AE", $Ergebnis); $Ergebnis = str_replace ("ö", "OE", $Ergebnis); $Ergebnis = str_replace ("Ö", "OE", $Ergebnis); $Ergebnis = str_replace ("ü", "UE", $Ergebnis); $Ergebnis = str_replace ("Ü", "UE", $Ergebnis); $Ergebnis = str_replace (" ", "_", $Ergebnis); $Ergebnis = str_replace (".", "_", $Ergebnis); $Ergebnis = str_replace ("-", "_", $Ergebnis); $Ergebnis = str_replace ("+", "_", $Ergebnis); $Ergebnis = str_replace ("=", "_", $Ergebnis); $Ergebnis = str_replace ("’", "_", $Ergebnis); $Ergebnis = str_replace (":", "_", $Ergebnis); } else // S - sortiertauglich { $Ergebnis = str_replace ("ä", "A", $Ergebnis); $Ergebnis = str_replace ("Ä", "A", $Ergebnis); $Ergebnis = str_replace ("ö", "O", $Ergebnis); $Ergebnis = str_replace ("Ö", "O", $Ergebnis); $Ergebnis = str_replace ("ü", "U", $Ergebnis); $Ergebnis = str_replace ("Ü", "U", $Ergebnis); $Ergebnis = str_replace (".", " ", $Ergebnis); $Ergebnis = str_replace ("-", "", $Ergebnis); $Ergebnis = str_replace ("+", " ", $Ergebnis); $Ergebnis = str_replace ("=", " ", $Ergebnis); $Ergebnis = str_replace ("’", "", $Ergebnis); $Ergebnis = str_replace (":", "", $Ergebnis); $Ergebnis = str_replace ("»", "", $Ergebnis); $Ergebnis = str_replace ("«", "", $Ergebnis); $Ergebnis = str_replace (",", " ", $Ergebnis); $Ergebnis = @ereg_replace (" +", " ", $Ergebnis); // Mehrfach-Leerzeichen entfernen } $Ergebnis = str_replace ("ß", "SS", $Ergebnis); $Ergebnis = mb_strtoupper ($Ergebnis); } break; case "ftx2erGruppen": { list ($Ergebnis) = $Parameter; unset ($Parameter); $Laenge = mb_strlen ($Ergebnis); $Sammler = array (); if (!funZahl ("Ungerade", "", array ($Laenge))) { $Start = 0; } else { $Start = 1; $Sammler[] = mb_substr ($Ergebnis, 0, 1); } for ($Z = $Start; $Z < $Laenge; $Z += 2) { $Sammler[] = mb_substr ($Ergebnis, $Z, 2); } $Ergebnis = implode ("ˆ", $Sammler); unset ($Sammler); } break; case "ftxTelefon": { /* G - gruppieren 2er */ list ($Ergebnis, $Sprache) = $Parameter; unset ($Parameter); if ($Ergebnis) { if (!$Sprache) { $Sprache = "DE"; } $Ergebnis = str_replace (" ", " ", $Ergebnis); $Ergebnis = str_replace (")", "/", $Ergebnis); $Ergebnis = str_replace ("(", "", $Ergebnis); if ($Ergebnis[0] == "0") { $Ergebnis = trim (mb_substr ($Ergebnis, 1)); $LdVw = "+49"; $obDtRfNr = 1; } elseif (mb_substr ($Ergebnis, 0, 3) == "+49") { $Ergebnis = trim (mb_substr ($Ergebnis, 3)); $LdVw = "+49"; $obDtRfNr = 1; } else { $tmpRufnummer = explode (" ", $Ergebnis); $LdVw = array_shift ($tmpRufnummer); $Ergebnis = implode (" ", $tmpRufnummer); unset ($tmpRufnummer); $obDtRfNr = 0; } if (mb_strstr ($Ergebnis, "/")) { list ($StVw, $RfNr) = explode ("/", $Ergebnis . "/"); list ($RfNr, $ApNr) = explode ("-", $RfNr . "-"); } elseif (mb_strstr ($Ergebnis, "-")) { list ($RfNr, $ApNr) = explode ("-", $Ergebnis . "-"); list ($StVw, $RfNr) = explode (" ", $RfNr . " "); } else { list ($StVw, $RfNr, $ApNr) = explode (" ", $Ergebnis . " "); } $StVw = str_replace (" ", "", $StVw); $RfNr = str_replace (" ", "", $RfNr); $ApNr = str_replace (" ", "", $ApNr); if ($ApNr != "") { $RfNr .= "-" . $ApNr; } if ($Sprache == "DE" and $obDtRfNr) { $StVw = "0" . $StVw; if (mb_strstr ($Optionen, "G")) { $StVw = fncText ("ftx2erGruppen", array ($StVw)); $RfNr = fncText ("ftx2erGruppen", array ($RfNr)); } $Ergebnis = "(" . $StVw . ") " . $RfNr; } else { $Ergebnis = $LdVw . " " . $StVw . " " . $RfNr; } } } break; case "ftxWandeln": { /* wird_durchgereicht_1 D - ins Datenbankformat schreiben U - umbrochener Unix-Text F - fließender Unix-Text H - HTML-umbrochener Text L - mit Leerzeilen, spziell für Feld Inhalt in datNhDetails/datDesign --- R - Rohwert, wie in Datenbank abgelegt K - Klartext E - mit Einheit N - Nullwert, Datenbank-Nullwert hat Priotät P - gelieferter Nullwert hat Priotät S - Spezielles Anzeigeformat G - in Gänsefüßchen, wenn Wert */ list ($Ergebnis) = $Parameter; unset ($Parameter); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgInfo = "WANDELN"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "U")) { # Debug // //$dbgInfo = "U"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $Ergebnis = trim ($Ergebnis); $Ergebnis = str_replace (">", "›", $Ergebnis); // spitze Klammer $Ergebnis = str_replace ("<", "‹", $Ergebnis); // spitze Klammer $Ergebnis = str_replace ("--", "", $Ergebnis); // $Ergebnis = str_replace ("¦", chr (13), $Ergebnis); // Zeilenumbruch } elseif (mb_strstr ($Optionen, "H")) { $Ergebnis = trim ($Ergebnis); $Ergebnis = @ereg_replace (" +", " ", $Ergebnis); // Mehrfach-Leerzeichen entfernen # spitze Klammer $Ergebnis = str_replace (">", "›", $Ergebnis); $Ergebnis = str_replace ("<", "‹", $Ergebnis); # Auszeichnen? --> hier MaviCodes // $Ergebnis = str_replace ("##", fncHTML ("span.Z", array ()), $Ergebnis); // $Ergebnis = str_replace ("#", fncHTML ("span.A", array ("class", " cssInhaltAuszeichnen")), $Ergebnis); # Einheiten binden $Ergebnis = str_replace (" %", " %", $Ergebnis); $Ergebnis = str_replace (" €", " €", $Ergebnis); $Ergebnis = str_replace (" Mio.", " Mio.", $Ergebnis); # Gedankenstrich $Ergebnis = str_replace (" - ", " – ", $Ergebnis); // Gedankenstrich $Ergebnis = str_replace ("_-", " –", $Ergebnis); // Gedankenstrich $Ergebnis = str_replace (" –", " –", $Ergebnis); // Leerzeichen vor Gedankenstrich wird festes Leerzeichen # Zeilenumbruch $Ergebnis = str_replace ("¦¦", fncHTML ("br", array ()) . fncHTML ("small.A", array ()) . fncHTML ("br", array ()) . fncHTML ("small.Z", array ()), $Ergebnis); $Ergebnis = str_replace ("¦", fncHTML ("br", array ()), $Ergebnis); $Ergebnis = str_replace ("///", fncHTML ("br", array ()), $Ergebnis); # weiches Leerzeichen mit der Breite 0 (null) $Ergebnis = str_replace ("~", "​", $Ergebnis); // lässt Umbruch zu durch Leerzeichen mit Breite null $Ergebnis = str_replace ("--", "­", $Ergebnis); // erzeugt Trennstrich bei Bedarf # festes Leerzeichen $Ergebnis = str_replace ("._", "." . fncHTML ("small.A", array ()) . " " . fncHTML ("small.Z", array ()), $Ergebnis); $Ergebnis = str_replace ("_", " ", $Ergebnis); // festes Leerzeichen $Ergebnis = str_replace ("ˆ", fncHTML ("small.A", array ()) . " " . fncHTML ("small.Z", array ()), $Ergebnis); // kleines festes Leerzeichen # Hochstellen oder Tiefstellen? if (mb_strstr ($Ergebnis, "^")) { # Tiefstellen? $Ergebnis = str_replace ("°°", fncHTML ("sub.Z", array ()), $Ergebnis); $Ergebnis = str_replace ("^^", fncHTML ("sub.A", array ()), $Ergebnis); # Hochstellen? $Ergebnis = str_replace ("°", fncHTML ("sup.Z", array ()), $Ergebnis); $Ergebnis = str_replace ("^", fncHTML ("sup.A", array ()), $Ergebnis); /* # alte Variante, Regulär $Woerter = array (); $Woerter = explode (" ", $Ergebnis); if (is_array ($Woerter)) foreach ($Woerter as $idWort => $Wort) if (mb_strstr ($Wort, "^^")) { $Teile = explode ("^^", $Wort); $Woerter[$idWort] = $Teile[0] . fncHTML ("sub.A", array ()) . $Teile[1] . fncHTML ("sub.Z", array ()); unset ($Teile); } if (mb_strstr ($Wort, "^")) { $Teile = explode ("^", $Wort); $Woerter[$idWort] = $Teile[0] . fncHTML ("sup.A", array ()) . $Teile[1] . fncHTML ("sup.Z", array ()); unset ($Teile); } $Ergebnis = implode (" ", $Woerter); unset ($Woerter); */ } # Zeichenvorrat --> †‡ } elseif (mb_strstr ($Optionen, "F")) { # Debug // //$dbgInfo = "F"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $Ergebnis = trim ($Ergebnis); $Ergebnis = str_replace (">", "›", $Ergebnis); $Ergebnis = str_replace ("<", "‹", $Ergebnis); $Ergebnis = str_replace ("¦¦", " ", $Ergebnis); $Ergebnis = str_replace ("¦", " ", $Ergebnis); $Ergebnis = str_replace ("--", "", $Ergebnis); $Ergebnis = str_replace ("~", "", $Ergebnis); $Ergebnis = str_replace ("^", "", $Ergebnis); $Ergebnis = str_replace ("°", "", $Ergebnis); $Ergebnis = str_replace ("ˆ", "", $Ergebnis); $Ergebnis = str_replace ("_", " ", $Ergebnis); // $Ergebnis = str_replace ("#", "", $Ergebnis); } else // D { $Ergebnis = str_replace (chr (10), "", $Ergebnis); // LF entfernen if (mb_strstr ($Optionen, "L")) { $Ergebnis = str_replace (chr (13), "¦", $Ergebnis); } else { $Ergebnis = str_replace (chr (13), "¦", $Ergebnis); // $Ergebnis = @ereg_replace ("(¦){3,}", "¦¦", $Ergebnis); // macht aus 3 oder mehr CRs hintereinander immer genau zwei CRs } $Ergebnis = trim ($Ergebnis); $Ergebnis = str_replace ("/=", "≠", $Ergebnis); $Ergebnis = str_replace ("(/)", "ø", $Ergebnis); $Ergebnis = str_replace (">=", "≥", $Ergebnis); $Ergebnis = str_replace ("<=", "≤", $Ergebnis); $Ergebnis = str_replace (">", "›", $Ergebnis); // spitze Klammer $Ergebnis = str_replace ("<", "‹", $Ergebnis); // spitze Klammer $Ergebnis = str_replace (chr (9), " ", $Ergebnis); // Tabs entfernen $Ergebnis = str_replace ("\\", "", $Ergebnis); // Backslash entfernen $Ergebnis = str_replace ("|", " | ", $Ergebnis); // Lesbarkeit $Ergebnis = str_replace ("///", " /// ", $Ergebnis); // Lesbarkeit # Gänsefüßchen $Ergebnis = " " . $Ergebnis; // Leerzeichen voran für korrekten Gänsefüßchen-Austausch $Ergebnis = str_replace (" " . chr (34), " »", $Ergebnis); $Ergebnis = str_replace ("(" . chr (34), "(»", $Ergebnis); $Ergebnis = str_replace (chr (34), "«", $Ergebnis); $Ergebnis = str_replace ("“", "«", $Ergebnis); $Ergebnis = str_replace ("”", "«", $Ergebnis); $Ergebnis = str_replace ("„", "»", $Ergebnis); # Zoll // $Ergebnis = str_replace ("''", "”", $Ergebnis); # Apostroph // $Ergebnis = str_replace ("'", "’", $Ergebnis); $Ergebnis = str_replace ("...", "…", $Ergebnis); // Ellipse ersetzen $Ergebnis = str_replace ("+-", "±", $Ergebnis); $Ergebnis = str_replace ("-+", "‑", $Ergebnis); $Ergebnis = str_replace ("~~", "≈", $Ergebnis); $Ergebnis = str_replace (";", ",", $Ergebnis); // Semikolon vs. Komma (CSV Konventionen) $Ergebnis = @ereg_replace (" +", " ", $Ergebnis); // Mehrfach-Leerzeichen entfernen $Ergebnis = str_replace (" ,", ",", $Ergebnis); // Leerzeichen vor Komma entfernen $Ergebnis = trim ($Ergebnis); // Trimmen } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; } return $Ergebnis; } function fncRegister ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "rgsStaffel": { /* N - Nullwert, Datenbank-Nullwert hat Priorität P - gelieferter Nullwert hat Priorität P --- U - unabhängig, ob ID gesetzt ist V - Von-bis-Staffel (sonst Bis-Staffel) */ list ($Vorgaben, $datDatenbank, $fldStaffel, $txtNullwert, $wrtStaffel) = $Parameter; unset ($Parameter); if ($wrtStaffel < 2) { $wrtStaffel = 2; } # Debug //$dbgInfo = "rgsStaffel"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "fldStaffel"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "wrtStaffel"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "txtNullwert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Register anlegen $Ergebnis = array (); # Nullwert? if (mb_strstr ($Optionen, "N")) { if (mb_strstr ($Optionen, "P")) { $optNullwert = "P"; } else { $optNullwert = ""; } $Ergebnis[0] = fncFeld ("dtfNullwert." . $optNullwert, $Vorgaben, array ($datDatenbank, 0, $fldStaffel, $txtNullwert)); $Ergebnis["~0"] = "---------------------"; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Werte übergeben if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $tmp) { // unset ($tmp); if (fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID)) or mb_strstr ($Optionen, "U")) { # Einheit if ($txtEinheit = fncFeld ("dtfEinheit", $Vorgaben, array ($datDatenbank, $fldStaffel, 2))) // 2 am Ende ruft Plural auf { $txtEinheit = " " . $txtEinheit; } else { $txtEinheit = ""; } $Unterkante = floor ($Vorgaben["Data"][$datDatenbank][$idID][$fldStaffel] / $wrtStaffel) * $wrtStaffel; $Oberkante = ceil ($Vorgaben["Data"][$datDatenbank][$idID][$fldStaffel] / $wrtStaffel) * $wrtStaffel; # Debug // //$dbgInfo = "rgsStaffel"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "Unterkante"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Oberkante"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "wrtStaffel"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "txtNullwert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($Oberkante == $Unterkante) { $Oberkante += $wrtStaffel; } if (mb_strstr ($Optionen, "V")) // Von-bis-Staffel { $Ergebnis[$Oberkante] = fncZahl ("zhlFormatieren.D", array ($Unterkante)) . " bis " . fncZahl ("zhlFormatieren.D", array ($Oberkante - 1)) . $txtEinheit; } else // Bis-Staffel { $Ergebnis[$Oberkante] = "bis " . fncZahl ("zhlFormatieren.D", array ($Oberkante - 1)) . $txtEinheit; } } } # Sortieren $Ergebnis = fncRegister ("rgsSortieren.SN", array ($Ergebnis)); # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); unset ($Vorgaben); } break; case "rgsSortieren": { /* A = Absteigend N = Nullwert erhalten (wird an den Anfang gesetzt) O = Nullwert erhalten (bleibt an Originalposition bzw. wird einsortiert) E = Nullwert wird ans Ende gestellt S = sortieren nach Schlüsseln U = Unsortiert --> entfernt überflüssige Gruppierer Z = als Zahlen */ list ($regRegister) = $Parameter; unset ($Parameter); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgInfo = "rgsSortieren"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Ergebnis = array (); $regOriginal = array (); $regSchatten = array (); $regGruppierer = array (); # Werte übergeben, Gruppierer aussortieren if (is_array ($regRegister)) foreach ($regRegister as $idRegister => $Wert) { if ($idRegister[0] == "~") // Gruppierer --> aussortieren { $regGruppierer[(mb_substr ($idRegister, 1))] = $Wert; } elseif ($idRegister or mb_strstr ($Optionen, "N")) // true oder Nullwert erhalten { $regOriginal[$idRegister] = $Wert; $regSchatten[$idRegister] = $Wert; } } # Register mit Schattenwerten erzeugen if (is_array ($regSchatten)) foreach ($regSchatten as $idRegister => $Wert) { if (mb_strstr ($Optionen, "Z")) { $regSchatten[$idRegister] = $Wert / 1; } else { $regSchatten[$idRegister] = fncText ("ftxSchattenwert.S", array ($Wert)); } } # Sortieren if (!mb_strstr ($Optionen, "U")) // wenn nicht Unsortiert { if (mb_strstr ($Optionen, "A")) // absteigend { if (mb_strstr ($Optionen, "S")) // nach Schlüsseln { if (is_array ($regSchatten)) krsort ($regSchatten); } else { if (is_array ($regSchatten)) arsort ($regSchatten); } } else // Aufsteigend { if (mb_strstr ($Optionen, "S")) // nach Schlüsseln { if (is_array ($regSchatten)) ksort ($regSchatten); } else { if (is_array ($regSchatten)) asort ($regSchatten); } } } # Debug // //$dbgVariable = "regRegister"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Nullwert an den Anfang? if (isset ($regRegister[0]) and $regRegister[0] and mb_strstr ($Optionen, "N") and !mb_strstr ($Optionen, "O") and !mb_strstr ($Optionen, "E")) { $Ergebnis[0] = $regRegister[0]; if ($regGruppierer[0]) { $Ergebnis["~0"] = $regGruppierer[0]; } } # sortierte Werte übergeben, Gruppierer wieder einfügen if (is_array ($regSchatten)) foreach ($regSchatten as $idRegister => $tmp) if ($idRegister or (mb_strstr ($Optionen, "N") and mb_strstr ($Optionen, "O"))) { $Ergebnis[$idRegister] = $regOriginal[$idRegister]; if (isset ($regGruppierer[$idRegister])) if ($regGruppierer[$idRegister]) { $Ergebnis[("~" . $idRegister)] = $regGruppierer[$idRegister]; } } # Nullwert ans Ende? if (isset ($regRegister[0]) and $regRegister[0] and mb_strstr ($Optionen, "N") and !mb_strstr ($Optionen, "O") and mb_strstr ($Optionen, "E")) { $Ergebnis[0] = $regRegister[0]; if ($regGruppierer[0]) { $Ergebnis["~0"] = $regGruppierer[0]; } } unset ($regRegister); unset ($regSchatten); unset ($regOriginal); unset ($regGruppierer); } break; case "rgsIdEinfuegen": { /* N - fügt idNeu/wrtNeu nach idBezug ein (Standard) V - fügt idNeu/wrtNeu vor idBezug ein */ list ($regRegister, $IdNeu, $wrtNeu, $IdBezug) = $Parameter; unset ($Parameter); $Ergebnis = array (); $obEingefuegt = 0; if (mb_strstr ($Optionen, "V")) { if (is_array ($regRegister)) foreach ($regRegister as $ID => $Wert) { if (strval ($ID) == strval ($IdNeu)) { } elseif (strval ($ID) == strval ($IdBezug)) { $Ergebnis[$IdNeu] = $wrtNeu; $Ergebnis[$ID] = $Wert; $obEingefuegt = 1; } else { $Ergebnis[$ID] = $Wert; } unset ($Wert); } } else // N { if (is_array ($regRegister)) foreach ($regRegister as $ID => $Wert) { if (strval ($ID) == strval ($IdNeu)) { } elseif (strval ($ID) == strval ($IdBezug)) { $Ergebnis[$ID] = $Wert; $Ergebnis[$IdNeu] = $wrtNeu; $obEingefuegt = 1; } else { $Ergebnis[$ID] = $Wert; } unset ($Wert); } } if (!$obEingefuegt) // wenn IdBezug nicht existiert, dann ans Ende stellen { $Ergebnis[$IdNeu] = $wrtNeu; } unset ($wrtNeu); } break; case "rgsZiehen": { /* F - nur gefilterte Datensätze beachten N - Nullwert, Datenbank-Nullwert hat Priorität P - gelieferter Nullwert hat Priorität P --- S - Sprache beachten U - unabhängig, ob ID gesetzt ist X - ohne Gruppierer */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($Vorgaben, $datDatenbankSprache, $fldVorgabe, $fldWert, $txtNullwert, $Ergebnis, $regErlaubteWerte) = $Parameter; unset ($Parameter); list ($datDatenbank, $Sprache) = explode ("|", $datDatenbankSprache . "|"); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "rgsZiehen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbankSprache"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldVorgabe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Ergebnis filtern? if (is_array ($regErlaubteWerte)) { $obFiltern = 1; $obWerte = array (); foreach ($regErlaubteWerte as $Wert) { $obWerte[$Wert] = 1; } unset ($regErlaubteWerte); } # Register anlegen if (!is_array ($Ergebnis)) { $Ergebnis = array (); } # Nullwert? if (mb_strstr ($Optionen, "N")) { if (mb_strstr ($Optionen, "P")) { $optNullwert = "P"; } else { $optNullwert = ""; } $Ergebnis[0] = fncFeld ("dtfNullwert." . $optNullwert, $Vorgaben, array ($datDatenbank, 0, $fldWert, $txtNullwert)); if (!mb_strstr ($Optionen, "X")) { $Ergebnis["~0"] = "---------------------"; } } # Werte übergeben $mrkLn = ""; if (isset ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Sortierung"] as $idID => $tmp) { if (!isset ($Vorgaben["Data"][$datDatenbank][0]["fldSprache"])) { $Vorgaben["Data"][$datDatenbank][0]["fldSprache"] = ""; } if (!isset ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]])) { $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]] = ""; } if (!mb_strstr ($Optionen, "F") or fncDatensatz ("DsAktiv.F", $Vorgaben, array ($datDatenbank, $idID))) if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldVorgabe))) if (!mb_strstr ($Optionen, "S") or !$Sprache or (mb_strstr ($Optionen, "S") and $Sprache and $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]] == $Sprache)) { if ($mrkLn and $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]] != $mrkLn) { $Ergebnis["~" . $mrkJd] = "---------------------"; } $mrkLn = $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldSprache"]]; $mrkJd = $idID; $Ergebnis[fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldVorgabe))] = fncFeld ("dtfWert.FNE", $Vorgaben, array ($datDatenbank, $idID, $fldWert)); } } unset ($obWerte); unset ($Vorgaben); } break; } return $Ergebnis; } function fncOrdner ($AktOpt, $Parameter) { # var $Ergebnis = ""; list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "rdnAufraeumen": { list ($rdnOrdner, $zhlVersionen, $nmDatei) = $Parameter; unset ($Parameter); if ($zhlVersionen) // Zahl der Versionen begrenzt? { # hole Dateiliste im Archivordner $regDateien = fncOrdner ("rdnVerzeichnis.DI", array ($rdnOrdner)); # sammle Backups von nmDatei $regSammler = array(); if (is_array ($regDateien)) foreach ($regDateien as $Datei) if (fncDatei ("fdtZerlegePfad.N", array ($rdnOrdner . $Datei)) == $nmDatei) { $Version = fncDatei ("fdtVersion.", array ($rdnOrdner . $Datei)); $regSammler[$Version] = $rdnOrdner . $Datei; // merke Version und Pfad } # sortiere absteigend nach Version if (is_array ($regSammler)) { krsort ($regSammler); } $zhlZaehler = 0; if (is_array ($regSammler)) foreach ($regSammler as $Pfad) if (++$zhlZaehler > $zhlVersionen) // überzählige Dateien löschen { fncDatei ("fdtEntfernen.", array ($Pfad)); } unset ($regSammler); unset ($regDateien); } } break; case "rdnExklusivname": { /* E - nur Endung beachten H - Ergebnis im Hexadezimalcode N - nur Dateinamen beachten + liefern */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($rdnOrdner, $zhlStellen, $txtVorspann) = $Parameter; unset ($Parameter); if (!$zhlStellen) { $zhlStellen = 7; } if (mb_strstr ($Optionen, "N")) // nur Dateinamen beachten + liefern { $optDtNamen = "N"; } elseif (mb_strstr ($Optionen, "E")) // nur Dateiendungen beachten + liefern { $optDtNamen = "E"; } else { $optDtNamen = "D"; } $regDtNamen = fncOrdner ("rdnVerzeichnis." . $optDtNamen, array ($rdnOrdner)); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "regDtNamen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (is_dir ($rdnOrdner)) { $zhlMin = "1"; $zhlMax = "9"; for ($Z = 2; $Z <= $zhlStellen; $Z++) // Stellen { $zhlMin .= "0"; $zhlMax .= "9"; } $zhlMin /= 1; $zhlMax /= 1; for ($Z = 0; $Z < 999; $Z++) // Versuche { $zhlZufall = fncZahl ("zhlZufall", array ($zhlMin, $zhlMax)); if (mb_strstr ($Optionen, "H")) // Ergebnis im Hexadezimalcode { $zhlZufall = dechex ($zhlZufall); } $tmpDtName = $txtVorspann . $zhlZufall; if (!isset ($regDtNamen[$tmpDtName]) or !$regDtNamen[$tmpDtName]) { $Ergebnis = $tmpDtName; break; } } } # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); unset ($regDtNamen); } break; case "rdnLeeren": { /* I - index.html nicht löschen */ list ($rdnOrdner) = $Parameter; unset ($Parameter); $regVerzeichnis = fncOrdner ("rdnVerzeichnis.D" . $Optionen, array ($rdnOrdner)); $Ergebnis = true; if (is_array ($regVerzeichnis)) foreach ($regVerzeichnis as $Datei) if (!fncDatei ("fdtEntfernen.", array ($rdnOrdner . $Datei))) { $Ergebnis = false; } unset ($regVerzeichnis); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "rdnLeeren"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regVerzeichnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "rdnVerzeichnis": { /* D - Dateien E - nur Endungen I - index.html nicht liefern N - nur Dateinamen O - Ordner */ list ($rdnOrdner) = $Parameter; unset ($Parameter); $Ergebnis = array (); if (is_dir ($rdnOrdner)) { $hndOrdner = opendir ($rdnOrdner); while (($dtnEintrag = readdir ($hndOrdner)) != "") { $pfdEintrag = $rdnOrdner . $dtnEintrag; if (mb_strstr ($Optionen, "D")) // Dateien { if (!mb_strstr ($Optionen, "I") or mb_strstr ($Optionen, "I") and $dtnEintrag != "index.html") if (is_file ($pfdEintrag)) { $Ergebnis[$dtnEintrag] = $dtnEintrag; } } elseif (mb_strstr ($Optionen, "E")) // nur Endungen { if (is_file ($pfdEintrag)) { $dtnEndung = fncDatei ("fdtZerlegePfad.E", array ($pfdEintrag)); $Ergebnis[$dtnEndung] = $dtnEndung; } } elseif (mb_strstr ($Optionen, "N")) // nur Dateienamen { if (is_file ($pfdEintrag)) { $dtnName = fncDatei ("fdtZerlegePfad.N", array ($pfdEintrag)); $Ergebnis[$dtnName] = $dtnName; } } # Ordner if (mb_strstr ($Optionen, "O")) if (is_dir ($pfdEintrag) and $dtnEintrag != "." and $dtnEintrag != "..") { $Ergebnis[($dtnEintrag . "/")] = $dtnEintrag . "/"; } } closedir ($hndOrdner); } # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "rdnVerzeichnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regVerzeichnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; } return $Ergebnis; } function fncDatei ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "fdtGroesse": { list ($pfdDatei) = $Parameter; unset ($Parameter); $Ergebnis = @filesize ($pfdDatei); } break; case "fdtVersion": { list ($pfdDatei) = $Parameter; unset ($Parameter); $Ergebnis = @filemtime ($pfdDatei); } break; case "fdtZerlegePfad": { /* D - Datei E - Endung N - Dateiname O - Ordner */ list ($pfdDatei) = $Parameter; unset ($Parameter); # extrahiere Ordner $regTeile = explode ("/", $pfdDatei); if (is_array ($regTeile)) { $Datei = array_pop ($regTeile); $Ordner = implode ("/", $regTeile) . "/"; } unset ($regTeile); if (mb_strstr ($Optionen, "O")) // Ordner { $Ergebnis = $Ordner; } elseif (mb_strstr ($Optionen, "D")) // Datei { $Ergebnis = $Datei; } else { # extrahiere Dateiname/Endung $regTeile = explode (".", $Datei); if (is_array ($regTeile)) { $Endung = array_pop ($regTeile); $Dateiname = implode (".", $regTeile); } unset ($regTeile); if (mb_strstr ($Optionen, "N")) // Dateiname { $Ergebnis = $Dateiname; } elseif (mb_strstr ($Optionen, "E")) // Endung { $Ergebnis = $Endung; } } } break; case "fdtEntfernen": { list ($pfdDatei) = $Parameter; unset ($Parameter); if (@unlink ($pfdDatei)) { $Ergebnis = true; } else { $Ergebnis = false; } } break; case "fdtSchreiben": { /* B - Backup */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($pfdDatei, $mltInhalte, $rdnBackup, $ndgExklusiv, $zhlVersionen) = $Parameter; unset ($Parameter); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "B")) // mit Backup { # extrahiere Dateiname $nmDatei = fncDatei ("fdtZerlegePfad.N", array ($pfdDatei)); # exklusiven Dateinamen für Archivdatei festlegen $dtExklusiv = $nmDatei . "." . $ndgExklusiv; # Datei schreiben if (!is_file ($pfdDatei) or fncDatei ("fdtKopieren.", array ($pfdDatei, $rdnBackup . $dtExklusiv))) // kopiere letzte Version der Datei (wenn sie existiert) ins Archiv if (fncDatei ("fdtSchreiben.", array ($pfdDatei, $mltInhalte))) // überschreibe die aktuelle Datenbank { $Ergebnis = true; } else { $Ergebnis = false; } # Archiv bereinigen fncOrdner ("rdnAufraeumen", array ($rdnBackup, $zhlVersionen, $nmDatei)); } else // ohne Backup { # Inhalte vobereiten if (is_array ($mltInhalte)) { $txtInhalte = implode ("\n", $mltInhalte); unset ($mltInhalte); } else { $txtInhalte = $mltInhalte; } $txtInhalte .= "\n"; # Datei schreiben if ($hndDatei = @fopen ($pfdDatei, "w")) if (@fwrite ($hndDatei, $txtInhalte)) { @fclose ($hndDatei); $Ergebnis = true; } else { $Ergebnis = false; } } } break; case "fdtKopieren": { list ($pfdOriginal, $pfdDuplikat) = $Parameter; unset ($Parameter); if (@copy ($pfdOriginal, $pfdDuplikat)) { $Ergebnis = true; } else { $Ergebnis = false; } } break; } return $Ergebnis; } function fncBild ($AktOpt, $Parameter) { /* bldEntfernen $Ob = fncBild ("bldEntfernen", array ($rdnBilder, $dtnBild)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "bldEntfernen": { list ($rdnBilder, $dtnBild) = $Parameter; unset ($Parameter); # Original entfernen if (fncDatei ("fdtEntfernen.", array ($rdnBilder . $dtnBild))) { $Ergebnis = true; } else { $Ergebnis = false; } # Miniaturen entfernen // $lstVerzeichnis = fncOrdner ("rdnVerzeichnis", array ($rdnBilder)); // if (is_array ($lstVerzeichnis)) foreach ($lstVerzeichnis as $rdnOrdner) // { // fncDatei ("fdtEntfernen.", array ($rdnBilder . $rdnOrdner . $dtnBild)); // } // unset ($lstVerzeichnis); } break; } return $Ergebnis; } function fncFeld ($AktOpt, $Vorgaben, $Parameter) { /* */ $Ergebnis = ""; list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "dtfEinheit": { list ($datDatenbank, $fldFeld, $wrtWert) = $Parameter; unset ($Parameter); # var $txtEinheiten =""; if ($txtEinheiten = fncVorgaben ($Vorgaben, "Et_" . $datDatenbank . "_" . $fldFeld)) // wenn Einheiten in Vorgaben überschrieben wurden { } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["Einheiten"][$fldFeld])) { $txtEinheiten = $Vorgaben["Data"][$datDatenbank][0]["Einheiten"][$fldFeld]; } if ($txtEinheiten) { list ($vkbSingular, $vkbPlural, $vkbNull) = explode ("|", $txtEinheiten . "||"); $Ergebnis = fncText ("ftxEinheit", array ($wrtWert, fncPhrase ($Vorgaben, array ($vkbSingular)), fncPhrase ($Vorgaben, array ($vkbPlural)), fncPhrase ($Vorgaben, array ($vkbNull)))); } unset ($Vorgaben); } break; case "dtfMinMax": { list ($datDatenbank, $fldFeld) = $Parameter; unset ($Parameter); switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld))) { case "dftBetrag": case "dftZahl": { if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $ID => $tmp) { unset ($tmp); $Z = 0; if (fncDatensatz ("DsAktiv.FZ", $Vorgaben, array ($datDatenbank, $ID))) { if (!$Z++) // Startwerte setzen { $Vorgaben["Data"][$datDatenbank][0]["wrtMin"][$fldFeld] = $Vorgaben["Data"][$datDatenbank][$ID][$fldFeld]; $Vorgaben["Data"][$datDatenbank][0]["wrtMax"][$fldFeld] = $Vorgaben["Data"][$datDatenbank][$ID][$fldFeld]; } else { if ($Vorgaben["Data"][$datDatenbank][$ID][$fldFeld] < $Vorgaben["Data"][$datDatenbank][0]["wrtMin"][$fldFeld]) { $Vorgaben["Data"][$datDatenbank][0]["wrtMin"][$fldFeld] = $Vorgaben["Data"][$datDatenbank][$ID][$fldFeld]; } if ($Vorgaben["Data"][$datDatenbank][$ID][$fldFeld] > $Vorgaben["Data"][$datDatenbank][0]["wrtMax"][$fldFeld]) { $Vorgaben["Data"][$datDatenbank][0]["wrtMax"][$fldFeld] = $Vorgaben["Data"][$datDatenbank][$ID][$fldFeld]; } } } } } break; } $Ergebnis = $Vorgaben; } break; case "dtfNullwert": { /* K - Klammern, wenn leer [ ] P - gelieferter Nullwert hat Priotät R - Rohwert */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbankSprache, $idID, $fldFeld, $txtNullwert) = $Parameter; unset ($Parameter); list ($datDatenbank, $Sprache) = explode ("|", $datDatenbankSprache . "|"); # Debug // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})) $FeldTyp = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)); if ($txtNullwert and mb_strstr ($Optionen, "P")) { $Ergebnis = $txtNullwert; } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["NllWrtUmleitungen"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["NllWrtUmleitungen"][$fldFeld]) { # in der Spalte Nullwerte sind evtl. mehrere Möglichkeiten aufgeführt $regNullwerte = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["NllWrtUmleitungen"][$fldFeld]); # Debug // //$dbgVariable = "___NllWrtUmleitungen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regNullwerte"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # gehe die Möglichkeiten durch $obGefunden = 0; if (is_array ($regNullwerte)) foreach ($regNullwerte as $Nullwert) if (!$obGefunden) { list ($datQuelle, $idQuelle, $fldQuelle, $fldSprache) = explode (",", $Nullwert . ",,,"); # finde Quelldatenbank und Quelldatensatz if ($datQuelle == "crr") { $datQuelle = $datDatenbank; } if ($idQuelle == "crr") { $idQuelle = $idID; } elseif ($idQuelle == "1") { $idQuelle = "1"; } elseif (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $idQuelle))) { $idQuelle = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $idQuelle)); } # finde angeforderte Sprache if ($fldSprache) if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldSprache])) { $Sprache = $Vorgaben["Data"][$datDatenbank][$idID][$fldSprache]; } else { $Sprache = 0; } if (!$Sprache) { $Sprache = $Vorgaben["curLang"]; } # Rohwert angefordert? if (mb_strstr ($Optionen, "R")) { $optWert = "R"; } else { $optWert = ""; } $Ergebnis = fncFeld ("dtfWert.N" . $Optionen . $optWert, $Vorgaben, array ($datQuelle . "|" . $Sprache, $idQuelle, $fldQuelle)); if ($Ergebnis) { $obGefunden = 1; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "K")) if ($Ergebnis) { $Ergebnis = "[" . $Ergebnis . "]"; } else { $Ergebnis = "[              ]"; } } unset ($regNullwerte); } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld]) { // echo "yip".$Ergebnis; // if (!mb_strstr ($Optionen, "R")) // Phrase nur liefern, wenn KEIN Rohwert angefordert wurde // { switch ($FeldTyp) { case "dftDatum": { } break; default: { $Ergebnis = fncPhrase ($Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld], "", $Sprache)); # im Portal geholte Werte in eckigen Klammern, außer Rohwerte if ($Vorgaben["curModul"]) // im Portal geholte Werte in eckigen Klammern if (!mb_strstr ($Optionen, "R")) { $Ergebnis = "[" . $Ergebnis . "]"; } } break; } // } } elseif ($txtNullwert) { $Ergebnis = $txtNullwert; } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["obLmnDb"]) and $Vorgaben["Data"][$datDatenbank][0]["obLmnDb"] and $fldFeld == "Inhalt") // Elemente-DB? Inhaltsfeld? --> dann flexibler Nullwert { switch ($Vorgaben["Data"][$datDatenbank][$idID]["Type"]) { case "lmnCvd": // in dtfNullwert case "lmnCvc": // in dtfNullwert case "lmnCve": // in dtfNullwert case "lmnCvf": // in dtfNullwert case "lmnCvg": // in dtfNullwert case "lmnCvh": // in dtfNullwert case "lmnCvi": // in dtfNullwert case "lmnCvj": // in dtfNullwert { $Ergebnis = "[" . fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "Referenz")) . "]"; } break; } // $Ergebnis .= "123"; if (mb_strstr ($Optionen, "K")) if (fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { $Ergebnis = "[              ]"; } else { $Ergebnis = ""; } } else switch ($FeldTyp) { case "dftBild": // in dtfNullwert { } break; case "dftZahl": // in dtfNullwert { $Ergebnis = funZahl ("Formatieren.DE", $Vorgaben, array (0)); } break; case "dftBetrag": // in dtfNullwert { $Ergebnis = funZahl ("Formatieren.DE.2", $Vorgaben, array (0)); } break; default: { if (mb_strstr ($Optionen, "K")) if (fncFeld ("dtfObRechte.AS", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { $Ergebnis = "[              ]"; } else { $Ergebnis = ""; } } break; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); unset ($Vorgaben); } break; case "dtfWert": { /* wird_durchgereicht_1 A - als ANSII ausgeben E - mit Einheit G - in Gänsefüßchen, wenn Wert K - in Klammern, wenn leer oder bezogener Nullwert N - Nullwert, Datenbank-Nullwert hat Priotät P - gelieferter Nullwert hat Priotät R - Rohwert, wie in Datenbank abgelegt S - Spezielles Anzeigeformat V - mit Vorspann X - XML Format --- D - ins Datenbankformat schreiben U - umbrochener Unix-Text F - fließender Unix-Text H - HTML-umbrochener Text L - mit Leerzeilen, spziell für Feld Inhalt in datNhDetails/datDesign */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $idID, $fldFeld, $txtNullwert, $txtFormat, $zchEinklammern) = $Parameter; unset ($Parameter); list ($datDatenbank, $Sprache) = explode ("|", $datDatenbank . "|"); if (!$Sprache) if (isset ($Vorgaben["curLang"])) { $Sprache = $Vorgaben["curLang"]; } $FeldTyp = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)); $opOptionen = ""; if (mb_strstr ($Optionen, "F")) // fließender Unix-Text { $opOptionen = "F"; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$fldFeld])) { if (isset ($Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]][($Sprache . "|" . $idID . "|" . $fldFeld)]["Wert"])) { $dbWert = $Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]][($Sprache . "|" . $idID . "|" . $fldFeld)]["Wert"]; } else { $dbWert = ""; } } elseif (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld])) { $dbWert = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; } else { $dbWert = ""; } $obRohwert = 0; if (mb_strstr ($Optionen, "R")) // Rohwert { $Ergebnis = $dbWert; $obRohwert = 1; } else switch ($FeldTyp) { default: { $Ergebnis = strval ($dbWert); } break; case "dftFormular": // in dtfWert { $Ergebnis = $Vorgaben["regFormulare"][($dbWert / 1)]; } break; case "dftTelefon": // in dtfWert { $Ergebnis = fncText ("ftxTelefon", array ($dbWert, $Vorgaben["curLang"])); } break; case "dftNeuigkeit": // in dtfWert case "dftTermin": // in dtfWert case "dftKuenstler": // in dtfWert case "dftBeitrag": // in dtfWert case "dftDokument": // in dtfWert case "dftProdukt": // in dtfWert case "dftReferenz": // in dtfWert case "dftKunde": // in dtfWert case "dftPartner": // in dtfWert case "dftJob": // in dtfWert case "dftMitarbeiter": // in dtfWert { switch ($FeldTyp) { case "dftNeuigkeit": // in dtfWert { $dbQuelle = "xdbPwKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("keine")); } break; case "dftTermin": // in dtfWert { $dbQuelle = "xdbTmKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftKuenstler": // in dtfWert { $dbQuelle = "xdbKnKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftBeitrag": // in dtfWert { $dbQuelle = "xdbChKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftDokument": // in dtfWert { $dbQuelle = "xdbDkKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftProdukt": // in dtfWert { $dbQuelle = "xdbKtKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftReferenz": // in dtfWert { $dbQuelle = "xdbRfKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("keine")); } break; case "dftKunde": // in dtfWert { $dbQuelle = "xdbKdKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftPartner": // in dtfWert { $dbQuelle = "xdbPrKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftJob": // in dtfWert { $dbQuelle = "xdbJbKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; case "dftMitarbeiter": // in dtfWert { $dbQuelle = "xdbMtKp"; $txtNullwert = fncPhrase ($Vorgaben, array ("kein")); } break; } $Ergebnis = fncFeld ("dtfWert.N", $Vorgaben, array ($dbQuelle . "|" . $Sprache, $dbWert, "Titel")); } break; case "dftMenu": // in dtfWert { if (isset ($Vorgaben["Data"]["xdbNhKp"][$dbWert]["Menu"])) { $Ergebnis = $Vorgaben["Data"]["xdbNhKp"][$dbWert]["Menu"]; } if (!$txtNullwert) { $txtNullwert = "kein"; } if (!$Ergebnis) { $Ergebnis = "[?????]"; } } break; case "dftDbAuswahl": // in dtfWert { list ($dbQuelle, $flQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]); $Ergebnis = fncFeld ("dtfWert.N" . $opOptionen, $Vorgaben, array ($dbQuelle . "|" . $Sprache, $dbWert, $flQuelle)); } break; case "dftRgAuswahl": // in dtfWert { list ($rgQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]); if (isset ($Vorgaben["Data"][$rgQuelle][$dbWert])) { $Ergebnis = $Vorgaben["Data"][$rgQuelle][$dbWert]; } if (!$txtNullwert) { $txtNullwert = "kein"; } if (!$Ergebnis) { $Ergebnis = "[?????]"; } } break; case "dftDbOptionen": // in dtfWert { $tmpIDs = explode ("|", $dbWert); $tmpAusgabe = array (); list ($dbQuelle, $flQuelle) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld]); if (is_array ($tmpIDs)) foreach ($tmpIDs as $tmpID) if ($tmpID) { $tmpAusgabe[] = fncFeld ("dtfWert.E", $Vorgaben, array ($dbQuelle . "|" . $Sprache, $tmpID, $flQuelle)); } $Ergebnis = implode (", ", $tmpAusgabe); unset ($tmpAusgabe); unset ($tmpIDs); } break; case "dftOptionen": // in dtfWert { $tmpIDs = explode (",", $dbWert); $obIDs = array (); if (is_array ($tmpIDs)) foreach ($tmpIDs as $tmpID) if ($tmpID) { $obIDs[$tmpID] = 1; } $tmpAusgabe = array (); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"] as $tmpID => $tmpWert) if ($obIDs[$tmpID]) { $tmpAusgabe[] = $tmpWert; } if (is_array ($tmpAusgabe)) { $Ergebnis = implode (", ", $tmpAusgabe); } if (!$Ergebnis) { if ($Nullwert = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"][0]) { $Ergebnis = $Nullwert; } else { $Ergebnis = "kein"; } } # Debug // //$dbgVariable = "tmpIDs"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "debKomAus"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "tmpAusgabe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "dftDownload": // in dtfWert { $Ergebnis = $dbWert; // $regAuswahl["0"] = fncPhrase ($Vorgaben, array ("keine")); if (!$txtNullwert) { $txtNullwert = "keine"; } } break; case "dftText": // in dtfWert case "dftTxtfeld": // in dtfWert { $Ergebnis = fncText ("ftxWandeln." . $Optionen, array ($dbWert)); } break; case "dftDatum": // in dtfWert { if (mb_strstr ($Optionen, "S")) { $Ergebnis = fncDatum ("dtmAusgabe", array ($dbWert, $txtFormat, $Vorgaben)); } else { $Ergebnis = fncDatum ("dtmAusgabe", array ($dbWert, $Vorgaben["Data"][$datDatenbank][0]["dtmFormate"][$fldFeld])); } } break; case "dftUhrzeit": // in dtfWert { if (mb_strstr ($Optionen, "S")) { $Ergebnis = fncUhrzeit ("hrzAusgabe", array ($dbWert, $txtFormat)); } else { $Ergebnis = fncUhrzeit ("hrzAusgabe", array ($dbWert, $Vorgaben["Data"][$datDatenbank][0]["hrzFormate"][$fldFeld])); } } break; case "dftBetrag": { $Ergebnis = funZahl ("Formatieren.DE.2", $Vorgaben, array ($dbWert)); } break; case "dftZahl": { $Ergebnis = funZahl ("Formatieren.DE", $Vorgaben, array ($dbWert)); } break; case "dftSprache": { if ($Vorgaben["Data"]["regLangDE"][$dbWert]) { $Ergebnis = $Vorgaben["Data"]["regLangDE"][$dbWert]; } else { $Ergebnis = "[?????]"; } } break; case "dftOnOff": { if (isset ($Vorgaben["Data"]["regOnOff"][$dbWert]) and $Vorgaben["Data"]["regOnOff"][$dbWert]) { $Ergebnis = $Vorgaben["Data"]["regOnOff"][$dbWert]; } else { $Ergebnis = "[?????]"; } } break; case "dftHierarchie": { $Ergebnis = $Vorgaben["Data"][$datDatenbank][$idID]["+klr" . $fldFeld]; } break; case "dftAuswahl": // wird abgeschafft { if (isset ($Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"][$dbWert]) and $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"][$dbWert]) { $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$fldFeld]["regGesAuswahl"][$dbWert]; } else { $Ergebnis = "[?????]"; } } break; case "dftOb": { if (mb_strstr ($Optionen, "X")) { $nmRegister = "regObXML"; } else { $nmRegister = "regOb"; } if ($dbWert) { $Ergebnis = $Vorgaben["Data"][$nmRegister][1]; } else { $Ergebnis = $Vorgaben["Data"][$nmRegister][0]; } } break; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # expliziter Nullwert? if (mb_strstr ($Optionen, "N")) if (!$dbWert) // if (!$Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld] and !$dbWert or $Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldFeld]) switch ($FeldTyp) { default: { # Nullwert wie folgt: if (!$obRohwert and isset ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld] and !fncFeld ("dtfNullwert.R", $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld))) // wenn Rohwert angefordert UND in DbTypen ein Nullwert steht UND kein Rohwert zu holen ist, { // $Ergebnis = "[" . fncPhrase ($Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld], $Sprache)) . "]"; // dann nimm Nullwert aus DbTypen if (mb_strstr ($Optionen, "P")) // gelieferter Nullwert mit Priorität { $Ergebnis = $txtNullwert; // dann nimm gelieferten Nullwert } else { $Ergebnis = fncPhrase ($Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld], "", $Sprache)); // dann nimm Nullwert aus DbTypen //debug ('dann nimm Nullwert aus DbTypen'); //$d_nullwert = $Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$fldFeld]; // $_d = '$d_nullwert'; debugVariable ($_d = substr ($_d, 1), $$_d); } if (isset ($Vorgaben["curModul"]) and $Vorgaben["curModul"] and mb_strstr ($Optionen, "K")) // im Portal geholte Werte in eckigen Klammern { $Ergebnis = "[" . $Ergebnis . "]"; } } else // sonst Nullwert holen { $Ergebnis = fncFeld ("dtfNullwert." . $Optionen, $Vorgaben, array ($datDatenbank . "|" . $Sprache, $idID, $fldFeld, $txtNullwert)); } } break; case "dftHierarchie": // Nullwert nicht verändern case "dftFormular": // Nullwert nicht verändern { } break; } # mit Einheit? if (mb_strstr ($Optionen, "E")) { $txtEinheit = fncFeld ("dtfEinheit", $Vorgaben, array ($datDatenbank, $fldFeld, $Ergebnis)); if ($txtEinheit) { $Ergebnis .= " " . $txtEinheit; } } if (isset ($Vorgaben["Data"][$datDatenbank][0]["Anhaenge"][$fldFeld])) { $Ergebnis .= $Vorgaben["Data"][$datDatenbank][0]["Anhaenge"][$fldFeld]; // Anhang ohne Leerzeichen } # in Gänsefüßchen? if (mb_strstr ($Optionen, "G")) if ($Ergebnis) { $Ergebnis = "»" . $Ergebnis . "«"; } # Vorspann? if (mb_strstr ($Optionen, "V")) if (isset ($Vorgaben["Data"][$datDatenbank][0]["Vorspaenne"][$fldFeld])) if ($Vorgaben["Data"][$datDatenbank][0]["Vorspaenne"][$fldFeld]) { $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["Vorspaenne"][$fldFeld] . " " . $Ergebnis; } # ANSI? if (mb_strstr ($Optionen, "A")) if ($Ergebnis) { $Ergebnis = utf8_decode ($Ergebnis); } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); unset ($Vorgaben); } break; case "dtfBezeichner": { /* T- Tonne K- kurz (Standard) L - lang */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $fldFeld, $idID, $zhlIndize) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "T")) { switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"], $idID))) { case "dftBild": { $txtInhalt = ""; } break; default: { if (fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"]))) { $txtInhalt = " " . fncFeld ("dtfWert.FEG", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"])); } else { $txtInhalt = ""; } } break; } if (mb_strstr ($Optionen, "L")) { if (isset ($Vorgaben["Data"][$datDatenbank][0]["Tonne"]["lngBezeichner"][$idID]) and $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["lngBezeichner"][$idID]) { $lngBezeichner = $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["lngBezeichner"][$idID]; } else { $lngBezeichner = $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["lngBezeichner"][0]; } $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["pfxFrage"] . " " . $lngBezeichner . $txtInhalt . " " . $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["sfxFrage"]; } else // K (Standard) { if (isset ($Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][$idID]) and $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][$idID]) { $krzBezeichner = $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][$idID]; } else { $krzBezeichner = $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][0]; } $Ergebnis = $krzBezeichner . $txtInhalt . " löschen"; } } else { $zhlIndize /= 1; if ($zhlIndize < 2 and $Ergebnis = fncVorgaben ($Vorgaben, "Bz_" . $datDatenbank . "_" . $fldFeld . '.N')) // wenn Bezeichner in Vorgaben überschrieben wurde { } else // Standardbezeichner aus DbTypen { if ($zhlIndize < 2) { $zhlIndize = ""; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner" . $zhlIndize][$fldFeld][$idID]) and $Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner" . $zhlIndize][$fldFeld][$idID]) { $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner" . $zhlIndize][$fldFeld][$idID]; } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner" . $zhlIndize][$fldFeld][0])) { $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner" . $zhlIndize][$fldFeld][0]; } } } unset ($Vorgaben); } break; case "dtfObRechte": { /* A - ob änderbar F - ob Filter in Symbolleiste sichtbar S - ob sichtbar */ // echo 'RECHTE
'; if (mb_strstr ($Optionen, "F")) // Filter in Symbolleiste sichtbar? { $Parameter[] = ""; $Parameter[] = ""; list ($knnSymbolleiste, $varFilter) = $Parameter; unset ($Parameter); $Ergebnis = true; if (isset ($Vorgaben["Benutzer"]["VersteckteFilter"][$knnSymbolleiste][$varFilter])) if ($Vorgaben["Benutzer"]["VersteckteFilter"][$knnSymbolleiste][$varFilter]) { $Ergebnis = false; } unset ($Vorgaben); } else { $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $txtFelder, $idID) = $Parameter; unset ($Parameter); $regFelder = explode ("|", $txtFelder); // $Vorgaben["curModul"] = $Vorgaben["curModul"]; $Ergebnis = true; # debug // echo '|'.$datDatenbank.'|'.$txtFelder.'|'.$idID.'|
'; if (is_array ($regFelder)) foreach ($regFelder as $fldFeld) { if (mb_strstr ($Optionen, "S")) { # nicht in DBTypen definiert? if (!isset ($Vorgaben["Data"][$datDatenbank][0]["ObSichtbar"][$fldFeld]) or !$Vorgaben["Data"][$datDatenbank][0]["ObSichtbar"][$fldFeld]) { $Ergebnis = false; } # Beschränkung durch versteckte Felder? if ((isset ($Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$fldFeld]) and $Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$fldFeld]) or (isset ($Vorgaben["Benutzer"]["VersteckteFremdFelder"][$datDatenbank][$fldFeld]) and $Vorgaben["Benutzer"]["VersteckteFremdFelder"][$datDatenbank][$fldFeld] and $idID != $Vorgaben["Benutzer"]["BenutzerID"])) { $Ergebnis = false; } } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "A")) { # Sesame beschränken?Sesame darf nur Nachname, Benutzer, und Rechte ändern if ($Vorgaben["Benutzer"]["Level"] == 4 and $datDatenbank == "datMitarbeiter" and $fldFeld != "Nachname" and $fldFeld != "Benutzer" and $fldFeld != "Rechte") { $Ergebnis = false; } if (isset ($Vorgaben["Benutzer"]["NurLesenModule"][$Vorgaben["curModul"]]) and $Vorgaben["Benutzer"]["NurLesenModule"][$Vorgaben["curModul"]] and !$Vorgaben["Benutzer"]["ErlaubteFelder"][$Vorgaben["curModul"]][$fldFeld]) { $Ergebnis = false; } if (isset ($Vorgaben["Benutzer"]["NurLesenFelder"][$Vorgaben["curModul"]][$fldFeld]) and $Vorgaben["Benutzer"]["NurLesenFelder"][$Vorgaben["curModul"]][$fldFeld]) { $Ergebnis = false; } if ($idID != $Vorgaben["Benutzer"]["BenutzerID"] and (isset ($Vorgaben["Benutzer"]["NurLesenFremdFelder"][$Vorgaben["curModul"]][$fldFeld]) and $Vorgaben["Benutzer"]["NurLesenFremdFelder"][$Vorgaben["curModul"]][$fldFeld] or isset ($Vorgaben["Benutzer"]["NurLesenModuleWennFremd"][$Vorgaben["curModul"]]) and $Vorgaben["Benutzer"]["NurLesenModuleWennFremd"][$Vorgaben["curModul"]])) { $Ergebnis = false; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["GesperrteFelder"][$idID][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["GesperrteFelder"][$idID][$fldFeld]) { $Ergebnis = false; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # änderbar lt. DBTypen? if (!$Vorgaben["Data"][$datDatenbank][0]["ObAenderbar"][$fldFeld]) { $Ergebnis = false; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["NurLesen"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["NurLesen"][$fldFeld]) { $Ergebnis = false; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) // hier ermitteln, ob änderbar { case "dftMultiSwitch": // Klickfelder case "dftSymbol": case "dftSymbol2": case "dftBewertung": case "dftKalender": case "dftBKalender": case "dftStatus": case "dftKennwort": case "dftExklusiv": case "dftOb": case "dftReihenfolge": { if ($Ergebnis and !$_REQUEST["OpenCoord"]) // Symbol nur klickbar, wenn kein anderes Feld offen! { $Ergebnis = true; } else { $Ergebnis = false; } } break; case "dftTonne": // Sonderfelder { if ($Ergebnis and (!isset ($Vorgaben["Data"][$datDatenbank][$idID]["ObFix"]) or !$Vorgaben["Data"][$datDatenbank][$idID]["ObFix"])) { $Ergebnis = true; } else { $Ergebnis = false; } } break; } } } unset ($regFelder); unset ($Vorgaben); } } break; case "dtfFeldtyp": { $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $fldFeld, $idID, $zhlIndize) = $Parameter; unset ($Parameter); // //$dbgVariable = "___dtfFeldtyp___"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $zhlIndize /= 1; if ($zhlIndize < 2) { $zhlIndize = ""; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["FeldTypen" . $zhlIndize][$fldFeld][$idID])) { $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["FeldTypen" . $zhlIndize][$fldFeld][$idID]; } elseif (isset ($Vorgaben["Data"][$datDatenbank][0]["FeldTypen" . $zhlIndize][$fldFeld][0])) { $Ergebnis = $Vorgaben["Data"][$datDatenbank][0]["FeldTypen" . $zhlIndize][$fldFeld][0]; } unset ($Vorgaben); } break; } return $Ergebnis; } function fncAltRegister ($Aktion, $Vorgaben, $Parameter) // wird abgelöst { /* MISCHEN - Register1 überschreibt ggf. Register2 $regRegister = fncAltRegister ("Mischen", $Vorgaben, array ($regRegister1, $regRegister2)); ZIEHEN $regRegister = fncAltRegister ("Ziehen", $Vorgaben, array ($datDatenbank, $felVorgabe:Art, $felWert:Art, $ObNullWert)); SORTIEREN $regRegister = fncAltRegister ("Sortieren", $Vorgaben, array ($regRegister, $ObVokabeln, $ObAbsteigend)); $regRegister = fncAltRegister ("Sortieren.N", $Vorgaben, array ($regRegister, $ObVokabeln, $ObAbsteigend)); - neu: mit Optionen, Z = als Zahlen, A = Absteigend, C = Chiffre, N = Nullwert erhalten (wird an den Anfang gesetzt) U = Unsortiert --> entfernt überflüssige Gruppierer X = bedeutet automatisch N und U mit der Ergänzung, daß Nullwert an Originalposition erhalten bleibt (statt am Anfang) K = Sonderfall: sortieren nach Schlüsseln $regRegister = fncAltRegister ("Sortieren.NZACU", $Vorgaben, array ($regRegister, $regChiffre)); */ list ($Aktion1, $Aktion2) = explode (".", $Aktion . "."); switch ($Aktion1) { case "Mischen": { $Parameter[] = ""; $Parameter[] = ""; list ($regRegister1, $regRegister2) = $Parameter; unset ($Parameter); $regRegister = array (); if (is_array ($regRegister2)) foreach ($regRegister2 as $Vorgabe => $Wert) { $regRegister[$Vorgabe] = $Wert; } if (is_array ($regRegister1)) foreach ($regRegister1 as $Vorgabe => $Wert) { $regRegister[$Vorgabe] = $Wert; } $Ergebnis = $regRegister; unset ($regRegister); unset ($regRegister1); unset ($regRegister2); } break; case "Ziehen": // wird abgelöst $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($datDatenbank, $felVorgabeArt, $felWertArt, $ObNullWert) = $Parameter; unset ($Parameter); list ($felVorgabe, $VorgabeArt) = explode (":", $felVorgabeArt . ":"); list ($felWert, $WertArt) = explode (":", $felWertArt . ":"); $regRegister = array (); if ($ObNullWert) { $regRegister[0] = $ObNullWert; $regRegister["~0"] = "---------------------"; } if (is_array ($Vorgaben["Data"][$datDatenbank])) foreach ($Vorgaben["Data"][$datDatenbank] as $ID => $X) if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]])) if ($Vorgaben["Data"][$datDatenbank][$ID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$felVorgabe]) and $Vorgaben["Data"][$datDatenbank][$ID][$felVorgabe]) { switch (mb_strtoupper ($VorgabeArt)) { default: $Vorgabe = $Vorgaben["Data"][$datDatenbank][$ID][$felVorgabe]; break; case "GROSS": $Vorgabe = mb_strtoupper ($Vorgaben["Data"][$datDatenbank][$ID][$felVorgabe]); break; // case "SCHATTEN": // $Vorgabe = fncText ("ftxSchattenwert.U", array ($Vorgaben["Data"][$datDatenbank][$ID][$felVorgabe])); // break; } switch (mb_strtoupper ($WertArt)) { default: if (isset ($Vorgaben["Data"][$datDatenbank][$ID][$felWert])) { $Wert = $Vorgaben["Data"][$datDatenbank][$ID][$felWert]; } else { $Wert = ""; } break; case "TYP": // echo 2; $Wert = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $ID, $felWert)); break; // case "SCHATTEN": // $Wert = fncText ("ftxSchattenwert.U", array ($Vorgaben["Data"][$datDatenbank][$ID][$felWert])); // break; } $regRegister[$Vorgabe] = $Wert; } $Ergebnis = $regRegister; unset ($regRegister); break; case "Sortieren": // wird abgelöst $Parameter[] = ""; list ($regRegister, $regChiffre) = $Parameter; # Optionen $Optionen = $Aktion2; $ObNullwertErhalten = $ObAbsteigend = $ObChiffre = $ObZahlenwerte = $ObUnsortiert = $ObNullwertPositionUnsortiert = $ObNachSchluesseln = 0; if (mb_strstr ($Optionen, "X")) { $ObNullwertPositionUnsortiert = 1; $ObUnsortiert = 1; $ObNullwertErhalten = 1; } else { if (mb_strstr ($Optionen, "N")) { $ObNullwertErhalten = 1; } if (mb_strstr ($Optionen, "U")) { $ObUnsortiert = 1; } } if (mb_strstr ($Optionen, "C")) { $ObChiffre = 1; } if (mb_strstr ($Optionen, "Z")) { $ObZahlenwerte = 1; } if (mb_strstr ($Optionen, "A")) { $ObAbsteigend = 1; } if (mb_strstr ($Optionen, "K")) { $ObNachSchluesseln = 1; } $regSortiert = array (); $regOriginal = array (); $regSchatten = array (); // $regMerkeReihenfolge = array (); $regGruppierer = array (); // diese hier: --------------- zwischen den Einträgen, übergeben den vorhergehenden Wert if (is_array ($regRegister)) foreach ($regRegister as $ID => $Wert) { if ($ID[0] == "~") // wenn Gruppierer, dann aussortieren { $regGruppierer[mb_substr ($ID, 1)] = $Wert; } else // also Wert, d.h. kein Gruppierer { // $regMerkeReihenfolge[$ID] = $ID; if ($ObNullwertPositionUnsortiert) { $regOriginal[$ID] = $Wert; } elseif ((!$ObNullwertErhalten or $ID) and $ObChiffre) { $regOriginal[$ID] = $regChiffre[$Wert]; $regSchatten[$ID] = $regChiffre[$Wert]; } elseif (!$ObNullwertErhalten or $ID) { $regOriginal[$ID] = $Wert; $regSchatten[$ID] = $Wert; } } } # SchattenFelder bearbeiten if (is_array ($regSchatten)) foreach ($regSchatten as $ID => $Wert) { if ($ObZahlenwerte) { $regSchatten[$ID] = $Wert / 1; } else { $regSchatten[$ID] = fncText ("ftxSchattenwert", array ($Wert)); } } # Sortieren if (!$ObUnsortiert) { if ($ObAbsteigend) { if ($ObNachSchluesseln) { if (is_array ($regSchatten)) krsort ($regSchatten); } else { if (is_array ($regSchatten)) arsort ($regSchatten); } } else // Aufsteigend { if ($ObNachSchluesseln) { if (is_array ($regSchatten)) ksort ($regSchatten); } else { if (is_array ($regSchatten)) asort ($regSchatten); } } } # IDs der sortierten Schattenwerte mit Originalwerten übergeben if (!$ObNullwertPositionUnsortiert and $ObNullwertErhalten and isset ($regRegister[0])) // wenn Nullwert, dann erhalten { $regSortiert[0] = $regRegister[0]; if (isset ($regGruppierer[0])) // Gruppierer wieder einfügen if ($regGruppierer[0]) // Gruppierer wieder einfügen { $regSortiert["~0"] = $regGruppierer[0]; } } # jetzt entscheiden, welche Reihenfolge übergeben wird: # SORTIERT/UNSORTIERT, dann (un)sortierte Schattenwerte # X, also unsortiert mit Nulölwert an Originalposition, dann regMerkeReihenfolge if ($ObNullwertPositionUnsortiert) { $regEndReihenfolge = $regOriginal; } else { $regEndReihenfolge = $regSchatten; } if (is_array ($regEndReihenfolge)) foreach ($regEndReihenfolge as $ID => $X) { if (!$ID and $ObNullwertPositionUnsortiert) { } $regSortiert[$ID] = $regOriginal[$ID]; if (isset ($regGruppierer[$ID])) // Gruppierer wieder einfügen if ($regGruppierer[$ID]) // Gruppierer wieder einfügen { $regSortiert[("~" . $ID)] = $regGruppierer[$ID]; } } $Ergebnis = $regSortiert; break; } return $Ergebnis; } function fncAltMenu ($Aktion, $Vorgaben, $Parameter) { /* MARKIERTETHEMEN $MarkierteThemen = fncAltMenu ("MarkierteThemen", $Vorgaben, array ()); OBUNTERTHEMEN $ObUnterThemen = fncAltMenu ("ObUnterThemen", $Vorgaben, array ()); */ list ($Aktion1, $Aktion2) = explode (".", $Aktion . "."); switch (mb_strtoupper ($Aktion1)) { case "OBUNTERTHEMEN": // behalten { unset ($Parameter); $Ergebnis = array (); if (isset ($Vorgaben["Menu"]["ThemenHierarchie"])) if (is_array ($Vorgaben["Menu"]["ThemenHierarchie"])) foreach ($Vorgaben["Menu"]["ThemenHierarchie"] as $tmp => $PapaID) if ($PapaID) { $Ergebnis[$PapaID] = 1; } unset ($Vorgaben); } break; case "MARKIERTETHEMEN": // behalten { unset ($Parameter); $Go = $_REQUEST[PAGE]; $Ergebnis = array (); if (!$Go) // Startseite aktiv { $Ergebnis[$Go] = 1; } else while ($Go) { $Ergebnis[$Go] = 1; if (!isset ($Vorgaben["Menu"]["ThemenHierarchie"][$Go])) { $Vorgaben["Menu"]["ThemenHierarchie"][$Go] = 0; } $Go = (1 * $Vorgaben["Menu"]["ThemenHierarchie"][$Go]); } unset ($Vorgaben); } break; } return $Ergebnis; } function fncBaustein ($AktOpt, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch ($Aktion) { case "bstMeta": { /* P - Privat */ list ($mtFirma, $mtSprache, $mtSeitentitel, $mtSeitenbeschreibung, $mtSuchbegriffe, $GgID, $YhID) = $Parameter; unset ($Parameter); # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "mtFirma"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Ausgabe $HTML = array (); $HTML[] = fncHTML ("meta", array ("http-equiv", "Content-Type", "content", "text/html; charset=UTF-8")); if (mb_strstr ($Optionen, "P")) { $HTML[] = fncHTML ("meta", array ("http-equiv", "Expires", "content", "0")); $HTML[] = fncHTML ("meta", array ("http-equiv", "Pragma", "content", "private")); $HTML[] = fncHTML ("meta", array ("http-equiv", "Pragma", "content", "no-cache")); $HTML[] = fncHTML ("meta", array ("http-equiv", "Cache-Control", "content", "no-cache")); $HTML[] = fncHTML ("meta", array ("name", "robots", "content", "noindex, nofollow")); } else { $HTML[] = fncHTML ("meta", array ("http-equiv", "Language", "content", $mtSprache)); $HTML[] = fncHTML ("meta", array ("http-equiv", "DC.Language", "content", $mtSprache)); $HTML[] = fncHTML ("meta", array ("name", "robots", "content", "index, follow")); $HTML[] = fncHTML ("meta", array ("name", "DC.Format", "content", "(Scheme=IMT) text/html")); $HTML[] = fncHTML ("meta", array ("name", "author", "content", $mtFirma)); $HTML[] = fncHTML ("meta", array ("name", "DC.Creator", "content", $mtFirma)); if ($mtSuchbegriffe) { $HTML[] = fncHTML ("meta", array ("name", "keywords", "content", $mtSuchbegriffe)); $HTML[] = fncHTML ("meta", array ("name", "page-topic", "content", $mtSuchbegriffe)); $HTML[] = fncHTML ("meta", array ("name", "DC.Subject", "content", $mtSuchbegriffe)); } $HTML[] = fncHTML ("meta", array ("name", "date", "content", date ("Y-m-d"))); $HTML[] = fncHTML ("meta", array ("name", "DC.Title", "content", $mtSeitentitel)); $HTML[] = fncHTML ("meta", array ("name", "description", "content", $mtSeitenbeschreibung)); $HTML[] = fncHTML ("meta", array ("name", "DC.Description", "content", $mtSeitenbeschreibung)); if ($GgID) { $HTML[] = fncHTML ("meta", array ("name", "google-site-verification", "content", $GgID)); } if ($YhID) { $HTML[] = fncHTML ("meta", array ("name", "y_key", "content", $YhID)); } } $HTML[] = fncHTML ("meta", array ("name", "copyright", "content", "mavidesk © www.stroner.com")); $HTML[] = fncHTML ("meta", array ("name", "DC.Rights", "content", "mavidesk © www.stroner.com")); $Ergebnis = implode ("\n", $HTML); unset ($HTML); # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "bstTitle": { list ($txtTitel1, $txtTitel2) = $Parameter; unset ($Parameter); if ($txtTitel1 and $txtTitel2) { $txtTitel1 .= " - " . $txtTitel2; } elseif (!$txtTitel1 and $txtTitel2) { $txtTitel1 = $txtTitel2; } # Ausgabe $Ergebnis = fncHTML ("title.A", array ()) . $txtTitel1 . fncHTML ("title.Z", array ()); } break; case "bstHtml": { /* A - auf Z - zu */ unset ($Parameter); # Ausgabe if (mb_strstr ($Optionen, "A")) { $Ergebnis = fncHTML ("html.A", array ()); } elseif (mb_strstr ($Optionen, "Z")) { $Ergebnis = fncHTML ("html.Z", array ()); } } break; case "bstBody": { /* A - auf Z - zu */ unset ($Parameter); # Ausgabe if (mb_strstr ($Optionen, "A")) { $Ergebnis = fncHTML ("body.A", array ()); } elseif (mb_strstr ($Optionen, "Z")) { $Ergebnis = fncHTML ("body.Z", array ()); } } break; case "bstSpan": { list ($txtInhalt) = $Parameter; unset ($Parameter); $cssKlasse = ""; if (mb_strstr ($Optionen, "F")) { $cssKlasse .= " cssSystemFett"; } elseif (mb_strstr ($Optionen, "K")) { $cssKlasse .= " cssSystemKursiv"; } # Ausgabe $Ergebnis = fncHTML ("span.A", array ("class", $cssKlasse)) . $txtInhalt . fncHTML ("span.Z", array ()); } break; case "bstBldbox": { /* P - Portal L - linksbündig (sonst rechtsbündig) O - zentriert (sonst rechtsbündig) R - mit Rahmen N - nicht umfließend S - strecken > nichtproportionales Seitenverhältnis V - versetzt, d.h. das Bild bringt bringt selbst den Abstand mit: 5px 0px 2px 7px; Z - Zoom Q - quadratische Leinwand --- K - klein / sonst Original M - mittel / sonst Original G - groß / sonst Original X - Zoomgröße / sonst Original A - Aktuelle Größe B - kleiner C - noch kleiner */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($bldOrdner, $bldDatei, $bldBreite, $bldHoehe, $txtLegende) = $Parameter; unset ($Parameter); $cssBoxD = ""; $ttlLegende = ""; if (mb_strstr ($Optionen, "X")) // Anzeige im Zoom { $ttlLegende = $txtLegende; $txtLegende = ""; } # Debug // $Vorgaben["ObDebug"] = 1; // //$dbgVariable = "bldBreite"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "bldHoehe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Seitenverhältnis if (!mb_strstr ($Optionen, "S")) // also proportional { if (is_file ($bldOrdner . $bldDatei)) { list ($phsBreite, $phsHoehe) = getimagesize ($bldOrdner . $bldDatei); } else { $phsBreite = 0; $phsHoehe = 0; } if ($phsHoehe) { $phsQ = $phsBreite / $phsHoehe; } else { $phsQ = 0; } if ($bldHoehe) { $bldQ = $bldBreite / $bldHoehe; } else { $bldQ = 0; } if ($phsQ and $phsQ > $bldQ) { $bldHoehe = fncZahl ("zhlRunden", array ($bldBreite / $phsQ)); } else { $bldBreite = fncZahl ("zhlRunden", array ($bldHoehe * $phsQ)); } if ($phsBreite < $bldBreite or (!$bldBreite and !$bldHoehe)) // Bilder nicht größer als in Originalgröße zeigen { $bldBreite = $phsBreite; $bldHoehe = $phsHoehe; $brLegende = $bldBreite; } $brLegende = $bldBreite; if (mb_strstr ($Optionen, "Q")) // quadratische Leinwand { if ($bldBreite > $bldHoehe) { $pxOben = floor (($bldBreite - $bldHoehe) / 2); $pxUnten = $bldBreite - $bldHoehe - $pxOben; $stlQuadrat = " padding: " . $pxOben . "px 0px " . $pxUnten . "px 0px; "; $brLegende = $bldBreite; } else { $pxLinks = floor (($bldHoehe - $bldBreite) / 2); $pxRechts = $bldHoehe - $bldBreite - $pxLinks; $stlQuadrat = " padding: 0px " . $pxRechts . "px 0px " . $pxLinks . "px; "; $brLegende = $bldHoehe; } } else { $stlQuadrat = ""; } } # Debug // //$dbgVariable = "bldBreite"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "bldHoehe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Umgebung if (mb_strstr ($Optionen, "P")) // Portal { // $cssBoxA = " cssPortalBildBoxL"; $cssBoxR = " cssPortalBildBoxMR"; if ($bldDatei) { $cssBoxK = " cssPortalBildBoxF"; $txtKeinBild = "Bild fehlt"; } else { $cssBoxK = " cssPortalBildBoxK"; $txtKeinBild = "kein Bild"; } } else // Index { # Ausrichtung if (mb_strstr ($Optionen, "L")) // links { // $cssBoxA = " cssOoBxBlL"; $cssBoxD = " cssOoBxBlDfL"; } else // rechts { // $cssBoxA = " cssOoBxBlR"; $cssBoxD = " cssOoBxBlDfR"; } # Rahmen if (mb_strstr ($Optionen, "R")) // mit Rahmen { $cssBoxR = " cssOoBxBlMR"; } else // ohne Rahmen { # Versetzt if (mb_strstr ($Optionen, "V")) { // $cssBoxA = " cssOoBxBlL"; // $cssBoxR = ""; $cssBoxR = " cssOoBxBlOriOR"; } else // ohne Rahmen { $cssBoxR = " cssOoBxBlOR"; } $cssBoxD = ""; } # Legende if ($brLegende) { $stlLegende = "width: " . $brLegende . "px"; } else { $stlLegende = ""; } } # Ausgabe $HTML = array (); if ($bldDatei and is_file ($bldOrdner . $bldDatei) or mb_strstr ($Optionen, "P")) // nur wenn Bilddatei vorhanden, oder Portal --> da immer zeigen { // $HTML[] = fncBaustein ("bstBox.A", array ("", "", " cssOoBxBlHg" . $cssBoxA)); $HTML[] = fncBaustein ("bstBox.A", array ("", "", $cssBoxD)); $HTML[] = fncBaustein ("bstBox.A", array ("", $ttlLegende, $cssBoxR)); $HTML[] = fncBaustein ("bstBox.A", array ("", "", "", $stlQuadrat)); if ($bldDatei and is_file ($bldOrdner . $bldDatei)) { $HTML[] = fncBaustein ("bstBild", array ($bldOrdner, $bldDatei, $bldBreite, $bldHoehe)); } else { $HTML[] = fncBaustein ("bstBox.A", array ("", "", $cssBoxK)); $HTML[] = fncBaustein ("bstAbsatz.AZ", array ($txtKeinBild, " cssPpLt cssPortalBildBoxT")); $HTML[] = fncBaustein ("bstBox.Z", array ()); } $HTML[] = fncBaustein ("bstBox.Z", array ()); $HTML[] = fncBaustein ("bstBox.Z", array ()); if ($txtLegende) { $HTML[] = fncBaustein ("bstAbsatz.AZ", array ($txtLegende, " cssOoTfLtA cssOoTfBlLg cssOoTsLtA cssOoTsBlLg cssOoSnLt cssOoSnBlLg", $stlLegende)); } $HTML[] = fncBaustein ("bstBox.Z", array ()); // $HTML[] = fncBaustein ("bstBox.Z", array ()); } # Nicht umfließend if (mb_strstr ($Optionen, "N")) { $HTML[] = fncBaustein ("bstUmfluss", array ()); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstUmfluss": { $Parameter[] = ""; list ($optUmfluss) = $Parameter; unset ($Parameter); $cssUmfluss = ""; switch ($optUmfluss) { default: { $cssUmfluss = " cssOoMfStB"; } break; case "L": { $cssUmfluss = " cssOoMfStL"; } break; case "R": { $cssUmfluss = " cssOoMfStR"; } break; } # Ausgabe $Ergebnis = fncBaustein ("bstBox.AZ", array ("", "", $cssUmfluss)); } break; case "bstBild": { list ($bldOrdner, $bldDatei, $bldBreite, $bldHoehe) = $Parameter; unset ($Parameter); $bldBreite /= 1; $bldHoehe /= 1; if (!$bldBreite) { $bldBreite = ""; } if (!$bldHoehe) { $bldHoehe = ""; } # Ausgabe $Ergebnis = fncHTML ("img", array ("src", $bldOrdner . $bldDatei, "width", $bldBreite, "height", $bldHoehe)); } break; case "bstEgDatei": { list ($namFeld, $brFeld) = $Parameter; $brFeld /= 1; if (!$brFeld) { $brFeld = 24; } # Ausgabe // $Ergebnis = fncHTML ("input", array ("type", "file", "name", $namFeld, "size", $brFeld, "style", "margin: 1px 0px 0px 0px; font-family: Tahoma,Arial,sans-serif; font-size: 12px; ")); $Ergebnis = fncHTML ("input", array ("type", "file", "name", $namFeld, "size", $brFeld, "class", "cssEgDatei")); // $Ergebnis = ""; } break; case "bstEgTxtfeld": { list ($namFeld, $wrtFeld, $bxhFeld) = $Parameter; unset ($Parameter); # Größe list ($brFeld, $hhFeld) = explode ("X", mb_strtoupper ($bxhFeld) . "X"); $brFeld /= 1; $hhFeld /= 1; if (!$brFeld) { $brFeld = 80; } if (!$hhFeld) { $hhFeld = 20; } # Ausgabe // $Ergebnis = fncHTML ("textArea.A", array ("name", $namFeld, "onFocus", "select(); ", "cols", $brFeld, "rows", $hhFeld, "wrap", "soft", "style", "margin: 1px 0px 0px 2px; padding: 2px 3px 3px 3px; ")) . $wrtFeld . fncHTML ("textArea.Z", array ()); $Ergebnis = fncHTML ("textArea.A", array ("name", $namFeld, "onFocus", "select(); ", "cols", $brFeld, "rows", $hhFeld, "wrap", "soft")) . $wrtFeld . fncHTML ("textArea.Z", array ()); } break; case "bstBezeichner": { /* T - Text S - Symbolbezeichner G - gruppierter Bezeichner N - nicht fett */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($fldFeld, $txtZeile1, $txtZeile2, $cssSymbol) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "T")) { $obText = 1; } elseif (mb_strstr ($Optionen, "S")) { $obText = 0; } else { $obText = 1; } # Ausgabe $HTML = array (); if ($obText) { # Ausrichtung if (mb_strstr ($Optionen, "G")) { $cssGruppe = " cssSystemZentriert"; if (!$fldFeld or $fldFeld[0] == "/") // wenn die anderen Felder gruppiert sind, aber bei einer Spalte die Gruppe leer sein soll, dann mit "/" beginnen lassen. { $txtZeile1 = ""; } else { $txtZeile1 = $fldFeld; } } else { $cssGruppe = ""; } # Fett/Normal if (mb_strstr ($Optionen, "N")) { $cssSchriftSchnitt = " cssSystemNormal"; } else { $cssSchriftSchnitt = " cssSystemFett"; } $HTML[] = fncBaustein ("bstBox.A", array ("", "", " cssPpLt cssPortalDfTextB cssSystemFestAusschluss" . $cssGruppe . $cssSchriftSchnitt)); $HTML[] = fncBaustein ("bstAbsatz.AZ", array ($txtZeile1)); $HTML[] = fncBaustein ("bstBox.Z", array ()); if ($txtZeile2) { $HTML[] = fncBaustein ("bstBox.A", array ("", "", " cssPpLt cssPortalDfTextB cssSystemFestAusschluss cssSystemNormal")); $HTML[] = fncBaustein ("bstAbsatz.AZ", array ($txtZeile2)); $HTML[] = fncBaustein ("bstBox.Z", array ()); } } else // Symbol { $HTML[] = fncBaustein ("bstBox.AZ", array ("", $txtZeile1, $cssSymbol)); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstEgText": { /* C - Confirm vor Submit F - für Filter >> Ambiente wird gesetzt, danach Submit N - nur Lesen S - Submit bei Änderung */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($namFeld, $wrtFeld, $brtFeld, $zchMaximal, $txtConfirm, $varAmb, $wrtAmb, $cssKlasse) = $Parameter; unset ($Parameter); $brtFeld /= 1; $zchMaximal /= 1; if (!$brtFeld) { $brtFeld = 42; } if (!$zchMaximal) { $zchMaximal = 1024; } if ($zchMaximal < $brtFeld) { $brtFeld = $zchMaximal; } # Optionen if (mb_strstr ($Optionen, "S")) { $onChange = "document.frmMvd.submit();"; } elseif (mb_strstr ($Optionen, "F")) { $onChange = "document.frmMvd." . $varAmb . ".value = '" . $wrtAmb . "'; document.frmMvd.submit();"; } elseif (mb_strstr ($Optionen, "C")) { $onChange = "if (confirm ('" . $txtConfirm . "')) { document.frmMvd.submit(); }"; } else { $onChange = ""; } if (mb_strstr ($Optionen, "N")) { $readOnly = 1; $onFocus = ""; } else { $readOnly = 0; $onFocus = "select(); "; } # Ausgabe $Ergebnis = fncHTML ("input", array ("type", "text", "name", $namFeld, "value", $wrtFeld, "onFocus", $onFocus, "class", $cssKlasse, "maxlength", $zchMaximal, "size", $brtFeld, "onChange", $onChange, "readOnly", $readOnly)); } break; case "bstEgAuswahl": { /* A - für Filter >> Ambiente wird gesetzt, danach Submit C - Confirm vor Submit S - Submit bei Änderung */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($namFeld, $wrtFeld, $regAuswahl, $txtConfirm, $varAmb, $wrtAmb) = $Parameter; unset ($Parameter); # Optionen if (mb_strstr ($Optionen, "S")) { $onChange = "document.frmMvd.submit();"; } elseif (mb_strstr ($Optionen, "A")) { $onChange = "document.frmMvd." . $varAmb . ".value = '" . $wrtAmb . "'; document.frmMvd.submit();"; } elseif (mb_strstr ($Optionen, "C")) { $onChange = "if (confirm ('" . $txtConfirm . "')) { document.frmMvd.submit(); }"; } else { $onChange = ""; } # Ausgabe $HTML = array (); // $HTML[] = fncHTML ("select.A", array ("name", $namFeld, "size", 1, "onChange", $onChange, "style", "margin: 1px 0px 0px 1px !important; margin: 1px 0px 0px 1px;")); $HTML[] = fncHTML ("select.A", array ("name", $namFeld, "size", 1, "onChange", $onChange, "style", "margin: 2px 0px 0px 1px;")); if (is_array ($regAuswahl)) foreach ($regAuswahl as $idAuswahl => $txtAuswahl) { if ($txtAuswahl) { if (strval ($idAuswahl) == strval ($wrtFeld)) { $obMarkiert = 1; } else { $obMarkiert = 0; } if (strval ($idAuswahl[0]) == "~") { $obInaktiv = 1; } else { $obInaktiv = 0; } $HTML[] = fncHTML ("option.A", array ("value", $idAuswahl, "selected", $obMarkiert, "disabled", $obInaktiv)) . $txtAuswahl . fncHTML ("option.Z", array ()); } } $HTML[] = fncHTML ("select.Z", array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstEgOptionen": { list ($namFeld, $regAuswahl) = $Parameter; unset ($Parameter); # Ausgabe $HTML = array (); $HTML[] = fncBaustein ("bstTabelle.A", array ()); if (is_array ($regAuswahl)) foreach ($regAuswahl as $idAuswahl => $txtAuswahl) { $HTML[] = fncBaustein ("bstTabelle.BC", array ()); $HTML[] = fncHTML ("input", array ("type", "checkbox", "name", $namFeld . $idAuswahl, "class", "cssEgOptionen")); $HTML[] = fncBaustein ("bstTabelle.X", array ()); $HTML[] = fncBaustein ("bstTabelle.C", array ()); $HTML[] = fncBaustein ("bstBox.A", array ("", "Ändern", " cssPortalDfOpt cssPpLt", "", 1, "JSOptionen('" . $namFeld . $idAuswahl . "'); ")); $HTML[] = fncBaustein ("bstAbsatz.AZ", array ($txtAuswahl)); $HTML[] = fncBaustein ("bstBox.Z", array ()); $HTML[] = fncBaustein ("bstTabelle.XY", array ()); } $HTML[] = fncBaustein ("bstTabelle.Z", array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstAbsatz": { /* A - auf Z - zu */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($txtInhalt, $klsAbsatz, $stlAbsatz) = $Parameter; unset ($Parameter); # für Ausgabe wandeln $txtInhalt = fncText ("ftxWandeln.H", array ($txtInhalt)); # Ausgabe $HTML = array (); if (mb_strstr ($Optionen, "A")) { $HTML[] = fncHTML ("p.A", array ("class", $klsAbsatz, "style", $stlAbsatz)); } $HTML[] = $txtInhalt; if (mb_strstr ($Optionen, "Z")) { $HTML[] = fncHTML ("p.Z", array ()); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstBox": { /* A - auf Z - zu W - obAktiv, gilt für Link und Wechselgrafik */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($idBox, $ttlAktivInaktiv, $klsBox, $stlBox, $obAktiv, $jvsOnClick, $jvsOnMouseOver, $jvsOnMouseOut) = $Parameter; unset ($Parameter); # Optionen list ($ttlAktiv, $ttlInaktiv) = explode (";", $ttlAktivInaktiv . ";"); if (mb_strstr ($Optionen, "W")) { if ($obAktiv) { $ttlBox = $ttlAktiv; } else { $klsBox .= "X"; $jvsOnClick = ""; $jvsOnMouseOver = ""; $jvsOnMouseOut = ""; $ttlBox = $ttlInaktiv; } } else { $ttlBox = $ttlAktiv; } # Ausgabe $HTML = array (); if (mb_strstr ($Optionen, "A")) { $HTML[] = fncHTML ("div.A", array ("class", $klsBox, "style", $stlBox, "title", $ttlBox, "onClick", $jvsOnClick, "onMouseOver", $jvsOnMouseOver, "onMouseOut", $jvsOnMouseOut, "id", $idBox)); } if (mb_strstr ($Optionen, "Z")) { $HTML[] = fncHTML ("div.Z", array ()); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstTabelle": { /* A - Tabelle auf B - Zeile auf C - Zelle auf X - Zelle zu Y - Zeile zu Z - Tabelle zu */ $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($vrbHorizontal, $vrbVertikal, $ttlZelle, $klsZelle, $stlZelle, $klsTabelle, $stlTabelle) = $Parameter; unset ($Parameter); # Ausgabe $HTML = array (); if (mb_strstr ($Optionen, "A")) { $HTML[] = fncHTML ("table.A", array ("class", $klsTabelle, "style", $stlTabelle, "cellSpacing", "0")); } if (mb_strstr ($Optionen, "B")) { $HTML[] = fncHTML ("tr.A", array ()); } if (mb_strstr ($Optionen, "C")) { if ($vrbHorizontal < 2) { $vrbHorizontal = ""; } if ($vrbVertikal < 2) { $vrbVertikal = ""; } $HTML[] = fncHTML ("td.A", array ("colSpan", $vrbHorizontal, "rowSpan", $vrbVertikal, "title", $ttlZelle, "class", $klsZelle, "style", $stlZelle)); } if (mb_strstr ($Optionen, "X")) { $HTML[] = fncHTML ("td.Z", array ()); } if (mb_strstr ($Optionen, "Y")) { $HTML[] = fncHTML ("tr.Z", array ()); } if (mb_strstr ($Optionen, "Z")) { $HTML[] = fncHTML ("table.Z", array ()); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); } break; case "bstEgBlind": { list ($namFeld, $wrtFeld) = $Parameter; unset ($Parameter); # Ausgabe $Ergebnis = fncHTML ("input", array ("type", "hidden", "name", $namFeld, "value", $wrtFeld)); } break; case "bstFormular": { /* Optionen: A - Auf Z - Zu P - Methode: Post */ list ($namFormular, $frmOnSubmit) = $Parameter; unset ($Parameter); if (mb_strstr ($Optionen, "A")) { # Methode if (mb_strstr ($Optionen, "P")) { $frmMethod = "post"; } else { $frmMethod = "get"; } # Kodierung evtl. auch über Optionen (bei Bedarf) $frmEncType = "multipart/form-data"; # Ausgabe $Ergebnis = fncHTML ("form.A", array ("name", $namFormular, "method", $frmMethod, "encType", $frmEncType, "onSubmit", $frmOnSubmit)); } elseif (mb_strstr ($Optionen, "Z")) { # Ausgabe $Ergebnis = fncHTML ("form.Z", array ()); } } break; case "bstIFrame": { /* Optionen: N - no scrolling */ list ($ifrQuelle, $ifrGroesse) = $Parameter; unset ($Parameter); list ($ifrBreite, $ifrHoehe) = explode ("x", $ifrGroesse . "x"); if (mb_strstr ($Optionen, "N")) { $ifrScrolling = "no"; } else { $ifrScrolling = "yes"; } # Ausgabe $Ergebnis = fncHTML ("iframe.A", array ("src", $ifrQuelle, "width", $ifrBreite, "height", $ifrHoehe, "frameborder", "0", "scrolling", $ifrScrolling, "marginheight", "0", "marginwidth", "0")) . fncHTML ("iframe.Z", array ()); } break; } return $Ergebnis; } function funAltBaustein ($Aktion, $Vorgaben, $Parameter) // wird abgelöst --> fncBaustein { /* MATROSCHKA - ineinander verschachtelte Boxen $HTML[] = funAltBaustein ("Matroschka", $Vorgaben, array (" cssInhaltKopf3", " cssInhaltKopf4", ...)); SKALA - zeigt Skala aus Maximum/Verbrauch $HTML[] = funAltBaustein ("Skala", $Vorgaben, array ("SkalaMaximum", "SkalaVerbrauch")); RECHTECK $HTML[] = funAltBaustein ("Rechteck", $Vorgaben, array (30, 30)); BASIS $HTML = array (); $HTML[] = funAltBaustein ("Kopf.Start", $Vorgaben, array ()); $HTML[] = funAltBaustein ("MetaTags", $Vorgaben, array ()); $HTML[] = funAltBaustein ("CSS", $Vorgaben, array ()); $HTML[] = funAltBaustein ("FavIcon", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Skript.Start", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Skript.Kontrolle", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Skript.Optionen", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Skript.FrameKiller", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Skript.Ende", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Kopf.Ende", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Rumpf.Start", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Rumpf.FrameSet.Start", $Vorgaben, array ("Horizontal: *,100")); $HTML[] = funAltBaustein ("Rumpf.FrameSet.Start", $Vorgaben, array ("Vertikal: 20%,50%,30%")); $HTML[] = funAltBaustein ("Rumpf.Frame.Name", $Vorgaben, array ($VerweisZiel)); $HTML[] = funAltBaustein ("Rumpf.FrameSet.Ende", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Rumpf.Ende", $Vorgaben, array ()); funAltBaustein ("Anzeigen", $Vorgaben, array ($HTML)); ABSATZ $HTML[] = funAltBaustein ("Absatz", $Vorgaben, array ($Text, $Klasse, $Stil)); BOX $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ($KlasseStil, $Titel); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); - QuickBox $HTML[] = funAltBaustein ("Box", $Vorgaben, array ($KlasseStil, $Titel, $inhalt)); TABELLE $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("Klasse,Stil+Klasse,Stil")); $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("Klasse,Stil")); $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); - Horizontal verbinden (über 5 Spalten) $HTML[] = funAltBaustein ("Tabelle.33.5.0", $Vorgaben, array ("Klasse,Stil")); - Vertikal verbinden (über 3 Zeilen) $HTML[] = funAltBaustein ("Tabelle.33.0.3", $Vorgaben, array ("Klasse,Stil")); LAUFTEXT $HTML[] = funAltBaustein ("LauftextAlt.VersatzPixel.TempoMilliSekunden.OBLinksRechts", $Vorgaben, array ($LaufText)); $HTML[] = funAltBaustein ("LauftextNeu.VersatzPixel.TempoMilliSekunden.OBLinksRechts", $Vorgaben, array ($LaufText)); URHEBER $HTML[] = funAltBaustein ("Urheber", $Vorgaben, array ()); UMFLUSS $HTML[] = funAltBaustein ("Umfluss.Ende", $Vorgaben, array ()); PORTAL // $HTML[] = funAltBaustein ("Portal.Details", $Vorgaben, array ($datDatenbank, $Item)); $HTML[] = funAltBaustein ("Portal.Verweis.StartMenu", $Vorgaben, array ($Modul)); $HTML[] = funAltBaustein ("Portal.Verweis.AdminInfo", $Vorgaben, array ($Mitarbeiter, $Abwesenheit, $Monat6, $StartDatum)); */ list ($Aktion1, $Aktion2, $Aktion3, $Aktion4, $Aktion5) = explode (".", $Aktion . "...."); $Modul = ""; if (isset ($Vorgaben["curModul"])) { $Modul = $Vorgaben["curModul"]; } $HTML = array (); switch (mb_strtoupper ($Aktion1)) { case "PORTAL": // funAltBaustein { switch (mb_strtoupper ($Aktion2)) { case "VERWEIS": // funAltBaustein { switch (mb_strtoupper ($Aktion3)) { case "STARTMENU": // funAltBaustein { list ($Modul) = $Parameter; unset ($Parameter); $t_modifiziert = ''; $Anker = "xmodul"; $Ziel = "document.frmMvd." . MODUL . ".value = '" . $Modul . "'; document.frmMvd.submit(); "; $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $Modul . "_Titel"); $Titel = ($t_modifiziert) ? $t_modifiziert : $Vorgaben["Data"]["datModule"][$Modul]["Titel"]; // $Titel = $Vorgaben["Data"]["datModule"][$Modul]["Titel"] . ' - ' . $Modul . ' - ' . fncVorgaben ($Vorgaben, "Bz_" . $Modul . "_Titel"); // $Titel = $Vorgaben["Data"]["datModule"][$Modul]["Titel"] . ' - ' . $Modul . ' - ' . fncVorgaben ($Vorgaben, "Bz_" . $Modul . "_Titel"); $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $Modul . "_Beschreibung"); $Beschreibung = ($t_modifiziert) ? $t_modifiziert : $Vorgaben["Data"]["datModule"][$Modul]["Beschreibung"]; // $Beschreibung = $Vorgaben["Data"]["datModule"][$Modul]["Beschreibung"]; } break; // funAltBaustein // case "ADMININFO": // funAltBaustein // { // list ($Mitarbeiter, $Abwesenheit, $Monat6, $StartDatum, $Indize) = $Parameter; // unset ($Parameter); // // $VornameNachname = $Vorgaben["Data"]["datMitarbeiter"][$Mitarbeiter]["VornameNachname"]; // $NachnameVorname = $Vorgaben["Data"]["datMitarbeiter"][$Mitarbeiter]["NachnameVorname"]; // $Monat5 = funDatum ("Konvertieren.6.5", $Vorgaben, array ($Monat6)); // switch ($Abwesenheit) // { // case -10: // { // $Abwesenheit = "Gleitzeit"; // $Planung = -1; // } // break; // case -11: // { // $Abwesenheit = "Erholungsurlaub"; // $Planung = -6; // } // break; // } // $Ziel = "document.frmMvd." . MODUL . ".value = '2'; document.frmMvd.Planung.value = '" . $Planung . "'; document.frmMvd.Arbeitsgruppen.value = '0'; document.frmMvd.NachnameVorname.value = '" . $NachnameVorname . "'; document.frmMvd.Zeitraum.value = '2'; document.frmMvd.Start.value = '" . $StartDatum . "'; document.frmMvd.ObAnsichtArbeitsgruppen.value = '0'; document.frmMvd." . AMBIENTE . ".value = 1; document.frmMvd.submit(); "; // $Anker = "xai"; // $Titel = $VornameNachname; // $Beschreibung = "hat " . $Abwesenheit . " im " . $Monat5 . " beantragt."; // } // break; } $Indize = ""; $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ()); $HTML[] = BasisVerweis_47 ("Intern", $Vorgaben, $Titel, 0, $Ziel, " cssPortalVerweis1", $Anker . $Modul . "x" . $Indize . ":portal_pfeilrechts.gif") . "" . fncAltBild ("Anzeigen." . $Anker . $Modul . "x" . $Indize, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_pfeilrechts.gif")) . " " . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", padding-bottom: 15px; ")); $HTML[] = BasisVerweis_47 ("Intern", $Vorgaben, $Titel, 0, $Ziel, " cssPortalVerweis1", $Anker . $Modul . "x" . $Indize . ":portal_pfeilrechts.gif"); if ($Titel) { $HTML[] = "" . $Titel . "
"; } if ($Beschreibung) { $HTML[] = $Beschreibung . "
"; } $HTML[] = BasisVerweis_47 ("Ende", 0,0,0,0,0,0); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); } break; } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); } break; case "MATROSCHKA": // wird abgelöst // funAltBaustein $BoxenKlassen = $Parameter; if (is_array ($BoxenKlassen)) foreach ($BoxenKlassen as $Klasse) if (trim ($Klasse)) { $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ($Klasse . ",font-size: 1px; ")); } $HTML[] = " "; if (is_array ($BoxenKlassen)) foreach ($BoxenKlassen as $Klasse) if (trim ($Klasse)) { $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "SKALA": // funAltBaustein list ($SkalaMaximum, $SkalaVerbrauch) = $Parameter; // $VerbrauchsStand = funZahl ("Runden.0", $Vorgaben, array ($SkalaStand)); $Rot = "#e75d00"; $Gelb = "#ffcd06"; $Gruen = "#45be27"; $Ueberschuss = 0; if ($SkalaMaximum < 0) { $Verbrauch = 100; $Farbe = $Rot; $Text = "Ertrag < 0"; } elseif ($SkalaMaximum == 0) { if ($SkalaVerbrauch) { $Farbe = $Rot; $Text = "Ertrag = 0"; } else { $Farbe = $Gelb; $Text = "100 %"; } $Verbrauch = 100; $Restwert = 0; } else { $SkalaStand = fncZahl ("zhlRunden", array ($SkalaVerbrauch * 100 / $SkalaMaximum)); if ($SkalaStand > 100) { $Verbrauch = 100; $Restwert = 0; $Ueberschuss = $SkalaStand - 100; if ($Ueberschuss > 300) { $Ueberschuss = 300; } } else { $Verbrauch = $SkalaStand; $Restwert = 100 - $SkalaStand; $Ueberschuss = 0; } $Farbe = $Gelb; $Text = $SkalaStand . " %"; } $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", margin: 30px 0px 0px 25px; ")); $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", width: 108px; height: 19px; float: left; ")); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", border: 1px solid #000000; padding: 3px; ")); $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", width: " . $Verbrauch . "px; height: 11px; background: " . $Farbe . "; font-size: 1px; ")); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", width: " . $Restwert . "px; height: 11px; background: #45be27; font-size: 1px; ")); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", height: 17px; padding: 0px 0px 0px 3px; ")); $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", width: " . $Ueberschuss . "px; margin: 4px 0px 0px 0px; height: 11px; background: #e75d00; font-size: 1px; ")); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", padding: 2px 0px 0px 0px; ")); $HTML[] = " " . $Text; $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "RECHTECK": // funAltBaustein list ($ObBreite, $ObHoehe) = $Parameter; $Breite = $Hoehe = ""; if ($ObBreite) { $Breite = "width: " . $ObBreite . "px; "; } if ($ObHoehe) { $Hoehe = "height: " . $ObHoehe . "px; "; } $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ("," . $Breite . $Hoehe)); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "SKRIPT": // funAltBaustein switch (mb_strtoupper ($Aktion2)) { case "START": // funAltBaustein if ($Vorgaben["ObKalender"]) { $HTML[] = " "; } $HTML[] = " "; break; } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "ABSATZ": // wird abgelöst // funAltBaustein $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($Text, $ObKlasse, $ObStil) = $Parameter; unset ($Parameter); $Klasse = $Stil = ""; if ($ObKlasse) { $Klasse = " class=\"" . $ObKlasse . "\""; } if ($ObStil) { $Stil = " style=\"" . $ObStil . "\""; } $HTML[] = "" . $Text . "

"; $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "UMFLUSS": // funAltBaustein $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", clear: both; ")) . funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "LAUFTEXTNEU": // funAltBaustein list ($Text) = $Parameter; $VersatzPixel = (1 * $Aktion2); $TempoMilliSekunden = (1 * $Aktion3); $OBLinksRechts = $Aktion4; $Verhalten = $Prefix = $Suffix = $PreSuffix = $Trenner = ""; if ($VersatzPixel < 1) { $VersatzPixel = 1; } if ($TempoMilliSekunden < 1) { $TempoMilliSekunden = 1; } if ($OBLinksRechts) { $Verhalten = " behavior=\"alternate\""; $Prefix = "       "; $Suffix = "       "; } if ($ObPreSuffix) { $PreSuffix = " " . $ObPreSuffix . " "; } if ($ObTrenner) { $Trenner = " " . $ObTrenner . " "; } $HTML[] = "" . $Prefix . $PreSuffix . "" . $Titel . " " . $Trenner . $Text . $PreSuffix . $Suffix . ""; $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "LAUFTEXTALT": // funAltBaustein list ($Titel, $Text, $ObPreSuffix, $ObTrenner) = $Parameter; $VersatzPixel = (1 * $Aktion2); $TempoMilliSekunden = (1 * $Aktion3); $OBLinksRechts = $Aktion4; $Verhalten = $Prefix = $Suffix = $PreSuffix = $Trenner = ""; if ($VersatzPixel < 1) { $VersatzPixel = 1; } if ($TempoMilliSekunden < 1) { $TempoMilliSekunden = 1; } if ($OBLinksRechts) { $Verhalten = " behavior=\"alternate\""; $Prefix = "       "; $Suffix = "       "; } if ($ObPreSuffix) { $PreSuffix = " " . $ObPreSuffix . " "; } if ($ObTrenner) { $Trenner = " " . $ObTrenner . " "; } $HTML[] = "" . $Prefix . $PreSuffix . "" . $Titel . " " . $Trenner . $Text . $PreSuffix . $Suffix . ""; $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "TABELLE": // wird abgelöst // funAltBaustein $Parameter[] = ""; $Parameter[] = ""; list ($KlassenStile, $ObTitel) = $Parameter; $TKlasse = $ObTKlasse = $ObTStil = $TStil = $ObZKlasse = $ZKlasse = $ObZStil = $ZStil = $Horizontal = $Vertikal = $Titel = ""; $CellSpacing = " cellSpacing=\"0\""; // cellspacing geht nicht über CSS wg. IE switch (1 * $Aktion2) { case 123: // Tabelle + Zelle list ($TKlasseStil,$ZKlasseStil) = explode ("+", $KlassenStile . "+"); list ($ObTKlasse,$ObTStil) = explode (",", $TKlasseStil . ","); list ($ObZKlasse,$ObZStil) = explode (",", $ZKlasseStil . ","); break; case 1: // nur Tabelle case 12: list ($ObTKlasse,$ObTStil) = explode (",", $KlassenStile . ","); break; case 3: // nur Zelle case 23: case 33: case 3223: list ($ObZKlasse,$ObZStil) = explode (",", $KlassenStile . ","); break; } if (trim ($ObTitel)) { $Titel = " title=\"" . $ObTitel . "\""; } if (trim ($ObTKlasse)) { $TKlasse = " class=\"" . $ObTKlasse . "\""; } if (trim ($ObTStil)) { $TStil = " style=\"" . $ObTStil . "\""; } if (trim ($ObZKlasse)) { $ZKlasse = " class=\"" . $ObZKlasse . "\""; } if (trim ($ObZStil)) { $ZStil = " style=\"" . $ObZStil . "\""; } if ($VerbindeHorizontal = (1 * $Aktion3)) { $Horizontal = " colSpan=\"" . $VerbindeHorizontal . "\""; } if ($VerbindeVertikal = (1 * $Aktion4)) { $Vertikal = " rowSpan=\"" . $VerbindeVertikal . "\""; } switch (1 * $Aktion2) { case 1: $HTML[] = " "; break; case 2: $HTML[] = " "; break; case 3: $HTML[] = " "; break; case 10: $HTML[] = " "; break; case 12: $HTML[] = " "; $HTML[] = " "; break; case 20: $HTML[] = " "; break; case 21: $HTML[] = " "; $HTML[] = " "; break; case 22: $HTML[] = " "; $HTML[] = " "; break; case 23: $HTML[] = " "; $HTML[] = " "; break; case 30: $HTML[] = " "; break; case 32: $HTML[] = " "; $HTML[] = " "; break; case 33: $HTML[] = " "; $HTML[] = " "; break; case 123: $HTML[] = " "; $HTML[] = " "; $HTML[] = " "; break; case 321: $HTML[] = " "; $HTML[] = " "; $HTML[] = " "; break; case 3223: $HTML[] = " "; $HTML[] = " "; $HTML[] = " "; $HTML[] = " "; break; } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "BOX": // funAltBaustein $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($KlassenStile, $ObTitel, $Inhalt) = $Parameter; unset ($Parameter); list ($ObKlasse, $ObStil) = explode (",", $KlassenStile . ","); $Optionen = $Aktion2; $Prefix = fncHTML ("div.A", array ("class", $ObKlasse, "style", $ObStil, "title", $ObTitel)); $Suffix = fncHTML ("div.Z", array ()); if (mb_strstr ($Optionen, "A")) { // $HTML[] = " "; $HTML[] = $Prefix; } elseif (mb_strstr ($Optionen, "Z")) { // $HTML[] = " "; $HTML[] = $Suffix; } else // Quickbox { $HTML[] = $Prefix; $HTML[] = $Inhalt; $HTML[] = $Suffix; } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; unset ($Vorgaben); case "KOPF": // funAltBaustein switch (mb_strtoupper ($Aktion2)) { case "START": // funAltBaustein if (!isset ($Vorgaben["RefreshIntervall"])) { $Vorgaben["RefreshIntervall"] = 0; } if (!isset ($Vorgaben["RefreshAnker"])) { $Vorgaben["RefreshAnker"] = ""; } $RefreshIntervall = 1 * $Vorgaben["RefreshIntervall"]; $RefreshAnker = $Vorgaben["RefreshAnker"]; $HTML[] = " "; $HTML[] = " "; $HTML[] = " "; if ($RefreshIntervall or $RefreshAnker) { $Verweis = ""; if ($RefreshAnker) { $Verweis = "; URL=#" . $RefreshAnker; } $HTML[] = ""; } break; case "ENDE": // funAltBaustein $HTML[] = " "; break; } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "CSS": // funAltBaustein { // $HTML[] = " "; if ($Vorgaben["ObKalender"]) { $HTML[] = " "; } // $HTML[] = " "; // $HTML[] = " "; # neu // $HTML[] = " "; # one style generated $HTML[] = " "; # client style $HTML[] = " "; $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); } break; case "FAVICON": // funAltBaustein $HTML[] = " "; $HTML[] = " "; $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "RUMPF": // funAltBaustein { switch (mb_strtoupper ($Aktion2)) { case "START": // funAltBaustein { if (isset ($Vorgaben["OnLoad"])) { $ObOnLoad = $Vorgaben["OnLoad"]; } else { $ObOnLoad = ""; } $OnLoad = ""; if (!$Vorgaben["curBook"]) { if (!$_REQUEST[PAGE]) // Startseite bzw. Vorspann { $Klasse = " class=\" cssOoBdWs cssOoBdVs\""; } else // weitere Seite(n) { $Klasse = " class=\" cssOoBdWs\""; } } else switch ($Vorgaben["curBook"]) { default: { $Klasse = " class=\" cssExtraFarbe cssExtraHGFarbe\""; } break; case "booZoom": { $Klasse = " class=\" cssZoomFarbe cssZoomHGFarbe\""; } break; } if (is_array ($ObOnLoad)) { $ObOnLoad = implode (" ", $ObOnLoad); } if ($ObOnLoad) { $OnLoad = " onLoad=\"". $ObOnLoad . "\""; } $HTML[] = " "; $HTML[] = " "; } break; case "FRAMESET": // funAltBaustein switch (mb_strtoupper ($Aktion3)) { case "START": list ($AusrichtungGroessen) = $Parameter; list ($Ausrichtung, $Groessen) = explode (":", $AusrichtungGroessen); switch (mb_strtoupper ($Ausrichtung)) { default: case "H": case "HORIZONTAL": case "W": case "WAAGERECHT": $Ausrichtung = "rows"; break; case "V": case "VERTIKAL": case "S": case "SENKRECHT": $Ausrichtung = "cols"; break; } $HTML[] = " "; break; case "ENDE": // funAltBaustein $HTML[] = " "; $HTML[] = " "; break; } break; case "FRAME": // funAltBaustein $FrameName = $Aktion3; list ($VerweisZiel) = $Parameter; $HTML[] = " "; break; } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); } break; case "ANZEIGEN": // funAltBaustein list ($RohHTML) = $Parameter; if (!is_array ($RohHTML)) { $HTML[] = $RohHTML; } else { $HTML = $RohHTML; } echo implode ("\n", $HTML) . "\n"; break; } return $Ergebnis; } function funWarenkorb ($AktOpt, $Vorgaben, $Parameter) { /* SUMME $betSumme = funWarenkorb ("Summe", $Vorgaben, array ($datDatenbank, $regWarenkorb)); MWST $betMwst = funWarenkorb ("Mwst", $Vorgaben, array ($betSumme)); ANZAHL $anzArtikel = funWarenkorb ("Anzahl", $Vorgaben, array ($regWarenkorb)); LESEN $regWarenkorb = funWarenkorb ("Lesen", $Vorgaben, array ($datDatenbank)); SCHREIBEN funWarenkorb ("Schreiben", $Vorgaben, array ($regWarenkorb)); if (funWarenkorb ("Schreiben", $Vorgaben, array ($regWarenkorb))) { } AENDERN $regWarenkorb = funWarenkorb ("Aendern", $Vorgaben, array ($datDatenbank, $regWarenkorb)); */ list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch (mb_strtoupper ($Aktion)) { case "MWST": list ($betSumme) = $Parameter; $betMwst = $betSumme * $Vorgaben["MwstSatz"] / (100 + $Vorgaben["MwstSatz"]); $Ergebnis = $betMwst; break; case "SUMME": list ($datDatenbank, $regWarenkorb) = $Parameter; $betSumme = 0; if (is_array ($regWarenkorb)) foreach ($regWarenkorb as $idItem => $Anzahl) if ($Anzahl) { $betSumme += $Anzahl * $Vorgaben["Data"][$datDatenbank][$idItem]["Preis"]; //$dbgVariable = "betSumme"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } $Ergebnis = $betSumme; break; case "ANZAHL": list ($regWarenkorb) = $Parameter; $anzArtikel = 0; if (is_array ($regWarenkorb)) foreach ($regWarenkorb as $idItem => $Anzahl) { $anzArtikel += $Anzahl; } $Ergebnis = $anzArtikel; break; case "AENDERN": list ($datDatenbank, $regWarenkorb) = $Parameter; # Debug //$dbgVariable = "regWarenkorb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Element aufnehmen? if ($addItem = $_REQUEST["addItem"]) if ($Vorgaben["Data"][$datDatenbank][$addItem][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $regWarenkorb[$addItem] = 1; } # Element entfernen? if ($delItem = $_REQUEST["delItem"]) { $regWarenkorb[$delItem] = 0; } # Elementanzahl erhöhen? if ($pluItem = $_REQUEST["pluItem"]) if ($Vorgaben["Data"][$datDatenbank][$pluItem][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $regWarenkorb[$pluItem]++; } # Elementanzahl vermindern? if ($minItem = $_REQUEST["minItem"]) if ($Vorgaben["Data"][$datDatenbank][$minItem][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $regWarenkorb[$minItem]--; if ($regWarenkorb[$minItem] < 0) { $regWarenkorb[$minItem] = 0; } } # Debug //$dbgVariable = "regWarenkorb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "pluItem"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Ergebnis = $regWarenkorb; break; case "LESEN": list ($datDatenbank) = $Parameter; $regWarenkorb = funKeks ("Lesen", $Vorgaben, array ("kksWarenkorb")); if (is_array ($regWarenkorb)) foreach ($regWarenkorb as $idItem => $Ob) if ($Ob) if (!$Vorgaben["Data"][$datDatenbank][$idItem][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { $regWarenkorb[$idItem] = 0; } //$dbgVariable = "regWarenkorb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Ergebnis = $regWarenkorb; break; case "SCHREIBEN": list ($regWarenkorb) = $Parameter; if (funKeks ("Schreiben", $Vorgaben, array ("kksWarenkorb", $regWarenkorb, 30))) { $Ergebnis = true; } else { $Ergebnis = false; } break; } return $Ergebnis; } function funFormular ($Aktion, $Vorgaben, $Parameter) { list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion . ".."); switch (mb_strtoupper ($Aktion1)) { case "SAMMLEFORMULARE": { unset ($Parameter); if (is_array ($Vorgaben["Data"]["datFormulare"])) foreach ($Vorgaben["Data"]["datFormulare"] as $ID => $tmp) if (isset ($Vorgaben["Data"]["datFormulare"][$ID]["ID"])) if ($Vorgaben["Data"]["datFormulare"][$ID]["ID"]) switch (mb_strtoupper ($Vorgaben["Data"]["datFormulare"][$ID]["FeldID"])) { case "_FORMULAR": { $Vorgaben["Formulare"][$Vorgaben["Data"]["datFormulare"][$ID]["FormularID"]] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]; $Vorgaben["ReFormulare"][$Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]] = $Vorgaben["Data"]["datFormulare"][$ID]["FormularID"]; } break; case "_KOMBI.FORMULARTITEL": { $Vorgaben["regFormulare"][$Vorgaben["Data"]["datFormulare"][$ID]["FormularID"]] = fncPhrase ($Vorgaben, array ($Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"], "G")); } break; } unset ($tmp); $Ergebnis = $Vorgaben; unset ($Vorgaben); } break; case "AKTUELLESFORMULAR": { list ($Form) = $Parameter; unset ($Parameter); $Formular = array (); if (is_array ($Vorgaben["Data"]["datFormulare"])) foreach ($Vorgaben["Data"]["datFormulare"] as $ID => $tmp) if (isset ($Vorgaben["Data"]["datFormulare"][$ID]["ID"])) if ($Vorgaben["Data"]["datFormulare"][$ID]["ID"]) if ($Vorgaben["Data"]["datFormulare"][$ID]["FormularID"] == $Form) { list ($FeldID1, $FeldID2) = explode (".", $Vorgaben["Data"]["datFormulare"][$ID]["FeldID"] . "."); if ($FeldID1 and $FeldID1[0] == "_") switch (mb_strtoupper ($FeldID1)) // Kopfdaten { case "_AKTION": { $Formular[0]["ObAktionGesetzt"] = 1; // wird später abwärtskompatibel abgefragt, wenn 0, dann E-Mail-Versand = ja $Formular[0]["Aktionen"][$FeldID2] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]; } break; case "_KOMBI": { switch (mb_strtoupper ($FeldID2)) { case "ABSPANN": case "INFO1": case "INFO2": case "INFO3": { $Absaetze = explode ("/", $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]); $Merke = array (); if (is_array ($Absaetze)) foreach ($Absaetze as $Absatz) if ($Absatz = trim ($Absatz)) { if (isset ($Vorgaben["System"]["SVokabeln"][$Absatz]) and $Vorgaben["System"]["SVokabeln"][$Absatz]) { $Merke[] = $Vorgaben["System"]["SVokabeln"][$Absatz]; } else { $Merke[] = $Absatz; } } unset ($Absaetze); $Formular[0][ucfirst ($FeldID2)] = implode ("\n\n", $Merke); unset ($Merke); } break; default: { if (isset ($Vorgaben["System"]["SVokabeln"][$Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]])) { $Formular[0][$FeldID2] = $Vorgaben["System"]["SVokabeln"][$Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]]; } else { $Formular[0][$FeldID2] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]; } } break; } } break; case "_EMAIL": { switch (mb_strtoupper ($FeldID2)) { default: $Formular[0]["EMail"][$FeldID2] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]; break; case "DATA": list ($Datenbank, $NameFeld, $EMailFeld) = explode (".", $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"] . ".."); $Formular[0]["EMail"]["Datenbank"] = $Datenbank; $Formular[0]["EMail"]["Name"] = $NameFeld; $Formular[0]["EMail"]["EMail"] = $EMailFeld; break; } } break; case "_NAME": { $Formular[0]["Name"][$FeldID2] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]; } break; default: { $Formular[0][mb_substr ($FeldID1, 1)] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]; } break; } elseif ($Vorgaben["Data"]["datFormulare"][$ID]["FeldBeschriftung"]) if (is_array ($Vorgaben["Data"]["datFormulare"][$ID])) foreach ($Vorgaben["Data"]["datFormulare"][$ID] as $Vorgabe => $Wert) switch (mb_strtoupper ($Vorgabe)) // unnötige Felder nicht übergeben wg. Übersichtlichkeit { case "ID": case "FORMULARID": case "FELDID": break; case "FELDBESCHRIFTUNG": if ($Vorgaben["System"]["SVokabeln"][$Wert]) { $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]][$Vorgabe] = $Vorgaben["System"]["SVokabeln"][$Wert]; } else { $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]][$Vorgabe] = "/!\ " . $Wert; } break; case "FELDTYP": { list ($FeldTyp, $SonderFormat) = explode (".", $Wert . "."); $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]]["FeldTyp"] = $FeldTyp; $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]]["SonderFormat"] = $SonderFormat; switch (mb_strtoupper ($FeldTyp)) { case "DATEI": { $Formular[0]["DateiFeld"] = $Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]; } break; } } break; case "KANDIDATEN": { $Kandidaten = explode (",", $Wert); if (is_array ($Kandidaten)) foreach ($Kandidaten as $KandidatenID) { if ($KandidatenID and $Vorgaben["System"]["SVokabeln"][$KandidatenID]) { $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]][$Vorgabe][$KandidatenID] = $Vorgaben["System"]["SVokabeln"][$KandidatenID]; } elseif ($KandidatenID) { $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]][$Vorgabe][$KandidatenID] = "/!\ " . $KandidatenID; } } unset ($Kandidaten); } break; default: { $Formular[$Vorgaben["Data"]["datFormulare"][$ID]["FeldID"]][$Vorgabe] = $Wert; } break; } } unset ($tmp); $Ergebnis = $Formular; unset ($Formular); unset ($Vorgaben); } break; } return $Ergebnis; } function fncDebug ($AktOpt, $Parameter) { /* //$dbgVariable = "Bezeichner"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgInfo = "Start"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $dbgBlock = "Legende"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock, dbgLabel)); $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); $dbgSprung = "oben"; echo fncDebug ("Sprung", array ($Vorgaben["ObDebug"], $dbgSprung)); # für Zeitüberprüfung, wie lang eine Function dauert: $Vorgaben["funStartzeit1"] = microtime (1); // Anfangspunkt $Vorgaben["funLaufzeiten"]["freieBenennung"] = (microtime (1) - $Vorgaben["funStartzeit1"]); // Endpunkt */ $ObDebug = array_shift ($Parameter); if ($ObDebug) { $cssSchrift = "font-family: Arial; font-size: 24px; "; $htmSpanTan = ""; $htmAnker = "" . $htmSpanTan . "‹ " . $htmSpanTan . "›"; $htmVorspann = "
"; list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); $HTML = array (); switch (mb_strtoupper ($Aktion)) { case "SPRUNG": list ($Ziel) = $Parameter; unset ($Parameter); $HTML[] = $htmVorspann; $HTML[] = "» "; $HTML[] = "
"; break; case "BLOCK": switch (mb_strtoupper ($Optionen)) { case "A": $Parameter[] = ''; $Parameter[] = ''; list ($Legende, $Label) = $Parameter; unset ($Parameter); $HTML[] = $htmVorspann; $HTML[] = $htmAnker . " Block " . htmlentities ($Legende) . "
"; // $HTML[] = "  "; // $HTML[] = " "; break; case "Z": unset ($Parameter); $HTML[] = "
"; $HTML[] = "
"; $HTML[] = " "; break; } break; case "INFO": list ($Legende) = $Parameter; unset ($Parameter); $HTML[] = $htmVorspann; $HTML[] = $htmAnker . " Info " . htmlentities ($Legende) . ""; $HTML[] = " "; break; case "VARIABLE": list ($VariablenBezeichner, $VariablenWert) = $Parameter; unset ($Parameter); switch (mb_strtoupper ($Optionen)) { default: $HTML[] = $htmVorspann; if (!is_array ($VariablenWert)) { $HTML[] = $htmAnker . " Variable " . $VariablenBezeichner . " |" . nl2br (htmlentities ($VariablenWert)) . "|"; } elseif (!$VariablenWert) { $HTML[] = $htmAnker . " Variable " . $VariablenBezeichner . " ||"; } else { $HTML[] = $htmAnker . " Variable " . $htmSpanTan . "Array
"; foreach ($VariablenWert as $Schluessel => $Wert) { $HTML[] = "
"; $HTML[] = fncDebug ("Variable.R", array ($ObDebug, $VariablenBezeichner . "[" . $Schluessel . "]", $Wert)); } } $HTML[] = " "; break; case "R": if (!is_array ($VariablenWert)) { $HTML[] = "

" . $VariablenBezeichner . " |" . nl2br (htmlentities ($VariablenWert)) . "|

"; } elseif (!$VariablenWert) { $HTML[] = "

" . $VariablenBezeichner . " ||

"; } else foreach ($VariablenWert as $Schluessel => $Wert) { $HTML[] = fncDebug ("Variable.R", array ($ObDebug, $VariablenBezeichner . "[" . $Schluessel . "]", $Wert)); } break; } break; } $Ergebnis = "\n" . implode ("\n", $HTML); unset ($HTML); unset ($VariablenWert); return $Ergebnis; } unset ($Parameter); } function funSpecial ($AktOpt, $Vorgaben, $Parameter) { list ($Aktion, $Optionen) = explode (".", $AktOpt . "."); switch (mb_strtoupper ($Aktion)) { case "SFHPREISERRECHNEN": // SFH { # Hauptsaison/Nebensaison ermitteln list ($monStart, $monEnde) = explode ("-", $Vorgaben["Data"]["datVorgaben"][1]["HSaison"]); # Preislisten ziehen $regPreislisten = fncAltRegister ("Ziehen", $Vorgaben, array ("datSPreise", "ID", "Datum")); $regPreislisten = fncAltRegister ("Sortieren", $Vorgaben, array ($regPreislisten)); if (is_array ($Vorgaben["Data"]["datReservierungen"])) foreach ($Vorgaben["Data"]["datReservierungen"] as $idRes => $tmp) { unset ($tmp); if ($Vorgaben["Data"]["datReservierungen"][$idRes]["ID"]) { # reservierter Zeitraum if (!$Vorgaben["Data"]["datReservierungen"][$idRes]["PlanAnreise"]) { $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idRes]["PlanAbreise"] = 1; } if (!$Vorgaben["Data"]["datReservierungen"][$idRes]["Rechnung"]) // keine Rechnung { $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idRes]["RgVersenden"] = 1; } if (!$Vorgaben["Data"]["datReservierungen"][$idRes]["RgNr"] or !$Vorgaben["Data"]["datReservierungen"][$idRes]["RgDatum"]) { $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idRes]["RgErstellen"] = 1; } # bestätigter Zeitraum if (!$Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnreise"]) // kein bestätigter Zeitraum { $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idRes]["BestAbreise"] = 1; $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idRes]["RgVersenden"] = 1; $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idRes]["RgErstellen"] = 1; } else // gebuchter Zeitraum liegt vor { # Preise ermitteln $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"] = 0; $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"] = 0; # Zeitraum tageweise.... $regZeitraum = funDatum ("Zeitraum.TageweiseNeu.Wo.8", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnreise"], funDatum ("Konvertieren.8.8", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idRes]["BestAbreise"], -1)))); if (is_array ($regZeitraum)) foreach ($regZeitraum as $Datum => $X) { $Datum3 = funDatum ("Konvertieren.8.3.NoCheck", $Vorgaben, array ($Datum)); $StartHS8 = funDatum ("Konvertieren.10.8.NoCheck", $Vorgaben, array ("1." . $monStart . "." . $Datum3[2])); $EndeHS8 = funDatum ("Konvertieren.10.8", $Vorgaben, array ("0." . $monEnde . "." . $Datum3[2])); if ($Datum >= $StartHS8 and $Datum <= $EndeHS8) // Hauptsaison { $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"]++; } else // Nebensaison { $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"]++; } } unset ($regZeitraum); $NaechteGesamt = $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"] + $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"]; $Vorgaben["Data"]["datReservierungen"][$idRes]["TageHSNS"] = $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"] . "/" . $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"]; # welche Preisliste? $idPreisliste = 0; if (is_array ($regPreislisten)) foreach ($regPreislisten as $idID => $Datum) if ($Datum <= $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnreise"]) { $idPreisliste = $idID; } # Berechnung + Bemerkungen $PreisBemerkung = array (); $PreisBemerkung[] = "zugrunde liegende Preisliste: " . $Vorgaben["Data"]["datSPreise"][$idPreisliste]["Titel"]; # für Rechnung $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtE1"] = "vielen Dank für Ihre Reservierung in unserem Spree-Ferienhaus. Wir bestätigen Ihnen folgenden Reisezeitraum:"; $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtE2"] = "Der Gesamtpreis für Ihren Aufenthalt wird wie folgt berechnet:"; # Hauptsaison $Vorgaben["Data"]["datReservierungen"][$idRes]["+PreisPNHS"] = $Vorgaben["Data"]["datSPreise"][$idPreisliste]["PreisPNHS"]; $PreisHS = $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"] * $Vorgaben["Data"]["datSPreise"][$idPreisliste]["PreisPNHS"]; $Vorgaben["Data"]["datReservierungen"][$idRes]["+PreisHS"] = $PreisHS; // $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtHS"] = fncFeld ("dtfWert", $Vorgaben, array ("datReservierungen", $idRes, "BestAnzahlNaechteHS")) . " Tage Hauptsaison à " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "+PreisPNHS")); if ($PreisHS) { $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtHS"] = $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"] . funZahl ("Zusatz", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteHS"], "Nacht", "Nächte", 1)) . " à " . fncFeld ("dtfWert.E", $Vorgaben, array ("datSPreise", $idPreisliste, "PreisPNHS")) . " (Hauptsaison)"; $PreisBemerkung[] = $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtHS"]; } # Nebensaison $Vorgaben["Data"]["datReservierungen"][$idRes]["+PreisPNNS"] = $Vorgaben["Data"]["datSPreise"][$idPreisliste]["PreisPNNS"]; $PreisNS = $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"] * $Vorgaben["Data"]["datSPreise"][$idPreisliste]["PreisPNNS"]; $Vorgaben["Data"]["datReservierungen"][$idRes]["+PreisNS"] = $PreisNS; if ($PreisNS) { $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtNS"] = $Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"] . funZahl ("Zusatz", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idRes]["BestAnzahlNaechteNS"], "Nacht", "Nächte", 1)) . " à " . fncFeld ("dtfWert.E", $Vorgaben, array ("datSPreise", $idPreisliste, "PreisPNNS")) . " (Nebensaison)"; $PreisBemerkung[] = $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtNS"]; } # Rabatte? $Rabatt = 0; if ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["Rabatt14"] and $NaechteGesamt >= 14) { $Rabatt = $Vorgaben["Data"]["datSPreise"][$idPreisliste]["Rabatt14"]; $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtRb"] = $Rabatt . " % Rabatt für 14 Tage oder mehr"; } elseif ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["Rabatt7"] and $NaechteGesamt >= 7) { $Rabatt = $Vorgaben["Data"]["datSPreise"][$idPreisliste]["Rabatt7"]; $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtRb"] = $Rabatt . " % Rabatt für 7 Tage oder mehr"; } $ErrechneterPreis = $PreisHS + $PreisNS; $PreisNachlass = 0; if ($Rabatt) { $PreisNachlass = fncZahl ("zhlRunden", array (($ErrechneterPreis * $Rabatt / 100), 2)); $PreisBemerkung[] = "gewährter Rabatt: " . $Rabatt . " % (auf " . funZahl ("Formatieren.DE.2", $Vorgaben, array ($ErrechneterPreis)) . " Euro) = " . funZahl ("Formatieren.DE.2", $Vorgaben, array ($PreisNachlass)) . " Euro"; } $Vorgaben["Data"]["datReservierungen"][$idRes]["+PreisNachlass"] = $PreisNachlass; # weitere Posten $WeiterePosten = 0; # Endreinigung if ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["Endreinigung"]) { $Vorgaben["Data"]["datReservierungen"][$idRes]["+Endreinigung"] = $Vorgaben["Data"]["datSPreise"][$idPreisliste]["Endreinigung"]; $WeiterePosten += $Vorgaben["Data"]["datSPreise"][$idPreisliste]["Endreinigung"]; $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtEr"] = "Endreinigung"; $PreisBemerkung[] = "Endreinigung: " . funZahl ("Formatieren.DE.2", $Vorgaben, array ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["Endreinigung"])) . " Euro"; // $PreisBemerkung[] = $Vorgaben["Data"]["datReservierungen"][$idRes]["+txtEr"]; } # Zubehör // if ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["BettW"] and $Vorgaben["Data"]["datReservierungen"][$idRes]["AnzahlBettW"]) // { // $WeiterePosten += $Vorgaben["Data"]["datSPreise"][$idPreisliste]["BettW"] * $Vorgaben["Data"]["datReservierungen"][$idRes]["AnzahlBettW"]; // $PreisBemerkung[] = $Vorgaben["Data"]["datReservierungen"][$idRes]["AnzahlBettW"] . " x Bettwäsche à " .funZahl ("Formatieren.DE.2", $Vorgaben, array ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["BettW"])) . " Euro"; // } // if ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["HandT"] and $Vorgaben["Data"]["datReservierungen"][$idRes]["AnzahlHandT"]) // { // $WeiterePosten += $Vorgaben["Data"]["datSPreise"][$idPreisliste]["HandT"] * $Vorgaben["Data"]["datReservierungen"][$idRes]["AnzahlHandT"]; // $PreisBemerkung[] = $Vorgaben["Data"]["datReservierungen"][$idRes]["AnzahlHandT"] . " x Handtücher à " .funZahl ("Formatieren.DE.2", $Vorgaben, array ($Vorgaben["Data"]["datSPreise"][$idPreisliste]["HandT"])) . " Euro"; // } # Endpreis berechnen $Vorgaben["Data"]["datReservierungen"][$idRes]["ErrechneterPreis"] = $ErrechneterPreis - $PreisNachlass + $WeiterePosten; $Vorgaben["Data"]["datReservierungen"][$idRes]["PreisBemerkung"] = implode (", ", $PreisBemerkung); $Vorgaben["Data"]["datReservierungen"][$idRes]["Endsumme"] = $Vorgaben["Data"]["datReservierungen"][$idRes]["ErrechneterPreis"] + $Vorgaben["Data"]["datReservierungen"][$idRes]["ZuAbschlag"] + $Vorgaben["Data"]["datReservierungen"][$idRes]["ZuAbschlag2"]; # Anzahlung $Vorgaben["Data"]["datReservierungen"][$idRes]["txtAnz"] = "Bitte überweisen Sie die Anzahlung in Höhe von " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "Anzahlung")) . " bis zum " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "TmAnzahlung")) . "."; $Vorgaben["Data"]["datReservierungen"][$idRes]["Restzahlung"] = $Vorgaben["Data"]["datReservierungen"][$idRes]["Endsumme"] - $Vorgaben["Data"]["datReservierungen"][$idRes]["Anzahlung"]; if ($Vorgaben["Data"]["datReservierungen"][$idRes]["TmRestzahlung"]) { $Vorgaben["Data"]["datReservierungen"][$idRes]["txtGes"] = "Bitte überweisen Sie den Betrag bis zum " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "TmRestzahlung")) . "."; $Vorgaben["Data"]["datReservierungen"][$idRes]["txtRes"] = "Die Restbetrag in Höhe von " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "Restzahlung")) . " wird zum " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "TmRestzahlung")) . " fällig."; $Vorgaben["Data"]["datReservierungen"][$idRes]["txtHw1"] = "Bitte beachten Sie die Zahlungstermine, denn Sie erhalten keine gesonderte Rechnung für die Restzahlung."; $Vorgaben["Data"]["datReservierungen"][$idRes]["txtHw2"] = "Mit Eingang der Anzahlung bei uns wandelt sich Ihre Reservierung in eine feste Buchung unseres Ferienhauses."; } else { $Vorgaben["Data"]["datReservierungen"][$idRes]["txtGes"] = "Bitte überweisen Sie den Betrag bis zum " . fncFeld ("dtfWert.E", $Vorgaben, array ("datReservierungen", $idRes, "BestAnreise")) . "."; } $Vorgaben["Data"]["datReservierungen"][$idRes]["txtHw3"] = "Zwei bis drei Wochen vor Anreise erhalten Sie die genauen Informationen für die Schlüsselübergabe."; $Vorgaben["Data"]["datReservierungen"][$idRes]["txtHw4"] = "Für sämtlichen Schriftverkehr benutzen Sie bitte die unten aufgeführte Postadresse."; $Vorgaben["Data"]["datReservierungen"][$idRes]["txtHw5"] = "Viel Spaß bei Ihrer Urlaubsvorbereitung und eine angenehme Anreise wünscht Ihnen"; unset ($PreisBemerkung); } } } $Ergebnis = $Vorgaben; unset ($regPreislisten); unset ($Vorgaben); } break; case "ERMITTLEBELEGUNG": // SFH { // $Ergebnis = $Ergebnis; # Belegung ermitteln $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][0] = "frei"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][1] = "reserviert"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][2] = "mehrfach reserviert"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][3] = "gebucht"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][4] = "mehrfach gebucht"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][5] = "gebucht + reserviert"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][6] = "gebucht + mehrfach reserviert"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][7] = "mehrfach gebucht + reserviert"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["Titel"][8] = "mehrfach gebucht + mehrfach reserviert"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][1] = "cssPortalKalenderMarkiert1"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][2] = "cssPortalKalenderMarkiert2"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][3] = "cssPortalKalenderMarkiert3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][4] = "cssPortalKalenderMarkiert4"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][5] = "cssPortalKalenderMarkiert3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][6] = "cssPortalKalenderMarkiert3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][7] = "cssPortalKalenderMarkiert4"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["ZellKlasse"][8] = "cssPortalKalenderMarkiert4"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][1] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][2] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][3] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][4] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][5] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][6] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][7] = "cssPortalVerweis3"; $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][0]["VerweisKlasse"][8] = "cssPortalVerweis3"; /* $Vorgaben["Data"]["datReservierungen"][0]["Symbole"]["BestWarnung"] = "status_warnung"; // Symbol in Legende $Vorgaben["Data"]["datReservierungen"][0]["Symbole"]["PlanWarnung"] = "status_warnung"; // Symbol in Legende -*/ # zuerst die Gebuchten durchgehen $Sammler = array (); if (is_array ($Vorgaben["Data"]["datReservierungen"])) foreach ($Vorgaben["Data"]["datReservierungen"] as $idID => $X) if ($Vorgaben["Data"]["datReservierungen"][$idID]["ID"]) if ($Vorgaben["Data"]["datReservierungen"][$idID]["BestAnreise"]) { $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idID]["PlanAnreise"] = 1; $Vorgaben["Data"]["datReservierungen"][0]["GesperrteFelder"][$idID]["PlanAbreise"] = 1; $Zeitraum = funDatum ("Zeitraum.TageweiseNeu.Wo.8", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idID]["BestAnreise"], funDatum ("Konvertieren.8.8", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idID]["BestAbreise"], -1)))); //$dbgVariable = "Zeitraum"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (is_array ($Zeitraum)) foreach ($Zeitraum as $Datum8 => $X) if (mb_strstr ($Optionen, "A") or $Datum8 >= $Vorgaben["Heute"][8]) { if ($Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][$Datum8]) { $Vorgaben["Data"]["datReservierungen"][$idID]["BestWarnung"] = 1; $Vorgaben["Data"]["datReservierungen"][$Sammler[$Datum8]]["BestWarnung"] = 1; if (mb_strstr ($Optionen, "D")) { $Status = 4; } else { $Status = 3; } } else { $Status = 3; $Sammler[$Datum8] = $idID; } if (!$Vorgaben["Data"]["datReservierungen"][$idID]["BestWarnung"]) { $Vorgaben["Data"]["datReservierungen"][$idID]["BestWarnung"] = 0; } $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][$Datum8] = $Status; } # Status if ($Vorgaben["Data"]["datReservierungen"][$idID]["BestAbreise"] < $Vorgaben["Heute"][8]) { $Vorgaben["Data"]["datReservierungen"][$idID]["Status"] = 2; } else { $Vorgaben["Data"]["datReservierungen"][$idID]["Status"] = 1; } } //$dbgVariable = "Sammler"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $dbgRes = $Vorgaben["Data"]["datReservierungen"]; // //$dbgVariable = "dbgRes"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # dann die Reservierungen... $Sammler = array (); if (mb_strstr ($Optionen, "R")) if (is_array ($Vorgaben["Data"]["datReservierungen"])) foreach ($Vorgaben["Data"]["datReservierungen"] as $idID => $X) if ($Vorgaben["Data"]["datReservierungen"][$idID]["ID"]) if (!$Vorgaben["Data"]["datReservierungen"][$idID]["BestAnreise"]) if ($Vorgaben["Data"]["datReservierungen"][$idID]["PlanAnreise"]) { $Zeitraum = funDatum ("Zeitraum.TageweiseNeu.Wo.8", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idID]["PlanAnreise"], funDatum ("Konvertieren.8.8", $Vorgaben, array ($Vorgaben["Data"]["datReservierungen"][$idID]["PlanAbreise"], -1)))); if (is_array ($Zeitraum)) foreach ($Zeitraum as $Datum8 => $X) if (mb_strstr ($Optionen, "A") or $Datum8 >= $Vorgaben["Heute"][8]) { switch ($Status = $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][$Datum8]) { case 1: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; $Vorgaben["Data"]["datReservierungen"][$Sammler[$Datum8]]["PlanWarnung"] = 1; if (mb_strstr ($Optionen, "D")) { $Status = 2; } else { $Status = 1; } } break; case 2: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; // $Status = 2; } break; case 3: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; if (mb_strstr ($Optionen, "D")) { $Status = 5; } else { $Status = 3; } } break; case 4: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; $Status = 7; } break; case 5: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; $Status = 6; } break; case 6: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; // $Status = 6; } break; case 7: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; $Status = 8; } break; case 8: { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 1; // $Status = 6; } break; case false: // also frei { $Status = 1; $Sammler[$Datum8] = $idID; } break; } if (!$Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"]) { $Vorgaben["Data"]["datReservierungen"][$idID]["PlanWarnung"] = 0; } $Vorgaben["Data"]["datReservierungen"][0]["Belegung"]["Termine"][$Datum8] = $Status; } # Status switch ($Vorgaben["Data"]["datReservierungen"][$idID]["Status"]) { case 2: break; default: $Vorgaben["Data"]["datReservierungen"][$idID]["Status"] = 1; break; } } //$dbgVariable = "Sammler"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Ergebnis = $Vorgaben; unset ($Vorgaben); } break; } return $Ergebnis; } function funKeks ($Aktion, $Vorgaben, $Parameter) { /* SCHREIBEN if (funKeks ("Schreiben", $Vorgaben, array ("kksVariable", $regRegister, $zahHaltbarkeit))) { } LESEN $regRegister = funKeks ("Lesen", $Vorgaben, array ("kksVariable"))) */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "SCHREIBEN": list ($kksVariable, $regRegister, $zahHaltbarkeit) = $Parameter; # Register keksgerecht umformen, also als ein String $tmpRegister = array (); if (is_array ($regRegister)) foreach ($regRegister as $Vorgabe => $Wert) if ($Vorgabe and $Wert) { $tmpRegister[] = $Vorgabe . "=" . $Wert; } $kksWert = implode ("|", $tmpRegister); # Verfallsdatum $zahHaltbarkeit /= 1; if ($zahHaltbarkeit) { $zahHaltbarkeit = time() + 60 * 60 * 24 * $zahHaltbarkeit; } # Schreiben if ($Vorgaben["ObDebug"]) { $dbgBlock = "Debug-Mode. Dieser Cookie würde gesetzt werden:"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); //$dbgVariable = "kksVariable"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "kksWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"], $dbgBlock)); } elseif (setcookie ($kksVariable, $kksWert, $zahHaltbarkeit)) { $Ergebnis = true; } else { $Ergebnis = false; } break; case "LESEN": list ($kksVariable) = $Parameter; $regRegister = array (); $tmpRegister = explode ("|", $_REQUEST[$kksVariable]); if (is_array ($tmpRegister)) foreach ($tmpRegister as $VorgabeWert) { list ($Vorgabe, $Wert) = explode ("=", $VorgabeWert); if ($Vorgabe and $Wert) { $regRegister[$Vorgabe] = $Wert; } } $Ergebnis = $regRegister; break; } return $Ergebnis; } function funAuswahl ($Aktion, $Vorgaben, $Parameter) { /* DATUM6 list ($regAuswahl, $regGesAuswahl, $MerkeJahr, $mrkLetzterErlaubterTermin) = funAuswahl ("Datum6", $Vorgaben, array ($regAuswahl, $regGesAuswahl, $Aeltester6, $Juengster6, $BelegteWerte, $J, $M, $MerkeJahr, $mrkLetzterErlaubterTermin)); */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "DATUM6": list ($regOffAuswahl, $regGesAuswahl, $Aeltester6, $Juengster6, $BelegteWerte, $J, $M, $MerkeJahr, $mrkLetzterErlaubterTermin, $mrkLetzterJahresTermin) = $Parameter; $Termin = (sprintf ("%04d", $J) . sprintf ("%02d", $M)) / 1; # Debug // //$dbgVariable = "mrkLetzterErlaubterTermin"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "J"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "MerkeJahr"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "M"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Termin"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($Termin >= $Aeltester6 and $Termin <= $Juengster6) { if ($J != $MerkeJahr) // Gruppierer setzen, bevor neues Jahr beginnt { if ($mrkLetzterJahresTermin) { $regGesAuswahl["~" . $mrkLetzterJahresTermin] = "---------------------"; } if ($mrkLetzterErlaubterTermin) { $regOffAuswahl["~" . $mrkLetzterErlaubterTermin] = "---------------------"; } } $MerkeJahr = $J; $mrkLetzterJahresTermin = $Termin; if (!$BelegteWerte[$Termin]) { $regOffAuswahl[$Termin] = sprintf ("%02d", $M) . "/" . sprintf ("%04d", $J); $mrkLetzterErlaubterTermin = $Termin; } $regGesAuswahl[$Termin] = sprintf ("%02d", $M) . "/" . sprintf ("%04d", $J); } $Ergebnis = array ($regOffAuswahl, $regGesAuswahl, $MerkeJahr, $mrkLetzterErlaubterTermin, $mrkLetzterJahresTermin); break; } return $Ergebnis; } function fncHTML ($Aktion, $Parameter) { /* BEISPIEL für alle gültig $HTML[] = fncHTML ("xxx.A", array ("class", "cssInhaltVerweis1")); $HTML[] = fncHTML ("xxx.Z", array ()); ! A AREA BODY BR DIV EMBED FORM HTML IFRAME IMG INPUT MAP META OPTION P SCRIPT SELECT SMALL SPAN SUB SUP TABLE TD TEXTAREA TITLE TR WBR */ list ($RohBefehl, $Optionen) = explode (".", $Aktion . "."); $Attribute = array (); for ($Z = 0; isset ($Parameter[$Z]) and $Parameter[$Z]; $Z += 2) { $Attribute[mb_strtoupper (trim ($Parameter[$Z]))] = trim ($Parameter[($Z + 1)]); } # Herzstück: Tabelle aller erlaubten Befehle mit allen erlaubten Attributen (Schreibweise & Reihenfolge wird hier festgelegt) $Befehlsvorrat = array ( "!" => array ( 0 ), "A" => array ( 2, "a", "title", "name", "id", "href", "target", "class", "style", "onClick", "onMouseOver", "onMouseOut" ), "AREA" => array ( 1, "area", "title", "alt", "href", "onClick", "onMouseOver", "onMouseOut", "shape", "coords" ), "BODY" => array ( 2, "body" ), "BR" => array ( 1, "br" ), "DIV" => array ( 2, "div", "id", "title", "class", "style", "onClick", "onMouseOver", "onMouseOut" ), "EMBED" => array ( 2, "embed", "src", "width", "height", "hidden", "autoStart" ), "FORM" => array ( 2, "form", "name", "id", "method", "encType", "onSubmit" ), "HTML" => array ( 2, "html" ), "IFRAME" => array ( 2, "iFrame", "name", "src", "class", "style", "width", "height", "scrolling", "marginHeight", "frameBorder", "marginWidth" ), "IMG" => array ( 1, "img", "name", "src", "class", "style", "width", "height", "border", "usemap" ), "INPUT" => array ( 1, "input", "type", "name", "value", "onFocus", "maxLength", "size", "onChange", ":readOnly", "class", "style" ), "MAP" => array ( 2, "map", "name" ), "META" => array ( 1, "meta", "name", "http-equiv", "content" ), "OPTION" => array ( 2, "option", "value", ":selected", ":disabled" ), "P" => array ( 2, "p", "class", "style" ), "SCRIPT" => array ( 2, "script", "language", "src" ), "SELECT" => array ( 2, "select", "name", "size", "onChange", "style" ), "SMALL" => array ( 2, "small" ), "SPAN" => array ( 2, "span", "title", "class", "style" ), "SUB" => array ( 2, "sub" ), "SUP" => array ( 2, "sup" ), "TABLE" => array ( 2, "table", "title", "class", "style", "onClick", "onMouseOver", "onMouseOut", "cellSpacing" ), "TD" => array ( 2, "td", "title", "class", "style", "colSpan", "rowSpan" ), "TEXTAREA" => array ( 2, "textArea", "title", "name", "onFocus", "cols", "rows", "wrap", "style" ), "TITLE" => array ( 2, "title" ), "TR" => array ( 2, "tr" ), "WBR" => array ( 1, "wbr" ), ); # Ausgabe $HTML = array (); if ($Satz = $Befehlsvorrat[mb_strtoupper ($RohBefehl)]) switch ($RohBefehl) { case "!": { list ($Text) = $Parameter; $HTML[] = " "; } break; default: { $AnzahlElemente = array_shift ($Satz); $Befehl = array_shift ($Satz); if (mb_strstr ($Optionen, "Z")) { $HTML[] = ""; } elseif (mb_strstr ($Optionen, "Z")) { $HTML[] = ""; } else { $HTML[] = "<" . $Befehl; if (is_array ($Satz)) foreach ($Satz as $Element) { if ($Element[0] == ":") { $Element = mb_substr ($Element, 1); $obStandAlone = 1; } else { $obStandAlone = 0; } if (isset ($Attribute[mb_strtoupper ($Element)])) { $Attribut = $Attribute[mb_strtoupper ($Element)]; } else { $Attribut = ""; } if ($obStandAlone) { if ($Attribut) { $HTML[] = " " . $Element; } } elseif ($Attribut != "") // aber null (0) ist zugelassen! { $HTML[] = " " . $Element . "=\"" . $Attribut . "\""; } } if ($AnzahlElemente == 1) // XML-konform korrektes Schließen von Solitärelementen { $HTML[] = " />"; } else { $HTML[] = ">"; } } } break; } $Ergebnis = implode ("", $HTML); unset ($Parameter); unset ($HTML); unset ($Attribute); unset ($Satz); unset ($Befehlsvorrat); return $Ergebnis; } function funAnfrage ($Aktion, $Vorgaben, $Parameter) { /* AUSWERTEN $Anfrage = funAnfrage ("Auswerten", $Vorgaben, array ($RohAnfrage, $Zuweiser, $Verbinder, $Einleiter)); */ list ($Aktion1) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "AUSWERTEN": list ($RohAnfrage, $Zuweiser, $Verbinder, $Einleiter) = $Parameter; if (!$Einleiter) { $Einleiter = "?"; } if (!$Verbinder) { $Verbinder = "&"; } if (!$Zuweiser) { $Zuweiser = "="; } if (mb_strstr ($RohAnfrage, $Einleiter)) { list ($Vorspann, $Anfrage) = explode ($Einleiter, $RohAnfrage); } else { $Vorspann = ""; $Anfrage = $RohAnfrage; } $Ergebnis = array (); $Ergebnis["Vorspann"] = trim ($Vorspann); $Teile = explode ($Verbinder, $Anfrage); if (is_array ($Teile)) foreach ($Teile as $Teil) { list ($Variable, $Wert) = explode ($Zuweiser, $Teil); $Ergebnis["Werte"][trim ($Variable)] = trim ($Wert); } //$dbgVariable = "RohAnfrage"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "Vorspann"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "Anfrage"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); break; } return $Ergebnis; } function funXML ($Aktion, $Vorgaben, $Parameter) { /* START list ($XML, $Ebene) = funXML ("Start", $Vorgaben, array ()); DATA-XML list ($XML[], $Ebene) = funXML ("Data-XML", $Vorgaben, array ($Details, $Ebene, $datID)); */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "START": { unset ($Parameter); unset ($Vorgaben); $XML = array (""); $Ebene = 0; $Ergebnis = array ($XML, $Ebene); unset ($XML); } break; case "DATA-XML": { list ($Details, $Ebene, $datID) = $Parameter; unset ($Parameter); # Name aus Wert erzeugen? if (mb_strtoupper ($Details["Element"]) == "=WERT") { list ($datDatenbank, $datFeld) = explode (":", $Details["Datenbank"]); $Details["Datenbank"] = $datDatenbank; // hier darf ab jetzt nur noch die DB stehen $Details["Element"] = fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $datID, $datFeld)); } switch (mb_strtoupper ($Details["Typ"])) { case "START": // { $XML = funText ("Kette", $Vorgaben, array ($Ebene, "\t")) . "<" . $Details["Element"] . ">"; $Ebene++; } break; case "OPEN": // { $Ebene--; $XML = funText ("Kette", $Vorgaben, array ($Ebene, "\t")) . ">"; $Ebene++; } break; case "END": // oder /> { $Ebene--; if ($Details["Element"]) { $XML = funText ("Kette", $Vorgaben, array ($Ebene, "\t")) . ""; } else { $XML = funText ("Kette", $Vorgaben, array ($Ebene, "\t")) . "/>"; } } break; } unset ($Details); unset ($Vorgaben); $Ergebnis = array ($XML, $Ebene); } break; case "LEERZEILENENTFERNEN": { list ($XMLmit) = $Parameter; unset ($Parameter); unset ($Vorgaben); $XMLohne = array (); if (is_array ($XMLmit)) foreach ($XMLmit as $Zeile) if (strval ($Zeile) != "") { $XMLohne[] = $Zeile; } $Ergebnis = $XMLohne; unset ($XMLohne); unset ($XMLmit); } break; } return $Ergebnis; } function funImport ($Aktion, $Vorgaben, $Parameter) { /* OB $Wert = funImport ("Ob", $Vorgaben, array ($Wert)); */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "OB": list ($Wert) = $Parameter; if ($Wert) { $Wert = 1; } else { $Wert = 0; } $Ergebnis = $Wert; break; } return $Ergebnis; } function funFarbe ($Aktion, $Vorgaben, $Parameter) { /* MISCHEN $Mischfarbe = funFarbe ("Mischen", $Vorgaben, array ($Farbe1, $Farbe2); */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "MISCHEN": list ($Farbe1, $Farbe2) = $Parameter; if (!$Farbe1) { $Farbe1 = "#FFFFFF"; } if (!$Farbe2) { $Farbe2 = "#FFFFFF"; } if ($Farbe1[0] != "#") { $Farbe1 = "#" . $Farbe1; } if ($Farbe2[0] != "#") { $Farbe2 = "#" . $Farbe2; } # 1. Farbe $R1 = hexdec (mb_substr ($Farbe1, 1, 2)) / 255; $G1 = hexdec (mb_substr ($Farbe1, 3, 2)) / 255; $B1 = hexdec (mb_substr ($Farbe1, 5, 2)) / 255; # 2. Farbe $R2 = hexdec (mb_substr ($Farbe2, 1, 2)) / 255; $G2 = hexdec (mb_substr ($Farbe2, 3, 2)) / 255; $B2 = hexdec (mb_substr ($Farbe2, 5, 2)) / 255; # Mischfarbe $MR = sprintf ("%02X", fncZahl ("zhlRunden", array ($R1 * $R2 * 255))); $MG = sprintf ("%02X", fncZahl ("zhlRunden", array ($G1 * $G2 * 255))); $MB = sprintf ("%02X", fncZahl ("zhlRunden", array ($B1 * $B2 * 255))); $Mischfarbe = "#" . $MR . $MG . $MB; $Ergebnis = $Mischfarbe; break; } return $Ergebnis; } function funText ($Aktion, $Vorgaben, $Parameter) // alt { /* GROSS $Text = funText ("Gross", $Vorgaben, array ($Text)); 2ERGRUPPEN $Text = funText ("2erGruppen", $Vorgaben, array ($Text)); INTERNET $Text = funText ("Internet.frei-Host", $Vorgaben, array ($Text)); $Text = funText ("Internet.frei-http", $Vorgaben, array ($Text)); TELEFON $Text = funText ("Telefon", $Vorgaben, array ($Text)); $Text = funText ("Telefon.2erGruppen", $Vorgaben, array ($Text)); WANDELN $Text = funText ("Wandeln.Umbruch.DB-Eingabe", $Vorgaben, array ($Text)); $Text = funText ("Wandeln.Umbruch.Eingabe-DB", $Vorgaben, array ($Text)); $Text = funText ("Wandeln.Umbruch.DB-Fliesstext", $Vorgaben, array ($Text)); TICKET - erzeugt ein Ticket (MD5) aus den gegebenen Textstücken $Text = funText ("Ticket", $Vorgaben, array (array ($Text1, $Text2), $Bindeglied)); KETTE - setzt eine Kette aus Anzahl x Glied zusammen $Text = funText ("Kette", $Vorgaben, array ($Anzahl, $Glied)); HERVORHEBEN $Text = funText ("Hervorheben." . $Klasse, $Vorgaben, array ($Text, $Phrasen)); */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion . ".."); switch (mb_strtoupper ($Aktion1)) { case "GROSS": list ($Text) = $Parameter; $Text = str_replace ("ß", "SS", $Text); $Text = mb_strtoupper ($Text); $Ergebnis = $Text; break; case "INTERNET": list ($Text) = $Parameter; # Debug //$dbgVariable = "Text"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); switch (mb_strtoupper ($Aktion2)) { case "FREI-HOST": # evtl HTTP-Vorspann entfernen if (mb_strtoupper (mb_substr ($Text, 0, 7)) == "HTTP://") { $Text = mb_substr ($Text, 7); } # evtl. Pfad + Query entfernen $Trenne = explode ("/", $Text); $Text = $Trenne[0]; break; case "FREI-HTTP": # HTTP-Vorspann ergänzen if (mb_strtoupper (mb_substr ($Text, 0, 7)) != "HTTP://") { $Text = "http://" . $Text; } break; } # Debug //$dbgVariable = "Text"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Ergebnis = $Text; break; case "2ERGRUPPEN": list ($Text) = $Parameter; $Laenge = mb_strlen ($Text); $Sammler = array (); if (!funZahl ("Ungerade", $Vorgaben, array ($Laenge))) { $Start = 0; } else { $Start = 1; $Sammler[] = mb_substr ($Text, 0, 1); } for ($Z = $Start; $Z < $Laenge; $Z += 2) { $Sammler[] = mb_substr ($Text, $Z, 2); } $Ergebnis = implode (" ", $Sammler); break; case "TELEFON": list ($Text) = $Parameter; if (mb_substr ($Text, 0, 3) == "+49") { $Text = "0" . trim (mb_substr ($Text, 3)); } list ($Vorwahl, $Rufnummer) = explode (" ", $Text); switch (mb_strtoupper ($Aktion2)) { case "2ERGRUPPEN": $Vorwahl = funText ("2erGruppen", $Vorgaben, array ($Vorwahl)); $Rufnummer = funText ("2erGruppen", $Vorgaben, array ($Rufnummer)); break; } $Text = "(" . $Vorwahl . ") " . $Rufnummer; $Ergebnis = $Text; break; case "WANDELN": list ($Text) = $Parameter; switch (mb_strtoupper ($Aktion2)) { case "UMBRUCH": switch (mb_strtoupper ($Aktion3)) { case "DB-EINGABE": $Text = str_replace ("
", chr (13), $Text); break; case "DB-FLIESSTEXT": $Text = str_replace ("
", " ", $Text); $Text = @ereg_replace (" +", " ", $Text); // Mehrfach-Leerzeichen entfernen break; case "EINGABE-DB": $Text = str_replace (chr (10), "", $Text); // LF entfernen $Text = str_replace (chr (13), "
", $Text); $Text = @ereg_replace ("(\){3,}", "

", $Text); // macht aus 3 oder mehr CRs hintereinander immer genau zwei CRs break; } break; } $Ergebnis = $Text; break; case "TICKET": list ($Texte, $Bindeglied) = $Parameter; if (is_array ($Texte)) { $Text = implode ($Bindeglied, $Texte); } $Text = md5 ($Text); $Ergebnis = $Text; break; case "KETTE": list ($Anzahl, $Glied) = $Parameter; $Anzahl = floor (1 * $Anzahl); $Text = ""; if ($Anzahl >= 1 and $Anzahl <= 1000) for ($Z = 1; $Z <= $Anzahl; $Z++) { $Text .= $Glied; } $Ergebnis = $Text; break; case "HERVORHEBEN": $Klasse = $Aktion2; list ($Text, $PhrasenRoh) = $Parameter; $Phrasen = explode (",", $PhrasenRoh); if (is_array ($Phrasen)) foreach ($Phrasen as $Phrase) { $Phrase = trim ($Phrase); $Text = str_replace ($Phrase, "" . $Phrase . "", $Text); } $Ergebnis = $Text; break; } return $Ergebnis; } function ladeRechte (& $Vorgaben) { $i_recht = ''; $x = ''; $t_objekt = ''; $t_zustand = ''; $t_wert1 = ''; $t_wert2 = ''; $t_wert3 = ''; $z_level = 0; fncDatenbank ('dtbLesen', $Vorgaben, array ('bRechte')); if (is_array ($Vorgaben["Data"]["bRechte"][0]["Kopfzeile"])) foreach ($Vorgaben["Data"]["bRechte"][0]["Kopfzeile"] as $i_recht => $x) { list ($t_objekt, $t_zustand, $t_wert1, $t_wert2, $t_wert3) = explode (".", $i_recht . "...."); $z_level = fncFeld ('dtfWert.RN', $Vorgaben, array ('bRechte', 1, $i_recht)) / 1; // $z_level = fncFeld ('dtfWert.RN', $Vorgaben, array ('bRechte', 1, $i_recht)); // echo '|'.$i_recht.'|'.$z_level.'|
'; switch ($t_zustand) { case "versteckt": { if ($z_level > $Vorgaben["Benutzer"]["Level"]) switch ($t_objekt) { case "Datenbank": { $Vorgaben["Benutzer"]["VersteckteDatenbanken"][$t_wert1] = 1; } break; case "Feld": { $Vorgaben["Benutzer"]["VersteckteFelder"][$t_wert1][$t_wert2] = 1; } break; case "Filter": { $Vorgaben["Benutzer"]["VersteckteFilter"][$t_wert1][$t_wert2] = 1; } break; } } break; case "erlaubt": { if ($z_level <= $Vorgaben["Benutzer"]["Level"]) switch ($t_objekt) { case "Modul": { $Vorgaben["Benutzer"]["ErlaubteModule"][$t_wert1] = 1; } break; case "Type": { $Vorgaben["Benutzer"]["ErlaubteTypen"][$t_wert1] = 1; } break; case "Genehmigen": { $Vorgaben["Benutzer"]["DarfGenehmigen"][$t_wert1] = 1; } break; case "Aendern": { $Vorgaben["Benutzer"]["ErlaubteFelder"][$t_wert1][$t_wert2] = 1; } break; } } break; case "gesperrt": { if ($z_level >= $Vorgaben["Benutzer"]["Level"]) switch ($t_objekt) { case "Type": { $Vorgaben["Benutzer"]["GesperrteTypen"][$t_wert1] = 1; } break; case "Befehle": { $Vorgaben["Benutzer"]["GesperrteBefehle"][$t_wert1][$t_wert2] = 1; } break; case "Felder": { $Vorgaben["Benutzer"]["GesperrteFelder"][$t_wert1][$t_wert2] = 1; } break; case "Aendern": { if ($t_wert2) // bestimmtes Feld sperren in bestimmten Modul { $Vorgaben["Benutzer"]["NurLesenFelder"][$t_wert1][$t_wert2] = 1; } else // komplettes Modul zum Ändern sperren { $Vorgaben["Benutzer"]["NurLesenModule"][$t_wert1] = 1; } } break; case "FremdAendern": { if ($t_wert2) // FremdFeld sperren in bestimmten Modul { $Vorgaben["Benutzer"]["NurLesenFremdFelder"][$t_wert1][$t_wert2] = 1; } else // komplettes Modul zum FremdÄndern sperren { $Vorgaben["Benutzer"]["NurLesenModuleWennFremd"][$t_wert1] = 1; } } break; case "Ansehen": { $Vorgaben["Benutzer"]["VersteckteFelder"][$t_wert1][$t_wert2] = 1; } break; case "FremdAnsehen": { $Vorgaben["Benutzer"]["VersteckteFremdFelder"][$t_wert1][$t_wert2] = 1; } break; case "DiensteEntfernen": { $Vorgaben["Benutzer"]["DiensteEntfernenGesperrt"] = 1; } break; case "AbwesenheitenEntfernen": { $Vorgaben["Benutzer"]["AbwesenheitenEntfernenGesperrt"][$t_wert1] = 1; } break; case "Abwesenheiten": { $Vorgaben["Benutzer"]["AbwesenheitenGesperrt"][$t_wert1] = 1; } break; case "FremdAbwesenheiten": { $Vorgaben["Benutzer"]["FremdAbwesenheitenGesperrt"][$t_wert1] = 1; } break; case "FilterPosition": { $Vorgaben["Benutzer"]["FilterPositionGesperrt"][$t_wert1][$t_wert2][$t_wert3] = 1; } break; } } break; } } } function funBenutzer ($Aktion, & $Vorgaben, $Parameter) { list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion . ".."); switch (mb_strtoupper ($Aktion1)) { case "OBZUGANG": $BenutzerID = 0; $Vorgaben["Benutzer"]["Level"] = 0; # Userwerte auslesen if (isset ($_REQUEST["User"])) { $IOBenutzer = mb_strtolower ($_REQUEST["User"]); // Groß-/Kleinschreibung wird ignoriert } else { $IOBenutzer = ""; } // # Debug // echo var_dump ($IOBenutzer); if (isset ($_REQUEST["Pass"])) { $IOKennwort = $_REQUEST["Pass"]; } else { $IOKennwort = ""; } # Admin vorbereiten $Admins = $Vorgaben["System"]["Benutzer"]; if (!isset ($Admins[$IOBenutzer]["Kennwort"]) or !$Admins[$IOBenutzer]["Kennwort"]) { # Mitarbeiter vorbereiten // $Mitarbeiter = $Vorgaben["Data"]["datMitarbeiter"]; $Register = fncRegister ("rgsZiehen.", array ($Vorgaben, "datMitarbeiter", "Benutzer", "ID")); # Debug // echo var_dump($Register); if (is_array ($Register)) foreach ($Register as $Benutzername => $ID) if (mb_strtolower ($Benutzername) == $IOBenutzer) { $BenutzerID = $ID; // bei gültigem User = true } } # Bereite Module vor // if (is_array ($Vorgaben["Module"])) foreach ($Vorgaben["Module"] as $Modul => $X) if ($Modul) if (is_array ($Vorgaben["Data"]["datModule"])) foreach ($Vorgaben["Data"]["datModule"] as $Modul => $tmp) if ($Modul) { $Vorgaben["Benutzer"]["ErlaubteModule"][$Modul] = 0; // erstmal auf null, aber somit steht die Reihenfolge fest } unset ($tmp); # Benutzer/Kennwort prüfen if ($IOBenutzer and isset ($Admins[$IOBenutzer]["Kennwort"]) and $Admins[$IOBenutzer]["Kennwort"] and md5 ($IOKennwort) == $Admins[$IOBenutzer]["Kennwort"]) // Admin? { $Vorgaben["Benutzer"]["ObZugang"] = 1; $Vorgaben["Benutzer"]["BenutzerID"] = 0; $Vorgaben["Benutzer"]["Name"] = "Administrator"; $Vorgaben["Benutzer"]["Level"] = 1 * $Admins[$IOBenutzer]["Rechte"]; if ($Vorgaben["Benutzer"]["Level"] == 4) // Sesame-Admin { $Vorgaben["Benutzer"]["ErlaubteModule"]["modMitarbeiter"] = 1; // darf nur Mitarbeiter $IOKennwort = $Vorgaben["curModul"] = "modMitarbeiter"; } // elseif (is_array ($Vorgaben["Module"])) foreach ($Vorgaben["Module"] as $Modul => $X) if ($Modul) elseif (is_array ($Vorgaben["Data"]["datModule"])) foreach ($Vorgaben["Data"]["datModule"] as $Modul => $tmp) if ($Modul) { $Vorgaben["Benutzer"]["ErlaubteModule"][$Modul] = 1; } } elseif ($IOBenutzer and $BenutzerID and md5 ($IOKennwort) == $Vorgaben["Data"]["datMitarbeiter"][$BenutzerID]["Kennwort"]) // Mitarbeiter? { $Vorgaben["Benutzer"]["ObZugang"] = 1; $Vorgaben["Benutzer"]["BenutzerID"] = $BenutzerID; $Vorgaben["curUser"] = $BenutzerID; $Vorgaben["Benutzer"]["Name"] = $Vorgaben["Data"]["datMitarbeiter"][$BenutzerID]["VornameNachname"]; $Vorgaben["Benutzer"]["Level"] = 1 * $Vorgaben["Data"]["datMitarbeiter"][$BenutzerID]["Rechte"]; } else { $Vorgaben["Benutzer"]["ObZugang"] = 0; $_REQUEST["User"] = ""; $_REQUEST["Pass"] = ""; } break; } } function XProzenteErzeugen_10 ($Gruppierung, $Aufgaben) { $Gruppen = $Aufgaben[0]["Gruppen"]; if (is_array ($Gruppen)) foreach ($Gruppen as $GID => $X) { if ($Aufgaben[0]["Statistik"][$Gruppierung][$GID]) { $AnzahlAufgaben = 0; $AnzahlErledigt = 0; if (is_array ($Aufgaben[0]["ChiffreSortiert"])) foreach ($Aufgaben[0]["ChiffreSortiert"] as $ID => $X) { if ($Aufgaben[$ID]["ID"] and $Aufgaben[$ID][$Gruppierung] == $GID) { $AnzahlAufgaben++; if ($Aufgaben[$ID]["Erledigt"]) { $AnzahlErledigt++; } } } if ($AnzahlAufgaben) { $Gruppen[$GID] .= " (" . fncZahl ("zhlRunden", array ((100 * $AnzahlErledigt / $AnzahlAufgaben))) . " %)"; } } } return $Gruppen; } function XStatusErzeugen_10 ($Aufgaben) { $Heute = funDatum ("Heute.8", $Vorgaben, array ()); if (is_array ($Aufgaben)) foreach ($Aufgaben as $ID => $X) { if ($Aufgaben[$ID]["ID"]) { $Aufgaben[$ID]["Status"] = 3; // grün, morgen if ($Aufgaben[$ID]["Faellig"] == $Heute) { $Aufgaben[$ID]["Status"] = 2; // gelb, heute } if ($Aufgaben[$ID]["Faellig"] < $Heute) { $Aufgaben[$ID]["Status"] = 1; // rot, gestern } if ($Aufgaben[$ID]["Erledigt"]) { $Aufgaben[$ID]["Status"] = 4; // grau, erledigt } } } return $Aufgaben; } function funDatum ($Aktion, $Vorgaben, $Parameter) { /* ERRECHNEDATUM6 - wenn + oder - vorangestellt wird (z.B. +3), wird ausgehend von HEUTE der entsprechende Monat ausgegeben (z.B. 201007) - sonst wird Wert 1:1 übergeben $Datum6 = funDatum ("ErrechneDatum6", $Vorgaben, array ($Wert)); ZEITRASTER - gibt ein Zeitraster in der Form 700, 715, 730, 745, 800 ... zurück. TagesSchema so angeben: 7:15-12:00 13:15-18:45 $Zeitraster = funDatum ("Zeitraster", $Vorgaben, array ($TagesSchema)); ZEITSPANNE - gibt Zeitspanne in Minuten zurück, die zwischen Startzeit (H)HMM und Endzeit liegt $Zeitspanne = funDatum ("Zeitspanne", $Vorgaben, array ($StartZeit, $EndZeit)); $Zeitspanne = funDatum ("Zeitspanne.Sekunden", $Vorgaben, array ($StartZeit, $EndZeit)); $Zeitspanne = funDatum ("Zeitspanne.Minuten", $Vorgaben, array ($StartZeit, $EndZeit)); KALENDERIUM - gibt einen Monat als Kalendarium zurück $Kalendarium = funDatum ("Kalendarium", $Vorgaben, array ($StartMonat6, $AnzahlMonate)); MONATE - ordnet ZeitraumTageweise nach Monaten (Format = 8) - wenn als Zeitraum die Werktage übergeben werden, dann stehen im Ergebnis Werkmonate $Monate = funDatum ("Monate", $Vorgaben, array ($ZeitraumTageweise)); WOCHENTAGE - erzeugt Array mit WochentagsIDs aus Schema nach dem Muster Mo-Fr oder Mo+Mi+Fr oder Mo+Mi-Fr $Wochentage = funDatum ("Wochentage", $Vorgaben, array ($Schema)); WERKTAGE $Werktage = funDatum ("WerktageNeu.Mo-Fr", $Vorgaben, array ($ZeitraumTageweise, $Feiertage)); - filtert alle Werktage aus Zeitraum (Format = 8) - Feiertage als Register (optional) $Werktage = funDatum ("WerktageAlt.Mo-Fr", $Vorgaben, array ($ZeitraumTageweise, $Feiertage)); $Werktage = funDatum ("WerktageAlt.Mo-Sa", $Vorgaben, array ($ZeitraumTageweise, $Feiertage)); $Werktage = funDatum ("WerktageAlt.Di+Do-Sa", $Vorgaben, array ($ZeitraumTageweise, $Feiertage)); TERMIN - errechnet einen Termin, gegeben wird AusgangsDatum und TagesDifferenz in Tagen (+ Termin in der Zukunft / – Termin in der Vergangenheit) $Termin = funDatum ("Termin.Differenz", $Vorgaben, array ($AusgangsDatum, $difTage, $difWochen, $difMonate, $difJahre)); $Termin = funDatum ("Termin.Wochenbeginn", $Vorgaben, array ($AusgangsDatum)); $Termin = funDatum ("Termin.Wochenende", $Vorgaben, array ($AusgangsDatum)); ALTER - errechnet das Alter aus StartDatum und EndDatum $Alter = funDatum ("Alter.8", $Vorgaben, array ($StartDatum, $EndDatum)); HEUTE $Heute = funDatum ("Heute.8", $Vorgaben, array ()); ZEITRAUM - NEU Zeitraum tageweise zurückgeben, Format Zeitraum[Datum8] = Wo(chentag) bzw. KW... $Zeitraum = funDatum ("Zeitraum.TageweiseNeu.Wo.8", $Vorgaben, array ($StartDatum, $EndeDatum)); $Zeitraum = funDatum ("Zeitraum.TageweiseNeu.KW.8", $Vorgaben, array ($StartDatum, $EndeDatum)); $Zeitraum = funDatum ("Zeitraum.TageweiseNeu.KW-Wo.8", $Vorgaben, array ($StartDatum, $EndeDatum)); - ALT Zeitraum tageweise zurückgeben, Format Zeitraum[Datum] = Datum $Zeitraum = funDatum ("Zeitraum.TageweiseAlt.10.8", $Vorgaben, array ($StartDatum, $EndeDatum)); - Eingangsformat = Ausgangsformat - aktuelle Woche $Zeitraum = funDatum ("Zeitraum.Woche.8.8", $Vorgaben, array ()); - Woche, in dem das angegebene Datum liegt $Zeitraum = funDatum ("Zeitraum.Woche.8.8", $Vorgaben, array (20070924)); KONVERTIEREN $Datum = funDatum ("Konvertieren.8.8", $Vorgaben, array (20070924, $TagVersatz, $MonatVersatz, $JahrVersatz, $StundeVersatz, $MinuteVersatz)); - Wochentag $Wochentag = funDatum ("Konvertieren.8.2", $Vorgaben, array (20070924)); TYPEN 1 = Zeitstempel 2 = WochentagsID 3 = Tag, Monat, Jahr, Stunde, Minute einzeln im Array 4 = Jahr: JJJJ 5 = Monat JJJJ 6 = JJJJMM 7 = Monat/Jahr: MM/JJJJ 8 = neudeutsches Format: JJJJMMTT 331 = Monatserster 339 = Monatsletzter 9 = Monat: M (als Zahl) 10 = altdeutsches Format: TT.MM.JJJJ 11 = TT. Monat JJJJ 12 = Datum/Uhrzeit neudeutsch: JJJJMMTTHHMM 13 = Wochentag, TT. Monat JJJJ 14 = Wochentag ( bzw. Heute...), TT. Monat JJJJ 15 = Wo(chentag) 16 = Datum/Uhrzeit altdeutsch: TT.MM.JJJJ HH:MM 17 = Wo, TT.MM. JJJJ 18 = Wo, TT.MM. JJJJ HH:MM 19 = Monat als Wort 20 = neudeutsches Format: JJJJ-MM-TT 21 = Mon(at) 22 = Uhrzeit HH:MM 23 = Tag als Zahl 24 = MON(AT) 31 = Tage des Monats 44 = (H)HMM Uhrzeit 52 = Kalenderwoche 844 = JJJJMMTT, (H)HMM 1044 = TT.MM.JJJJ, (H)HMM */ list ($Aktion1, $Aktion2, $Aktion3, $Aktion4) = explode (".", $Aktion . "..."); switch (mb_strtoupper ($Aktion1)) { case "ERRECHNEDATUM6": list ($Wert) = $Parameter; switch ($Wert[0]) { case "+": case "-": $Wert = funDatum ("Konvertieren.8.6", $Vorgaben, array ($Vorgaben["Heute"][8], 0, $Wert)); break; } $Ergebnis = $Wert; break; case "KONVERTIEREN": $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($Datum, $TagVersatz, $MonatVersatz, $JahrVersatz, $StundeVersatz, $MinuteVersatz) = $Parameter; $EingabeFormat = $Aktion2; $AusgabeFormat = $Aktion3; $ObCheck = $Aktion4; $ObSonderfall = 0; # var $Tag = 0; $Monat = 0; $Jahr = 0; $Stunde = 0; $Minute = 0; switch ($EingabeFormat) { case 1: list ($Tag, $Monat, $Jahr, $Stunde, $Minute) = explode (",", date ("j,n,Y,G,i", $Datum)); break; case 3: list ($Tag, $Monat, $Jahr, $Stunde, $Minute) = $Datum; break; case 4: $Tag = 1; $Monat = 1; $Jahr = 1 * $Datum; break; case 6: $Tag = 1; $Monat = 1 * mb_substr ($Datum, 4, 2); $Jahr = 1 * mb_substr ($Datum, 0, 4); break; case 7: $Tag = 1; list ($Monat, $Jahr) = explode ("/", $Datum); break; case 8: $Tag = 1 * mb_substr ($Datum, 6, 2); $Monat = 1 * mb_substr ($Datum, 4, 2); $Jahr = 1 * mb_substr ($Datum, 0, 4); break; case 10: list ($Tag, $Monat, $Jahr) = explode (".", $Datum); break; case 12: $Tag = 1 * mb_substr ($Datum, 6, 2); $Monat = 1 * mb_substr ($Datum, 4, 2); $Jahr = 1 * mb_substr ($Datum, 0, 4); $Stunde = 1 * mb_substr ($Datum, 8, 2); $Minute = 1 * mb_substr ($Datum, 10, 4); break; case 16: list ($TagesDatum, $Uhrzeit) = explode (" ", $Datum); list ($Tag, $Monat, $Jahr) = explode (".", $TagesDatum); list ($Stunde, $Minute) = explode (":", $Uhrzeit); break; case 22: list ($Stunde, $Minute) = explode (":", $Datum); $Tag = 1; $Monat = 1; $Jahr = 1; break; case 44: $Stunde = mb_substr (sprintf ("%04d", $Datum), 0, 2) / 1; $Minute = mb_substr (sprintf ("%04d", $Datum), 2, 2) / 1; $Tag = 1; $Monat = 1; $Jahr = 1; break; case 844: list ($Datum8, $Uhrzeit4) = $Datum; if ($Datum8 > 0) { $Tag = mb_substr (sprintf ("%08d", $Datum8), 6, 2) / 1; $Monat = mb_substr (sprintf ("%08d", $Datum8), 4, 2) / 1; $Jahr = mb_substr (sprintf ("%08d", $Datum8), 0, 4) / 1; $Stunde = mb_substr (sprintf ("%04d", $Uhrzeit4), 0, 2) / 1; $Minute = mb_substr (sprintf ("%04d", $Uhrzeit4), 2, 2) / 1; } else { $ObSonderfall = 1; $Sonderwert = $Datum8; } break; case 1044: list ($Datum10, $Uhrzeit4) = $Datum; list ($Tag, $Monat, $Jahr) = explode (".", $Datum10); $Stunde = mb_substr (sprintf ("%04d", $Uhrzeit4), 0, 2) / 1; $Minute = mb_substr (sprintf ("%04d", $Uhrzeit4), 2, 2) / 1; break; } if (!$ObSonderfall) { # Schnittstelle, macht aus 32.01.2008 >> 01.02.2008 $Tag += $TagVersatz / 1; $Monat += $MonatVersatz / 1; $Jahr += $JahrVersatz / 1; $Stunde += $StundeVersatz / 1; $Minute += $MinuteVersatz / 1; if (!$ObCheck or mb_strtoupper ($ObCheck) != "NOCHECK") // d.h. abwärtskompatibel wird immer Datum geprüft, wenn nichts angegeben ist, bei NoCheck keine Prüfung { list ($Tag, $Monat, $Jahr, $Stunde, $Minute) = explode (",", date ("j,n,Y,G,i", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))); } // //$dbgVariable = "Tag"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Monat"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Jahr"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Stunde"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Minute"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } if ($ObSonderfall) switch ($AusgabeFormat) { case 1: case 2: // WochentagsID case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: // JJJJMMTTHHMM Achtung: Kein Integer, muß als String übergeben werden! case 13: case 131: // Gestern, Heute, Morgen case 132: // Gestern = Überfällig, Heute, Morgen case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 31: case 44: case 52: $Ergebnis = $Sonderwert; break; case 3: $Ergebnis = array ($Sonderwert, 0,0,0,0); break; case 844: case 1044: $Ergebnis = array ($Sonderwert, 0); break; } else switch ($AusgabeFormat) // kein Sonderfall, normale Konvertierung { case 1: if ($Jahr < 1970) { $Jahr = 1970; } $Ergebnis = mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr); break; case 2: // WochentagsID $Ergebnis = date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr)); break; case 3: $Ergebnis = array ($Tag, $Monat, $Jahr, $Stunde, $Minute); break; case 4: $Ergebnis = sprintf ("%04d", $Jahr); break; case 5: $Ergebnis = $Vorgaben["System"]["Vokabeln"]["Monate"][$Monat] . " " . sprintf ("%04d", $Jahr); break; case 6: $Ergebnis = sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat); break; case 7: $Ergebnis = sprintf ("%02d", $Monat) . "/" . sprintf ("%04d", $Jahr); break; case 8: $Ergebnis = (sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag)) / 1; break; case 9: $Ergebnis = $Monat; break; case 10: $Ergebnis = sprintf ("%02d", $Tag) . "." . sprintf ("%02d", $Monat) . "." . sprintf ("%04d", $Jahr); break; case 11: $Ergebnis = $Tag . ". " . $Vorgaben["System"]["Vokabeln"]["Monate"][$Monat] . " " . sprintf ("%04d", $Jahr); break; case 12: // JJJJMMTTHHMM Achtung: Kein Integer, muß als String übergeben werden! $Ergebnis = sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag) . sprintf ("%02d", $Stunde) . sprintf ("%02d", $Minute); break; case 13: $Ergebnis = $Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1] . ", " . $Tag . ". " . $Vorgaben["System"]["Vokabeln"]["Monate"][$Monat] . " " . sprintf ("%04d", $Jahr); break; case 131: // Gestern, Heute, Morgen $Datum8 = (sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag)) / 1; if ($Datum8 == $Vorgaben["Heute"][8]) { $Wochentag = "Heute"; } elseif ($Datum8 == $Vorgaben["Gestern"][8]) { $Wochentag = "Gestern"; } elseif ($Datum8 == $Vorgaben["Morgen"][8]) { $Wochentag = "Morgen"; } else { $Wochentag = $Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1]; } $Ergebnis = $Wochentag . ", " . $Tag . ". " . $Vorgaben["System"]["Vokabeln"]["Monate"][$Monat] . " " . sprintf ("%04d", $Jahr); break; case 132: // Gestern = Überfällig, Heute, Morgen $Datum8 = (sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag)) / 1; $DatumText = ", " . $Tag . ". " . $Vorgaben["System"]["Vokabeln"]["Monate"][$Monat] . " " . sprintf ("%04d", $Jahr); if ($Datum8 == $Vorgaben["Heute"][8]) { $Ergebnis = "Heute" . $DatumText; } elseif ($Datum8 == $Vorgaben["Gestern"][8]) { $Ergebnis = "Überfällig"; // hier kein Datumstext } elseif ($Datum8 == $Vorgaben["Morgen"][8]) { $Ergebnis = "Morgen" . $DatumText; } else { $Ergebnis = $Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1] . $DatumText; } break; case 14: $Ergebnis = $Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1] . ", " . $Tag . "." . sprintf ("%02d", $Monat) . "." . sprintf ("%04d", $Jahr); break; case 15: $Ergebnis = mb_substr ($Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1], 0, 2); break; case 16: $Ergebnis = sprintf ("%02d", $Tag) . "." . sprintf ("%02d", $Monat) . "." . sprintf ("%04d", $Jahr) . " " . sprintf ("%02d", $Stunde) . ":" . sprintf ("%02d", $Minute); break; case 17: $Ergebnis = mb_substr ($Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1], 0, 2) . ", " . $Tag . "." . sprintf ("%02d", $Monat) . "." . sprintf ("%04d", $Jahr); break; case 18: $Ergebnis = mb_substr ($Vorgaben["System"]["Vokabeln"]["Wochentage"][(date ("w", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr))) + 1], 0, 2) . ", " . $Tag . "." . sprintf ("%02d", $Monat) . "." . sprintf ("%04d", $Jahr) . ", " . sprintf ("%02d", $Stunde) . ":" . sprintf ("%02d", $Minute) . " Uhr"; break; case 19: $Ergebnis = $Vorgaben["System"]["Vokabeln"]["Monate"][$Monat]; break; case 20: $Ergebnis = sprintf ("%04d", $Jahr) . "-" . sprintf ("%02d", $Monat) . "-" . sprintf ("%02d", $Tag); break; case 21: $Ergebnis = mb_substr ($Vorgaben["System"]["Vokabeln"]["Monate"][$Monat], 0, 3); break; case 22: $Ergebnis = sprintf ("%02d", $Stunde) . ":" . sprintf ("%02d", $Minute); break; case 23: $Ergebnis = $Tag; break; case 24: $Ergebnis = $Vorgaben["System"]["Vokabeln"]["Monate3Gross"][$Monat]; break; case 31: $Ergebnis = date ("t", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr)); break; case 331: $Tag = 1; $Ergebnis = (sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag)) / 1; break; case 339: $Tag = funDatum ("Konvertieren.3.31.NoCheck", $Vorgaben, array (array ($Tag, $Monat, $Jahr))); $Ergebnis = (sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag)) / 1; break; case 44: $Ergebnis = (sprintf ("%02d", $Stunde) . sprintf ("%02d", $Minute)) / 1; break; case 52: $Ergebnis = date ("W", mktime ($Stunde, $Minute, 0, $Monat, $Tag, $Jahr)); break; case 844: $Datum8 = (sprintf ("%04d", $Jahr) . sprintf ("%02d", $Monat) . sprintf ("%02d", $Tag)) / 1; $Uhrzeit4 = (sprintf ("%02d", $Stunde) . sprintf ("%02d", $Minute)) / 1; $Ergebnis = array ($Datum8, $Uhrzeit4); break; case 1044: $Datum10 = sprintf ("%02d", $Tag) . "." . sprintf ("%02d", $Monat) . "." . sprintf ("%04d", $Jahr); $Uhrzeit4 = (sprintf ("%02d", $Stunde) . sprintf ("%02d", $Minute)) / 1; $Ergebnis = array ($Datum10, $Uhrzeit4); break; } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); break; case "ZEITRASTER": { list ($TagesSchema) = $Parameter; // z.B. 7:00-12:15 13:30-19:00 oder 800-1200 1345-1915 list ($Vormittag, $Nachmittag) = explode (" ", str_replace (":", "", $TagesSchema)); // Doppelpunkt wird entfernt, Vor- und Nachmittag ermittelt list ($StartVormittag, $EndeVormittag) = explode ("-", $Vormittag); if ($Nachmittag) { list ($StartNachmittag, $EndeNachmittag) = explode ("-", $Nachmittag); } $StartStunde = floor ($StartVormittag / 100); // Startstunde wg. Performance $Zeitraster = array (); // wird zurückgegeben for ($S = $StartStunde, $MerkeUhrzeit = 0; $S < 24; $S++) for ($M = 0; $M < 60; $M += 15) // gehen den Tag in Viertelstundenschritten durch { $Uhrzeit = ($S . sprintf ("%02d", $M)) / 1; // bauen die Uhrzeit für jede Viertelstunde zusammen if ($MerkeUhrzeit) // im letzten Schleifendurchgang ermittelte, gültige Uhrzeit mit der dazugehörigen Endzeit übernehmen { // $Zeitraster[$MerkeUhrzeit] = $Uhrzeit; // übernehme $Zeitraster[] = $MerkeUhrzeit . "-" . $Uhrzeit; // übernehme $MerkeUhrzeit = 0; // leeren } if (($Uhrzeit >= $StartVormittag and ($Uhrzeit + 14) < $EndeVormittag) or ($Uhrzeit >= $StartNachmittag and ($Uhrzeit + 14) < $EndeNachmittag)) // wenn ins TagesSchema paßt { $MerkeUhrzeit = $Uhrzeit; // merken bis zum nächsten Schleifendurchlauf } } $Ergebnis = $Zeitraster; } break; case "ZEITSPANNE": list ($StartZeit, $EndZeit) = $Parameter; $Einheit = $Aktion2; $StartSekunden = funDatum ("Konvertieren.44.1", $Vorgaben, array ($StartZeit)); $EndSekunden = funDatum ("Konvertieren.44.1", $Vorgaben, array ($EndZeit)); switch (mb_strtoupper ($Einheit)) { default: case "Stunden": $Zeitspanne = ($EndSekunden - $StartSekunden) / 60 / 60; break; case "Minuten": $Zeitspanne = ($EndSekunden - $StartSekunden) / 60; break; case "Sekunden": $Zeitspanne = ($EndSekunden - $StartSekunden); break; } $Ergebnis = $Zeitspanne; break; case "WOCHENTAGE": list ($Schema) = $Parameter; if (!$Schema) { $Schema = "Mo-Fr"; } $Bereiche = explode ("+", $Schema); $Wochentage = array (); $AlleWochentage = array ("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); if (is_array ($Bereiche)) foreach ($Bereiche as $Bereich) { if (mb_strstr ($Bereich, "-")) // Bereich { list ($StartTag, $EndTag) = explode ("-", $Bereich); $StarttagPassiert = 0; $EndtagPassiert = 0; if (is_array ($AlleWochentage)) foreach ($AlleWochentage as $Wochentag) { if ($Wochentag == $StartTag) { $StarttagPassiert = 1; } if ($StarttagPassiert and !$EndtagPassiert) { $Wochentage[$Wochentag] = 1; } if ($Wochentag == $EndTag) { $EndtagPassiert = 1; } } } else // Tag { $Wochentag = $Bereich; $Wochentage[$Wochentag] = 1; } } $Ergebnis = $Wochentage; break; case "KALENDARIUM": list ($StartMonat6, $AnzahlMonate) = $Parameter; $Kalendarium = array (); for ($M = 0; $M < $AnzahlMonate; $M++) { $Monat6 = funDatum ("Konvertieren.6.6", $Vorgaben, array ($StartMonat6, 0, $M)); $Datum3 = funDatum ("Konvertieren.6.3", $Vorgaben, array ($Monat6)); $TageImMonat = funDatum ("Konvertieren.6.31", $Vorgaben, array ($Monat6)); // for ($T = 1; $T <= $TageImMonat; $T++) for ($T = 1, $MaxT = 42; $T <= $MaxT; $T++) // MaxT (=42) sind 6 angezeigte Wochen à / Tagen, 6 x 7 = 42, somit ist der sind alle Monate im Kalender gleich hoch { $Datum3[0] = $T; // Tag belegen $KW = funDatum ("Konvertieren.3.52", $Vorgaben, array ($Datum3)); // Kalenderwoche $Wochentag = funDatum ("Konvertieren.3.2", $Vorgaben, array ($Datum3)); // Wochentag if (!$Wochentag) // Sonntag kriegt 7 statt 0 { $Wochentag = 7; } if ($T == 1 and $Wochentag != 1) for ($W = 1; $W < $Wochentag; $W++) // wenn der 1. des Monats nicht auf einen Montag fällt, Leertage einschieben { $Kalendarium[$Monat6][$KW][$W] = ""; $MaxT--; // MaxT entsprechend korrigieren } if ($T > $TageImMonat) { $Kalendarium[$Monat6][$KW][$Wochentag] = ""; } else { $Kalendarium[$Monat6][$KW][$Wochentag] = $T; } } } $Ergebnis = $Kalendarium; break; case "MONATE": list ($ZeitraumTageweise) = $Parameter; $Monate = array (); if (is_array ($ZeitraumTageweise)) foreach ($ZeitraumTageweise as $Datum) { $Monat = mb_substr ($Datum, -4, 2); $Jahr = mb_substr ($Datum, 0, -4); $Monate[$Jahr . "_" . $Monat][$Datum] = $Datum; } $Ergebnis = $Monate; break; case "WERKTAGENEU": list ($ZeitraumTageweise, $Feiertage) = $Parameter; $Schema = $Aktion2; $Wochentage = funDatum ("Wochentage", $Vorgaben, array ($Schema)); $Werktage = array (); if (is_array ($ZeitraumTageweise)) foreach ($ZeitraumTageweise as $Datum => $Wo) if (!$Feiertage[$Datum]) if ($Wochentage[$Wo]) { $Werktage[$Datum] = $Wo; } $Ergebnis = $Werktage; break; case "WERKTAGEALT": list ($ZeitraumTageweise, $Feiertage) = $Parameter; $Schema = $Aktion2; $Wochentage = funDatum ("Wochentage", $Vorgaben, array ($Schema)); $Werktage = array (); if (is_array ($ZeitraumTageweise)) foreach ($ZeitraumTageweise as $Datum) if (!$Feiertage[$Datum]) { $Wo = funDatum ("Konvertieren.8.15", $Vorgaben, array ($Datum)); if ($Wochentage[$Wo]) { $Werktage[$Datum] = $Wo; } } $Ergebnis = $Werktage; break; case "TERMIN": switch (mb_strtoupper ($Aktion2)) { case "DIFFERENZ": list ($AusgangsDatum, $difTage, $difWochen, $difMonate, $difJahre) = $Parameter; list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren.8.3", $Vorgaben, array ($AusgangsDatum)); $Termin = funDatum ("Konvertieren.10.8", $Vorgaben, array (($Tag + $difTage + $difWochen * 7) . "." . ($Monat + $difMonate) . "." . ($Jahr + $difJahre))); $Ergebnis = $Termin; break; case "WOCHENBEGINN": list ($AusgangsDatum) = $Parameter; $Zeitraum = funDatum ("Zeitraum.Woche.8.8", $Vorgaben, array ($AusgangsDatum)); $Ergebnis = $Zeitraum["Start"]; break; case "WOCHENENDE": list ($AusgangsDatum) = $Parameter; $Zeitraum = funDatum ("Zeitraum.Woche.8.8", $Vorgaben, array ($AusgangsDatum)); $Ergebnis = $Zeitraum["Ende"]; break; } break; case "ALTER": /* Ist die Jahreszahl durch 4 teilbar, aber nicht durch 100, dann ist es ein Schaltjahr mit 366 Tagen. Beispiele: 1980, 1972, 1720. Ist die Jahreszahl durch 100 teilbar, aber nicht durch 400, dann ist das Jahr ein gewöhnliches Gemeinjahr und hat nur 365 Tage, z. B. in den Jahren 1700, 1800 und 1900 oder ferner 2100. Ist die Jahreszahl durch 400 teilbar, ist das Jahr ein Schaltjahr. Die Jahre 1600 und 2000 waren – in Übereinstimmung mit der Julianischen Schaltregel – Schaltjahre zu 366 Tagen. oder einfach zu merkende Regel: Ein Schaltjahr ist alle vier Jahre (1992 und 1996 waren z.B. Schaltjahre) alle hundert Jahre nicht (1700 und 1800 waren keine Schaltjahre) und alle vierhundert Jahre doch (2000 war ein Schaltjahr) In Java (Programmier-Code): boolean istSchaltjahr = ((jahr % 4 == 0 && jahr % 100 != 0) || jahr % 400 == 0); */ list ($StartDatum, $EndDatum) = $Parameter; $Format = $Aktion2; $TropischesJahr = 365.242190417; $Alter = array (); if ($StartDatum and $EndDatum) { $Start = funDatum ("Konvertieren." . $Format . ".1", $Vorgaben, array ($StartDatum)); $Ende = funDatum ("Konvertieren." . $Format . ".1", $Vorgaben, array ($EndDatum)); $Differenz = $Ende - $Start; if ($Differenz < 0) { $Differenz = 0; } } else { $Differenz = 0; } $Alter["InTagen"] = ceil ($Differenz / 60 / 60 / 24); $Alter["InJahren"] = $Differenz / 60 / 60 / 24 / $TropischesJahr; $Alter["InMonaten"] = $Alter["InJahren"] * 12; $Alter["Jahre"] = floor ($Alter["InJahren"]); $Alter["Monate"] = floor (($Differenz - ($Alter["Jahre"] * $TropischesJahr * 24 * 60 * 60)) / 60 / 60 / 24 / $TropischesJahr * 12); $Alter["Tage"] = ceil (($Differenz - ($Alter["Jahre"] * $TropischesJahr * 24 * 60 * 60) - ($Alter["Monate"] / 12 * $TropischesJahr * 24 * 60 * 60)) / 24 / 60 / 60); $Ergebnis = $Alter; break; case "HEUTE": { $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($TagVersatz, $MonatVersatz, $JahrVersatz) = $Parameter; $Format = $Aktion2; $Ergebnis = funDatum ("Konvertieren.1." . $Format, $Vorgaben, array (time (), $TagVersatz, $MonatVersatz, $JahrVersatz)); } break; case "ZEITRAUM": list ($StartDatum, $EndeDatum, $Feiertage) = $Parameter; $EingabeFormat = $Aktion3; $AusgabeFormat = $Aktion4; $Ergebnis = array (); if (!$StartDatum) { $StartDatum = $Vorgaben["Heute"][$EingabeFormat]; } switch (mb_strtoupper ($Aktion2)) { case "TAGEWEISENEU": $EingabeFormat = $Aktion4; $StartDatum8 = funDatum ("Konvertieren." . $EingabeFormat . ".8.NoCheck", $Vorgaben, array ($StartDatum)); $EndeDatum8 = funDatum ("Konvertieren." . $EingabeFormat . ".8.NoCheck", $Vorgaben, array ($EndeDatum)); // //$dbgVariable = "StartDatum8"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "EndeDatum8"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren.8.3.NoCheck", $Vorgaben, array ($StartDatum8)); for ($TagesDatum8 = $StartDatum8; $TagesDatum8 <= $EndeDatum8; $TagesDatum8 = funDatum ("Konvertieren.10.8", $Vorgaben, array (++$Tag . "." . $Monat . "." . $Jahr))) { switch (mb_strtoupper ($Aktion3)) // vorbereiten { case "WO": // Wochentag case "KW-WO": // Kalenderwoche + Wochentag if ($Feiertage[$TagesDatum8]) { $Wo = "Fe"; // als Feiertag kennzeichnen } else { $Wo = funDatum ("Konvertieren.8.15.NoCheck", $Vorgaben, array ($TagesDatum8)); // Wochentag Mo Di Mi ... ermitteln } case "KW": // Kalenderwoche $KW = funDatum ("Konvertieren.8.52.NoCheck", $Vorgaben, array ($TagesDatum8)); break; } switch (mb_strtoupper ($Aktion3)) // übergeben { case "WO": // Wochentag $Ergebnis[$TagesDatum8] = $Wo; // übernehmen break; case "KW": // Kalenderwoche $Ergebnis[$TagesDatum8] = $KW; break; case "KW-WO": // Kalenderwoche + Wochentag $Ergebnis[$KW][$TagesDatum8] = $Wo; // übernehmen break; } } break; case "TAGEWEISEALT": $StartDatum8 = funDatum ("Konvertieren." . $EingabeFormat . ".8", $Vorgaben, array ($StartDatum)); $EndeDatum8 = funDatum ("Konvertieren." . $EingabeFormat . ".8", $Vorgaben, array ($EndeDatum)); list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren." . $EingabeFormat . ".3", $Vorgaben, array ($StartDatum)); for ($TagesDatum8 = $StartDatum8; funDatum ("Konvertieren.10.8", $Vorgaben, array ($Tag . "." . $Monat . "." . $Jahr)) <= $EndeDatum8; $Tag++) { $TagesDatum8 = funDatum ("Konvertieren.10.8", $Vorgaben, array ($Tag . "." . $Monat . "." . $Jahr)); $Ergebnis[$TagesDatum8] = $TagesDatum8; } break; case "WOCHE": $Wochentag = funDatum ("Konvertieren." . $EingabeFormat . ".2", $Vorgaben, array ($StartDatum)); list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren." . $EingabeFormat . ".3", $Vorgaben, array ($StartDatum)); if (!$Wochentag) // Sonntag { $Ergebnis["Start"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array (($Tag - 6) . "." . $Monat . "." . $Jahr)); $Ergebnis["Ende"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array (($Tag - 6 + 6) . "." . $Monat . "." . $Jahr)); } else // Montag bis Samstag { $Ergebnis["Start"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array (($Tag - $Wochentag + 1) . "." . $Monat . "." . $Jahr)); $Ergebnis["Ende"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array (($Tag - $Wochentag + 1 + 6) . "." . $Monat . "." . $Jahr)); } break; case "MONAT": $TageDesMonats = funDatum ("Konvertieren." . $EingabeFormat . ".31", $Vorgaben, array ($StartDatum)); list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren." . $EingabeFormat . ".3", $Vorgaben, array ($StartDatum)); $Ergebnis["Start"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array ("1." . $Monat . "." . $Jahr)); $Ergebnis["Ende"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array ($TageDesMonats . "." . $Monat . "." . $Jahr)); break; case "1TAG": $Ergebnis["Start"] = funDatum ("Konvertieren." . $EingabeFormat . "." . $AusgabeFormat, $Vorgaben, array ($StartDatum)); $Ergebnis["Ende"] = funDatum ("Konvertieren." . $EingabeFormat . "." . $AusgabeFormat, $Vorgaben, array ($StartDatum)); break; case "7TAGE": list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren." . $EingabeFormat . ".3", $Vorgaben, array ($StartDatum)); $Ergebnis["Start"] = funDatum ("Konvertieren." . $EingabeFormat . "." . $AusgabeFormat, $Vorgaben, array ($StartDatum)); $Ergebnis["Ende"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array (($Tag + 6). "." . $Monat . "." . $Jahr)); break; case "14TAGE": // so besser, neuere Variante mit TagesVersatz // list ($Tag, $Monat, $Jahr) = funDatum ("Konvertieren." . $EingabeFormat . ".3", $Vorgaben, array ($StartDatum)); $Ergebnis["Start"] = funDatum ("Konvertieren." . $EingabeFormat . "." . $AusgabeFormat, $Vorgaben, array ($StartDatum)); $Ergebnis["Ende"] = funDatum ("Konvertieren." . $EingabeFormat . "." . $AusgabeFormat, $Vorgaben, array ($StartDatum, 13)); // $Ergebnis["Ende"] = funDatum ("Konvertieren.10." . $AusgabeFormat, $Vorgaben, array (($Tag + 13). "." . $Monat . "." . $Jahr)); break; } break; } return $Ergebnis; } function funZahl ($Aktion, $Vorgaben, $Parameter) // ablösen -> fncZahl ohne Vorgaben! { /* VIERTELBRUCH - macht aus 1.25 => 1¼ (½ ¾) $Zahl = funZahl ("Formatieren.Viertelbruch", $Vorgaben, array ($Zahl)); AUF012 - 0 bleibt 0, ungerade wird 1, gerade wird 2 $Auf012 = funZahl ("Auf012", $Vorgaben, array ($Zahl)); UNGERADE if (funZahl ("Ungerade", $Vorgaben, array ($Zahl))) { } ZUSATZ - heißt es XX Jahr oder XX Jahre? $Zusatz = funZahl ("Zusatz", $Vorgaben, array ($Zahl, $Singular, $Plural, $ObLeerzeichenVoran)); Importieren $Zahl = funZahl ("Importieren.DE", $Vorgaben, array ($Zahl)); $Zahl = funZahl ("Importieren.EN", $Vorgaben, array ($Zahl)); FORMATIEREN $Zahl = funZahl ("Formatieren.DE", $Vorgaben, array ($Zahl)); $Zahl = funZahl ("Formatieren.DE.2", $Vorgaben, array ($Zahl)); $Zahl = funZahl ("Formatieren.EN", $Vorgaben, array ($Zahl)); $Zahl = funZahl ("Formatieren.PC", $Vorgaben, array ($Zahl)); $Zahl = funZahl ("Formatieren.PC.3", $Vorgaben, array ($Zahl)); */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion . ".."); switch ($Aktion1) { case "Auf012": list ($Zahl) = $Parameter; unset ($Parameter); if (!$Zahl) // 0 bleibt 0 { $Auf012 = 0; } elseif (funZahl ("Ungerade", $Vorgaben, array ($Zahl))) // ungerade Zahlen werden 1 { $Auf012 = 1; } else // ungerade Zahlen werden 2 { $Auf012 = 2; } unset ($Vorgaben); $Ergebnis = $Auf012; break; case "Ungerade": list ($Zahl) = $Parameter; unset ($Parameter); unset ($Vorgaben); $Ergebnis = false; if ($Zahl & 1) { $Ergebnis = true; } break; case "Zusatz": // veraltet, wird ersetzt durch ftxEinheit { list ($Zahl, $Singular, $Plural, $ObLeerzeichenVoran) = $Parameter; unset ($Parameter); unset ($Vorgaben); if ($Zahl and $Zahl == "—") { $Zusatz = ""; } elseif ($Zahl == 1) { $Zusatz = $Singular; } else { $Zusatz = $Plural; } if ($ObLeerzeichenVoran) { $Zusatz = " " . $Zusatz; } $Ergebnis = $Zusatz; } break; case "Importieren": list ($Zahl) = $Parameter; unset ($Parameter); unset ($Vorgaben); $Format = $Aktion2; switch (mb_strtoupper ($Format)) { case "DE": $Zahl = str_replace (".", "", $Zahl); $Zahl = str_replace (",", ".", $Zahl); break; case "EN": $Zahl = str_replace (",", "", $Zahl); break; } $Ergebnis = (1 * $Zahl); break; case "Formatieren": list ($Zahl) = $Parameter; unset ($Parameter); unset ($Vorgaben); $Format = $Aktion2; $DezimalStellen = (1 * $Aktion3); $Zahl *= 1; switch (mb_strtoupper ($Format)) { case "VIERTELBRUCH": $Vorrat = array (0 => "", 1 => "¼", 2 => "½", 3 => "¾"); $Ganzzahl = floor ($Zahl); $Nachkomma = fncZahl ("zhlRunden", array (4 * ($Zahl - $Ganzzahl))); if ($Nachkomma == 4) { $Ganzzahl++; $Nachkomma = 0; } $Ergebnis = $Ganzzahl . $Vorrat[$Nachkomma]; unset ($Vorrat); break; case "PC": $Ergebnis = number_format ($Zahl, $DezimalStellen, ".", ""); break; case "DE": $Ergebnis = number_format ($Zahl, $DezimalStellen, ",", "."); break; case "EN": $Ergebnis = number_format ($Zahl, $DezimalStellen, ".", ","); break; } break; } return $Ergebnis; } function funEingabe ($Aktion, $Vorgaben, $Parameter) // wird abgelöst { /* ANZEIGEN $Vorgaben["htmRumpf"][] = funEingabe ("Anzeigen", $Vorgaben, array ($Datenbank, $Feld, $ID, $Wert, $ObAenderbar, $ObImmerLinks)); $Vorgaben["htmRumpf"][] = funEingabe ("Anzeigen.InGelberBox", $Vorgaben, array ($Datenbank, $Feld, $ID, $Wert, $ObAenderbar, $ObImmerLinks)); GRUPPE $Vorgaben["htmRumpf"][] = funEingabe ("Gruppe", $Vorgaben, array ("Text1", "Text2", "Text3")); $Vorgaben["htmRumpf"][] = funEingabe ("Gruppe.1", $Vorgaben, array ("XXX")); // kein Abstand oben UNILABEL $Vorgaben["htmRumpf"][] = funEingabe ("UniLabel", $Vorgaben, array ($DatenbankName, $Feld)); $Vorgaben["htmRumpf"][] = funEingabe ("UniLabel.Normal", $Vorgaben, array ($DatenbankName, $Feld)); $Vorgaben["htmRumpf"][] = funEingabe ("UniLabel.Gruppe", $Vorgaben, array ($DatenbankName, $Gruppe)); KOMBIAUSWAHLLISTE - Auswahlliste für Kombi-Eingabefeld erzeugen und in der Datenbank in den Header anfügen $Vorgaben = funEingabe ("KombiAuswahlListe.Feld", $Vorgaben, array ($CDB)); FILTERN $Eingabe = funEingabe ("Filtern", $Vorgaben, array ($Eingabe)); FORMAT if (funEingabe ("Format.Internet", $Vorgaben, array ($Eingabe))) { } if (funEingabe ("Format.EMail", $Vorgaben, array ($Eingabe))) { } FEHLER $ObFehlerFeld = funEingabe ("Fehler", $Vorgaben, array ()); LABEL $Vorgaben["htmRumpf"][] = funEingabe ("Label", $Vorgaben, array ("Zeile1", "Zeile2")); $Vorgaben["htmRumpf"][] = funEingabe ("Label.Rechts", $Vorgaben, array ("Zeile1", "Zeile2")); $Vorgaben["htmRumpf"][] = funEingabe ("Label.Symbol", $Vorgaben, array ("symbol_tonne_kopf.gif")); $Vorgaben["htmRumpf"][] = funEingabe ("Label.Symbol.Rechts", $Vorgaben, array ("symbol_tonne_kopf.gif")); EINGABEFELDER $Vorgaben["htmRumpf"][] = funEingabe ("Blind", $Vorgaben, array ($FeldName, $ObKandidatenID)); $Vorgaben["htmRumpf"][] = funEingabe ("Text", $Vorgaben, array ($FeldName, $BreiteMaxLaenge, $ObOnChange)); $Vorgaben["htmRumpf"][] = funEingabe ("Kennwort", $Vorgaben, array ($FeldName, $BreiteMaxLaenge)); $Vorgaben["htmRumpf"][] = funEingabe ("Textfeld", $Vorgaben, array ($FeldName, $BreiteXHoehe, $OnFocus)); $Vorgaben["htmRumpf"][] = funEingabe ("Auswahl", $Vorgaben, array ($FeldName, $AuswahlListe, $ObSubmitTyp, $ConfirmFrage)); $Vorgaben["htmRumpf"][] = funEingabe ("Radio", $Vorgaben, array ($FeldName, $AuswahlListe, $ObSubmitTyp, $ConfirmFrage)); $Vorgaben["htmRumpf"][] = funEingabe ("Optionen", $Vorgaben, array ($FeldName, $AuswahlListe)); $Vorgaben["htmRumpf"][] = funEingabe ("Datei", $Vorgaben, array ($FeldName, $FeldBreite)); $Vorgaben["htmRumpf"][] = funEingabe ("Kalender", $Vorgaben, array ($Kalendarium, $ObAenderbar)); */ $Modul = ""; if (isset ($Vorgaben["curModul"])) { $Modul = $Vorgaben["curModul"]; } list ($Aktion1, $Aktion2, $Aktion3, $Aktion4, $Aktion5) = explode (".", $Aktion . "...."); switch (mb_strtoupper ($Aktion1)) { case "GRUPPE": list ($Text1, $Text2, $Text3) = $Parameter; // echo "

".$Text1." ".$Text2." ".$Text3."

"; $HTML = array (); $Stil = ""; switch (mb_strtoupper ($Aktion2)) { case 1: // erste Gruppe oben kein Abstand $Stil = "padding-top: 1px; "; break; } $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalGruppe cssPpLt, font-size: 12px; " . $Stil)); $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssSystemFett, font-size: 12px; ")); $HTML[] = $Text1; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array (", padding-left: 10px;")); $HTML[] = $Text2; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array (", padding-left: 10px;")); $HTML[] = $Text3; $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "UNILABEL": list ($DB, $Feld) = $Parameter; $FeldTyp = $Vorgaben["Data"][$DB][0]["FeldTypen"][$Feld][0]; $Zeile1 = $Vorgaben["Data"][$DB][0]["FeldBezeichner"][$Feld]; $Zeile2 = $Vorgaben["Data"][$DB][0]["FeldBezeichner2"][$Feld]; // $Zeile3 = $Vorgaben["Data"][$DB][0]["FeldBezeichner3"][$Feld]; $Ausrichtung = $Padding = ""; # Ausrichtung if (mb_strtoupper ($Aktion2) == "GRUPPE") { $Ausrichtung = " cssSystemZentriert"; if (!$Feld or $Feld[0] == "/") // wenn die anderen Felder gruppiert sind, aber bei einer Spakte die Gruppe leer sein soll, dann mit "/" beginnen lassen. { $Zeile1 = ""; } else { $Zeile1 = $Feld; } } else switch ($FeldTyp) { case "ID": case "Tonne": case "Zahl": case "Betrag": case "Prozent": case "Rechts": case "Stunden": $Ausrichtung = " cssSystemRechts"; break; } # Fett/Normal if (mb_strtoupper ($Aktion2) == "NORMAL") { $KlasseZeile1 = "cssSystemNormal"; } else { $KlasseZeile1 = "cssSystemFett"; } # Symbol switch ($FeldTyp) { case "Tonne": $Symbol = "portal_tonne.gif"; break; case "Symbol": $Symbol = "portal_" . $Vorgaben["Data"][$DB][0]["Symbole"][$Feld] . ".gif"; break; } # Padding switch ($FeldTyp) { case "Tonne": case "Symbol": $Padding = "padding: 2px 6px 0px 6px; "; if ($Zeile2) { $Zeile1 = ""; $Zeile2 = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . $Symbol, 0, 0, $Zeile1)); } else { $Zeile1 = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . $Symbol, 0, 0, $Zeile1)); } break; default: $Padding = "padding: 4px 6px 6px 6px; "; break; } # Ausgabe $HTML = array (); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ($Ausrichtung . ",font-size: 12px; " . $Padding)); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ($KlasseZeile1 . " cssSystemFestAusschluss", $Vorgaben["Data"][$DB][0]["FeldTitel"][$Feld])); $HTML[] = $Zeile1 . "
"; $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); if ($Zeile2) { $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ("cssSystemNormal cssSystemFestAusschluss", $Vorgaben["Data"][$DB][0]["FeldTitel2"][$Feld])); $HTML[] = $Zeile2 . "
"; $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "LABEL": list ($Zeile1, $Zeile2) = $Parameter; $Rechts = $Padding = ""; switch (mb_strtoupper ($Aktion2)) { case "RECHTS": $Rechts = "text-align: right; "; default: $Padding = "padding: 4px 6px 6px 6px; "; break; case "SYMBOL": switch (mb_strtoupper ($Aktion3)) { case "RECHTS": $Rechts = "text-align: right; "; break; } $Padding = "padding: 2px 6px 0px 6px; "; if ($Zeile2) { $Zeile1 = "
"; $Zeile2 = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . $Zeile2)); } else { $Zeile1 = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . $Zeile1)); } break; case "GELBEBOX": $Padding = "padding: 0px 6px 0px 6px; "; break; } $HTML = array (); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" , font-size: 12px; " . $Padding . $Rechts)); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" ,font-weight: bold; white-space: nowrap; ")); $HTML[] = $Zeile1; $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); if ($Zeile2) { $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" ,font-weight: normal; white-space: nowrap; ")); $HTML[] = $Zeile2; $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "KOMBIAUSWAHLLISTE": list ($datDatenbank, $datFelder) = $Parameter; unset ($Parameter); $datFeld = trim ($Aktion2); // Hauptfeld, für dieses Feld wird die Kombiliste erzeugt $datFelder = explode ("|", $datFelder); // weitere Felder $ObErledigt = array (); // $regWerte = fncAltRegister ("Ziehen", $Vorgaben, array ($datDatenbank, $datFeld, $datFeld)); $regWerte = fncRegister ("rgsZiehen.", array ($Vorgaben, $datDatenbank, $datFeld, $datFeld)); // var_dump ($regWerte); // //$dbgVariable = "dbgRegister"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $ObErledigt[$datFeld] = 1; if (is_array ($datFelder)) foreach ($datFelder as $Feld) if (!isset ($ObErledigt[$Feld]) or !$ObErledigt[$Feld]) // nicht doppelt ziehen { // $regRegister = fncAltRegister ("Ziehen", $Vorgaben, array ($datDatenbank, $Feld, $Feld)); $regRegister = fncRegister ("rgsZiehen.", array ($Vorgaben, $datDatenbank, $Feld, $Feld)); $regWerte = fncAltRegister ("Mischen", $Vorgaben, array ($regWerte, $regRegister)); } $regWerte = fncAltRegister ("Sortieren", $Vorgaben, array ($regWerte)); $regAuswahl = array ("Neu" => "Neu", "~" => "---------------------"); if (is_array ($regWerte)) foreach ($regWerte as $Element => $X) { $regAuswahl[$Element] = fncText ("ftxWandeln.F", array ($Element)); } $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$datFeld]["regGesAuswahl"] = $regAuswahl; $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$datFeld]["regOffAuswahl"] = $regAuswahl; $Ergebnis = $Vorgaben; unset ($Vorgaben); break; case "BLIND": // soll abgelöst werden $Parameter[] = ""; $Parameter[] = ""; list ($FeldName, $KandidatenID) = $Parameter; unset ($Parameter); // $_REQUEST = $_REQUEST; if (is_array ($_REQUEST[$FeldName])) { $AktuellerWert = $_REQUEST[$FeldName][$KandidatenID]; $FeldName .= $KandidatenID; } else { $AktuellerWert = $_REQUEST[$FeldName]; } $Ergebnis = " "; break; case "TEXT": $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($FeldName, $BreiteMaxLaenge, $ObSubmitTyp, $Frage) = $Parameter; list ($Breite, $MaxLaenge) = explode (",", $BreiteMaxLaenge . ","); # // $_REQUEST = $_REQUEST; $AktuellerWert = $_REQUEST[$FeldName]; # $NurLesen = $Stil = $Submit = ""; $OnFocus = " onFocus=\"select(); \""; # $Breite *= 1; $MaxLaenge *= 1; if (!$Breite) { $Breite = 24; } if (!$MaxLaenge) { $MaxLaenge = 128; } switch ($ObSubmitTyp) { case 1: $Submit = " onChange=\"document.frmMvd.submit(); \""; break; case 2: // für Filter >> Ambiente $Submit = " onChange=\"document.frmMvd." . AMBIENTE . ".value = 1; document.frmMvd.submit(); \""; break; case 3: // mit Confirm $Submit = " onChange=\"if (confirm ('" . $Frage . "')) { document.frmMvd.submit(); } \""; break; } $StilStandardversatzFFzuIE = "margin: 1px 0px 0px 0px !important; margin: 0px 0px 0px 1px; "; switch (mb_strtoupper ($Aktion2)) { default: $Stil = " style=\"" . $StilStandardversatzFFzuIE . "\""; break; case"NURLESEN": $NurLesen = " readOnly"; $OnFocus = ""; $Stil = " style=\"" . $StilStandardversatzFFzuIE . "\""; break; case "BETRAG": case "STUNDEN": $Stil = " style=\"text-align: right; " . $StilStandardversatzFFzuIE . "\""; break; } $Ergebnis = ""; break; case "KENNWORT": $Parameter[] = ""; list ($FeldName, $BreiteMaxLaenge) = $Parameter; list ($Breite, $MaxLaenge) = explode (",", $BreiteMaxLaenge . ","); # $OnFocus = " onFocus=\"select(); \""; # $Breite *= 1; $MaxLaenge *= 1; if (!$Breite) { $Breite = 24; } if (!$MaxLaenge) { $MaxLaenge = 128; } $Ergebnis = ""; break; case "DATEI": list ($FeldName, $FeldBreite) = $Parameter; $FeldBreite *= 1; if (!$FeldBreite) { $FeldBreite = 24; } $Ergebnis = ""; break; case "TEXTFELD": $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($FeldName, $BreiteXHoehe, $OnFocus) = $Parameter; list ($Breite, $Hoehe) = explode ("X", mb_strtoupper ($BreiteXHoehe) . "X"); // $_REQUEST = $_REQUEST; $AktuellerWert = $_REQUEST[$FeldName]; $Breite /= 1; $Hoehe /= 1; if (!$Breite) { $Breite = 24; } if (!$Hoehe) { $Hoehe = 9; } if ($OnFocus) { $OnFocus = " onFocus=\"select(); " . $OnFocus . " \""; } else { $OnFocus = " onFocus=\"select(); \""; } $Ergebnis = ""; break; case "KALENDER": // für Disposition, muss univeralisiert werden, siehe BKalender list ($Kalendarium, $ObAenderbar, $Spalten) = $Parameter; // echo "-".$ObAenderbar."-"; $CArbeitsgruppe = $_REQUEST[RECORD]; // zu speziell $AnzahlMonate = count ($Kalendarium); $HTML = array (); $Z = 0; // zählt Monate $Sp = 0; // zählt Spalten $HTML[] = funAltBaustein ("Tabelle.12", $Vorgaben, array ()); // Tabelle, alle Monate if (is_array ($Kalendarium)) foreach ($Kalendarium as $Monat6 => $Monat) { $Z++; $Sp++; if ($Z == 1) // erster Monat { $ObRueckwaertsBl = 1; } else { $ObRueckwaertsBl = 0; } if ($Z == $AnzahlMonate) // letzter Monat { $ObLetzterMonat = 1; } else { $ObLetzterMonat = 0; } $HTML[] = funAltBaustein ("Tabelle.3", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalKalenderBox")); // Monat AußenBox $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ("cssSystemVolleBreite cssPortalKalenderTitel1")); // Monat Titelbox $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssSystemVolleBreite+ cssPortalKalenderTitel2")); if ($ObRueckwaertsBl) { $HTML[] = BasisVerweis_47 ("Intern.KalenderAnsichtL", $Vorgaben, "Rückwärts blättern", 0, "document.frmMvd.KalenderAnsicht.value = '-1'; document.frmMvd.submit(); ", 0, "xkl" . $Monat6 . ":portal_kalender_links.gif") . fncAltBild ("Anzeigen.xkl" . $Monat6, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_links.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } else { $HTML[] = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_leer_xx.gif")) . "
"; } $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssSystemVolleBreite cssPortalKalenderTitel3")); $HTML[] = funDatum ("Konvertieren.6.5", $Vorgaben, array ($Monat6)) . "
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ( "cssPortalKalenderTitel4")); if ($ObLetzterMonat) { $HTML[] = BasisVerweis_47 ("Intern.KalenderAnsichtR", $Vorgaben, "Vorwärts blättern", 0, "document.frmMvd.KalenderAnsicht.value = '1'; document.frmMvd.submit(); ", 0, "xkr" . $Monat6 . ":portal_kalender_rechts.gif") . fncAltBild ("Anzeigen.xkr" . $Monat6, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_rechts.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } else { $HTML[] = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_leer_xx.gif")) . "
"; } $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ()); // Monat Tage $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("+cssPortalKalenderKWTitel")); $HTML[] = "KW
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Mo
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Di
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Mi
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Do
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Fr
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWETitel")); $HTML[] = "Sa
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWETitel")); $HTML[] = "So
"; if (is_array ($Monat)) foreach ($Monat as $KW => $Woche) { // $HTML[] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ("cssPortalKalenderZelleKW")); $HTML[] = fncBaustein ("bstTabelle.XY", array ()); $HTML[] = fncBaustein ("bstTabelle.BC", array ("", "", "", " cssPortalKalenderZelleKW", "")); $HTML[] = $KW . "
"; if (is_array ($Woche)) foreach ($Woche as $Wochentag => $Tag) { if ($Tag) { $Datum3 = funDatum ("Konvertieren.6.3", $Vorgaben, array ($Monat6)); $Datum3[0] = $Tag; $Datum8 = funDatum ("Konvertieren.3.8", $Vorgaben, array ($Datum3)); } if ($Wochentag > 5) // Wochenende { $ZellKlasse = " cssPortalKalenderZelleWE"; } else { $ZellKlasse = " cssPortalKalenderZelleWT"; } if ($Tag and $Vorgaben["Data"]["datArbeitsgruppen"][0]["AGTermine"][$CArbeitsgruppe][$Datum8]) // Datum ist bereits gewählt // zu speziell { $ZellKlasse = " cssPortalKalenderMarkiert"; $VerweisKlasse = " cssPortalVerweis3"; $NewValue = 0; $Titel = "Datum entfernen"; } else // freies Datum { $VerweisKlasse = " cssPortalVerweis4"; $NewValue = $Datum8; $Titel = "Datum setzen"; } if ($ObAenderbar) { $VerweisZiel = "document.frmMvd.ChangeCoord.value = 'datArbeitsgruppen," . $Datum8 . ",Termine'; document.frmMvd.NewValue.value = '" . $NewValue . "'; document.frmMvd.submit(); "; } else { // echo "POOIIUZZTT"; $VerweisZiel = ""; $Titel = ""; $VerweisKlasse = " cssPortalVerweis5"; } $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ($ZellKlasse)); if ($Tag) { $HTML[] = BasisVerweis_47 ("Intern.Termine" . $Datum8, $Vorgaben, $Titel, 0, $VerweisZiel, $VerweisKlasse, 0) . $Tag . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } } } $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.30", $Vorgaben, array ()); # Spaltenumbruch? if ($Spalten and $Sp == $Spalten) { $Sp = 0; $HTML[] = funAltBaustein ("Tabelle.22", $Vorgaben, array ()); } } $HTML[] = funAltBaustein ("Tabelle.21", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "BKALENDER": // soll Standardvariante werden(siehe auch Kalender/Disposition) list ($Kalendarium, $ObAenderbar, $Spalten, $Belegung) = $Parameter; // echo "-".$ObAenderbar."-"; // //$dbgVariable = "Belegung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # ???? // $CArbeitsgruppe = $_REQUEST[RECORD]; $AnzahlMonate = count ($Kalendarium); $HTML = array (); $Z = 0; // zählt Monate $Sp = 0; // zählt Spalten $HTML[] = funAltBaustein ("Tabelle.12", $Vorgaben, array ()); // Tabelle, alle Monate if (is_array ($Kalendarium)) foreach ($Kalendarium as $Monat6 => $Monat) { $Z++; $Sp++; if ($Z == 1) // erster Monat { $ObRueckwaertsBl = 1; } else { $ObRueckwaertsBl = 0; } if ($Spalten and $Z == $Spalten or !$Spalten and $Z == 1) // letzter Monat { $ObVorwaertsBl = 1; } else { $ObVorwaertsBl = 0; } $HTML[] = funAltBaustein ("Tabelle.3", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssPortalKalenderBox")); // Monat AußenBox $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ("cssSystemVolleBreite cssPortalKalenderTitel1")); // Monat Titelbox $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("cssSystemVolleBreite+ cssPortalKalenderTitel2")); if ($ObRueckwaertsBl) { $HTML[] = BasisVerweis_47 ("Intern.KalenderAnsichtL", $Vorgaben, "Rückwärts blättern", 0, "document.frmMvd.KalenderAnsicht.value = '-1'; document.frmMvd.submit(); ", 0, "xkl" . $Monat6 . ":portal_kalender_links.gif") . fncAltBild ("Anzeigen.xkl" . $Monat6, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_links.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } else { $HTML[] = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_leer_xx.gif")) . "
"; } $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssSystemVolleBreite cssPortalKalenderTitel3")); $HTML[] = funDatum ("Konvertieren.6.5", $Vorgaben, array ($Monat6)) . "
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ( "cssPortalKalenderTitel4")); if ($ObVorwaertsBl) { $HTML[] = BasisVerweis_47 ("Intern.KalenderAnsichtR", $Vorgaben, "Vorwärts blättern", 0, "document.frmMvd.KalenderAnsicht.value = '1'; document.frmMvd.submit(); ", 0, "xkr" . $Monat6 . ":portal_kalender_rechts.gif") . fncAltBild ("Anzeigen.xkr" . $Monat6, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_rechts.gif")) . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } else { $HTML[] = fncAltBild ("Anzeigen", $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "portal_kalender_leer_xx.gif")) . "
"; } $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ()); // Monat Tage $HTML[] = funAltBaustein ("Tabelle.123", $Vorgaben, array ("+cssPortalKalenderKWTitel")); $HTML[] = "KW
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Mo
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Di
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Mi
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Do
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWTTitel")); $HTML[] = "Fr
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWETitel")); $HTML[] = "Sa
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ("cssPortalKalenderWETitel")); $HTML[] = "So
"; if (is_array ($Monat)) foreach ($Monat as $KW => $Woche) { // $HTML[] = funAltBaustein ("Tabelle.3223", $Vorgaben, array ("cssPortalKalenderZelleKW")); $HTML[] = fncBaustein ("bstTabelle.XY", array ()); $HTML[] = fncBaustein ("bstTabelle.BC", array ("", "", "", " cssPortalKalenderZelleKW", "")); $HTML[] = $KW . "
"; if (is_array ($Woche)) foreach ($Woche as $Wochentag => $Tag) { if ($Tag) { $Datum3 = funDatum ("Konvertieren.6.3", $Vorgaben, array ($Monat6)); $Datum3[0] = $Tag; $Datum8 = funDatum ("Konvertieren.3.8", $Vorgaben, array ($Datum3)); } if ($Wochentag > 5) // Wochenende { $ZellKlasse = " cssPortalKalenderZelleWE"; } else { $ZellKlasse = " cssPortalKalenderZelleWT"; } // if ($Tag and $Vorgaben["Data"]["datArbeitsgruppen"][0]["AGTermine"][$CArbeitsgruppe][$Datum8]) // Datum ist bereits gewählt if ($Tag and $Belegung[$Datum8]) // Datum ist belegt { // $ZellKlasse = " cssPortalKalenderMarkiert"; $ZellKlasse = $Belegung[0]["ZellKlasse"][$Belegung[$Datum8]]; $VerweisKlasse = $Belegung[0]["VerweisKlasse"][$Belegung[$Datum8]]; $VerweisKlasse = " cssPortalVerweis3"; // $Titel = "Datum entfernen"; $Titel = $Belegung[0]["Titel"][$Belegung[$Datum8]]; $NewValue = 0; } else // freies Datum { $VerweisKlasse = " cssPortalVerweis4"; $NewValue = $Datum8; // $Titel = "Datum setzen"; $Titel = $Belegung[0]["Titel"][0]; } if (!$Tag) { $Titel = ""; } if ($ObAenderbar) { $VerweisZiel = "document.frmMvd.ChangeCoord.value = 'datArbeitsgruppen," . $Datum8 . ",Termine'; document.frmMvd.NewValue.value = '" . $NewValue . "'; document.frmMvd.submit(); "; $Vorspann = BasisVerweis_47 ("Intern.Termine" . $Datum8, $Vorgaben, $Titel, 0, $VerweisZiel, $VerweisKlasse, 0); $Abspann = BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; } else { // echo "POOIIUZZTT"; $VerweisZiel = ""; // $Titel = ""; // $VerweisKlasse = " cssPortalVerweis5"; $Vorspann = ""; $Abspann = "
"; } $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array ($ZellKlasse, $Titel)); // $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ("", $Titel)); // Monat Titelbox if ($Tag) { // $HTML[] = BasisVerweis_47 ("Intern.Termine" . $Datum8, $Vorgaben, $Titel, 0, $VerweisZiel, $VerweisKlasse, 0) . $Tag . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $HTML[] = $Vorspann . $Tag . $Abspann; } // $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } $HTML[] = funAltBaustein ("Tabelle.321", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Tabelle.30", $Vorgaben, array ()); # Spaltenumbruch? if ($Spalten and $Sp == $Spalten) { $Sp = 0; $HTML[] = funAltBaustein ("Tabelle.22", $Vorgaben, array ()); } } $HTML[] = funAltBaustein ("Tabelle.21", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "AUSWAHL": $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($namFeld, $regAuswahl, $ObSubmitTyp, $txtConfirm) = $Parameter; unset ($Parameter); $wrtFeld = $_REQUEST[$namFeld]; $Optionen = ""; switch ($ObSubmitTyp) { case 1: $Optionen = "S"; break; case 2: // für Filter >> Ambiente $Optionen = "F"; break; case 3: // mit Confirm $Optionen = "C"; break; } $Ergebnis = fncBaustein ("bstEgAuswahl." . $Optionen, array ($namFeld, $wrtFeld, $regAuswahl, $txtConfirm)); unset ($Vorgaben); break; case "RADIO": $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($FeldName, $AuswahlListe, $ObSubmitTyp, $Frage, $ObKlasse) = $Parameter; // $_REQUEST = $_REQUEST; $AktuellerWert = $_REQUEST[$FeldName]; $HTML = array (); $Submit = $OnClickSubmit = ""; // if ($ObSubmit) // { // $Submit = " onChange=\"document.frmMvd.submit(); \""; // $OnClickSubmit = "document.frmMvd.submit(); "; // } if ($ObKlasse) { $Klasse = $ObKlasse; } else { $Klasse = "cssPortalVerweis1"; } $ElementNr = 0; $HTML[] = funAltBaustein ("Tabelle.1", $Vorgaben, array (", margin-top: 1px; ")); if (is_array ($AuswahlListe)) foreach ($AuswahlListe as $AuswahlID => $AuswahlText) if ($AuswahlText) { switch ($ObSubmitTyp) { case 1: $Submit = " onChange=\"document.frmMvd.submit(); \""; $OnClickSubmit = "document.frmMvd." . $FeldName . "[" . $ElementNr++ . "].checked=true; document.frmMvd.submit(); "; break; case 2: // für Filter >> Ambiente $Submit = " onChange=\"document.frmMvd." . AMBIENTE . ".value = 1; document.frmMvd.submit(); \""; $OnClickSubmit = "document.frmMvd." . $FeldName . "[" . $ElementNr++ . "].checked=true; document.frmMvd.submit(); "; break; case 3: // mit Confirm $Submit = " onClick=\"if (confirm ('" . $Frage . "')) { document.frmMvd.submit(); } else { return false; } \""; $OnClickSubmit = " if (confirm ('" . $Frage . "')) { document.frmMvd." . $FeldName . "[" . $ElementNr++ . "].checked=true; document.frmMvd.submit(); } "; break; default: $Submit = " onChange=\" document.frmMvd.submit(); \""; $OnClickSubmit = " document.frmMvd." . $FeldName . "[" . $ElementNr++ . "].checked=true; "; break; } if ($AuswahlID == $AktuellerWert) { $ObMarkiert = " checked"; } else { $ObMarkiert = ""; } $HTML[] = funAltBaustein ("Tabelle.23", $Vorgaben, array (", padding-top: 3px")); $HTML[] = " 
"; $HTML[] = funAltBaustein ("Tabelle.33", $Vorgaben, array (", padding-top: 3px; ")); $HTML[] = BasisVerweis_47 ("Intern", $Vorgaben, 0,0, "" . $OnClickSubmit, $Klasse, 0) . $AuswahlText . BasisVerweis_47 ("Ende", 0,0,0,0,0,0) . "
"; $HTML[] = funAltBaustein ("Tabelle.32", $Vorgaben, array ()); } $HTML[] = funAltBaustein ("Tabelle.10", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); break; case "FILTERN": // wird abgelöst text wandeln list ($Eingabe) = $Parameter; # Debug // //$dbgVariable = "Eingabe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Eingabe = " " . $Eingabe; // Leerzeichen voran für korrekten Gänsefüßchen-Austausch $Eingabe = str_replace (chr (9), " ", $Eingabe); // Tabs entfernen $Eingabe = str_replace (chr (10), " ", $Eingabe); // LF entfernen $Eingabe = str_replace (chr (13), " ", $Eingabe); // CR entfernen # Gänsefüßchen $Eingabe = str_replace ("\\", "", $Eingabe); // Backslash entfernen $Eingabe = str_replace (" " . chr (34), " »", $Eingabe); // $Eingabe = str_replace (chr (34), "«", $Eingabe); $Eingabe = str_replace ("“", "«", $Eingabe); $Eingabe = str_replace ("„", "»", $Eingabe); # Apostroph $Eingabe = str_replace ("\'", "’", $Eingabe); $Eingabe = str_replace ("...", "…", $Eingabe); // Ellipse ersetzen $Eingabe = str_replace (";", ",", $Eingabe); // Semikolon vs. Komma (CSV Konventionen) $Eingabe = @ereg_replace (" +", " ", $Eingabe); // Mehrfach-Leerzeichen entfernen $Eingabe = str_replace (" ,", ",", $Eingabe); // Leerzeichen vor Komma entfernen $Ergebnis = trim ($Eingabe); // Trimmen # Debug // //$dbgVariable = "Eingabe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); break; case "FORMAT": list ($Eingabe) = $Parameter; switch (mb_strtoupper ($Aktion2)) { case "INTERNET": case "INTERNETADRESSE": case "URL": if (@ereg ("^(http://www\.|www\.)([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4}|[a-zA-Z]{2,4}/)$", $Eingabe)) { $Ergebnis = true; } else { $Ergebnis = false; } break; case "EMAIL": case "EMAILADRESSE": if (@ereg ("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $Eingabe)) { $Ergebnis = true; } else { $Ergebnis = false; } break; } break; case "FEHLER": $Formular = $Vorgaben["Formular"]; // $_REQUEST = $_REQUEST; $Ergebnis = ""; if (is_array ($Formular)) foreach ($Formular as $Feld => $X) { if ($Feld) { if ($Formular[$Feld]["SonderFormat"] and $_REQUEST[$Feld] and !funEingabe ("Format." . $Formular[$Feld]["SonderFormat"], $Vorgaben, array ($_REQUEST[$Feld])) or $Formular[$Feld]["ObPflichtFeld"] and !$_REQUEST[$Feld]) { $Ergebnis = $Feld; } } } break; } return $Ergebnis; } function funExtraSymbol ($Aktion, $Vorgaben, $ObTitel, $DateiName, $ObKlasseStil, $AnkerName, $VerweisZiel, $OnClick) { /* $HTML[] = funExtraSymbol ("Absenden", $Vorgaben, "ObTitel", "DateiName", "ObKlasseStil, "AnkerName"", "VerweisZiel", "OnClick"); $HTML[] = funExtraSymbol ("Normal", $Vorgaben, "ObTitel", "DateiName", "ObKlasseStil", "AnkerName", "VerweisZiel", "OnClick"); $HTML[] = funExtraSymbol ("Aktiv", $Vorgaben, "ObTitel", "DateiName", "ObKlasseStil", 0, "VerweisZiel", "OnClick"); $HTML[] = funExtraSymbol ("Inaktiv", $Vorgaben, "ObTitel", "DateiName", "ObKlasseStil", 0,0,0); */ # var $AbsendeFeld = ""; $OrdnerDesign = $Vorgaben["Ordner"]["SDesign"]; $PfadSymbol = $OrdnerDesign . "extra_" . $DateiName . ".gif"; $PfadSymbolOO = $OrdnerDesign . "extra_" . $DateiName . "_oo.gif"; $PfadSymbolXX = $OrdnerDesign . "extra_" . $DateiName . "_xx.gif"; list ($ObKlasse, $ObStil) = explode (",", $ObKlasseStil . ","); $Titel = $Klasse = $Stil = ""; switch (mb_strtoupper ($Aktion)) { case "ABSENDEN": $AbsendeFeld = ""; switch (mb_strtoupper ($Vorgaben["SymbolGroesse"])) { case "M": $KlasseStil = ", margin-left: 3px; "; $ObStil = "margin-left: 2px; "; break; case "L": $KlasseStil = ", margin-left: 4px; "; $ObStil = "margin-left: 3px; "; break; case "XL": $KlasseStil = ", margin-left: 5px; "; $ObStil = "margin-left: 3px; "; break; } case "NORMAL": $OnMouse = " onMouseOver=\"" . $AnkerName . ".src='" . $PfadSymbolOO . "'; \" onMouseOut=\"" . $AnkerName . ".src='" . $PfadSymbol . "'; \""; if ($OnClick) { $Verweis = " href=\"#Do\" onClick=\"" . $OnClick . "\"" . $OnMouse; } elseif ($VerweisZiel) { $Verweis = " href=\"" . $VerweisZiel . "\"" . $OnMouse; } else { $Verweis = " href=\"#Do\"" . $OnMouse; } $Name = " id=\"" . $AnkerName . "\""; break; case "AKTIV": if ($OnClick) { $Verweis = " href=\"#Do\" onClick=\"" . $OnClick . "\""; } elseif ($VerweisZiel) { $Verweis = " href=\"" . $VerweisZiel . "\""; } else { $Verweis = ""; } $Name = ""; $PfadSymbol = $PfadSymbolOO; break; case "INAKTIV": $Verweis = ""; $Name = ""; $PfadSymbol = $PfadSymbolXX; break; } if (trim ($ObTitel)) { $Titel = " title=\"" . $ObTitel . "\""; } if (trim ($ObKlasse)) { $Klasse = " class=\"" . $ObKlasse . "\""; } if (trim ($ObStil)) { $Stil = " style=\"" . $ObStil . "\""; } return "" . $AbsendeFeld . ""; } function BasisSymbolLeiste_11 ($Vorgaben, $Symbole) { /* $HTML[] = BasisSymbolLeiste_11 ($Vorgaben, $Symbole); */ # var $SymbolLeiste = array (); $Z = 0; if (is_array ($Symbole)) foreach ($Symbole as $Symbol) { $Aktion = $Symbol["Aktion"]; $Legende = $Symbol["Legende"]; $Datei = $Symbol["Datei"]; $Anker = $Symbol["Anker"]; $OnClick = $Symbol["OnClick"]; if (!$Z++) { $KlasseStil = ""; } else switch (mb_strtoupper ($Vorgaben["SymbolGroesse"])) { case "M": $KlasseStil = ", margin-left: 3px; "; break; case "L": $KlasseStil = ", margin-left: 4px; "; break; case "XL": $KlasseStil = ", margin-left: 5px; "; break; } $SymbolLeiste[] = funExtraSymbol ($Aktion, $Vorgaben, $Legende, $Datei, $KlasseStil, $Anker, 0, $OnClick); } unset ($Symbole); $txtSymbolLeiste = implode ("", $SymbolLeiste); unset ($SymbolLeiste); return $txtSymbolLeiste; } function BasisVerweis_47 ($Aktion, $Vorgaben, $Parameter1, $Parameter2, $Parameter3, $Parameter4, $Parameter5) { /* ANFRAGE - allgemein $Anfrage = BasisVerweis_47 ("Anfrage", $Vorgaben, "Variable1 = Wert1 [ : Variable2 = Wert2 ] ... ", 0,0,0,0); - spezielle $Anfrage = BasisVerweis_47 ("Anfrage.Kontakt", $Vorgaben, "Variable1 = Wert1 [ : Variable2 = Wert2 ] ... ", 0,0,0,0); $Anfrage = BasisVerweis_47 ("Anfrage.Zoom", $Vorgaben, "Variable1 = Wert1 [ : Variable2 = Wert2 ] ... ", 0,0,0,0); $Anfrage = BasisVerweis_47 ("Anfrage.SuperZoom", $Vorgaben, "Variable1 = Wert1 [ : Variable2 = Wert2 ] ... ", 0,0,0,0); $Anfrage = BasisVerweis_47 ("Anfrage.Login", $Vorgaben, "Variable1 = Wert1 [ : Variable2 = Wert2 ] ... ", 0,0,0,0); $Anfrage = BasisVerweis_47 ("Anfrage.Vorschau", $Vorgaben, "Variable1 = Wert1 [ : Variable2 = Wert2 ] ... ", 0,0,0,0); INTERN - ohne Wechselbild, ohne Anker $HTML[] = BasisVerweis_47 ("Intern", $Vorgaben, $ObTitel, $ObZielAnfrage, $ObOnClick, $ObKlasseStil, 0) . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - ohne Wechselbild, mit Anker $HTML[] = BasisVerweis_47 ("Intern.ObAnker", $Vorgaben, $ObTitel, $ObZielAnfrage, $ObOnClick, $ObKlasseStil, 0) . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - mit Wechselbild, ohne Anker $HTML[] = BasisVerweis_47 ("Intern", $Vorgaben, $ObTitel, $ObZielAnfrage, $ObOnClick, $ObKlasseStil, "x" . $InhaltsID . ":inhalt_email.gif") . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - NEU mit Design Nr, mit Wechselbild, ohne Anker $HTML[] = BasisVerweis_47 ("Intern", $Vorgaben, $ObTitel, $ObZielAnfrage, $ObOnClick, $ObKlasseStil, "x" . $InhaltsID . ":inhalt_email.gif:1") . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); EXTERN - Kontakt (Standardformular) $HTML[] = BasisVerweis_47 ("Extern.Kontakt", $Vorgaben, $Vorgaben["System"]["Vokabeln"]["KontaktAufnehmen"], BasisVerweis_47 ("Anfrage.Kontakt", $Vorgaben, 0,0,0,0,0), 0, $ObKlasseStil, 0) . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - Kontakt (spezielles Formular) $HTML[] = BasisVerweis_47 ("Extern.Kontakt", $Vorgaben, $Vorgaben["System"]["Vokabeln"]["KontaktAufnehmen"], BasisVerweis_47 ("Anfrage.Kontakt", $Vorgaben, "Form = " . $Vorgaben["ReFormulare"]["AngebotAnfordern"], 0,0,0,0), 0, $ObKlasseStil, 0) . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - Zoom $HTML[] = BasisVerweis_47 ("Extern.Zoom", $Vorgaben, $Vorgaben["System"]["Vokabeln"]["BildVergroessern"], BasisVerweis_47 ("Anfrage.Zoom", $Vorgaben, "Object = " . $BildDatei . "," . $Optionen, 0,0,0,0), 0, $ObKlasseStil, 0) . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - SuperZoom $HTML[] = BasisVerweis_47 ("Extern.SuperZoom", $Vorgaben, $Vorgaben["System"]["Vokabeln"]["BildVergroessern"], BasisVerweis_47 ("Anfrage.SuperZoom", $Vorgaben, "Object = " . $BildDatei . "," . $Optionen, 0,0,0,0), 0, $ObKlasseStil, 0) . VERWEISTEXT . BasisVerweis_47 ("Ende", 0,0,0,0,0,0); - PDF */ // // $dbgBlock = "BasisVerweis_47"; echo fncDebug ("Block.A", $Vorgaben, $dbgBlock); list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion . ".."); switch (mb_strtoupper ($Aktion1)) // Parameter { case "INTERN": $ObAnker = $Aktion2; $ObTaste = $Aktion3; $ObTitel = $Parameter1; $ObZielAnfrage = $Parameter2; $ObOnClick = $Parameter3; list ($ObKlasse, $ObStil) = explode (",", $Parameter4 . ","); $ObWechselBild = $Parameter5; break; case "EXTERN": $ExtraTyp = $Aktion2; $ObAnker = $Aktion3; $ObTitel = $Parameter1; list ($ObZiel, $ObAnfrage) = explode ("?", $Parameter2 . "?"); $ObOnClick = $Parameter3; list ($ObKlasse, $ObStil) = explode (",", $Parameter4 . ","); $ObWechselBild = $Parameter5; break; } switch (mb_strtoupper ($Aktion1)) { case "EXTERN": switch (mb_strtoupper ($Aktion2)) { case "INTERNET": $ObInternet = $Parameter2; break; default: $FensterExtras = $Vorgaben["FensterExtras"]; $FensterZoom = $Vorgaben["FensterZoom"]; if (!$FensterZoom["B"]) { $FensterZoom["B"] = 480; } if (!$FensterZoom["H"]) { $FensterZoom["H"] = 535; } $Anfrage = ""; # $Optionen = array (); if ($Vorgaben["ObDebug"]) { $Optionen[] = "width=800"; $Optionen[] = "height=600"; $Optionen[] = "location=yes"; $Optionen[] = "menubar=yes"; $Optionen[] = "toolbar=yes"; $Optionen[] = "resizable=yes"; $Optionen[] = "scrollbars=yes"; $Optionen[] = "status=yes"; } else switch (mb_strtoupper ($ExtraTyp)) { case "KONTAKT": $Optionen[] = "width=" . $FensterExtras["B"]; $Optionen[] = "height=" . $FensterExtras["H"]; $Optionen[] = "location=no"; $Optionen[] = "menubar=no"; $Optionen[] = "toolbar=no"; $Optionen[] = "resizable=yes"; $Optionen[] = "scrollbars=yes"; $Optionen[] = "status=yes"; break; case "SUPERZOOM": $BildInfo = $Vorgaben["SuperZoom"]["BildInfo"]; $Optionen[] = "width=" . $BildInfo["Breite"]; $Optionen[] = "height=" . $BildInfo["Hoehe"]; /* - später schauen, daß die Bildschirmauflösung ermittelt wird (evtl. weiter früher per JavaScript in hiddenfeld dann in Cookie schreiben oder so) und zu sehen daß wenn Bild größer als Schrim - nicht rausläuft $Optionen[] = "width=' + (screen.availWidth * .9) + "; $Optionen[] = "height=' + (screen.availHeight * .8) + "; */ $Optionen[] = "location=no"; $Optionen[] = "menubar=no"; $Optionen[] = "toolbar=no"; $Optionen[] = "resizable=no"; $Optionen[] = "scrollbars=no"; $Optionen[] = "status=no"; $Optionen[] = "top=0"; $Optionen[] = "left=0"; break; case "ZOOM": $Optionen[] = "width=" . $FensterZoom["B"]; $Optionen[] = "height=" . $FensterZoom["H"]; $Optionen[] = "location=no"; $Optionen[] = "menubar=no"; $Optionen[] = "toolbar=no"; $Optionen[] = "resizable=yes"; $Optionen[] = "scrollbars=no"; $Optionen[] = "status=no"; break; case "LOGIN": $Optionen[] = "width=" . $FensterExtras["B"]; $Optionen[] = "height=" . $FensterExtras["H"]; $Optionen[] = "location=no"; $Optionen[] = "menubar=no"; $Optionen[] = "toolbar=no"; $Optionen[] = "resizable=yes"; $Optionen[] = "scrollbars=yes"; $Optionen[] = "status=yes"; break; case "VORSCHAU": $Optionen[] = "width=" . $FensterZoom["B"]; $Optionen[] = "height=" . $FensterZoom["H"]; $Optionen[] = "location=no"; $Optionen[] = "menubar=no"; $Optionen[] = "toolbar=no"; $Optionen[] = "resizable=yes"; $Optionen[] = "scrollbars=yes"; $Optionen[] = "status=no"; break; } $Optionen = implode (",", $Optionen); # Anfrage if ($ObAnfrage) { $Anfrage = "?" . $ObAnfrage; } $ObZielAnfrage = "./" . $Anfrage; # Fenstername switch (mb_strtoupper ($ExtraTyp)) { default: // $FensterName = "Extra" . $Vorgaben["ReExtras"][$ExtraTyp]; break; case "SUPERZOOM": $FensterName = ""; break; case "ZOOM": $FensterName = "Zoom"; break; } $ObOnClick = "jsExtraFenster = window.open ('" . $ObZielAnfrage . "', '" . $FensterName . "', '" . $Optionen . "'); jsExtraFenster.focus(); "; break; } case "INTERN": $Anker = $Taste = $Klasse = $Stil = $Titel = $OnClick = $ZielAnfrage = $OnMouse = $Blank = ""; # Anker if ($ObAnker) { $Anker = " name=\"" . $ObAnker . "\""; } # Taste (mit Alt-...) if ($ObTaste) { $Taste = " accesskey=\"" . $ObTaste . "\""; } # Klasse, Stil if (trim ($ObKlasse)) { $Klasse = " class=\"" . $ObKlasse . "\""; } if (trim ($ObStil)) { $Stil = " style=\"" . $ObStil . "\""; } # Titel if ($ObTitel) { $Titel = " title=\"" . $ObTitel . "\""; } # OnClick if (isset ($ObInternet) and $ObInternet) { $ZielAnfrage = " href=\"" . $ObInternet . "\""; $Blank = " target=\"_blank\""; } elseif ($ObOnClick) { $OnClick = " onClick=\"" . $ObOnClick . "\""; $ZielAnfrage = " href=\"#Do\""; } elseif ($ObZielAnfrage) { $ZielAnfrage = " href=\"" . $ObZielAnfrage . "\""; } if ($ObWechselBild) { list ($BildAnker, $BildDatei, $DesignNr) = explode (":", $ObWechselBild . "::"); // $DesignNr /= 1; // abwärtskompatibel, nicht angegeben wird zu 0, also Basis-Satz // if (!$DesignNr) // { // $DesignNr = "Basic"; // } // $OrdnerDesign = $Vorgaben["Ordner"]["Design"] . $DesignNr . "/"; $OrdnerDesign = $Vorgaben["Ordner"]["Design"]; list ($DateiName, $Endung) = explode (".", $BildDatei); $PfadOverDatei = $OrdnerDesign . trim ($DateiName) . "_oo." . trim ($Endung); $PfadOutDatei = $OrdnerDesign . trim ($BildDatei); $OnMouse = " onMouseOver=\"document." . trim ($BildAnker) . ".src='" . $PfadOverDatei . "'; \" onMouseOut=\"document." . trim ($BildAnker) . ".src='" . $PfadOutDatei . "'; \""; } # PDF hier suboptimal durchschleifen if (mb_strtoupper ($Aktion2) == "PDF") { $ZielAnfrage = " href=\"" . $ObZiel . "\""; $Blank = " target=\"_blank\""; $OnClick = ""; } $Ergebnis = ""; break; case "ENDE": $Ergebnis = ""; break; case "ANFRAGE": // // $dbgBlock = "ANFRAGE"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); $Ergebnis = ""; $ExtraTyp = $Aktion2; $Anfrage = $Parameter1; // $_REQUEST = $_REQUEST; # switch (mb_strtoupper ($ExtraTyp)) { case "KONTAKT": case "ZOOM": case "SUPERZOOM": case "LOGIN": case "VORSCHAU": $_REQUEST[PAGE] = 0; if ($Vorgaben["ReExtras"][$ExtraTyp]) { $_REQUEST["Extra"] = $Vorgaben["ReExtras"][$ExtraTyp]; } else { $_REQUEST["Extra"] = 0; } break; } $Anfragen = explode (":", $Anfrage); if (is_array ($Anfragen)) foreach ($Anfragen as $VariableWert) { list ($Variable, $Wert) = explode ("=", $VariableWert); $_REQUEST[trim ($Variable)] = trim ($Wert); } $Anfragen = array (); if (is_array ($_REQUEST)) foreach ($_REQUEST as $Variable => $Wert) if ($Variable and mb_strtoupper ($Variable) != "ITEM" and $Wert) // Item wird nicht mitübergeben, somit bringt Menüpunkt wieder eine Ebene höher zur Übersicht { $Anfragen[] = $Variable . "=" . urlencode ($Wert); } if (is_array ($Anfragen)) { $Anfrage = implode ("&", $Anfragen); } else { $Anfrage = $Anfragen; } if ($Anfrage) { $Ergebnis = "?" . $Anfrage; } // // $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); break; } return $Ergebnis; } function funVorgaben ($Aktion, $Vorgaben, $Parameter) { if (mb_strpos ($Aktion, ".")) { list ($Aktion1, $Aktion2) = explode (".", $Aktion); } else { $Aktion1 = $Aktion; } // echo var_dump($Aktion); switch (mb_strtoupper ($Aktion1)) { case "ONLOADBELEGEN": { if ($_REQUEST["OpenCoord"]) { list ($datDatenbank, $idID, $fldFeld) = explode (",", $_REQUEST["OpenCoord"]); switch (fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID))) { case "dftKombi": { if (isset ($Vorgaben["ObKombiNeuerWert"]) and $Vorgaben["ObKombiNeuerWert"]) { $Vorgaben["OnLoad"] = "location = '#mavidesk'; document.frmMvd.NewValue.focus(); "; // $Vorgaben["OnLoad"] = "document.frmMvd.NewValue.focus(); "; } else { $Vorgaben["OnLoad"] = "location = '#" . mb_substr (md5 ($datDatenbank . $idID . $fldFeld), 0, 4) . "'; "; } } break; case "dftDbOptionen": { $OnLoad = array (); // $Werte = array (); // $Werte = explode ("|", $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]); $Werte = (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld])) ? explode ("|", $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) : array (); // var_dump ($Werte); foreach ($Werte as $Wert) if ($Wert) { $OnLoad[] = "document.frmMvd.NewValue" . $Wert . ".checked = true; "; $Vorgaben["OpenFields"]["NewValue" . $Wert] = 1; } unset ($Werte); $OnLoad[] = "location = '#" . mb_substr (md5 ($datDatenbank . $idID . $fldFeld), 0, 4) . "'; "; $Vorgaben["OnLoad"] = implode ("", $OnLoad); unset ($OnLoad); } break; // case "dftBild": // { // $Vorgaben["OnLoad"] = "location = '#" . mb_substr (md5 ($datDatenbank . $idID . $fldFeld . $Sprache), 0, 4) . "'; "; // } // break; default: { /* prüfen, #Do notwendig */ $Vorgaben["OnLoad"] = "location = '#mavidesk'; document.frmMvd.NewValue.focus(); "; // $Vorgaben["OnLoad"] = "document.frmMvd.NewValue.focus(); "; } break; } $Vorgaben["OpenFields"]["NewValue"] = 1; $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]] = $datDatenbank . "," . $idID . "," . $fldFeld; } if ((!isset ($Vorgaben["OnLoad"]) or !$Vorgaben["OnLoad"]) and $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]]) { list ($ActiveDB, $ActiveID, $ActiveField) = explode (",", $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]] . ",,"); if (!$ActiveField and isset ($Vorgaben["Data"][$ActiveDB][0]["fldDetails"]) and $Vorgaben["Data"][$ActiveDB][0]["fldDetails"]) { $ActiveField = $Vorgaben["Data"][$ActiveDB][0]["fldDetails"]; } if (!$ActiveID) { $ActiveID = ""; } $Vorgaben["OnLoad"] = "location = '#" . mb_substr (md5 ($ActiveDB . $ActiveID . $ActiveField), 0, 4) . "'; "; // mb_substr (md5 ($ActiveDB . $ActiveID . $ActiveField . $Sprache), 0, 4) } $Ergebnis = $Vorgaben; unset ($Vorgaben); } break; case "VOKABELN": { # Debug // echo var_dump($Vorgaben); $AktiveSprachen = $Vorgaben["AktiveSprachen"]; $Lang = $_REQUEST[LANG]; $AktuelleSprache = $AktiveSprachen[$Lang]; $StandardSprache = $AktiveSprachen[0]; $Vokabeln = array (); switch (mb_strtoupper ($Aktion2)) { default: case "SYSTEM": case "SYSTEMVOKABELN": $PfadVokabeln = $Vorgaben["Pfade"]["SVokabeln"]; $ObStandard = 0; break; // case "CLIENT": // case "CLIENTVOKABELN": // $PfadVokabeln = $Vorgaben["Pfade"]["CVokabeln"]; // $ObStandard = $StandardSprache; // break; } if ($PfadVokabeln) { $MerkeVokabeln = importiereDb ("Vokabelheft", $PfadVokabeln); $MerkeVokabeln = funDatenbank ("Chiffre", $Vorgaben, array ($MerkeVokabeln, $AktuelleSprache, $ObStandard)); $Vokabeln = $MerkeVokabeln[0]["Chiffre"][$AktuelleSprache]; } $Ergebnis = $Vokabeln; } break; } return $Ergebnis; } function BasisGruppenExtrahieren_11 ($Vorgaben) { /* $Gruppen = BasisGruppenExtrahieren_11 ($Vorgaben); */ $Formular = $Vorgaben["Formular"]; $SVokabeln = $Vorgaben["System"]["SVokabeln"]; $Gruppen = array (); if (is_array ($Formular)) foreach ($Formular as $FeldID => $X) if ($FeldID) { if ($SVokabeln[$Formular[$FeldID]["GruppenID"]]) { $Gruppen[$Formular[$FeldID]["GruppenID"]][0]["GruppenBeschriftung"] = $SVokabeln[$Formular[$FeldID]["GruppenID"]]; } else { $Gruppen[$Formular[$FeldID]["GruppenID"]][0]["GruppenBeschriftung"] = "/!\ " . $Formular[$FeldID]["GruppenID"]; } $Gruppen[$Formular[$FeldID]["GruppenID"]][$FeldID] = $Formular[$FeldID]["FeldBeschriftung"]; } return $Gruppen ; } function BasisFelderExtrahieren_10 ($Formular) { /* $Gruppen = BasisFelderExtrahieren_10 ($Formular); */ $Felder = array (); if (is_array ($Formular)) foreach ($Formular as $FeldID => $X) { if ($FeldID) { $Felder[$FeldID] = $FeldID; } } return $Felder ; } function BasisSymbolHinzufuegen_11 ($Vorgaben, $Legende, $Aktion, $Datei, $Anker, $OnClick, $Symbole) { /* $Symbole = BasisSymbolHinzufuegen_11 ($Vorgaben, $Legende, $Datei, $Anker, $OnClick, $Symbole); */ if (!isset ($Symbole) or !is_array ($Symbole)) { $Symbole = array (); } $Symbol = array (); $Symbol["Legende"] = $Legende; $Symbol["Aktion"] = $Aktion; $Symbol["Datei"] = $Datei . "-" . mb_strtolower ($Vorgaben["SymbolGroesse"]); $Symbol["Anker"] = $Anker; $Symbol["OnClick"] = $OnClick; $Symbole[] = $Symbol; unset ($Symbol); return $Symbole; } function funDatenbank ($Aktion, & $Vorgaben, $Parameter) { $Parameter[] = ""; if (mb_strpos ($Aktion, ".")) { list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion . ".."); $Optionen = $Aktion2; } else { $Aktion1 = $Aktion; $Optionen = ""; $Aktion2 = ""; $Aktion3 = ""; } switch ($Aktion1) { case "RegisterAlt": // wird verwendet in Vorgaben laden wg. Import { switch (1 * $Aktion2) { case 3: // Register aus drei Feldern { list ($CDB, $VorgabenFeld1, $WerteFeld1, $VorgabenFeld2, $WerteFeld2, $VorgabenFeld3, $WerteFeld3, $ObNullWert) = $Parameter; } break; case 2: // Register aus zwei Feldern { list ($CDB, $VorgabenFeld1, $WerteFeld1, $VorgabenFeld2, $WerteFeld2, $ObNullWert) = $Parameter; } break; default: { list ($CDB, $VorgabenFeld, $WerteFeld, $ObNullWert) = $Parameter; } break; } $Register = array (); if ($ObNullWert) { $Register[0] = $ObNullWert; } if (is_array ($Vorgaben["Data"][$CDB])) foreach ($Vorgaben["Data"][$CDB] as $ID => $X) if (isset ($Vorgaben["Data"][$CDB][$ID]["ID"])) if ($Vorgaben["Data"][$CDB][$ID]["ID"]) switch (1 * $Aktion2) { case 3: // Register aus drei Feldern if ($Vorgaben["Data"][$CDB][$ID][$VorgabenFeld1]) { $Register[$Vorgaben["Data"][$CDB][$ID][$VorgabenFeld1]] = $Vorgaben["Data"][$CDB][$ID][$WerteFeld1]; } if ($Vorgaben["Data"][$CDB][$ID][$VorgabenFeld2]) { $Register[$Vorgaben["Data"][$CDB][$ID][$VorgabenFeld2]] = $Vorgaben["Data"][$CDB][$ID][$WerteFeld2]; } if ($Vorgaben["Data"][$CDB][$ID][$VorgabenFeld3]) { $Register[$Vorgaben["Data"][$CDB][$ID][$VorgabenFeld3]] = $Vorgaben["Data"][$CDB][$ID][$WerteFeld3]; } break; case 2: // Register aus zwei Feldern if ($Vorgaben["Data"][$CDB][$ID][$VorgabenFeld1]) { $Register[$Vorgaben["Data"][$CDB][$ID][$VorgabenFeld1]] = $Vorgaben["Data"][$CDB][$ID][$WerteFeld1]; } if ($Vorgaben["Data"][$CDB][$ID][$VorgabenFeld2]) { $Register[$Vorgaben["Data"][$CDB][$ID][$VorgabenFeld2]] = $Vorgaben["Data"][$CDB][$ID][$WerteFeld2]; } break; default: if ($Vorgaben["Data"][$CDB][$ID][$VorgabenFeld]) { $Register[$Vorgaben["Data"][$CDB][$ID][$VorgabenFeld]] = $Vorgaben["Data"][$CDB][$ID][$WerteFeld]; } break; } return $Register; } break; case "ObPflichtfeldBedient": { list ($Datenbank, $CField) = $Parameter; unset ($Parameter); $Ob = false; $NewValue = $_REQUEST["NewValue"]; if (!isset ($Vorgaben["Data"][$Datenbank][0]["PflichtFelder"][$CField]) or !$Vorgaben["Data"][$Datenbank][0]["PflichtFelder"][$CField]) { if (isset ($Vorgaben["Data"][$Datenbank][0]["FeldTypen"][$CField][0])) switch (mb_strtoupper ($Vorgaben["Data"][$Datenbank][0]["FeldTypen"][$CField][0])) { default: { $Ob = true; } break; case "EMAIL": { if (!$NewValue or funEingabe ("Format.EMail", $Vorgaben, array ($NewValue))) { $Ob = true; } else { $Ob = false; } } break; } } else switch (mb_strtoupper ($Vorgaben["Data"][$Datenbank][0]["FeldTypen"][$CField][0])) { default: { if ($NewValue) { $Ob = true; } else { $Ob = false; } } break; case "BILD": { if ($_FILES["NewValue"]["size"]) { $Ob = true; } else { $Ob = false; } } break; case "STUNDEN": { $NewValue = fncZahl ("zhlRunden", array (funZahl ("Importieren.DE", $Vorgaben, array ($NewValue)), 2)); if ($NewValue) { $Ob = true; } else { $Ob = false; } } break; } return $Ob; } break; case "BedingtesAendern": list ($datDatenbank, $datID, $VorgabenFeld, $VorgabeWert, $WerteFeld, $Optionen) = $Parameter; unset ($Parameter); $Art = $Aktion2; switch (mb_strtoupper ($Art)) { default: $Wert = funDatenbank ($Art, $Vorgaben, array ($datDatenbank, $datID, $VorgabenFeld, $VorgabeWert, $WerteFeld, $Optionen)); break; case "BEDINGTERWERT": list ($datQuelle, $felQuelle) = explode (".", $Optionen); $Wert = $Vorgaben["Data"][$datQuelle][$VorgabeWert][$felQuelle]; # Debug // $dbgBlock = "BedingtesAendern"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); // //$dbgVariable = "datQuelle"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "felQuelle"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Wert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "WerteFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); break; } if ($Wert) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $datID, $WerteFeld, $Wert)); } // $Ergebnis = $Vorgaben; // unset ($Vorgaben); # Debug // //$dbgVariable = "Wert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgBlock = "BedingtesAendern"; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"], $dbgBlock)); break; case "AnzeigeFelder": { $Modul = $Vorgaben["curModul"]; switch (mb_strtoupper ($Aktion2)) { case "AUFBAUEN": { unset ($Parameter); $LeseDatenbanken = explode ("+", $Vorgaben["Data"]["datModule"][$Modul]["LeseDatenbanken"]); if (is_array ($LeseDatenbanken)) foreach ($LeseDatenbanken as $datDatenbank) if (isset ($Vorgaben["AnzeigeFelder"][$Modul][$datDatenbank])) if (is_array ($Vorgaben["AnzeigeFelder"][$Modul][$datDatenbank])) foreach ($Vorgaben["AnzeigeFelder"][$Modul][$datDatenbank] as $Ziel => $Felder) switch ($Ziel) { case "2D": { $Felder = explode (",", $Vorgaben["AnzeigeFelder"][$Modul][$datDatenbank][$Ziel]); if (is_array ($Felder)) foreach ($Felder as $ID => $Feld) if ($Felder[$ID] = trim ($Feld)); $Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$Ziel] = $Felder; } break; case "GelbeBox": { list ($tmpFelder, $Vorgaben["Data"][$datDatenbank][0]["GelbeBoxOptionen"]) = explode ("|", $Vorgaben["AnzeigeFelder"][$Modul][$datDatenbank][$Ziel] . "|"); $Felder = explode (",", $tmpFelder); # Feldnamen trimmen if (is_array ($Felder)) foreach ($Felder as $ID => $Feld) if ($Felder[$ID] = trim ($Feld)); $Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$Ziel] = $Felder; } break; case "1D": { $Gruppen = explode ("//", $Vorgaben["AnzeigeFelder"][$Modul][$datDatenbank][$Ziel]); # Debug // //$dbgVariable = "Gruppen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (is_array ($Gruppen)) foreach ($Gruppen as $Gruppe) { list ($GruppenTitel, $txtFelder) = explode ("/", $Gruppe . "/"); $GruppenTitel = trim ($GruppenTitel); $tmpFelder = explode (",", $txtFelder); $Felder = array (); # Feldnamen trimmen if (is_array ($tmpFelder)) foreach ($tmpFelder as $Feld) if ($Feld = trim ($Feld)) if (!isset ($Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld]) or !$Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld]) { $Felder[] = $Feld; } unset ($tmpFelder); # spezieller Gruppentitel? // switch ($GruppenTitel) // { // default: // { //// $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $datDatenbank . "_Tonne_krzBezeichner"); // $GruppenTitel = $Modul; // } // break; // case "=Item": // { // // $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $datDatenbank . "_Tonne_krzBezeichner"); // $t_element_bezeichner = ($t_modifiziert) ? $t_modifiziert : $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][0]; // //// var_dump ("Bz_" . $datDatenbank . "_Tonne_krzBezeichner"); // // $GruppenTitel = $t_element_bezeichner . " »" . fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $_REQUEST[RECORD], $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"])) . "«"; // } // break; // } // debug ($GruppenTitel); if ($GruppenTitel) switch ($GruppenTitel[0]) { case "=": { // debug ('hier!!!!!!!!!!'); $t_code_gruppe = mb_substr ($GruppenTitel, 1); switch ($t_code_gruppe) { default: { // info(); $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $t_code_gruppe . "_Titel.N"); $t_element_bezeichner = ($t_modifiziert) ? 'Modul ' . $t_modifiziert : $t_code_gruppe; $GruppenTitel = $t_element_bezeichner; } break; case "Item": { $t_modifiziert = fncVorgaben ($Vorgaben, "Bz_" . $datDatenbank . "_Tonne_krzBezeichner"); $t_element_bezeichner = ($t_modifiziert) ? $t_modifiziert : $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][0]; $GruppenTitel = $t_element_bezeichner . " »" . fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $_REQUEST[RECORD], $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["fldBetrefftext"])) . "«"; } break; } } break; } if (count ($Felder)) { $Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$Ziel][(trim ($GruppenTitel))] = $Felder; } } unset ($Felder); unset ($Gruppen); } break; } // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; case "2D": { list ($datDatenbank) = $Parameter; unset ($Parameter); $AnzeigeArt = $Aktion2; $Ergebnis = array (); if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$AnzeigeArt])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$AnzeigeArt] as $Feld) if ((!isset ($Vorgaben["Benutzer"]["GesperrteFelder"][$datDatenbank][$Feld]) or !$Vorgaben["Benutzer"]["GesperrteFelder"][$datDatenbank][$Feld]) and (!isset ($Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld]) or !$Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld])) { $Ergebnis[] = $Feld; } return $Ergebnis; } break; case "2DGRUPPIERT": { list ($datDatenbank) = $Parameter; unset ($Parameter); $AnzeigeArt = $Aktion2; $Ergebnis = array (); if (isset ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$AnzeigeArt])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$AnzeigeArt])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AnzeigeFelder"][$AnzeigeArt] as $Gruppe => $Felder) if (is_array ($Felder)) foreach ($Felder as $Feld) if (!$Vorgaben["Benutzer"]["GesperrteFelder"][$datDatenbank][$Feld] and !$Vorgaben["Benutzer"]["VersteckteFelder"][$datDatenbank][$Feld]) { $Ergebnis[$Gruppe][] = $Feld; } unset ($Felder); return $Ergebnis; } break; } } break; case "ChangeData": { unset ($Parameter); if ($_REQUEST["ChangeCoord"]) { # Modul übergeben wg. Übersichtlichkeit $Modul = $Vorgaben["curModul"]; # geänderte Koordinaten auslesen list ($datDatenbank, $idID, $fldFeld, $optOptionen) = explode (",", $_REQUEST["ChangeCoord"] . ",,,"); // $Sprache = explode ("|", $fldFeld); # Debug // //$dbgVariable = "____ChangeData____"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "optOptionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $dbgNewValue = $_REQUEST["NewValue"]; //$dbgVariable = "dbgNewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # geänderten Wert aufbereiten if (isset ($Vorgaben["Data"][$datDatenbank][0]["obLmnDb"]) and $Vorgaben["Data"][$datDatenbank][0]["obLmnDb"]) { switch ($fldFeld) { default: { $_REQUEST["NewValue"] = fncText ("ftxWandeln.D", array ($_REQUEST["NewValue"])); } break; case "Inhalt": { $_REQUEST["NewValue"] = fncText ("ftxWandeln.LD", array ($_REQUEST["NewValue"])); } break; } } else { $_REQUEST["NewValue"] = fncText ("ftxWandeln.D", array ($_REQUEST["NewValue"])); } # Debug // $dbgNewValue = $_REQUEST["NewValue"]; // //$dbgVariable = "dbgNewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Daten ändern if (!$Vorgaben["Benutzer"]["Level"]) // na der darf gar nix ändern { } else switch (mb_strtoupper ($fldFeld)) // hier_Standardmodulhandler { default: // Restfelder { if (!funDatenbank ("ObPflichtfeldBedient", $Vorgaben, array ($datDatenbank, $fldFeld))) { # Debug //$dbgInfo = "ObPflichtfeldBedient"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $_REQUEST["OpenCoord"] = $_REQUEST["ChangeCoord"]; // $Vorgaben["ObKombiNeuerWert"] = 1; } else { $Sprache = $optOptionen; funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld . "|" . $Sprache, $_REQUEST["NewValue"])); } } break; case "NEU": { $knnSymbolleiste = $optOptionen; # Debug // //$dbgVariable = "NEU"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgNewValue = $_REQUEST["NewValue"]; // //$dbgVariable = "dbgNewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "optOptionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $SchreibeDatenbanken = $Vorgaben["SchreibeDatenbanken"]; // //$dbgVariable = "SchreibeDatenbanken"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $NeuFeld = $Vorgaben["Data"][$datDatenbank][0]["NeuFeld"]; // //$dbgVariable = "NeuFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbkpf = $Vorgaben["Data"][$datDatenbank][0]; // //$dbgVariable = "dbkpf"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Vorgaben = fncDatensatz ("DsAnlegen", $Vorgaben, array ($datDatenbank, $knnSymbolleiste)); $idID = $Vorgaben["idID"]; # Feld öffnen if ($Vorgaben["Data"][$datDatenbank][0]["NeuFeld"]) { if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Vorgaben["Data"][$datDatenbank][0]["NeuFeld"]]) and $Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$Vorgaben["Data"][$datDatenbank][0]["NeuFeld"]]) { $Sprache = $Vorgaben["curLang"]; // bzw. die Sprache, die am Filter eingestellt wurde # Debug // //$dbgVariable = "Sprache"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } else { $Sprache = ""; # Debug // //$dbgVariable = "Sprache"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } $_REQUEST["OpenCoord"] = $datDatenbank . "," . $idID . "," . $Vorgaben["Data"][$datDatenbank][0]["NeuFeld"] . "," . $Sprache; # Debug // $dbgReq = $_REQUEST; // //$dbgVariable = "dbgReq"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $varvarvar = $Vorgaben["bltDBs"][$Vorgaben["curModul"]][$datDatenbank]["varChap"]; // //$dbgVariable = "varvarvar"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dataset = $Vorgaben["Data"][$datDatenbank][$idID]; // //$dbgVariable = "dataset"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "_REQUEST"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "_REQUEST"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } } break; case "INHALT": { // $knnSymbolleiste = $optOptionen; # Debug // //$dbgVariable = "$optOptionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $Sprache = $optOptionen; if ($Vorgaben["Data"][$datDatenbank][0]["obLmnDb"]) { # mehrzeiliger Eintrag? $arrZeilen = explode ("¦", $_REQUEST["NewValue"]); # erste Zeile speichern funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $arrZeilen[0])); # evtl. weitere Zeilen speichern $mrkType = $Vorgaben["Data"][$datDatenbank][$idID]["Type"]; $mrkSprache = $Vorgaben["Data"][$datDatenbank][$idID]["Sprache"]; $anzZeilen = count ($arrZeilen); for ($Z = 1; $Z < $anzZeilen; $Z++) { $mrkID = $idID; // für Reihenfolge $Vorgaben = fncDatensatz ("DsAnlegen", $Vorgaben, array ($datDatenbank)); // neue ID wird angelegt $idID = $Vorgaben["idID"]; // DsAnlegen hat neue ID hier abgelegt funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $arrZeilen[$Z])); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "Reihenfolge", "n:" . $mrkID)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "Type", $mrkType)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "Sprache", $mrkSprache)); // funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "Sprache", $Sprache)); } unset ($arrZeilen); } else { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $_REQUEST["NewValue"])); } } break; case "DUPLIZIEREN": { # Debug // $dbgBlock = "DUPLIZIEREN"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # zu kopierender Datensatz $OriginalID = $idID; # Freie ID für neuen Datensatz finden $idID = funDatenbank ("FreieID", $Vorgaben, array ($datDatenbank)); # wenn neben der Gesamtübersicht eine Detailansicht je Datensatz existiert, dann ID in Request übernehmen if ($Vorgaben["Data"][$datDatenbank][0]["fldDetails"]) // nicht nach ObItem, weil nur je Modul gesetzt, fldDetails hingegen je Datenbank { $_REQUEST[RECORD] = $idID; } # alle Auswahlfelder erstmal standardmäßig mit einer Null vorbelegen if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AuswahlFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AuswahlFelder"] as $AuswahlFeld => $X) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $AuswahlFeld, 0)); } # alle Ob-Felder erstmal standardmäßig mit einer Null vorbelegen if (is_array ($Vorgaben["Data"][$datDatenbank][0]["ObFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["ObFelder"] as $ObFeld => $X) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $ObFeld, 0)); } # alle Pflichtfelder vorbelegen if (is_array ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"] as $PflichtFeld => $Ob) if ($Ob) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $PflichtFeld)); } # wenn Datenbank einen Besitzer hat if ($datBesitzer = $Vorgaben["Data"][$datDatenbank][0]["Besitzer"]) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Vorgaben["Data"][$datBesitzer][0]["Besitz"][$datDatenbank], $_REQUEST[RECORD])); } # Wenn am Filter ein Wert eingestellt ist, wird das entsprechende Feld mit dem Wert vorbelegt // $Vorgaben = funModulFilter ("Auslesen", $Vorgaben, array ($datDatenbank, $idID)); # jetzt die Werte vom Original auf das Duplikat übernehmen if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"] as $Feld => $Ob) if ($Ob) if ($Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]) switch (mb_strtoupper ($Vorgaben["Data"][$datDatenbank][0]["FeldTypen"][$Feld][0])) { case "ID": break; case "BILD": $_FILES["NewValue"]["type"] = ""; $_FILES["NewValue"]["tmp_name"] = $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]; $_FILES["NewValue"]["size"] = 1; funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Feld, $_REQUEST["NewValue"])); break; case "DFTPDF": $_FILES["NewValue"]["type"] = "APPLICATION/PDF"; $_FILES["NewValue"]["tmp_name"] = $Vorgaben["Ordner"]["Media"] . $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]; $_FILES["NewValue"]["size"] = 1; funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Feld, $_REQUEST["NewValue"])); break; case "DFTVIDEO": list ($X, $Endung) = explode (".", $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]); $_FILES["NewValue"]["type"] = $Endung; $_FILES["NewValue"]["tmp_name"] = $Vorgaben["Ordner"]["CVideo"] . $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]; $_FILES["NewValue"]["size"] = 1; funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Feld, $_REQUEST["NewValue"])); break; case "DFTMP3": list ($X, $Endung) = explode (".", $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]); $_FILES["NewValue"]["type"] = $Endung; $_FILES["NewValue"]["tmp_name"] = $Vorgaben["Ordner"]["Media"] . $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]; $_FILES["NewValue"]["size"] = 1; funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Feld, $_REQUEST["NewValue"])); break; default: # Debug $EchterWert = $Vorgaben["Data"][$datDatenbank][$OriginalID][$Feld]; //$dbgVariable = "Feld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "EchterWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $Feld, $Wert = funDatenbank ("Anzeigen.EingabeWert", $Vorgaben, array ($datDatenbank, $OriginalID, $Feld)))); # Debug //$dbgVariable = "Wert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); break; } # Feld öffnen // if ($NeuFeld = $Vorgaben["Data"][$datDatenbank][0]["NeuFeld"][1]) // { // $_REQUEST["OpenCoord"] = $datDatenbank . "," . $idID . "," . $fldFeld = $NeuFeld; // } if ($NeuFeld = $Vorgaben["Data"][$datDatenbank][0]["NeuFeld"]) { $_REQUEST["OpenCoord"] = $datDatenbank . "," . $idID . "," . $fldFeld = $NeuFeld; } # Debug $dbgBlock = "DUPLIZIEREN"; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"], $dbgBlock)); } break; case "TONNE": { $Vorgaben = fncDatensatz ("DsEntfernen", $Vorgaben, array ($datDatenbank, $idID)); $idID = trim ($optOptionen); // die aktuelle ID, die es nun nicht mehr gibt, auf die AlternativID setzen, somit wird das entsprechende Feld angesprungen } break; case "PLANANREISE": { switch ($datDatenbank) { case "datReservierungen": funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $_REQUEST["NewValue"])); if ($Vorgaben["SchreibeDatenbanken"][$datDatenbank]) { if (!$_REQUEST["NewValue"]) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "PlanAbreise", 0)); } else { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "PlanAbreise", funDatum ("Konvertieren.10.10", $Vorgaben, array ($_REQUEST["NewValue"], 1)))); } } break; } } break; case "BESTANREISE": { switch ($datDatenbank) { case "datReservierungen": funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $_REQUEST["NewValue"])); if ($Vorgaben["SchreibeDatenbanken"][$datDatenbank]) { if (!$_REQUEST["NewValue"]) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "BestAbreise", 0)); } else { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "BestAbreise", funDatum ("Konvertieren.10.10", $Vorgaben, array ($_REQUEST["NewValue"], 1)))); } } break; } } break; case "PLANABREISE": { switch ($datDatenbank) { case "datReservierungen": if (funDatum ("Konvertieren.10.8", $Vorgaben, array ($_REQUEST["NewValue"])) <= $Vorgaben["Data"][$datDatenbank][$idID]["PlanAnreise"]) { $_REQUEST["NewValue"] = funDatum ("Konvertieren.8.10", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idID]["PlanAnreise"], 1)); } funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $_REQUEST["NewValue"])); break; } } break; case "BESTABREISE": { switch ($datDatenbank) { case "datReservierungen": if (funDatum ("Konvertieren.10.8", $Vorgaben, array ($_REQUEST["NewValue"])) <= $Vorgaben["Data"][$datDatenbank][$idID]["BestAnreise"]) { $_REQUEST["NewValue"] = funDatum ("Konvertieren.8.10", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idID]["BestAnreise"], 1)); } funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $_REQUEST["NewValue"])); break; } } break; case "LAUFZEITSTART": { switch ($datDatenbank) { case "datProjekte": funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $_REQUEST["NewValue"])); if ($Vorgaben["SchreibeDatenbanken"][$datDatenbank]) { if (!$_REQUEST["NewValue"]) { funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "LaufzeitEnde", 0)); } else { $StandardLaufzeitEnde = funDatum ("Konvertieren.10.10", $Vorgaben, array ($_REQUEST["NewValue"], 0, 11)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "LaufzeitEnde", $StandardLaufzeitEnde)); } } break; } } break; case "MAILVERSENDEN": switch ($datDatenbank) { case "datRundschreiben": switch ($_REQUEST["NewValue"]) { case "versenden": // Mail versenden # Abonnenteliste für dieses Item erzeugen $Vorgaben = funSpecial ("SVMAbonnentenliste", $Vorgaben, array ()); if (is_array ($Vorgaben["Data"][$datDatenbank][$idID]["Abonnentenliste"])) foreach ($Vorgaben["Data"][$datDatenbank][$idID]["Abonnentenliste"] as $EMail => $TitelVornameNachname) { $AbsenderName = $Vorgaben["Data"]["datVorgaben"][1]["Firma"]; $AbsenderAdresse = $Vorgaben["Meta"]["EMail"]; $EmpfaengerName = $TitelVornameNachname; $EmpfaengerAdresse = $EMail; $Betreff = $Vorgaben["Data"][$datDatenbank][$idID]["Betreff"]; $Nachricht = funText ("Wandeln.Umbruch.DB-Eingabe", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idID]["Nachricht"])); funNachricht ("Senden", $Vorgaben, array ($AbsenderName, $AbsenderAdresse, $EmpfaengerName, $EmpfaengerAdresse, $Betreff, $Nachricht)); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "LetzterVersand", $Vorgaben["Heute"][10])); funDatenbank ("datAendern", $Vorgaben, array ($datDatenbank, $idID, "LetzterVersender", $Vorgaben["Benutzer"]["Name"])); } break; } break; } break; } # geänderte Koordinaten erneut auslesen list ($datDatenbank, $idID, $fldFeld) = explode (",", $_REQUEST["ChangeCoord"]); list ($fldFeld) = explode ("|", $fldFeld); # Debug // $ChangeCoord = $_REQUEST["ChangeCoord"]; // //$dbgVariable = "_______________________"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "felFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # geändertes Feld wird angesprungen $Vorgaben["OnLoad"] = "location = '#" . mb_substr (md5 ($datDatenbank . $idID . $fldFeld), 0, 4) . "'; "; $_REQUEST["ActiveCoord" . $Modul] = $datDatenbank . "," . $idID . "," . $fldFeld; $_REQUEST["ChangeCoord"] = ""; /* --> wegen Formatbehandlung (ob gültige E-Mail) rausgenommen $_REQUEST["NewValue"] = ""; */ # Debug // $ChangeCoord = $_REQUEST["ChangeCoord"]; // //$dbgVariable = "_REQUEST"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; case "ZellStil": { list ($DatenbankName, $ID, $Feld) = $Parameter; unset ($Parameter); # Debug // echo var_dump ($Feld); $ZellFarbe = ""; if (isset ($Vorgaben["Data"][$DatenbankName][$ID][$Feld])) if (isset ($Vorgaben["Farben"])) if ($Vorgaben["Farben"]["Disposition"][$Vorgaben["Data"][$DatenbankName][0]["FeldTypen"][$Feld][0]][$Vorgaben["Data"][$DatenbankName][$ID][$Feld]]) { $ZellFarbe = $Vorgaben["Farben"]["Disposition"][$Vorgaben["Data"][$DatenbankName][0]["FeldTypen"][$Feld][0]][$Vorgaben["Data"][$DatenbankName][$ID][$Feld]]; } if (isset ($Vorgaben["Data"][$DatenbankName][0]["FeldFarben"][$Feld]) and $Vorgaben["Data"][$DatenbankName][0]["FeldFarben"][$Feld] and $ZellFarbe != $Vorgaben["Data"][$DatenbankName][0]["FeldFarben"][$Feld]) // Wochenende? Dann wieder gelb hinterlegen! { $ZellFarbe = funFarbe ("Mischen", $Vorgaben, array ($Vorgaben["Data"][$DatenbankName][0]["FeldFarben"][$Feld], $ZellFarbe)); } if ($ZellFarbe) { $Ergebnis = "background: " . $ZellFarbe . "; "; } else { $Ergebnis = ""; } return $Ergebnis; } break; case "SchattenFelder": { list ($datDatenbank) = $Parameter; unset ($Parameter); if (isset ($Vorgaben["curModul"])) { $Modul = $Vorgaben["curModul"]; } else { $Modul = ""; } if (isset ($_REQUEST["OpenCoord"])) { list ($X, $idOpen) = explode (",", $_REQUEST["OpenCoord"] . ","); } else { $idOpen = ""; } switch (mb_strtoupper ($Aktion2)) { # hier_standardSchattenFelder_erzeugen case "STANDARD": // wird nach jedem Lesen und Schreiben einer Datenbank aufgerufen werden { # var $mrkGruppe = ""; # SchattenFelder_vor_Auswahllisten if (is_array ($Vorgaben["Data"][$datDatenbank])) if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldID"])) foreach ($Vorgaben["Data"][$datDatenbank] as $idID => $tmp) if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]])) if ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { # Sonderfall flexible Feldtypen/Bezeichner if (isset ($Vorgaben["Data"][$datDatenbank][0]["obLmnDb"])) if ($Vorgaben["Data"][$datDatenbank][0]["obLmnDb"]) { if (!isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["FeldtypInhalt"])) { $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["FeldtypInhalt"] = ""; } list ($Vorgaben["Data"][$datDatenbank][0]["FeldTypen"]["Inhalt"][$idID]) = explode (".", $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["FeldtypInhalt"]); if (!isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["FeldtypReferenz"])) { $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["FeldtypReferenz"] = ""; } list ($Vorgaben["Data"][$datDatenbank][0]["FeldTypen"]["Referenz"][$idID], $Vorgaben["Data"][$datDatenbank][0]["FeldTypen2"]["Referenz"][$idID]) = explode (".", $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["FeldtypReferenz"] . "."); if (!isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["BezeichnerInhalt"])) { $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["BezeichnerInhalt"] = ""; } $Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner"]["Inhalt"][$idID] = $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["BezeichnerInhalt"]; if (!isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["BezeichnerReferenz"])) { $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["BezeichnerReferenz"] = ""; } $Vorgaben["Data"][$datDatenbank][0]["FeldBezeichner"]["Referenz"][$idID] = $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["BezeichnerReferenz"]; if (!isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["TitelLang"])) { $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["TitelLang"] = ""; } $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["lngBezeichner"][$idID] = $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["TitelLang"]; if (!isset ($Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["Titel"])) { $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["Titel"] = ""; } $Vorgaben["Data"][$datDatenbank][0]["Tonne"]["krzBezeichner"][$idID] = $Vorgaben["Data"]["datTypen"][$Vorgaben["Data"][$datDatenbank][$idID]["Type"]]["Titel"]; } # Exklusivfelder if (isset ($Vorgaben["Data"][$datDatenbank][0]["ExklusivFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["ExklusivFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["ExklusivFelder"] as $ExklusivFeld) if ($ExklusivFeld) if ($Vorgaben["Data"][$datDatenbank][$idID][$ExklusivFeld]) if ($Vorgaben["Data"][$datDatenbank][0]["ExklFldUmgebung"][$ExklusivFeld]) { # Umgebung ermitteln list ($fldFeld1, $fldFeld2) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["ExklFldUmgebung"][$ExklusivFeld] . "|"); $wrtWert1 = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld1)); if (!$wrtWert1) { $wrtWert1 = 0; } $wrtWert2 = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld2)); if (!$wrtWert2) { $wrtWert2 = 0; } $fldUmgebung = $wrtWert1 . ";" . $wrtWert2; // Semikolon, weil Werte verbunden werden if ($fldFeld2) // Sonderfall: z.B. Sprache|Bereich { if ($wrtWert2) // nur gültig, wenn Bereich gesetzt ist, weil sonst Konkurrenz zur globalen Startseite { if (!isset ($Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld][$fldUmgebung]) or !$Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld][$fldUmgebung]) // bisher keine ID gesetzt? { $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld][$fldUmgebung] = $idID; } else // es existiert bereits eine ID? dann diesen Anwärter auf Null setzen { $Vorgaben["Data"][$datDatenbank][$idID][$ExklusivFeld] = 0; } } else // wenn Bereich = 0 { $Vorgaben["Data"][$datDatenbank][$idID][$ExklusivFeld] = 0; } } else { if (!isset ($Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld][$fldUmgebung]) or !$Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld][$fldUmgebung]) // bisher keine ID gesetzt? { $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld][$fldUmgebung] = $idID; } else // es existiert bereits eine ID? dann diesen Anwärter auf Null setzen { $Vorgaben["Data"][$datDatenbank][$idID][$ExklusivFeld] = 0; } } } else // kein Papafeld? { if (!$Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld]) // bisher keine ID gesetzt? { $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$ExklusivFeld] = $idID; } else // es existiert bereits eine ID? dann diesen Anwärter auf Null setzen { $Vorgaben["Data"][$datDatenbank][$idID][$ExklusivFeld] = 0; } } # Hierarchie if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"])) if ($fldHierarchie = $Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]) { $fldText = $Vorgaben["Data"][$datDatenbank][0]["fldTxtHierarchie"]; if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldSprache"])) { $fldSprache = $Vorgaben["Data"][$datDatenbank][0]["fldSprache"]; } else { $fldSprache = ""; } # Ebenen $Vorgaben["Data"][$datDatenbank][$idID]["+mbnHierarchie"] = 0; // zählt die Ebene 0=Hauptmenü usw. # Sprachen validieren, wenn Unterkategorie andere Sprache hat als Hauptkategorie, wird Unterkategorie automatisch zur Hauptkategorie if ($fldSprache) if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldHierarchie])) if ($Vorgaben["Data"][$datDatenbank][$idID][$fldHierarchie]) if ($Vorgaben["Data"][$datDatenbank][$idID][$fldSprache] != $Vorgaben["Data"][$datDatenbank][$Vorgaben["Data"][$datDatenbank][$idID][$fldHierarchie]][$fldSprache]) { $Vorgaben["Data"][$datDatenbank][$idID][$fldHierarchie] = 0; } $Vorgaben["Data"][$datDatenbank][$idID]["+hrcHierarchie"] = ""; $Vorgaben["Data"][$datDatenbank][$idID]["+klrHierarchie"] = ""; $Vorgaben["Data"][$datDatenbank][$idID]["+ntrHierarchie"] = ""; $idPapa = $Vorgaben["Data"][$datDatenbank][$idID][$fldHierarchie] / 1; while ($idPapa) { # KLartext $Vorgaben["Data"][$datDatenbank][$idID]["+klrHierarchie"] = fncText ("ftxWandeln.F", array ($Vorgaben["Data"][$datDatenbank][$idPapa][$fldText])) . " › " . $Vorgaben["Data"][$datDatenbank][$idID]["+klrHierarchie"]; # IDs |1|2|3| $Vorgaben["Data"][$datDatenbank][$idID]["+hrcHierarchie"] = $idPapa . "|" . $Vorgaben["Data"][$datDatenbank][$idID]["+hrcHierarchie"]; # IDs 1,2,3 $Vorgaben["Data"][$datDatenbank][$idPapa]["+ntrHierarchie"] .= "," . $idID; # Ebene $Vorgaben["Data"][$datDatenbank][$idID]["+mbnHierarchie"]++; # idPapa neu belegen $idPapa = $Vorgaben["Data"][$datDatenbank][$idPapa][$fldHierarchie] / 1; } if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldText])) { $Vorgaben["Data"][$datDatenbank][$idID]["+klrHierarchie"] .= fncText ("ftxWandeln.F", array ($Vorgaben["Data"][$datDatenbank][$idID][$fldText])); } $Vorgaben["Data"][$datDatenbank][$idID]["+hrcHierarchie"] = "|" . $Vorgaben["Data"][$datDatenbank][$idID]["+hrcHierarchie"] . $idID . "|"; } # SchattenFelder if (isset ($Vorgaben["Data"][$datDatenbank][0]["SchattenFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["SchattenFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["SchattenFelder"] as $SchattenFeld => $Details) switch ($Details["Typ"]) { case "dftZwilling": { // //$dbgVariable = "Details"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (isset ($Details["Aktion"])) switch ($Details["Aktion"]) { case "KonvertiereDatum": if ($Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]]) { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = funDatum ("Konvertieren." . $Details["OriginalFormat"] . "." . $Details["KopieFormat"], $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]])); } else { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = ""; } break; default: $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = $Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]]; break; } switch (mb_strtoupper ($Details["Typ5"])) { case "WENNVERALTET": if ($Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] < $Vorgaben["Heute"][8]) // in der DB steht also gestern oder älter { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = 0; } break; } } break; case "dftZeitraum": { $ErstesFeld = $Vorgaben["Data"][$datDatenbank][$idID][$Details["ErstesFeld"]]; $ZweitesFeld = $Vorgaben["Data"][$datDatenbank][$idID][$Details["ZweitesFeld"]]; $Alter = funDatum ("Alter.8", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][$idID][$Details["ErstesFeld"]], $Vorgaben["Data"][$datDatenbank][$idID][$Details["ZweitesFeld"]])); $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = $Alter[$Details["Skalierung"]]; } break; case "dftErsterWert": { $tmpAlleWerte = explode (",", $Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]]); $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = $tmpAlleWerte[0]; } break; case "dftInitiale": { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = mb_strtoupper (mb_substr ($Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]], 0, $Details["Anzahl"])); } break; case "dftRechnen": { funDatenbank ("NeuesFeld." . $Details["Typ"], $Vorgaben, array ($datDatenbank, $idID, $SchattenFeld, $Details["Operation"], $Details["Feld1"], $Details["Feld2"])); } break; case "dftWenn": { funDatenbank ("NeuesFeld." . $Details["Typ"], $Vorgaben, array ($datDatenbank, $idID, $SchattenFeld, $Details["AlphaFeld"], $Details["BetaFeld"])); } break; case "dftStaffel": case "dftBisStaffel": { funDatenbank ("NeuesFeld." . $Details["Typ"], $Vorgaben, array ($datDatenbank, $idID, $SchattenFeld, $Details["OriginalFeld"], $Details["Staffelung"])); } break; case "dftTicket": { funDatenbank ("NeuesFeld." . $Details["Typ"], $Vorgaben, array ($datDatenbank, $idID, $SchattenFeld, $Details["Verbinder"], $Details["Felder"], $Details["ObZwang"])); } break; case "dftSchatten": { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = fncText ("ftxSchattenwert.U", array ($Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]])); } break; case "dftDatum": { # prüfen ob »veraltet« Prüfung sein soll switch (mb_strtoupper ($Details["Art"])) { case "WENNVERALTET": if ($Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] < $Vorgaben["Heute"][8]) // in der DB steht also gestern oder älter { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = 0; } break; } } break; } } unset ($tmp); # Auswahllisten if (isset ($Vorgaben["Data"][$datDatenbank][0]["AuswahlFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["AuswahlFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["AuswahlFelder"] as $AuswahlFeld => $Optionen) { $regGesAuswahl = array (); $regOffAuswahl = array (); $obPflichtfeld = 0; list ($Art, $Option1, $Option2, $Option3) = explode (":", $Optionen); # Nullwert ermitteln if ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$AuswahlFeld]) // Pflichtfeld? Dann kein Nullwert! { $Nullwert = ""; $obPflichtfeld = 1; } elseif ($Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$AuswahlFeld]) // Nullwert in DBTypen hinterlegt? { $Nullwert = $Vorgaben["Data"][$datDatenbank][0]["NullWerte"][$AuswahlFeld]; } else // Standard: kein { $Nullwert = "kein"; } switch (mb_strtoupper ($Art)) { case "DATUM6": $Sortieren = "Unsortiert"; $Start6 = $Vorgaben[$Option1]; $Ende6 = $Vorgaben[$Option2]; $Start6 = funDatum ("ErrechneDatum6", $Vorgaben, array ($Start6)); $Ende6 = funDatum ("ErrechneDatum6", $Vorgaben, array ($Ende6)); if ($Nullwert) { $regOffAuswahl[0] = $Nullwert; $regOffAuswahl["~0"] = "---------------------"; } $regGesAuswahl = $regOffAuswahl; $BelegteWerte = funDatenbank ("BelegteWerte", $Vorgaben, array ($datDatenbank, $AuswahlFeld, $idOpen)); $StartJahr = mb_substr ($Start6, 0, 4) / 1; $EndJahr = mb_substr ($Ende6, 0, 4) / 1; if ($Start6 >= $Ende6) { $Aeltester6 = $Ende6; $Juengster6 = $Start6; for ($J = $MerkeJahr = $StartJahr; $J and $J >= $EndJahr; $J--) for ($M = 12; $M and $M >= 1; $M--) { list ($regOffAuswahl, $regGesAuswahl, $MerkeJahr, $mrkLetzterErlaubterTermin, $mrkLetzterJahresTermin) = funAuswahl ("Datum6", $Vorgaben, array ($regOffAuswahl, $regGesAuswahl, $Aeltester6, $Juengster6, $BelegteWerte, $J, $M, $MerkeJahr, $mrkLetzterErlaubterTermin, $mrkLetzterJahresTermin)); } } else { $Aeltester6 = $Start6; $Juengster6 = $Ende6; for ($J = $MerkeJahr = $StartJahr; $J and $J <= $EndJahr; $J++) for ($M = 1; $M and $M <= 12; $M++) { list ($regOffAuswahl, $regGesAuswahl, $MerkeJahr, $mrkLetzterErlaubterTermin, $mrkLetzterJahresTermin) = funAuswahl ("Datum6", $Vorgaben, array ($regOffAuswahl, $regGesAuswahl, $Aeltester6, $Juengster6, $BelegteWerte, $J, $M, $MerkeJahr, $mrkLetzterErlaubterTermin, $mrkLetzterJahresTermin)); } } break; case "MENU": // erzeugt Auswahl der vorhandenen Menüeinträge $Sortieren = "Unsortiert"; $Vorgaben["funStartzeit7"] = microtime (1); // $ObUngleicheRegister = 1; if ($Nullwert) { $regOffAuswahl[0] = $Nullwert; $regOffAuswahl["~0"] = "---------------------"; } $regGesAuswahl = $regOffAuswahl; $SammleThemen = array (); if (is_array ($Vorgaben["Menu"]["AktiveThemen"])) foreach ($Vorgaben["Menu"]["AktiveThemen"] as $ID => $Thema) if ($ID) if (!$Vorgaben["Menu"]["Extern"][$ID]) // somit Startseite und externe Links ausgeklammert { $SammleThemen[] = $ID; } for ($Z = 0; $Z < count ($SammleThemen); $Z++) { $ID = $SammleThemen[$Z]; if (!$Vorgaben["Menu"]["ThemenHierarchie"][$ID] and $Z) // wenn Thema der 1. Ebene aber nicht das allererste { $regOffAuswahl["~" . $SammleThemen[($Z - 1)]] = "---------------------"; } if ($Vorgaben["Menu"]["ThemenHierarchie"][$ID]) // wenn Unterthema { $Vorspann1 = "• "; $Vorspann2 = $Vorgaben["Menu"]["AktiveThemen"][$Vorgaben["Menu"]["ThemenHierarchie"][$ID]] . " • "; } else { $Vorspann1 = ""; $Vorspann2 = ""; } $regOffAuswahl[$ID] = $Vorspann1 . $Vorgaben["Menu"]["AktiveThemen"][$ID]; $regGesAuswahl[$ID] = $Vorspann2 . $Vorgaben["Menu"]["AktiveThemen"][$ID]; } break; case "DATENBANK": { $Sortieren = $Option1; $datQuelle = $Option2; $fldText = $Option3; $regOffAuswahl = array (); $regGesAuswahl = array (); # debug // echo var_dump ($datDatenbank); // echo var_dump ($AuswahlFeld); // echo var_dump ($datQuelle); // echo var_dump ($fldText); if (isset ($Vorgaben["Data"][$datQuelle])) { $regOffAuswahl = fncAltRegister ("Ziehen", $Vorgaben, array ($datQuelle, $Vorgaben["Data"][$datQuelle][0]["fldID"], $fldText . ":Typ", $Nullwert)); $regGesAuswahl = $regOffAuswahl; switch ($datQuelle) { case "datTypen": // dann Rechte beachten { if (is_array ($regOffAuswahl)) foreach ($regOffAuswahl as $ID => $tmp) if ($ID) if (isset ($Vorgaben["Benutzer"])) if ((isset ($Vorgaben["Benutzer"]["GesperrteTypen"][$ID]) and $Vorgaben["Benutzer"]["GesperrteTypen"][$ID]) or !isset ($Vorgaben["Benutzer"]["ErlaubteTypen"][$ID]) or !$Vorgaben["Benutzer"]["ErlaubteTypen"][$ID]) { $regOffAuswahl[$ID] = 0; } } break; } } } break; case "REGISTER": $Sortieren = $Option1; $Name = $Option2; if (!isset ($Vorgaben["Data"][$Name])) { $Vorgaben["Data"][$Name] = ""; } $regOffAuswahl = array (); if ($Nullwert) { $regOffAuswahl[0] = $Nullwert; } $regOffAuswahl = fncAltRegister ("Mischen", $Vorgaben, array ($Vorgaben["Data"][$Name], $regOffAuswahl)); $regGesAuswahl = $regOffAuswahl; break; } # Pflichtfeld? // if ($obPflichtfeld) // { // $regOffAuswahl[0] = 0; // } # Sortieren? switch (mb_strtoupper ($Sortieren)) { case "UNSORTIERT": { $regGesAuswahl = fncAltRegister ("Sortieren.UN", $Vorgaben, array ($regGesAuswahl)); $regOffAuswahl = fncAltRegister ("Sortieren.UN", $Vorgaben, array ($regOffAuswahl)); } break; case "SORTIERT": { $regGesAuswahl = fncAltRegister ("Sortieren.N", $Vorgaben, array ($regGesAuswahl)); $regOffAuswahl = fncAltRegister ("Sortieren.N", $Vorgaben, array ($regOffAuswahl)); } break; } $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$AuswahlFeld]["regGesAuswahl"] = $regGesAuswahl; $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$AuswahlFeld]["regOffAuswahl"] = $regOffAuswahl; if (isset ($Vorgaben["Data"][$datDatenbank][0]["AuswahlKopieFelder"][$AuswahlFeld])) if ($SchattenFeld = $Vorgaben["Data"][$datDatenbank][0]["AuswahlKopieFelder"][$AuswahlFeld]) { $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$SchattenFeld]["regGesAuswahl"] = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$AuswahlFeld]["regGesAuswahl"]; $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$SchattenFeld]["regOffAuswahl"] = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$AuswahlFeld]["regGesAuswahl"]; } unset ($regGesAuswahl); unset ($regOffAuswahl); } # SchattenFelder_nach_Auswahllisten $mrkIDs4Hrc = array (); // merke IDs für Hierarchie if (is_array ($Vorgaben["Data"][$datDatenbank])) if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldID"])) foreach ($Vorgaben["Data"][$datDatenbank] as $idID => $tmp) if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]])) if ($Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]]) { # Hierarchie - nach Auswahllisten if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"])) if ($Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]) { $fldHierarchie = $Vorgaben["Data"][$datDatenbank][0]["fldHierarchie"]; # merke Vor- und RücksprungIDs if (!isset ($Vorgaben["Data"][$datDatenbank][$idID]["Sprache"])) // if (!$Vorgaben["Data"][$datDatenbank][$idID]["Sprache"]) { $Vorgaben["Data"][$datDatenbank][$idID]["Sprache"] = "XX"; // behelfsmäßig, muss gefüllt sein für diese Aktion } # Umgebung if (!isset ($Vorgaben["Data"][$datDatenbank][$idID]["Besitzer"])) { $Vorgaben["Data"][$datDatenbank][$idID]["Besitzer"] = ""; } $Umgebung = $Vorgaben["Data"][$datDatenbank][$idID]["Besitzer"]; if (!$Umgebung) { $Umgebung = "none"; } if (isset ($mrkIDs4Hrc[$Umgebung][$Vorgaben["Data"][$datDatenbank][$idID]["Sprache"]][$Vorgaben["Data"][$datDatenbank][$idID]["+mbnHierarchie"]])) if ($mrkIDs4Hrc[$Umgebung][$Vorgaben["Data"][$datDatenbank][$idID]["Sprache"]][$Vorgaben["Data"][$datDatenbank][$idID]["+mbnHierarchie"]]) { $Vorgaben["Data"][$datDatenbank][$idID]["+rfgDavor"] = $mrkIDs4Hrc[$Umgebung][$Vorgaben["Data"][$datDatenbank][$idID]["Sprache"]][$Vorgaben["Data"][$datDatenbank][$idID]["+mbnHierarchie"]]; } if (isset ($Vorgaben["Data"][$datDatenbank][$idID]["+rfgDavor"])) if ($Vorgaben["Data"][$datDatenbank][$idID]["+rfgDavor"]) { $Vorgaben["Data"][$datDatenbank][$Vorgaben["Data"][$datDatenbank][$idID]["+rfgDavor"]]["+rfgDanach"] = $idID; } $mrkIDs4Hrc[$Umgebung][$Vorgaben["Data"][$datDatenbank][$idID]["Sprache"]][$Vorgaben["Data"][$datDatenbank][$idID]["+mbnHierarchie"]] = $idID; # ObAktiv in Abhängigkeit von Hierarchie prüfen und ggf. ändern, wenn aktueller Menüpunkt offline ist, dann alle Unterpunkte auch offline schalten if (isset ($Vorgaben["Data"][$datDatenbank][$idID]["ObAktiv"]) and $Vorgaben["Data"][$datDatenbank][$idID]["ObAktiv"] == 2) if ($Vorgaben["Data"][$datDatenbank][$idID]["+ntrHierarchie"]) { $idsUnterpunkte = explode (",", $Vorgaben["Data"][$datDatenbank][$idID]["+ntrHierarchie"]); if (is_array ($idsUnterpunkte)) foreach ($idsUnterpunkte as $idUnterpunkt) if ($idUnterpunkt) { $Vorgaben["Data"][$datDatenbank][$idUnterpunkt]["ObAktiv"] = 2; } unset ($idsUnterpunkte); } } # SchattenFelder - nach Auswahllisten if (isset ($Vorgaben["Data"][$datDatenbank][0]["SchattenFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["SchattenFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["SchattenFelder"] as $SchattenFeld => $Details) switch ($Details["Typ"]) { case "dftKlartext": { $Vorgaben["Data"][$datDatenbank][$idID][$SchattenFeld] = $Vorgaben["Data"][$datDatenbank][0]["AuswahlListen"][$Details["OriginalFeld"]]["regGesAuswahl"][$Vorgaben["Data"][$datDatenbank][$idID][$Details["OriginalFeld"]]]; } break; case "dftKette": { funDatenbank ("NeuesFeld." . $Details["Typ"], $Vorgaben, array ($datDatenbank, $idID, $SchattenFeld, $Details["FeldA"], $Details["Verbinder"], $Details["FeldB"], $Details["ObZwang"])); } break; } } unset ($tmp); unset ($mrkIDs4Hrc); # erstmal hier platziert: für Optionen-Felder JS $Vorgaben["ObJSKontrolle"] = 1; # Kombilisten erzeugen if (isset ($Vorgaben["Data"][$datDatenbank][0]["KombiFelder"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["KombiFelder"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["KombiFelder"] as $Feld => $WeitereFelder) { $Vorgaben = funEingabe ("KombiAuswahlListe." . $Feld, $Vorgaben, array ($datDatenbank, $WeitereFelder)); } unset ($regKandidaten); } break; case "VORFILTER": { switch ($Modul) { case "modProjekte": { $ErsteAuftraege = array (); if (is_array ($Vorgaben["Data"]["datJobs"])) foreach ($Vorgaben["Data"]["datJobs"] as $ID => $X) if ($Vorgaben["Data"]["datJobs"][$ID]["ID"]) if ($Vorgaben["Data"]["datProjekte"][$Vorgaben["Data"]["datJobs"][$ID]["Projekt"]]["Typ"] == 1) switch ($Vorgaben["Data"]["datJobs"][$ID]["Art"] / 1) // nur Projekte Typ Verkauf { case 5: // Auftrag $Kunde = $Vorgaben["Data"]["datProjekte"][$Vorgaben["Data"]["datJobs"][$ID]["Projekt"]]["Kunde"]; if ($Kunde == "+ Stroner") echo "-" . $ID . "-" . $Vorgaben["Data"]["datJobs"][$ID]["Job"] . " Projekt: ". $Vorgaben["Data"]["datProjekte"][$Vorgaben["Data"]["datJobs"][$ID]["Projekt"]]["Titel"]; if (!$ErsteAuftraege[$Kunde] or $Vorgaben["Data"]["datJobs"][$ID]["Datum"] < $ErsteAuftraege[$Kunde]) { $ErsteAuftraege[$Kunde] = $Vorgaben["Data"]["datJobs"][$ID]["Datum"]; } break; } if (is_array ($ErsteAuftraege)) { asort ($ErsteAuftraege); } if (is_array ($ErsteAuftraege)) foreach ($ErsteAuftraege as $Kunde => $ErsterAuftrag) { $Z++; $Vorgaben["Data"]["datProjekte"][0]["Plus"][$Kunde]["LfdNr"] = $Z; $Vorgaben["Data"]["datProjekte"][0]["Plus"][$Kunde]["Dekade"] = ceil ($Z / 10); $Vorgaben["Data"]["datProjekte"][0]["Plus"][$Kunde]["Hefter"] = $Vorgaben["Data"]["ProjekteHefter"][ceil ($Z / 10)]; $Vorgaben["Data"]["datProjekte"][0]["Plus"][$Kunde]["Jahr"] = mb_substr ($ErsterAuftrag, 0, 4); } } break; case "modBKalender": { $Vorgaben = funSpecial ("ErmittleBelegung.ARD", $Vorgaben, array ()); } break; } } break; case "NACHFILTER": { switch ($Modul) { case "modBKalender": { $Vorgaben = funSpecial ("sfhPreisErrechnen", $Vorgaben, array ()); } break; case "modCProdukte": { # Auswahlliste für Grammatur ausforsten, soll nur die Werte zeigen, die für das jeweilige Papier hinterlegt sind // if ($_REQUEST["OpenCoord"]) // { // $obPapSta = array (); // list ($datDatenbank, $idID, $fldFeld) = explode (",", $_REQUEST["OpenCoord"]); // $PapStas = explode (",", $Vorgaben["Data"]["datPapiersorten"][$Vorgaben["Data"]["datCPreise"][$idID]["Papier"]]["PapSta"]); // if (is_array ($PapStas)) foreach ($PapStas as $PapSta) if ($PapSta) // { // $obPapSta[$PapSta] = 1; // } // if (is_array ($Vorgaben["Data"]["datCPreise"][0]["AuswahlListen"]["Grammatur"]["regOffAuswahl"])) foreach ($Vorgaben["Data"]["datCPreise"][0]["AuswahlListen"]["Grammatur"]["regOffAuswahl"] as $idGrammatur => $txtGrammatur) if (!$obPapSta[$idGrammatur]) // { // $Vorgaben["Data"]["datCPreise"][0]["AuswahlListen"]["Grammatur"]["regOffAuswahl"][$idGrammatur] = 0; // } // } # Warnungen erzeugen // $Vorgaben["Data"]["datCPreise"][0]["Symbole"]["Warnung"] = "status_warnung"; // Symbol in Legende $obDoppelt = array (); if (is_array ($Vorgaben["Data"]["datCPreise"])) foreach ($Vorgaben["Data"]["datCPreise"] as $idID => $tmp) { unset ($tmp); if ($Vorgaben["Data"]["datCPreise"][$idID]["ID"]) { if (!$curFormat = $Vorgaben["Data"]["datCPreise"][$idID]["Format"]) { $Vorgaben["Data"]["datCPreise"][$idID]["Warnung"] = 1; $Vorgaben["Data"]["datCPreise"][0]["dftWarnung"]["Warnung"][1][$idID] = "kein Format gewählt"; } elseif (!$curGrammatur = $Vorgaben["Data"]["datCPreise"][$idID]["Grammatur"]) { $Vorgaben["Data"]["datCPreise"][$idID]["Warnung"] = 1; $Vorgaben["Data"]["datCPreise"][0]["dftWarnung"]["Warnung"][1][$idID] = "keine Grammatur gewählt"; } else { $curBesitzer = $Vorgaben["Data"]["datCPreise"][$idID]["Besitzer"]; $curPapier = $Vorgaben["Data"]["datCPreise"][$idID]["Papier"]; # Grammatur verfügbar? $obPapSta = array (); $PapStas = explode ("|", $Vorgaben["Data"]["datPapiersorten"][$curPapier]["PapSta"]); if (is_array ($PapStas)) foreach ($PapStas as $PapSta) if ($PapSta) { $obPapSta[$PapSta] = 1; } unset ($PapStas); if (!$obPapSta[$curGrammatur]) { $Vorgaben["Data"]["datCPreise"][$idID]["Warnung"] = 1; $Vorgaben["Data"]["datCPreise"][0]["dftWarnung"]["Warnung"][1][$idID] = "Grammatur für das gewählte Papier nicht verfügbar"; } unset ($obPapSta); # Doppelt? if ($idDoppel = $obDoppelt[$curBesitzer][$curFormat][$curPapier][$curGrammatur]) { # bei beiden Warnungen setzen $Vorgaben["Data"]["datCPreise"][$idID]["Warnung"] = 1; $Vorgaben["Data"]["datCPreise"][0]["dftWarnung"]["Warnung"][1][$idID] = "Preis existiert doppelt"; $Vorgaben["Data"]["datCPreise"][$idDoppel]["Warnung"] = 1; $Vorgaben["Data"]["datCPreise"][0]["dftWarnung"]["Warnung"][1][$idDoppel] = "Preis existiert doppelt"; } else { # merken $obDoppelt[$curBesitzer][$curFormat][$curPapier][$curGrammatur] = $idID; } } } } unset ($obDoppelt); } break; } } break; } // $Ergebnis = $Vorgaben; // // // unset ($Vorgaben); } break; case "FreieID": { list ($datDatenbank) = $Parameter; unset ($Parameter); # var $pfxID = ""; # ID-Feld $fldID = $Vorgaben["Data"][$datDatenbank][0]["fldID"]; if (isset ($Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldID]) and $Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldID]) { $pfxID = $Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"][$fldID]; } # Debug // //$dbgInfo = "FreieID"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "fldID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "pfxID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # finde die nächste freie ID, starte mit 1 for ($FreieID = 1; isset ($Vorgaben["Data"][$datDatenbank][$pfxID . $FreieID][$fldID]) and $Vorgaben["Data"][$datDatenbank][$pfxID . $FreieID][$fldID]; $FreieID++); $Ergebnis = $pfxID . $FreieID; return $Ergebnis; // unset ($Vorgaben); } break; case "NeuesFeld": { switch ($Aktion2) { case "dftTicket": { list ($datDatenbank, $datID, $NeuesFeld, $Verbinder, $Felder) = $Parameter; unset ($Parameter); $Werte = array ($datDatenbank, $datID); if (is_array ($Felder)) foreach ($Felder as $Feld) if ($Vorgaben["Data"][$datDatenbank][$datID][$Feld] or strval ($Vorgaben["Data"][$datDatenbank][$datID][$Feld]) == "0") // soll bei NULL auch funktionieren { $Werte[] = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $datID, $Feld)); } unset ($Felder); $Ticket = funText ("Ticket", $Vorgaben, array ($Werte, $Verbinder)); unset ($Werte); $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = $Ticket; // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; case "dftKette": { list ($datDatenbank, $datID, $NeuesFeld, $FeldA, $Verbinder, $FeldB, $ObZwang) = $Parameter; unset ($Parameter); $Kette = array (); $Felder = array ($FeldA, $FeldB); if (is_array ($Felder)) foreach ($Felder as $Feld) if ($ObZwang or fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $datID, $Feld))) { $Kette[] = fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $datID, $Feld)); } unset ($Felder); $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = implode ($Verbinder, $Kette); unset ($Kette); // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; case "dftRechnen": { list ($datDatenbank, $datID, $NeuesFeld, $Operation, $Feld1, $Feld2) = $Parameter; unset ($Parameter); $Wert1 = $Vorgaben["Data"][$datDatenbank][$datID][$Feld1] / 1; $Wert2 = $Vorgaben["Data"][$datDatenbank][$datID][$Feld2] / 1; switch (mb_strtoupper ($Operation)) { case "DIV": if ($Wert2) // sonst div by zero! { $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = $Wert1 / $Wert2; } break; case "ADD": $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = $Wert1 + $Wert2; break; case "SUB": $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = $Wert1 - $Wert2; break; case "MUL": $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = $Wert1 * $Wert2; break; } // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; case "dftWenn": { list ($datDatenbank, $datID, $NeuesFeld, $AlphaFeld, $BetaFeld) = $Parameter; unset ($Parameter); if ($Vorgaben["Data"][$datDatenbank][$datID][$AlphaFeld]) { $Wert = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $datID, $AlphaFeld)); } else { $Wert = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $datID, $BetaFeld)); } $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = $Wert; // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; case "dftStaffel": { list ($datDatenbank, $datID, $NeuesFeld, $Feld, $rohStaffelung) = $Parameter; unset ($Parameter); list ($Staffelung, $rohGenauigkeit) = explode (",", $rohStaffelung); $Genauigkeit = mb_strlen ($rohGenauigkeit); switch ($Genauigkeit) { default: // 0 { $Differenz = 0; } break; case 1: { $Differenz = 0.1; } break; case 2: { $Differenz = 0.01; } break; case 3: { $Differenz = 0.001; } break; } $Unterkante = floor ($Vorgaben["Data"][$datDatenbank][$datID][$Feld] / $Staffelung) * $Staffelung; $Oberkante = ceil ($Vorgaben["Data"][$datDatenbank][$datID][$Feld] / $Staffelung) * $Staffelung; if ($Oberkante == $Unterkante) { $Oberkante += $Staffelung; } $Vorgaben["Data"][$datDatenbank][$datID][$NeuesFeld] = fncZahl ("zhlFormatieren.D" . $Genauigkeit, array ($Unterkante)) . " bis " . fncZahl ("zhlFormatieren.D" . $Genauigkeit, array ($Oberkante - $Differenz)); // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; } } break; case "Chiffre": list ($Datenbank, $WerteFeld, $ObStandardFeld) = $Parameter; $Chiffre = array (); $fldID = $Datenbank[0]["fldID"]; if (is_array ($Datenbank)) foreach ($Datenbank as $ID => $X) { if (isset ($Datenbank[$ID][$fldID]) and $Datenbank[$ID][$fldID] and isset ($Datenbank[$ID][$WerteFeld]) and $Datenbank[$ID][$WerteFeld]) { $Chiffre[$ID] = $Datenbank[$ID][$WerteFeld]; } elseif ($ObStandardFeld and $Datenbank[$ID][$fldID] and $Datenbank[$ID][$ObStandardFeld]) { $Chiffre[$ID] = $Datenbank[$ID][$ObStandardFeld]; } } $Datenbank[0]["Chiffre"][$WerteFeld] = $Chiffre; return $Datenbank; break; case "datAendern": { list ($datDatenbank, $idID, $fldFeld, $NewValue) = $Parameter; unset ($Parameter); # var $obNewValueBelassen = 0; $dbWert = ""; $ifEmptyNewValue = 0; list ($fldFeld, $Sprache) = explode ("|", $fldFeld . "|"); if (!$Sprache) { $Sprache = $Vorgaben["curLang"]; } $PflichtFelder = $Vorgaben["Data"][$datDatenbank][0]["PflichtFelder"]; $WertUngueltig = 0; $ObSchreiben = 0; // wird benutzt für Reihenfolge, weil virtuelles Feld, soll aber trotzdem DB schreiben if (!$NewValue) { $ifEmptyNewValue = 1; } $FeldTyp = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID)); $FeldTyp2 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 2)); // $FeldTyp3 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 3)); // $FeldTyp4 = fncFeld ("dtfFeldtyp", $Vorgaben, array ($datDatenbank, $fldFeld, $idID, 4)); # Debug // //$dbgInfo = "___datAendern___"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //// //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "NewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "FeldTyp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "FeldTyp2"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // echo var_dump ($Vorgaben["ObKombiNeuerWert"]); switch ($FeldTyp) // Datenaufbereitung, Pflichtfelder vorbelegen { default: { if (!$NewValue and isset ($PflichtFelder[$fldFeld]) and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } } break; case "dftInternet": // in datAendern { if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } if ($NewValue) { $NewValue = fncText ("ftxInternet", array ($NewValue)); } } break; case "dftAuswahl": // in datAendern case "dftDbAuswahl": // in datAendern case "dftRgAuswahl": // in datAendern { if (!$NewValue and isset ($PflichtFelder[$fldFeld]) and $PflichtFelder[$fldFeld]) { if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]) { $NewValue = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; } else { $NewValue = $PflichtFelder[$fldFeld]; } } # debug // echo var_dump ($NewValue); if ($NewValue and $NewValue[0] == "~") { $NewValue = mb_substr ($NewValue, 1); } } break; case "dftReihenfolge": // in datAendern { $ObSchreiben = 1; list ($Vorgaben["Data"][$datDatenbank][0]["+Reihenfolge"][$idID]["relPosition"], $Vorgaben["Data"][$datDatenbank][0]["+Reihenfolge"][$idID]["idPosition"]) = explode (":", $NewValue); } break; case "dftDbOptionen": // in datAendern { # IDs durch | getrennt in die DB geschrieben $tmpSammleWerte = array (); if (is_array ($_REQUEST)) foreach ($_REQUEST as $Variable => $Wert) if (mb_substr ($Variable, 0, 8) == "NewValue" and $Wert) { $tmpSammleWerte[] = mb_substr ($Variable, 8); # Variable im Request zurücksetzen unset ($_REQUEST[$Variable]); } if (is_array ($tmpSammleWerte)) { $NewValue = implode ("|", $tmpSammleWerte); } unset ($tmpSammleWerte); } break; case "dftKombi": // in datAendern { if (mb_strtoupper ($NewValue) == "NEU" or $NewValue == "~") //Eingabefeld öffnen { $_REQUEST["OpenCoord"] = $_REQUEST["ChangeCoord"]; if (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld])) { $_REQUEST["NewValue"] = $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]; } else { $_REQUEST["NewValue"] = ''; } $Vorgaben["ObKombiNeuerWert"] = 1; $obNewValueBelassen = 1; } if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } # debug // echo var_dump ($datDatenbank); // echo var_dump ($fldFeld); // echo var_dump ($Vorgaben["ObKombiNeuerWert"]); } break; case "dftBild": case "dftPDF": case "dftVideo": case "dftMP3": case "dftDatei": { # Parameter der hochgeladenen Datei übernehmen $UploadedFileName = $_FILES["NewValue"]["name"]; $UploadedFileType = $_FILES["NewValue"]["type"]; $UploadedFileTmpName = $_FILES["NewValue"]["tmp_name"]; $UploadedFileError = $_FILES["NewValue"]["error"]; $UploadedFileSize = $_FILES["NewValue"]["size"]; # wenn kein MIME-Typ geliefert wurde, Bildtyp prüfen if (!$UploadedFileType) { $BildInfo = fncAltBild ("Info", $Vorgaben, array ($UploadedFileTmpName)); if ($BildInfo["ObVorhanden"]) { $UploadedFileType = $BildInfo["Typ"]; } } # Debug // //$dbgVariable = "BildInfo"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "UploadedFileName"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "UploadedFileType"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "UploadedFileTmpName"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "UploadedFileError"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "UploadedFileSize"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # wg. Übersichtlichkeit $PfadOriginal = $UploadedFileTmpName; # Prüfen ob gültig $ObAllesOK = 0; $ObMiniatur = 0; # Debug // //$dbgVariable = "ObAllesOK"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "FeldTyp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (!$UploadedFileError and $UploadedFileSize) switch ($FeldTyp) { case "dftBild": { $OrdnerDatei = $Vorgaben["Ordner"]["CBilder"]; switch (mb_strtoupper ($UploadedFileType)) { case "JPG": case "IMAGE/JPEG": case "IMAGE/PJPEG": { $ObAllesOK = 1; $ObMiniatur = 1; $DateiEndung = ".jpg"; } break; case "PNG": case "IMAGE/PNG": case "IMAGE/X-PNG": { $ObAllesOK = 1; $ObMiniatur = 1; $DateiEndung = ".png"; } break; case "GIF": case "IMAGE/GIF": { $ObAllesOK = 1; $DateiEndung = ".gif"; } break; } # Übergroße Bilder verkleinern wg. Performance (nicht GIF) // if ($ObMiniatur) // { // list ($BildBreite, $BildHoehe) = getimagesize ($PfadOriginal); // if ($BildBreite > 888 or $BildHoehe > 888) // { // fncAltBild ("MiniaturErzeugen.888", $Vorgaben, array ($PfadOriginal, $PfadOriginal)); // } // } } break; case "dftDatei": { $OrdnerDatei = $Vorgaben["Ordner"]["Media"]; switch (mb_strtoupper ($UploadedFileType)) { case "ZIP": case "APPLICATION/X-ZIP-COMPRESSED": { $ObAllesOK = 1; $DateiEndung = ".zip"; } break; case "RAR": case "APPLICATION/OCTET-STREAM": { $ObAllesOK = 1; $DateiEndung = ".rar"; } break; } } break; case "dftPDF": { $OrdnerDatei = $Vorgaben["Ordner"]["Media"]; switch (mb_strtoupper ($UploadedFileType)) { case "PDF": // redundant case "APPLICATION/PDF": case "APPLICATION/SAVE-AS": { $ObAllesOK = 1; $DateiEndung = ".pdf"; } break; } } break; case "dftMP3": { $OrdnerDatei = $Vorgaben["Ordner"]["Media"]; switch (mb_strtoupper ($UploadedFileType)) { case "MP3": case "AUDIO/MPEG": case "AUDIO/MP3": { $ObAllesOK = 1; $DateiEndung = ".mp3"; } break; } } break; case "dftVideo": { $OrdnerDatei = $Vorgaben["Ordner"]["Media"]; switch (mb_strtoupper ($UploadedFileType)) { case "AVI": case "VIDEO/AVI": { $ObAllesOK = 1; $DateiEndung = ".mov"; } break; case "MOV": case "VIDEO/QUICKTIME": { $ObAllesOK = 1; $DateiEndung = ".mov"; } break; case "WMV": case "VIDEO/X-MS-WMV": { $ObAllesOK = 1; $DateiEndung = ".wmv"; } break; case "MPG": case "VIDEO/MPEG": { $ObAllesOK = 1; $DateiEndung = ".mpg"; } break; case "MP4": case "VIDEO/MP4": { $ObAllesOK = 1; $DateiEndung = ".mp4"; } break; case "FLV": case "APPLICATION/OCTET-STREAM": { $ObAllesOK = 1; $DateiEndung = ".flv"; } break; } } break; } # Debug // //$dbgVariable = "ObAllesOK"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($ObAllesOK) { $DateiName = fncOrdner ("rdnExklusivname", array ($OrdnerDatei)) . $DateiEndung; $PfadDuplikat = $OrdnerDatei . $DateiName; if (fncDatei ("fdtKopieren.", array ($PfadOriginal, $PfadDuplikat))) { $NewValue = $DateiName; } } } break; case "dftJahr": { $NewValue = fncZahl ("zhlRunden", array (funZahl ("Importieren.DE", $Vorgaben, array ($NewValue)))); if (!$NewValue and $PflichtFelder[$fldFeld]) switch (mb_strtoupper ($PflichtFelder[$fldFeld])) { case "DIESES": { $NewValue = funDatum ("Heute.4", $Vorgaben, array ()); } break; } if (!$NewValue) { $NewValue = ""; } } break; case "dftRechte": // in datAendern { if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } $NewValue *= 1; if ($NewValue > $Vorgaben["Benutzer"]["Level"]) { $NewValue = $Vorgaben["Benutzer"]["Level"]; } } break; case "dftKennwort": // in datAendern { if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } $NewValue = md5 ($NewValue); } break; case "dftDatum": // in datAendern { if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } $NewValue = fncDatum ("dtmEingabe.AV", array ($NewValue)); } break; case "dftUhrzeit": // in datAendern { # Debug //$dbgInfo = "dftUhrzeit"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $NewValue = fncUhrzeit ("hrzEingabe.AV", array ($NewValue)); } break; case "dftBetrag": // in datAendern { // var_dump ($NewValue); $NewValue = fncZahl ("zhlRunden", array (funZahl ("Importieren.DE", $Vorgaben, array ($NewValue)), 2)); // var_dump ($NewValue); } break; case "dftStunden": // in datAendern { $NewValue = fncZahl ("zhlRunden", array (funZahl ("Importieren.DE", $Vorgaben, array ($NewValue)), 2)); $VorKomma = floor ($NewValue); $NachKomma = $NewValue - $VorKomma; $Geviertelt = $NachKomma / .25; if ($Geviertelt != floor ($Geviertelt)) { $NachKomma = ceil ($Geviertelt) * .25; $NewValue = $VorKomma + $NachKomma; } if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } } break; case "dftZahl": // in datAendern { $NewValue = fncZahl ("zhlRunden", array (funZahl ("Importieren.DE", $Vorgaben, array ($NewValue)))); if (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = $PflichtFelder[$fldFeld]; } if (isset ($Vorgaben["Data"][$datDatenbank][0]["WertebereichOb"][$fldFeld])) if ($Vorgaben["Data"][$datDatenbank][0]["WertebereichOb"][$fldFeld]) { if ($NewValue < $Vorgaben["Data"][$datDatenbank][0]["WertebereichMin"][$fldFeld]) { $NewValue = $Vorgaben["Data"][$datDatenbank][0]["WertebereichMin"][$fldFeld]; } if ($NewValue > $Vorgaben["Data"][$datDatenbank][0]["WertebereichMax"][$fldFeld]) { $NewValue = $Vorgaben["Data"][$datDatenbank][0]["WertebereichMax"][$fldFeld]; } } } break; case "dftText": // in datAendern case "dftTxtfeld": // in datAendern { if ($NewValue == "" and $PflichtFelder[$fldFeld]) switch (mb_strtoupper ($PflichtFelder[$fldFeld])) { default: { $NewValue = $PflichtFelder[$fldFeld]; } break; case "BENUTZER": { $NewValue = $Vorgaben["Benutzer"]["Name"]; } break; } // list ($X, $MaxZeichen) = explode (",", $Vorgaben["Data"][$datDatenbank][0]["Optionen"][$fldFeld] . ","); // // if ($MaxZeichen) // { // $NewValue = funText ("HartKuerzen." . $MaxZeichen, $Vorgaben, array ($NewValue)); // } } break; case "dftExklusiv": { if ($Vorgaben["Data"][$datDatenbank][0]["ExklFldUmgebung"][$fldFeld]) { # Umgebung ermitteln list ($fldFeld1, $fldFeld2) = explode ("|", $Vorgaben["Data"][$datDatenbank][0]["ExklFldUmgebung"][$fldFeld] . "|"); $wrtWert1 = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld1)); if (!$wrtWert1) { $wrtWert1 = 0; } // $wrtWert2 = explode ('|', fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld2)))[0]; $wrtWert2 = fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idID, $fldFeld2)); if (!$wrtWert2) { $wrtWert2 = 0; } $fldUmgebung = $wrtWert1 . ";" . $wrtWert2; // Semikolon, weil Werte verbunden werden # Debug //$dbgInfo = "sapperlot"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "wrtWert1"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "wrtWert2"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "fldUmgebung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($NewValue) // setzen { if (isset ($Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld][$fldUmgebung])) // gab es einen bisherigen Exklusiv-Datensatz? { $Vorgaben["Data"][$datDatenbank] [ $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld][$fldUmgebung] ] [$fldFeld] = 0; // dann setze diesen auf Null } # neuen Exklusiv-Datensatz in Kopf setzen $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld][$fldUmgebung] = $idID; } else // entfernen { # Exklusiv-Datensatz in Kopf auf Null setzen $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld][$fldUmgebung] = 0; } } else { if ($NewValue) // setzen { # bisherigen Exklusiv-Datensatz auf Null setzen $Vorgaben["Data"][$datDatenbank][$Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld]][$fldFeld] = 0; # neuen Exklusiv-Datensatz in Kopf setzen $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld] = $idID; } else // entfernen { # Exklusiv-Datensatz in Kopf auf Null setzen $Vorgaben["Data"][$datDatenbank][0]["ExklusivIDs"][$fldFeld] = 0; } } # Debug // $xdbNhKp = $Vorgaben["Data"]["xdbNhKp"][0]; // //$dbgVariable = "xdbNhKp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "dftSymbol": // --> checken, bald ablösen case "dftSymbol2": { # Debug // //$dbgInfo = "SYMBOL/2"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "NewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($Vorgaben["Data"][$datDatenbank][0]["ObFelder"][$fldFeld]) switch ($FeldTyp2) { default: # Debug // //$dbgInfo = "default"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "NewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); switch (mb_strtoupper ($NewValue)) // ob-Feld als Symbol { default: // eigentlich unwahrscheinlich aber möglich, daß ein hier nicht aufgeführter Wert geliefert wird, dann jedenfalls auf 0 setzen case "STATUS_UNGREEN": // Markierung soll entfernt werden $NewValue = 0; break; case "STATUS_RED": // Markierung setzen $NewValue = 1; break; } break; case "regObSymbole3": { # Debug // //$dbgInfo = "REGOBSYMBOLE3"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "NewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); switch (mb_strtoupper ($NewValue)) // ob-Feld als Symbol { default: // eigentlich unwahrscheinlich aber möglich, daß ein hier nicht aufgeführter Wert geliefert wird, dann jedenfalls auf 0 setzen case "STATUS_UNGREEN": // Markierung soll entfernt werden $NewValue = 2; break; case "STATUS_RED": // Markierung setzen $NewValue = 1; break; case "STATUS_GRAY": $NewValue = 0; break; } } break; } $DBTypen[$Datenbank]["FeldTypen2"][$Feld][0] = "regObSymbole"; // ???? } break; case "dftEmail": { if ($NewValue and !funEingabe ("Format.EMail", $Vorgaben, array ($NewValue))) { $WertUngueltig = 1; } elseif (!$NewValue and $PflichtFelder[$fldFeld]) { $NewValue = mb_strtolower ($PflichtFelder[$fldFeld]); } else { $NewValue = mb_strtolower ($NewValue); } } break; } # vorhandenen Wert ermitteln if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$fldFeld]) { // $dbWert = strval ($Vorgaben["Data"]["datVkb"][($Sprache . "|" . $datDatenbank . "|" . $idID . "|" . $fldFeld)]["Wert"]); if (isset ($Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]][($Sprache . "|" . $idID . "|" . $fldFeld)]["Wert"])) { $dbWert = strval ($Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]][($Sprache . "|" . $idID . "|" . $fldFeld)]["Wert"]); } # Debug // //$dbgInfo = "____VokabelFelder___"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "dbWert"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Sprache"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "fldFeld"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (isset ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld])) { $dbWert = strval ($Vorgaben["Data"][$datDatenbank][$idID][$fldFeld]); } # Debug // //$dbgVariable = "WertUngueltig"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // echo var_dump ($Vorgaben["ObKombiNeuerWert"]); if ( !$WertUngueltig and ( !isset ($Vorgaben["ObKombiNeuerWert"]) or !$Vorgaben["ObKombiNeuerWert"] ) and strval ($dbWert) != strval ($NewValue) ) // nur wenn der neue Wert vom bisherigen abweicht { # Debug //$dbgInfo = "JA"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # Follow $NewValue = fncFollow ("flwDatenfeld", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $NewValue)); # Wert ist gültig und soll die Datenbank ändern switch ($FeldTyp) // weitere Schritte { case "dftBild": // altes Bild entsorgen { fncBild ("bldEntfernen", array ($Vorgaben["Ordner"]["CBilder"], $dbWert)); } break; case "dftPDF": // alte Datei entsorgen { if (fncDatei ("fdtEntfernen.", array ($Vorgaben["Ordner"]["Media"] . $dbWert))) { } } break; } # weitere Felder mit bevorzugtem Wert ändern? if (isset ($Vorgaben["Data"][$datDatenbank][0]["BevorzugteWerteFelder"][$fldFeld])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["BevorzugteWerteFelder"][$fldFeld])) foreach ($Vorgaben["Data"][$datDatenbank][0]["BevorzugteWerteFelder"][$fldFeld] as $felAuchAendern => $X) { funDatenbank ("BedingtesAendern.BevorzugterWert", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $NewValue, $felAuchAendern)); } # weitere Felder mit bedingtem Wert ändern? if (isset ($Vorgaben["Data"][$datDatenbank][0]["BedingteWerteFelder"][$fldFeld])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["BedingteWerteFelder"][$fldFeld])) foreach ($Vorgaben["Data"][$datDatenbank][0]["BedingteWerteFelder"][$fldFeld] as $felAuchAendern => $WerteQuelle) { funDatenbank ("BedingtesAendern.BedingterWert", $Vorgaben, array ($datDatenbank, $idID, $fldFeld, $NewValue, $felAuchAendern, $WerteQuelle)); } # jetzt in die Datenbank schreiben if ($fldFeld == $Vorgaben["Data"][$datDatenbank][0]["fldID"]) // Datensatz-ID geändert? { # Debug //$dbgInfo = "Datensatz-ID geändert"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # Datensatz auf neue ID kopieren if (isset ($Vorgaben["Data"][$datDatenbank][$idID])) { $Vorgaben["Data"][$datDatenbank][$NewValue] = $Vorgaben["Data"][$datDatenbank][$idID]; } # Datensatz auf alter ID zum löschen markieren $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld] = 0; // fldFeld == fldID lt. Bedingung # neues ID-Feld korrekt füllen $Vorgaben["Data"][$datDatenbank][$NewValue][$fldFeld] = $NewValue; # Sortierung ergänzen $Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$NewValue] = ""; # evtl. Item anpassen if (isset ($Vorgaben["Data"][$datDatenbank][0]["fldDetails"]) and $Vorgaben["Data"][$datDatenbank][0]["fldDetails"] and $_REQUEST[RECORD]) { $_REQUEST[RECORD] = $NewValue; } # Besitz entsprechend ändern if (isset ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Besitz"] as $dbBesitz => $dfBesitz) if (is_array ($Vorgaben["Data"][$dbBesitz])) foreach ($Vorgaben["Data"][$dbBesitz] as $idBesitz => $tmp) { unset ($tmp); if ($idBesitz and $Vorgaben["Data"][$dbBesitz][$idBesitz][$dfBesitz] == $idID) { $Vorgaben = fncDatensatz ("DsEntfernen", $Vorgaben, array ($dbBesitz, $idBesitz)); funDatenbank ("datAendern", $Vorgaben, array ($dbBesitz, $idBesitz, $dfBesitz, $NewValue)); } } # ID jetzt neu setzen $idID = $NewValue; } else { if (isset ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$fldFeld])) if ($Vorgaben["Data"][$datDatenbank][0]["VokabelFelder"][$fldFeld]) { if (is_array ($Vorgaben["AktiveSprachen"])) foreach ($Vorgaben["AktiveSprachen"] as $idSprache => $krzSprache) { // $idVokabel = $krzSprache . "|" . $datDatenbank . "|" . $idID . "|" . $fldFeld; $idVokabel = $krzSprache . "|" . $idID . "|" . $fldFeld; if ($krzSprache == $Sprache) // Aktuelle Sprache { if ($PflichtFelder[$fldFeld] and $ifEmptyNewValue) // Pflichtfeld, aber übergebener Wert leer { // funDatenbank ("datAendern", $Vorgaben, array ("datVkb", $idVokabel, "Wert", fncPhrase ($Vorgaben, array ($NewValue . "", "G", $krzSprache)))); funDatenbank ("datAendern", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"], $idVokabel, "Wert", fncPhrase ($Vorgaben, array ($NewValue, "G", $krzSprache)))); } else // Wert, egal ob leer oder nicht, muss geschrieben werden { // funDatenbank ("datAendern", $Vorgaben, array ("datVkb", $idVokabel, "Wert", $NewValue)); funDatenbank ("datAendern", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"], $idVokabel, "Wert", $NewValue)); } } else // nicht-aktuelle Sprache { // if ($PflichtFelder[$fldFeld] and !$Vorgaben["Data"]["datVkb"][$idVokabel]["Wert"]) // Pflichtfeld, aber vorhandener Wert leer if ($PflichtFelder[$fldFeld] and isset ($Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]][$idVokabel]["Wert"]) and !$Vorgaben["Data"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]][$idVokabel]["Wert"]) // Pflichtfeld, aber vorhandener Wert leer { // funDatenbank ("datAendern", $Vorgaben, array ("datVkb", $idVokabel, "Wert", fncPhrase ($Vorgaben, array ($NewValue . "", "G", $krzSprache)))); funDatenbank ("datAendern", $Vorgaben, array ($Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"], $idVokabel, "Wert", fncPhrase ($Vorgaben, array ($NewValue, "G", $krzSprache)))); } } } # wenn das Vokabelheft verändert wurde, müssen in Hauptdatenbank datDatenbank in jedem Fall die Schattenfeölder neu erzeugt werden, auch wenn dort der Wert (= VokabelID) unverändert blieb if (isset ($Vorgaben["DatenbankenGeaendert"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]])) if ($Vorgaben["DatenbankenGeaendert"][$Vorgaben["Data"][$datDatenbank][0]["dbVokabeln"]]) { $Vorgaben["DatenbankenGeaendert"][$datDatenbank] = 1; } # jetzt VokabelID ins benutzte Feld schreiben $NewValue = ""; } $Vorgaben["Data"][$datDatenbank][$idID][$Vorgaben["Data"][$datDatenbank][0]["fldID"]] = $idID; $Vorgaben["Data"][$datDatenbank][$idID][$fldFeld] = $NewValue; $Vorgaben["Data"][$datDatenbank][0]["Sortierung"][$idID] = $NewValue; # Debug // //$dbgVariable = "datDatenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "idID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "NewValue"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "ObSchreiben"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgKzFl = $Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"][$fldFeld]; // //$dbgVariable = "dbgKzFl"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } # Änderung kennzeichnen $Vorgaben["DatenbankenGeaendert"][$datDatenbank] = 1; # NewValue zurücksetzen if (!$obNewValueBelassen) // bei Kombi erster Schritt nicht zurücksetzen { /* nicht so: unset ($_REQUEST["NewValue"]); */ $_REQUEST["NewValue"] = ""; } # physisch oder virtuell if ((isset ($Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"][$fldFeld]) and $Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"][$fldFeld]) or $ObSchreiben) // physisch? dann DB schreiben { $Vorgaben["SchreibeDatenbanken"][$datDatenbank] = 1; } else // virtuelles Feld in Kopf aufnehmen { $Vorgaben["Data"][$datDatenbank][0]["Kopfzeile"][$fldFeld] = 0; } # Debug // $dbgSchreibeDb = $Vorgaben["SchreibeDatenbanken"]; // //$dbgVariable = "dbgSchreibeDb"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Trigger $Vorgaben = fncTrigger ("trgDatenbank", $Vorgaben, array ($datDatenbank, $idID, $fldFeld)); } # ChangeCoord aktualisieren $_REQUEST["ChangeCoord"] = $datDatenbank . "," . $idID . "," . $fldFeld . "," . $Sprache; // $Ergebnis = $Vorgaben; // unset ($Vorgaben); } break; } // return $Ergebnis; } function funDatei ($Aktion, $Vorgaben, $Parameter) { /* ZIPENTPACKEN if (funDatei ("ZIPEntpacken", $Vorgaben, array ($PfadZIP, $ZielOrdner))) UMBENENNEN if (funDatei ("Umbenennen", $Vorgaben, array ($PfadAlterName, $PfadNeuerName))) { } HOCHLADEN funDatei ("Hochladen", $Vorgaben, array ($PfadQuellDatei, $ZielDateiName, $FTPServer, $FTPBenutzer, $FTPKennwort)); ZIPPEN - Achtung! PHP 5 und höher erforderlich, muß noch so geschrieben werden, daß er den Code nur dann zeigt (include oder so) funDatei ("Zippen", $Vorgaben, array ($PfadQuellDatei, $ZielDateiName, $PfadZIP)); LESEN $Inhalte = funDatei ("Lesen", $Vorgaben, array ($PfadDatei)); LESEN aus Internet (via http) $Inhalte = funDatei ("Lesen.Internet", $Vorgaben, array ($InternetAdresse)); SCHREIBEN funDatei ("Schreiben.ZIP", $Vorgaben, array ($Inhalte, $ZielDateiName, $PfadZIP)); ENTFERNEN if (fncDatei ("fdtEntfernen.", array ($PfadDatei))) { } */ list ($Aktion1, $Aktion2) = explode (".", $Aktion . ".."); switch (mb_strtoupper ($Aktion1)) { // case "ZIPENTPACKEN": // { // list ($PfadZIP, $ZielOrdner) = $Parameter; // unset ($Parameter); // // if (funOrdner ("Erstellen", $Vorgaben, array ($ZielOrdner, "index.html"))) // if (fncOrdner ("rdnLeeren.I", array ($ZielOrdner))) // if ($ZIP = new ZipArchive ()) // if ($ZIP -> open ($PfadZIP) === TRUE) // if ($ZIP -> extractTo ($ZielOrdner)) // if ($ZIP -> close ()) // { // $Ergebnis = true; // } // else // { // $Ergebnis = false; // } // unset ($Vorgaben); // } // break; case "HOCHLADEN": { // //$dbgInfo = "Start"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); list ($PfadQuellDatei, $ZielDateiName, $FTPServer, $FTPBenutzer, $FTPKennwort) = $Parameter; unset ($Parameter); // //$dbgVariable = "PfadQuellDatei"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "ZielDateiName"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "FTPServer"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "FTPBenutzer"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "FTPKennwort"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Bezeichner"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($Vorgaben["ObFTPUpload"]) if ($FTP = ftp_connect ($FTPServer)) if (ftp_login ($FTP, $FTPBenutzer, $FTPKennwort)) if (ftp_put ($FTP, $ZielDateiName, $PfadQuellDatei, FTP_BINARY)) if (ftp_close ($FTP)) { $Ergebnis = true; } else { $Ergebnis = false; } // // $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); unset ($Vorgaben); } break; // case "ZIPPEN": // { // list ($PfadQuellDatei, $ZielDateiName, $PfadZIP) = $Parameter; // unset ($Parameter); // unset ($Vorgaben); // // if ($ZIP = new ZipArchive ()) // if ($ZIP->open ($PfadZIP, ZIPARCHIVE::CREATE) === TRUE) // if ($ZIP -> addFile ($PfadQuellDatei, $ZielDateiName)) // if ($ZIP -> close ()) // { // $Ergebnis = true; // } // else // { // $Ergebnis = false; // } // } // break; case "UMBENENNEN": { list ($PfadAlterName, $PfadNeuerName) = $Parameter; unset ($Parameter); unset ($Vorgaben); $Ergebnis = @rename ($PfadAlterName, $PfadNeuerName); } break; case "LESEN": { switch (mb_strtoupper ($Aktion2)) { default: // lokal { list ($PfadDatei) = $Parameter; unset ($Parameter); $Ergebnis = array (); $DateiGroesse = fncDatei ("fdtGroesse.", array ($PfadDatei)); if (is_file ($PfadDatei)) if ($Datei = fopen ($PfadDatei, "r")) { while ($Zeile = fgets ($Datei, ($DateiGroesse * 2))) { $Ergebnis[] = trim ($Zeile); } fclose ($Datei); } unset ($Vorgaben); } break; case "INTERNET": { list ($InternetAdresse) = $Parameter; unset ($Parameter); unset ($Vorgaben); $Ergebnis = array (); $Datei = fopen ($InternetAdresse, "r"); while ($Zeile = fgets ($Datei, 2409000)) { $Ergebnis[] = trim ($Zeile); } fclose ($Datei); } break; } } break; // case "SCHREIBEN": // { // switch (mb_strtoupper ($Aktion2)) // { // case "ZIP": // { // list ($Inhalte, $ZielDateiName, $PfadZIP) = $Parameter; // unset ($Parameter); // unset ($Vorgaben); // // # Inhalte vobereiten // if (is_array ($Inhalte)) // { // $Inhalte = implode ("\n", $Inhalte); // } // $Inhalte .= "\n"; // // # Erstellen eines Zip-Archivs // if ($ZIP = new ZipArchive ()) if ($ZIP -> open ($PfadZIP, ZIPARCHIVE::CREATE) === true) if ($addFromString = $ZIP -> addFromString ($ZielDateiName, $Inhalte)) if ($close = $ZIP -> close ()) // { // $Ergebnis = true; // } // else // { // $Ergebnis = false; // } // unset ($Inhalte); // } // break; // } // } // break; } return $Ergebnis; } function fncAltBild ($Aktion, $Vorgaben, $Parameter) { /* GEVIERT $HTML[] = fncAltBild ("Geviert", $Vorgaben, array (30, 30)); ANZEIGEN $HTML[] = fncAltBild ("Anzeigen.Anker", $Vorgaben, array ($PfadBild, $Klasse, $Stil, $Titel)); BILDBOX - Optionen: BildOrdner: S=SystemBildOrdner [Standard] / C=ClientBildOrdner / U=UploadOrdner Ausrichtung: L=Links / M=Zentriert / R=Rechts [Standard] Umfluß: X=kein Umfluß [Standard ist abhängig von Ausrichtung] Zoom: Z=Zoom LegendenVariante: 1 [Standard] / 2 / 3 $HTML[] = fncAltBild ("BildBox.Optionen.BildGroesse", $Vorgaben, array ($BildDatei, $Legende, $ObCursorHand)); OBVORHER $BildVorher = fncAltBild ("ObVorher.Optionen", $Vorgaben, array ($BildDatei)); OBNACHHER $BildNachher = fncAltBild ("ObNachher.Optionen", $Vorgaben, array ($BildDatei)); INFO $BildInfo = fncAltBild ("Info", $Vorgaben, array ($PfadBild)); BILDTYP - z.B. hochgeladene Datei prüfen ob gültiges Bildformat if (fncAltBild ("BildTyp", $Vorgaben, array ($BildDatei["tmp_name"], "jpg, png"))) { } OBVORHANDEN (MINIATUR) - pürfen, ob Bild(-Miniatur) vorhanden, wenn nicht, wird Miniatur bereitgestellt if (fncAltBild ("ObVorhanden.Optionen.BildGroesse", $Vorgaben, array ($BildDatei))) { } BESCHNEIDEN if (fncAltBild ("Beschneiden.3:2", $Vorgaben, array ($PfadOriginal, $PfadDuplikat))) if (fncAltBild ("Beschneiden.3:2.L", $Vorgaben, array ($PfadOriginal, $PfadDuplikat))) if (fncAltBild ("Beschneiden.3:2.U", $Vorgaben, array ($PfadOriginal, $PfadDuplikat))) { } VORLADEN - Standard: SystemOrdner $HTML[] = fncAltBild ("Vorladen", $Vorgaben, array ()); $HTML[] = fncAltBild ("Vorladen.KlasseHGFarbe", $Vorgaben, array ()); $HTML[] = fncAltBild ("Vorladen", $Vorgaben, array ($OrdnerSpeziell)); */ list ($Aktion1, $Aktion2, $Aktion3, $Aktion4, $Aktion5) = explode (".", $Aktion . "...."); $Ergebnis = ""; switch (mb_strtoupper ($Aktion1)) { case "GEVIERT": list ($Breite, $Hoehe) = $Parameter; $Ergebnis = fncAltBild ("Anzeigen.BxH." . $Breite . "." . $Hoehe, $Vorgaben, array ($Vorgaben["Ordner"]["SDesign"] . "system_geviert.gif")); break; case "OBVORHER": list ($BildDatei) = $Parameter; $Optionen = $Aktion2; // S,C if (mb_strstr ($Optionen, "C")) { $OrdnerBilder = $Vorgaben["Ordner"]["CBilder"]; // Kundenbilder } else { $OrdnerBilder = $Vorgaben["Ordner"]["SBilder"]; // Systembilder } list ($DateiName, $Endung) = explode (".", $BildDatei); list ($BildName, $LfdNr) = explode ("-", $DateiName); $LfdNrVorher = ((1 * $LfdNr) - 1); if ($LfdNrVorher >= 0) { if (!$LfdNrVorher) { $BildVorher = $BildName . "." . $Endung; } else { $BildVorher = $BildName . "-" . $LfdNrVorher . "." . $Endung; } $PfadVorher = $OrdnerBilder . $BildVorher; if (is_file ($PfadVorher)) { $Ergebnis = $BildVorher; } } break; case "OBNACHHER": list ($BildDatei) = $Parameter; $Optionen = $Aktion2; // S,C if (mb_strstr ($Optionen, "C")) { $OrdnerBilder = $Vorgaben["Ordner"]["CBilder"]; // Kundenbilder } else { $OrdnerBilder = $Vorgaben["Ordner"]["SBilder"]; // Systembilder } list ($DateiName, $Endung) = explode (".", $BildDatei); list ($BildName, $LfdNr) = explode ("-", $DateiName); $LfdNrNachher = ((1 * $LfdNr) + 1); $BildNachher = $BildName . "-" . $LfdNrNachher . "." . $Endung; $PfadNachher = $OrdnerBilder . $BildNachher; if (is_file ($PfadNachher)) { $Ergebnis = $BildNachher; } break; case "INFO": list ($PfadBild) = $Parameter; $BildInfo = array (); $BildInfo["Pfad"] = $PfadBild; if (!is_file ($PfadBild)) { $BildInfo["ObVorhanden"] = 0; } else { $BildInfo["ObVorhanden"] = 1; list ($Breite, $Hoehe, $Typ) = getimagesize ($PfadBild); if ($Breite > $Hoehe) { $BildInfo["Format"] = "quer"; $BildInfo["Max"] = $Breite; } else { $BildInfo["Format"] = "hoch"; $BildInfo["Max"] = $Hoehe; } $BildInfo["Breite"] = $Breite; $BildInfo["Hoehe"] = $Hoehe; switch (1 * $Typ) { case 1: $BildInfo["Typ"] = "gif"; break; case 2: $BildInfo["Typ"] = "jpg"; break; case 3: $BildInfo["Typ"] = "png"; break; case 4: $BildInfo["Typ"] = "swf"; break; default: $BildInfo["Typ"] = "[unbekannt]"; break; } } $Ergebnis = $BildInfo; break; case "BILDBOX": # Debug // $dbgBlock = "BILDBOX"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); list ($BildDatei, $Legende, $ObCursorHand) = $Parameter; $Optionen = $Aktion2; // S,C,U,L,M,R,Z,1,2,3 $BildGroesse = (1 * $Aktion3); // max. Ausdehnung in Pixel list ($X, $Endung) = explode (".", $BildDatei); if (mb_strtoupper ($Endung) == "GIF") { $ObGIF = 1; $UnterOrdner = ""; } else { $ObGIF = 0; $UnterOrdner = $BildGroesse . "/"; } # Debug // //$dbgVariable = "BildDatei"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # if (mb_strstr ($Optionen, "U")) { $OrdnerBilder = $Vorgaben["Ordner"]["Upload"]; // Kunde: Upload $PfadBild = $OrdnerBilder . $BildDatei; } elseif (mb_strstr ($Optionen, "C")) { $OrdnerBilder = $Vorgaben["Ordner"]["CBilder"]; // Kundenbilder $PfadBild = $OrdnerBilder . $UnterOrdner . $BildDatei; } else { $OrdnerBilder = $Vorgaben["Ordner"]["SBilder"]; // Systembilder $PfadBild = $OrdnerBilder . $UnterOrdner . $BildDatei; } $BildBoxStrichFarbe = $Vorgaben["BildBoxStrichFarbe"]; $BildBoxHGFarbe = $Vorgaben["BildBoxHGFarbe"]; $PfadBildBoxLegende = $Vorgaben["PfadBildBoxLegende"]; # # Steg entsprechend Position $Steg = (1 * $Vorgaben["BildBox"]["Steg"]); if (!$Steg) { $Steg = 15; } $VersatzOben = (1 * $Vorgaben["BildBox"]["VersatzOben"]); if (!$VersatzOben) { $VersatzOben = 5; } $RahmenDicke = (1 * $Vorgaben["BildBox"]["RahmenDicke"]); $LegendenStrichDicke = (1 * $Vorgaben["BildBox"]["LegendenStrichDicke"]); $LegendenStrichFarbe = $Vorgaben["BildBox"]["LegendenStrichFarbe"]; if (!$LegendenStrichFarbe) { $LegendenStrichFarbe = "#000000"; } $Anker = $Vorgaben["BildBox"]["Anker"]; if (!$BildBoxStrichFarbe) $BildBoxStrichFarbe = "#000000"; if (!$BildBoxHGFarbe) $BildBoxHGFarbe = "#CCCCCC"; $ReExtras = $Vorgaben["ReExtras"]; // $_REQUEST = $_REQUEST; // //$dbgVariable = "PfadBild"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Debug // //$dbgVariable = "PfadBild"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $HTML = array (); if (is_file ($PfadBild)) { $LegendenStrich = $ObHand = $ObUmfluss = $ObPolster = $ObBreite = $ObZentriert = $Stil1 = $Stil2 = $Stil4 = $Stil5 = $Stil6 = $Stil7 = $Stil8 = ""; $LegendenRand = $LegendenPolster = $KeinUmfluss = 0; # Bild list ($BildBreite, $BildHoehe) = getimagesize ($PfadBild); if ($ObGIF) { if ($BildGroesse) { if ($BildBreite > $BildHoehe) // Querformat { $BreiteMiniatur = $BildGroesse; $HoeheMiniatur = round ($BildHoehe * $BreiteMiniatur / $BildBreite); } else // Hochformat oder Quadratisch { $HoeheMiniatur = $BildGroesse; $BreiteMiniatur = round ($BildBreite * $HoeheMiniatur / $BildHoehe); } } else // Originalgröße { $BreiteMiniatur = $BildBreite; $HoeheMiniatur = $BildHoehe; } # Debug //$dbgVariable = "BildGroesse"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BildBreite"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BildHoehe"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "BreiteMiniatur"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "HoeheMiniatur"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Stil4 = "width: " . $BreiteMiniatur . "px; height: " . $HoeheMiniatur . "px; xbackground: url('" . $PfadBild . "') top left no-repeat; "; } else { $Stil4 = "width: " . $BildBreite . "px; height: " . $BildHoehe . "px; background: url('" . $PfadBild . "') top left no-repeat; "; } # Legende if ($LegendenStrichDicke) { $LegendenStrich = "border-left: solid " . $LegendenStrichDicke . "px " . $LegendenStrichFarbe . "; "; $LegendenRand = 10; $LegendenPolster = 8; } # Breite nur angeben, wenn Legendenstrich gesetzt, sonst falsche Schattendarstellung im IE $Stil6 = "width: " . ($BildBreite - (2 * $LegendenRand)) . "px; margin: 0px " . ($RahmenDicke + $LegendenRand) . "px 0px " . ($RahmenDicke + $LegendenRand) . "px; "; $Stil7 = "text-align: left; padding: 4px " . $LegendenPolster . "px 7px " . $LegendenPolster . "px; " . $LegendenStrich; $Stil8 = "height: 10px; margin: 0px 10px 0px 10px; " . $LegendenStrich; if ($Legende) { $ObLegende = 1; } if (mb_strstr ($Optionen, "4")) // Legende nur im MouseOver { $ObLegende = 0; $HGFarbe = ""; $AbstandLegendeOben = $BildHoehe; $LegendenBreite = $BildBreite; $AbstandLegendeSeitlich = 0; $Stil6 = "width: " . $BildBreite . "px; margin: 0px 0px 0px 0px; "; $Stil7 = "text-align: left; padding: 5px 0px 0px 0px; "; $Stil8 = ""; } elseif (mb_strstr ($Optionen, "3")) // Legende bündig mit Bild { $HGFarbe = ""; $AbstandLegendeOben = $BildHoehe; $LegendenBreite = $BildBreite; $AbstandLegendeSeitlich = 0; $Stil6 = "width: " . $BildBreite . "px; margin: 0px 0px 0px 0px; "; $Stil7 = "text-align: left; padding: 5px 0px 0px 0px; "; $Stil8 = ""; } elseif (mb_strstr ($Optionen, "2")) // farbig hinterlegter Legendenkasten { $HGFarbe = $BildBoxHGFarbe; $AbstandLegendeOben = ($BildHoehe - 8); $LegendenBreite = ($BildBreite - 10); $AbstandLegendeSeitlich = 10; $PaddingLegende = "padding: 13px 5px 10px 0px; "; if ($PfadBildBoxLegende) { // $LegendenStrich = "background: url(" . $PfadBildBoxLegende . ") top left no-repeat; "; } } else // Standard: 1 = mit LegendenStrich { $HGFarbe = ""; $AbstandLegendeOben = ($BildHoehe - 10); $LegendenBreite = ($BildBreite - 11); $AbstandLegendeSeitlich = 10; $PaddingLegende = "padding: 15px 5px 5px 8px; "; $Stil5 = "height: " . $AbstandLegendeOben . "px; "; // $Stil6 = "width: " . $BildBreite . "px; margin: 0px " . $AbstandLegendeSeitlich . "px 0px " . $AbstandLegendeSeitlich . "px; "; } if (!$ObLegende) { $AbstandLegendeOben = 0; $AbstandLegendeSeitlich = 0; $LegendenBreite = 0; } # Zoom if (mb_strstr ($Optionen, "Z")) { # für Zoom wird aus [BildName].gif >> [BildName].jpg, somit GIF-Animation auf der Seite, aber bei Zoom Einzelbilder list ($BildName) = explode (".", $BildDatei); # wenn nur 1 Bild --> schreibe Bild vergrößern, wenn mehr Bilder --> schreibe weitere Bilder $WeiteresBild = $BildName . "-1.jpg"; if (is_file ($OrdnerBilder . $WeiteresBild)) { $Text = $Vorgaben["System"]["Vokabeln"]["WeitereBilder"]; } else { $Text = $Vorgaben["System"]["Vokabeln"]["BildVergroessern"]; } $ObZoom = 1; $ObHand = "cursor: pointer; "; if ($ObLegende) { $AnkerBild = $Anker . ":inhalt_zoom.gif:Special"; } else { $AnkerBild = 0; } if ($Legende) { $TitelVorspann = $Legende . " - "; } $ZoomPrefix = BasisVerweis_47 ("Extern.Zoom", $Vorgaben, $TitelVorspann . $Text, BasisVerweis_47 ("Anfrage.Zoom", $Vorgaben, "Object = " . $BildDatei . "," . $Optionen, 0,0,0,0), 0, "cssInhaltBildBoxVerweis", $AnkerBild); $ZoomSuffix = BasisVerweis_47 ("Ende", 0,0,0,0,0,0); # ZoomText erscheint nur, wenn die Legende erscheint, also darf kein Anker auf inhalt_zoom gesetzt werden, wenn keine Legende $ZoomText = "
" . "" . $ZoomPrefix . fncAltBild ("Anzeigen." . $Anker, $Vorgaben, array ($Vorgaben["Ordner"]["CDesign"] . "inhalt_zoom.gif")) . " " . $Text . $ZoomSuffix . ""; } # Umfluß if (mb_strstr ($Optionen, "X")) { $KeinUmfluss = 1; } # Ausrichtung if (mb_strstr ($Optionen, "L")) // linksbündig { if ($KeinUmfluss) { $ObBreite = "width: " . ($BildBreite + (2 * $RahmenDicke)) . "px; "; $ObPolster = "padding: 12px 0px 6px 0px; "; } else { $ObUmfluss = "float: left; "; $ObPolster = "padding: " . $VersatzOben . "px " . $Steg . "px " . $Steg . "px 6px; "; } $Stil1 = $ObPolster . $ObUmfluss; $Stil2 = $ObBreite . "border: 0px; "; } elseif (mb_strstr ($Optionen, "M")) // zentriert { $ObZentriert = "text-align: center; "; $Stil1 = "margin: " . $VersatzOben . "px 6px " . $Steg . "px 6px; "; } else // Standard: R = rechtsbündig { if (!$KeinUmfluss) // also soll umfließen { $ObUmfluss = "float: right; "; $ObPolster = "padding: " . $VersatzOben . "px 6px " . $Steg . "px " . $Steg . "px; "; // hier stand früher margin statt padding - das führte bei IE6 aber zu einer Einrückung der ersten Zeile des Textblockes, der das Bild umfließt - jetzt OK } $Stil1 = $ObPolster . $ObUmfluss; } if ($ObCursorHand) { $ObHand = "cursor: pointer; "; } $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBoxAussen, " . $Stil1 . $ObZentriert)); // BildBox außen $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBox1, " . $Stil2)); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBox2, ")); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBox3, ")); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBox4, ")); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBox5, ")); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildRahmen " )); // Rahmen if ($ObZoom) { $HTML[] = $ZoomPrefix; } $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssInhaltBildBoxBild, " . $Stil4 . $ObHand)); // Bild selbst if ($ObGIF) { $HTML[] = fncAltBild ("Anzeigen.BxH." . $BreiteMiniatur . "." . $HoeheMiniatur, $Vorgaben, array ($PfadBild, $xxxKlasse, $xxxStil, $xxxTitel)); } elseif ($ObLegende) { $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", " . $Stil5)); // Distanzstück leer Bildhöhe minus 10px $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", font-size: 1px; " . $Stil8)); // 10px hoch Legendenstrich $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); if ($ObZoom) { $HTML[] = $ZoomSuffix; } $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); if ($ObLegende) { $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssOoBxBlLegende2, " . $Stil6)); // Legende unten $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (" cssOoBxBlLegende3, " . $Stil7)); // Legende unten $HTML[] = $Legende . $ZoomText . "
"; $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); # Debug // $dbgBlock = ""; echo fncDebug ("Block.Z", $Vorgaben, 0); break; case "BILDTYP": list ($PfadBild, $BildFormate) = $Parameter; if (!is_file ($PfadBild)) { $Ergebnis = false; } else // Pfad gültig { list ($X, $XX, $BildTyp) = getimagesize ($PfadBild); // 1=GIF, 2=JPEG, 3=PNG if ($BildTyp == 1 and mb_strstr (mb_strtoupper ($BildFormate), "GIF")) { $Ergebnis = "gif"; } elseif ($BildTyp == 2 and mb_strstr (mb_strtoupper ($BildFormate), "JPG")) { $Ergebnis = "jpg"; } elseif ($BildTyp == 3 and mb_strstr (mb_strtoupper ($BildFormate), "PNG")) { $Ergebnis = "png"; } else { $Ergebnis = false; } } break; case "VORLADEN": { $Parameter[] = ""; list ($ObOrdner) = $Parameter; $Klasse = $Aktion2; if (!$Klasse) { if (!$_REQUEST[PAGE]) // Startseite { $Klasse = " cssInhaltStartBilderVorladenBox"; } else // weitere Seite(n) { $Klasse = " cssInhaltWeitereBilderVorladenBox"; } } # Basic oder Special if ($Vorgaben["curBook"]) { $OrdnerSystem = $Vorgaben["Ordner"]["SDesign"] . "H/"; } else { $OrdnerSystem = $Vorgaben["Ordner"]["CDesign"] . "H/"; } if ($ObOrdner and is_dir ($ObOrdner)) { $Ordner = $ObOrdner; } else { $Ordner = $OrdnerSystem; } // $Verzeichnis = funOrdner ("Inhalt", $Vorgaben, array ($Ordner)); $DateiListe = fncOrdner ("rdnVerzeichnis.D", array ($Ordner)); // $DateiListe = $Verzeichnis["Dateien"]; $HTML = array (); if (is_array ($DateiListe)) foreach ($DateiListe as $DateiName) { $PfadDatei = $Ordner . $DateiName; // if (mb_substr ($DateiName, -7, 3) == "_oo") if ($DateiName != "index.php") { $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", width: 2px; height: 2px; font-size: 1px; float: right; background: url(" . $PfadDatei . "); ")); $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array ($Klasse . " , height: 2px; ")); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); } } $HTML[] = funAltBaustein ("Box.A", $Vorgaben, array (", clear: both; ")); $HTML[] = funAltBaustein ("Box.Z", $Vorgaben, array ()); $Ergebnis = implode ("\n", $HTML); unset ($HTML); unset ($Vorgaben); } break; case "ANZEIGEN": $Parameter[] = ""; $Parameter[] = ""; $Parameter[] = ""; list ($PfadBild, $ObKlasse, $ObStil, $ObTitel) = $Parameter; $BreiteHoehe = ""; switch (mb_strtoupper ($Aktion2)) { case "BXH": $Breite = $Aktion3 / 1; if ($Breite) { $BreiteHoehe .= " width=\"" . $Breite . "\""; } $Hoehe = 1 * $Aktion4; if ($Hoehe) { $BreiteHoehe .= " height=\"" . $Hoehe . "\""; } break; case "MAX": $Max = $Aktion3 / 1; $BildInfo = fncAltBild ("Info", $Vorgaben, array ($PfadBild)); if ($BildInfo["Max"] > $Max) switch (mb_strtoupper ($BildInfo["Format"])) { case "QUER": $BreiteHoehe .= " width=\"" . $Max . "\""; break; case "HOCH": $BreiteHoehe .= " height=\"" . $Max . "\""; break; } else { } break; default: $ObAnker = $Aktion2; break; } if (mb_strtoupper ($Aktion3) == "INAKTIV") { $PfadTeil1 = mb_substr ($PfadBild, 0, -4); $PfadTeil2 = mb_substr ($PfadBild, -4); $PfadBild = $PfadTeil1 . "_xx" . $PfadTeil2; } else { } if ($PfadBild) { $Anker = $Klasse = $Stil = $Titel = ""; if ($ObAnker) { $Anker = " name=\"" . $ObAnker . "\""; } if (trim ($ObKlasse)) { $Klasse = " class=\"" . $ObKlasse . "\""; } if (trim ($ObStil)) { $Stil = " style=\"" . $ObStil . "\""; } if ($ObTitel) { $Titel = " title=\"" . $ObTitel . "\""; } $Ergebnis = ""; } break; case "BESCHNEIDEN": list ($PfadOriginal, $PfadDuplikat) = $Parameter; list ($FormatBreite, $FormatHoehe) = explode (":", $Aktion2); $Position = $Aktion3; if (!is_file ($PfadOriginal)) { $Ergebnis = false; } else { switch (mb_strtoupper (trim ($Position))) { default: // Standard case "M": case "MITTE": case "MITTIG": case "2": case "B": $Position = "Mitte"; break; case "L": case "O": case "LO": case "LINKS": case "OBEN": case "LINKSOBEN": case "1": case "A": $Position = "LinksOben"; break; case "R": case "U": case "RU": case "RECHTS": case "UNTEN": case "RECHTSUNTEN": case "3": case "C": $Position = "RechtsUnten"; break; } # list ($BreiteOriginal, $HoeheOriginal, $TypOriginal) = getimagesize ($PfadOriginal); if ($FormatBreite * $HoeheOriginal == $FormatHoehe * $BreiteOriginal) // Original hat das gewünschte Format, Originalgröße übernehmen { $Ergebnis = fncDatei ("fdtKopieren.", array ($PfadOriginal, $PfadDuplikat)); } else // Beschneiden { $VersionDuplikatAlt = fncDatei ("fdtVersion.", array ($PfadDuplikat)); if ($FormatBreite * $HoeheOriginal > $FormatHoehe * $BreiteOriginal) // Höhe beschneiden { $BreiteDuplikat = $BreiteOriginal; $HoeheDuplikat = round ($FormatHoehe * $BreiteOriginal / $FormatBreite); $XOriginal = 0; switch ($Position) { case "Mitte": $YOriginal = round (($HoeheOriginal - $HoeheDuplikat) / 2); break; case "LinksOben": $YOriginal = 0; break; case "RechtsUnten": $YOriginal = $HoeheOriginal - $HoeheDuplikat; break; } } else // Breite beschneiden { $HoeheDuplikat = $HoeheOriginal; $BreiteDuplikat = round ($FormatBreite * $HoeheOriginal / $FormatHoehe); switch ($Position) { case "Mitte": $XOriginal = round (($BreiteOriginal - $BreiteDuplikat) / 2); break; case "LinksOben": $XOriginal = 0; break; case "RechtsUnten": $XOriginal = $BreiteOriginal - $BreiteDuplikat; break; } $YOriginal = 0; } $BildDuplikat = imagecreatetruecolor ($BreiteDuplikat, $HoeheDuplikat); $XDuplikat = 0; $YDuplikat = 0; switch ($TypOriginal) { case 2: // JPEG $BildOriginal = imagecreatefromjpeg ($PfadOriginal); break; case 3: // PNG $BildOriginal = imagecreatefrompng ($PfadOriginal); break; } imagecopy ($BildDuplikat, $BildOriginal, $XDuplikat, $YDuplikat, $XOriginal, $YOriginal, $BreiteDuplikat, $HoeheDuplikat); switch ($TypOriginal) { case 2: // JPEG imagejpeg ($BildDuplikat, $PfadDuplikat, 100); break; case 3: // PNG imagepng ($BildDuplikat, $PfadDuplikat); break; } $VersionDuplikatNeu = fncDatei ("fdtVersion.", array ($PfadDuplikat)); if ($VersionDuplikatNeu != $VersionDuplikatAlt) { $Ergebnis = true; } else { $Ergebnis = false; } } } break; case "MINIATURERZEUGEN": list ($PfadOriginal, $PfadMiniatur) = $Parameter; $BildGroesse = (1 * $Aktion2); if (!is_file ($PfadOriginal)) { $Ergebnis = false; } else // Original vorhanden { list ($BreiteOriginal, $HoeheOriginal, $TypOriginal) = getimagesize ($PfadOriginal); if ($BreiteOriginal <= $BildGroesse and $HoeheOriginal <= $BildGroesse) // Original ist kleiner als gewünschte Miniatur, Originalgröße übernehmen { copy ($PfadOriginal, $PfadMiniatur); } else // Miniatur nötig, weil Original größer als Miniaturmaße { $VersionMiniaturAlt = fncDatei ("fdtVersion.", array ($PfadMiniatur)); if ($BreiteOriginal > $HoeheOriginal) // Querformat { $BreiteMiniatur = $BildGroesse; $HoeheMiniatur = round ($HoeheOriginal * $BreiteMiniatur / $BreiteOriginal); } else // Hochformat oder Quadratisch { $HoeheMiniatur = $BildGroesse; $BreiteMiniatur = round ($BreiteOriginal * $HoeheMiniatur / $HoeheOriginal); } $BildMiniatur = imagecreatetruecolor ($BreiteMiniatur, $HoeheMiniatur); $XMiniatur = 0; $YMiniatur = 0; $XOriginal = 0; $YOriginal = 0; switch ($TypOriginal) { case 2: // JPEG $BildOriginal = imagecreatefromjpeg ($PfadOriginal); break; case 3: // PNG $BildOriginal = imagecreatefrompng ($PfadOriginal); break; } imagecopyresized ($BildMiniatur, $BildOriginal, $XMiniatur, $YMiniatur, $XOriginal, $YOriginal, $BreiteMiniatur, $HoeheMiniatur, $BreiteOriginal, $HoeheOriginal); switch ($TypOriginal) { case 2: // JPEG imagejpeg ($BildMiniatur, $PfadMiniatur, 100); break; case 3: // PNG imagepng ($BildMiniatur, $PfadMiniatur); break; } } clearstatcache (); $VersionMiniaturNeu = fncDatei ("fdtVersion.", array ($PfadMiniatur)); if ($VersionMiniaturNeu != $VersionMiniaturAlt) { $Ergebnis = true; } else { $Ergebnis = false; } } // $dbgBlock = ""; echo fncDebug ("Block.Z", $Vorgaben, 0); break; case "OBVORHANDEN": # Debug // $dbgBlock = "OBVORHANDEN"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); list ($BildDatei) = $Parameter; $Optionen = $Aktion2; // S,C,L,M,R,Z,1,2,3 list ($X, $Endung) = explode (".", $BildDatei); if (mb_strstr ($Optionen, "C")) { $OrdnerBilder = $Vorgaben["Ordner"]["CBilder"]; // Kundenbilder } else { $OrdnerBilder = $Vorgaben["Ordner"]["SBilder"]; // Systembilder } # Debug // //$dbgVariable = "BildDatei"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Endung"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (mb_strstr ($Optionen, "U")) { $Ergebnis = true; } elseif (mb_strtoupper ($Endung) == "GIF") { if (is_file ($OrdnerBilder . $BildDatei)) { $Ergebnis = true; } else { $Ergebnis = false; } } else { $BildGroesse = (1 * $Aktion3); // max. Ausdehnung in Pixel # $OrdnerOriginale = $OrdnerBilder; $OrdnerMiniaturen = $OrdnerBilder . $BildGroesse . "/"; # $PfadOriginal = $OrdnerOriginale . $BildDatei; $PfadMiniatur = $OrdnerMiniaturen . $BildDatei; # if (!is_file ($PfadOriginal)) // kein Original vorhanden { $PfadOriginal; $Ergebnis = false; } else // Original vorhanden { if (!$BildGroesse) // ist Originalgröße gefragt? { $Ergebnis = true; } else // Miniatur gefragt { $VersionOriginal = fncDatei ("fdtVersion.", array ($PfadOriginal)); $VersionMiniatur = fncDatei ("fdtVersion.", array ($PfadMiniatur)); if ($VersionMiniatur > $VersionOriginal) // Miniatur vorhanden UND jünger als Original? { $Ergebnis = true; } elseif (!funOrdner ("Erstellen", $Vorgaben, array ($OrdnerMiniaturen))) // Ordner erstellt? { $Ergebnis = false; } elseif (!fncAltBild ("MiniaturErzeugen." . $BildGroesse, $Vorgaben, array ($PfadOriginal, $PfadMiniatur))) // Miniatur erzeugt? { $Ergebnis = false; } else { $Ergebnis = true; if (!is_file ($OrdnerMiniaturen . "index.html")) { fncDatei ("fdtSchreiben.", array ($OrdnerMiniaturen . "index.html")); // erzeugt leere html zum verzeichnisschutz } } } } } # Debug // //$dbgVariable = "Ergebnis"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgBlock = ""; echo fncDebug ("Block.Z", $Vorgaben, 0); break; } return $Ergebnis; } function funNachricht ($Aktion, $Vorgaben, $Parameter) { /* SENDEN funNachricht ("Senden", $Vorgaben, array ($AbsenderName, $AbsenderAdresse, $EmpfaengerName, $EmpfaengerAdresse, $Betreff, $Nachricht)); ERSTELLEN $Nachrichten = funNachricht ("Erstellen", $Vorgaben, array ()); if (is_array ($Nachrichten)) foreach ($Nachrichten as $Kennung => $Details) { if (is_array ($Details)) { extract ($Details); } funNachricht ("Senden", $Vorgaben, array ($AbsenderName, $AbsenderAdresse, $EmpfaengerName, $EmpfaengerAdresse, $Betreff, $Nachricht)); } */ switch (mb_strtoupper ($Aktion)) { case "SENDEN": { // $dbgBlock = "funNachricht > SENDEN"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); list ($AbsenderName, $AbsenderAdresse, $EmpfaengerName, $EmpfaengerAdresse, $Betreff, $Nachricht, $Anhang) = $Parameter; unset ($Parameter); $Ergebnis = false; if (!funEingabe ("Format.EMail", $Vorgaben, array ($AbsenderAdresse))) { //$dbgInfo = "Absender ungültig"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "AbsenderAdresse"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (!funEingabe ("Format.EMail", $Vorgaben, array ($EmpfaengerAdresse))) { //$dbgInfo = "Empfänger ungültig"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "EmpfaengerAdresse"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (!$Betreff) { //$dbgInfo = "kein Betreff"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "Betreff"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } elseif (!$Nachricht) { //$dbgInfo = "keine Nachricht"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); //$dbgVariable = "Nachricht"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } else { # Boundary $MimeBoundary = md5 (uniqid (time ())); if (!$AbsenderName) { $AbsenderName = $AbsenderAdresse; } // $Absender = utf8_decode ($AbsenderName) . " <" . $AbsenderAdresse . ">"; $Absender = $AbsenderAdresse; if (!$EmpfaengerName) { $EmpfaengerName = $EmpfaengerAdresse; } // $Empfaenger = utf8_decode ($EmpfaengerName) . " <" . $EmpfaengerAdresse . ">"; $Empfaenger = $EmpfaengerAdresse; # Kopf $Kopf = array (); $Kopf[] = "From: " . $Absender; $Kopf[] = "Reply-To: " . $Absender; $Kopf[] = "MIME-Version: 1.0"; $Kopf[] = "Content-Type: multipart/mixed; boundary=" . $MimeBoundary; $Kopf[] = ""; $Kopf[] = "This is a multi-part message in MIME format."; $Kopf[] = "--" . $MimeBoundary; $Kopf[] = "Content-Type: text/plain"; $Kopf[] = "Content-Transfer-Encoding: 8bit"; $Kopf[] = ""; if (is_array ($Nachricht)) { $Nachricht = implode ("\n", $Nachricht) . "\n"; } $Kopf[] = utf8_decode ($Nachricht); // wenn Mail mit Anhang, dann Nachricht schon im Header, deshalb an dieser Stelle unset ($Nachricht); if ($Anhang["ob"]) { $Kopf[] = "--" . $MimeBoundary; $Kopf[] = "Content-Type: " . $Anhang["type"] . "; name=\"" . $Anhang["name"] . "\""; $Kopf[] = "Content-Transfer-Encoding: base64"; $Kopf[] = "Content-Disposition: attachment; filename=\"" . $Anhang["name"] . "\""; $Kopf[] = ""; $Kopf[] = chunk_split (base64_encode ($Anhang["data"])); $Kopf[] = "--" . $MimeBoundary . "--"; } unset ($Anhang); $Kopf = implode ("\n", $Kopf) . "\n"; if ($Vorgaben["ObMail"] and !$Vorgaben["ObDebug"] and mb_strtoupper ($_SERVER["SERVER_NAME"]) != "LOCALHOST") { if (@mail ($Empfaenger, utf8_decode ($Betreff), "", $Kopf)) // Nachricht steht im Kopf { $Ergebnis = true; // echo "true: " . $Empfaenger; } else { // echo "false: " . $Empfaenger; } } else { $dbgBlock = "Mailer im Debug-Mode. Diese Nachricht würde im Real-Mode versandt werden:"; echo fncDebug ("Block.A", array ($Vorgaben["ObDebug"], $dbgBlock)); //$dbgVariable = "Empfaenger"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "Betreff"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Kopf"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "Nachricht"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); } unset ($Anhang); } // $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); } break; case "ERSTELLEN": { unset ($Parameter); $Formular = $Vorgaben["Formular"]; $Gruppen = $Vorgaben["Gruppen"]; // $_REQUEST = $_REQUEST; # Debug // //$dbgVariable = "Formular"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "datID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Kunde kriegt evtl. Kopie? $EMailKunde = $_REQUEST["Mail"]; if (!$EMailKunde) // dann Standard aus FormularVorgaben { $EMailKunde = $Formular[0]["EMail"]["Kunde"]; } if ($_REQUEST["Name"]) { $NameKunde = $_REQUEST["Name"]; } else { $NameKunde = "/"; } # Anhang $Anhang = array (); $Anhang["ob"] = 0; if (isset ($Formular[0]["DateiFeld"]) and $_FILES[$Formular[0]["DateiFeld"]]["size"]) { $Anhang["ob"] = 1; $Anhang["name"] = $_FILES[$Formular[0]["DateiFeld"]]["name"]; $Anhang["size"] = $_FILES[$Formular[0]["DateiFeld"]]["size"]; $Anhang["type"] = $_FILES[$Formular[0]["DateiFeld"]]["type"]; $DateiPfad = $_FILES[$Formular[0]["DateiFeld"]]["tmp_name"]; $Anhang["data"] = fread (fopen ($DateiPfad, "r"), filesize ($DateiPfad)); } # Betreff erstellen $Betreff = $Formular[0]["Betreff"]; $Abspann = $Formular[0]["Abspann"]; # Nachricht erstellen (Klient/Kunde) $Nachricht = array (); $Nachricht[] = str_replace ("[DATUM]", date ("d.m.Y"), str_replace ("[UHRZEIT]", date ("H:i"), str_replace ("[EMPFAENGER]", $Formular[0]["Name"]["Empfaenger"], str_replace ("[SERVER]", $_SERVER["SERVER_NAME"], $Vorgaben["System"]["Vokabeln"]["NachrichtWurdeVersandt"])))); $Nachricht[] = ""; if ($Formular[0]["Info1"]) { $Nachricht[] = ""; $Nachricht[] = $Formular[0]["Info1"]; } if (is_array ($Gruppen)) foreach ($Gruppen as $GruppenID => $Feld) { $Nachricht[] = ""; $Nachricht[] = ""; $Nachricht[] = ":: " . $Gruppen[$GruppenID][0]["GruppenBeschriftung"] . " ::"; $Nachricht[] = ""; if (is_array ($Feld)) foreach ($Feld as $FeldID => $FeldBeschriftung) { if ($FeldID) switch (mb_strtoupper ($Formular[$FeldID]["FeldTyp"])) { default: $Eingabe = $_REQUEST[$FeldID]; if ($Eingabe) { $Nachricht[] = $FeldBeschriftung . ": " . $Eingabe; } else { $Nachricht[] = $FeldBeschriftung . ": /"; } break; case "AUSWAHL": case "RADIO": $Eingabe = $Formular[$FeldID]["Kandidaten"][$_REQUEST[$FeldID]]; if ($Eingabe) { $Nachricht[] = $FeldBeschriftung . ": " . $Eingabe; } else { $Nachricht[] = $FeldBeschriftung . ": /"; } break; case "OPTIONEN": $Nachricht[] = $FeldBeschriftung . ":"; if (is_array ($_REQUEST[$FeldID])) foreach ($_REQUEST[$FeldID] as $KandidatenID => $ObGesetzt) if ($ObGesetzt) { $ObWerte = 1; $Nachricht[] = "[x] " . $Formular[$FeldID]["Kandidaten"][$KandidatenID]; } if (!$ObWerte) { $Nachricht[] = "/"; } break; case "DATEI": $Eingabe = $_FILES[$FeldID]["name"]; if ($Eingabe) { $Nachricht[] = $FeldBeschriftung . ": " . $Eingabe; } else { $Nachricht[] = $FeldBeschriftung . ": /"; } break; } } unset ($Feld); } $Nachricht[] = ""; $Nachricht[] = ""; $Nachricht[] = $Abspann; # Nachrichten sammeln in $Nachrichten = array (); #Kunde if ($Formular[0]["EMail"]["Kunde"]) { $Nachrichten["Kunde"]["AbsenderName"] = $Formular[0]["Name"]["Absender"]; $Nachrichten["Kunde"]["AbsenderAdresse"] = $Formular[0]["EMail"]["Absender"]; $Nachrichten["Kunde"]["EmpfaengerName"] = $NameKunde; $Nachrichten["Kunde"]["EmpfaengerAdresse"] = $EMailKunde; $Nachrichten["Kunde"]["Betreff"] = $Betreff; $Nachrichten["Kunde"]["Nachricht"] = $Nachricht; $Nachrichten["Kunde"]["Anhang"] = $Anhang; } # Klient $Nachrichten["Klient"]["AbsenderName"] = $Formular[0]["Name"]["Absender"]; $Nachrichten["Klient"]["AbsenderAdresse"] = $Formular[0]["EMail"]["Absender"]; $Nachrichten["Klient"]["EmpfaengerName"] = $Formular[0]["Name"]["Empfaenger"]; $Nachrichten["Klient"]["EmpfaengerAdresse"] = $Formular[0]["EMail"]["Empfaenger"]; $Nachrichten["Klient"]["Betreff"] = $Betreff; $Nachrichten["Klient"]["Nachricht"] = $Nachricht; $Nachrichten["Klient"]["Anhang"] = $Anhang; # Klient Kopie if ($Formular[0]["EMail"]["Kopie"]) { # Verteiler $Nachricht[] = ""; $Nachricht[] = ""; $Nachricht[] = ":: Verteiler ::"; $Nachricht[] = ""; $Nachricht[] = "[1] " . $Formular[0]["Name"]["Empfaenger"]; $Nachricht[] = "[2] " . $Formular[0]["Name"]["Kopie"]; if ($Formular[0]["EMail"]["Kunde"]) { $Nachricht[] = "[3] " . $NameKunde; } # $Nachrichten["Kopie"]["AbsenderName"] = $Formular[0]["Name"]["Absender"]; $Nachrichten["Kopie"]["AbsenderAdresse"] = $Formular[0]["EMail"]["Absender"]; $Nachrichten["Kopie"]["EmpfaengerName"] = $Formular[0]["Name"]["Kopie"]; $Nachrichten["Kopie"]["EmpfaengerAdresse"] = $Formular[0]["EMail"]["Kopie"]; $Nachrichten["Kopie"]["Betreff"] = "(Kopie) " . $Betreff; $Nachrichten["Kopie"]["Nachricht"] = $Nachricht; $Nachrichten["Kopie"]["Anhang"] = $Anhang; } unset ($Formular); unset ($Anhang); unset ($Gruppen); unset ($Nachricht); unset ($Vorgaben); // unset ($Request); $Ergebnis = $Nachrichten; unset ($Nachrichten); } break; } // // $dbgBlock = ""; echo fncDebug ("Block.Z", $Vorgaben, 0); return $Ergebnis; } function funOrdner ($Aktion, $Vorgaben, $Parameter) { /* ERSTELLEN if (funOrdner ("Erstellen", $Vorgaben, array ($Ordner))) - legt index.html an if (funOrdner ("Erstellen", $Vorgaben, array ($Ordner, "index.html"))) */ list ($Aktion1, $Aktion2, $Aktion3) = explode (".", $Aktion); switch (mb_strtoupper ($Aktion1)) { case "ERSTELLEN": list ($Ordner, $DateiAnlegen) = $Parameter; if (!is_dir ($Ordner)) { $Ergebnis = @mkdir ($Ordner, 0777); } else // Ordner gabs schon, auch gut { $Ergebnis = true; } if ($DateiAnlegen) if ($Ergebnis) if (fncDatei ("fdtSchreiben.", array ($Ordner . $DateiAnlegen))) { $Ergebnis = true; } else { $Ergebnis = false; } break; } return $Ergebnis; } # hier_BeginnSkript debugStartButton (); # System-Vorgaben lesen //$Vorgaben = funVorgaben ("Laden", 0, array ("Mavidesk/System", "Tresor/.ht_vorgaben.csv")); $Vorgaben = leseVorgaben ("Mavidesk/System", "Tresor/.ht_vorgaben.csv"); //leseVorgaben leseDbTypen ($Vorgaben); # Bezeichner der Steuervariablen define ('PAGE', $Vorgaben['regVars']['varPage']); define ('BOOK', $Vorgaben['regVars']['varBook']); define ('LANG', $Vorgaben['regVars']['varLang']); define ('ZONE', $Vorgaben['regVars']['varZone']); define ('SEARCH', $Vorgaben['regVars']['varSearch']); define ('TICKET', $Vorgaben['regVars']['varTicket']); define ('RATE', $Vorgaben['regVars']['varRate']); define ('RECORD', $Vorgaben['regVars']['varDataset']); define ('AMBIENTE', $Vorgaben['regVars']['varAmb']); define ('MODUL', $Vorgaben['regVars']['varMod']); define ('OBJECT', $Vorgaben['regVars']['varObj']); define ('FORM', $Vorgaben['regVars']['varForm']); # Steuervariablen setzen if (!isset ($_REQUEST[PAGE])) { $_REQUEST[PAGE] = ''; } if (!isset ($_REQUEST[BOOK])) { $_REQUEST[BOOK] = ''; } if (!isset ($_REQUEST[LANG])) { $_REQUEST[LANG] = ''; } if (!isset ($_REQUEST[SEARCH])) { $_REQUEST[SEARCH] = ''; } if (!isset ($_REQUEST[ZONE])) { $_REQUEST[ZONE] = ''; } if (!isset ($_REQUEST['OpenCoord'])) { $_REQUEST['OpenCoord'] = ''; } # interne Steuervariablen $Vorgaben['curLang'] = ''; $Vorgaben['curPage'] = ''; $Vorgaben['curZone'] = ''; $Vorgaben['curBook'] = ''; # Debug //$Vorgaben["funStartzeit1"] = microtime (1); // Anfangspunkt ////$dbgVariable = "_FILES"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); ////$dbgVariable = "_SERVER"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); ////$dbgVariable = "_REQUEST"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Phrasen fncDatenbank ("dtbLesen", $Vorgaben, array ("datPhPhrasen")); # Typen fncDatenbank ("dtbLesen", $Vorgaben, array ("datTypen")); # SetBook fncNavi ("SetBook", $Vorgaben, array ()); # Client-Vorgaben //fncDatenbank ("dtbLesen", $Vorgaben, array ("datVkb")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datVorgaben")); # debug // debug (" $i_type ääää"); // $d_vorg_arch = $Vorgaben['Data']['datVorgaben'][0]['FeldTypen']['ArchivZahl']; // $_d = '$d_vorg_arch'; debugVariable ($_d = substr ($_d, 1), $$_d,'lmndka'); # Set Client fncNavi ("SetClient", $Vorgaben, array ()); # Lese Inhalte fncDatenbank ("dtbLesen", $Vorgaben, array ("xdbNhKp")); # Sprachen setzen fncNavi ("SetLang", $Vorgaben, array ()); modifiziereTypen ($Vorgaben); # Debug //$ioVorg = $Vorgaben["IO"]; ////$dbgVariable = "curClient"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $d_DE = findFirstPage ($Vorgaben['Data']['xdbNhKp'], 'DE'); // $d_EN = findFirstPage ($Vorgaben['Data']['xdbNhKp'], 'EN'); // $d_AktiveSprachen = $Vorgaben["AktiveSprachen"]; // $_d = '$d_DE'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$d_EN'; debugVariable ($_d = substr ($_d, 1), $$_d); // $_d = '$d_AktiveSprachen'; debugVariable ($_d = substr ($_d, 1), $$_d); # Ticketaktionen if (isset ($_REQUEST[TICKET])) // Ticketservice if ($Ticket = $_REQUEST[TICKET]) // Ticketservice { $Vorgaben["Ticket"]["Ausgabe"]["Titel"] = ""; $Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"] = array (); # Ticketumgebung setzen fncNavi ("SetBook", $Vorgaben, array ("booPortal")); if (!$Vorgaben["ObTicket"]) // in Vorgaben deaktiviert { $Vorgaben["Ticket"]["Ausgabe"]["Titel"] = "Fehler"; $Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"][] = "Ticketaktionen sind nicht zugelassen."; } elseif ($Ticket == "css" and $_SERVER["SERVER_NAME"] == "localhost") { ########################################################### # wandelt aus alten CSS Dateien --> eine neue # // $t_zeile = ''; // $z = 0; // $f_css = ''; // $o_offen = false; // $t_sammler_module = ''; // $t_selektor = ''; // $t_bis_kommentar = ''; // $t_eigenschaft = ''; // $t_wert = ''; // $r_altes_css = array (); // $r_sammler_dbtypen = array (); // $r_mehrfach = array (); // $r_sammler_phrasen = array (); // $r_sammler_phrasen_vk = array (); // $r_altes_css = funDatei ("Lesen", $Vorgaben, array ($Vorgaben["Pfade"]["cssOo"])); // foreach ($r_altes_css as $t_zeile) // switch (mb_substr ($t_zeile, 0, 1)) // { // default: // { // if (!$t_zeile) // { // } // elseif ($o_offen) // { // # debug //// $_d = '$r_mehrfach'; debugVariable ($_d = substr ($_d, 1), $$_d); // // if (mb_substr ($t_zeile, 0, 2) != '/*') // if (mb_substr ($t_zeile, 0, 1) != 'x') // if (mb_substr ($t_zeile, 0, 1) != '_') // if (mb_substr ($t_zeile, 0, 1) != 'x_') // foreach ($r_mehrfach as $t_selektor) // { // $t_selektor = trim ($t_selektor); // // // list ($t_bis_kommentar) = explode ('/*', $t_zeile . '/*'); // $t_bis_kommentar = str_replace (';', '', $t_bis_kommentar); // list ($t_eigenschaft, $t_wert) = explode (':', $t_bis_kommentar); // $t_eigenschaft = trim ($t_eigenschaft); // $t_wert = trim ($t_wert); // $f_css = $t_selektor . '_' . $t_eigenschaft; // // # debug // $_d = '$f_css'; debugVariable ($_d = substr ($_d, 1), $$_d); // // $r_sammler_dbtypen[] = '"datCss";"";"' . $f_css . '";"' . $t_wert . '";"";"";"";"";"";"1";"1";"dftText";"";"";"";"";"";"";"";"";"";""'; // $t_sammler_module .= ' ' . $f_css . ','; // $r_sammler_phrasen[$t_wert] = '"' . $t_wert . '";"";"";""'; // $r_sammler_phrasen_vk[$t_wert] = '"DE|' . $t_wert . '|Phrase";"' . $t_wert . '"'; // } // } // elseif (mb_substr ($t_zeile, 0, 2) == '/*') // { // $z++; // $t_zeile = str_replace ('/*', '', $t_zeile); // $t_zeile = str_replace ('*/', '', $t_zeile); // $t_zeile = str_replace (',', '', $t_zeile); // $t_zeile = str_replace ('/', '', $t_zeile); // $t_zeile = str_replace (':', '', $t_zeile); // $t_zeile = str_replace ('-', '', $t_zeile); // $t_zeile = str_replace ('+', '&', $t_zeile); // $t_zeile = trim ($t_zeile); // $t_sammler_module .= ' // ' . $t_zeile . ' (' . $z . ') /'; // } // else // { // # debug //// $_d = '$t_zeile'; debugVariable ($_d = substr ($_d, 1), $$_d); // // list ($t_bis_kommentar) = explode ('/*', $t_zeile . '/*'); // $r_mehrfach = array (); // $r_mehrfach = explode (',', $t_bis_kommentar); // // # debug // $_d = '$r_mehrfach'; debugVariable ($_d = substr ($_d, 1), $$_d); // } // } // break; // case '{': // { // $o_offen = true; // } // break; // case '}': // { // $o_offen = false; // } // break; // } // fncDatei ("fdtSchreiben.", array ($Vorgaben["Pfade"]["tmpModule"], $t_sammler_module)); // fncDatei ("fdtSchreiben.", array ($Vorgaben["Pfade"]["tmpDBTypen"], $r_sammler_dbtypen)); // fncDatei ("fdtSchreiben.", array ($Vorgaben["Pfade"]["tmpPhrasen"], $r_sammler_phrasen)); // fncDatei ("fdtSchreiben.", array ($Vorgaben["Pfade"]["tmpPhrasenVK"], $r_sammler_phrasen_vk)); // unset ($r_sammler_phrasen_vk); // unset ($r_sammler_phrasen); // unset ($r_mehrfach); // unset ($r_sammler_dbtypen); // unset ($r_altes_css); # # ########################################################### $f_css = ''; $x = ''; $r_css = array (); $r_sammler = array (); $r_eigenschaften = array (); $t_selektor = ''; $t_eigenschaft = ''; $t_wert = ''; fncDatenbank ("dtbLesen", $Vorgaben, array ("datCss")); # debug // $d_css = $Vorgaben["Data"]["datCss"]; // $_d = '$d_css'; debugVariable ($_d = substr ($_d, 1), $$_d); foreach ($Vorgaben["Data"]["datCss"][0]["Kopfzeile"] as $f_css => $x) switch ($f_css) { case 'ID': case 'Tonne': case 'Klient': case '+Klient': { } break; default: { list ($t_selektor, $t_eigenschaft) = explode ('_', $f_css); $t_wert = fncFeld ('dtfWert.N', $Vorgaben, array ('datCss', '1', $f_css)); if ($t_wert != '') { $r_sammler[$t_selektor][$t_eigenschaft] = $t_wert; } } break; } foreach ($r_sammler as $t_selektor => $r_eigenschaften) { $r_css[] = $t_selektor; $r_css[] = '{'; foreach ($r_eigenschaften as $t_eigenschaft => $t_wert) { $r_css[] = chr (9) . $t_eigenschaft . ': ' . $t_wert . ';'; } $r_css[] = '}'; } if (fncDatei ("fdtSchreiben.", array ($Vorgaben["Pfade"]["cssAa"], $r_css))) { $Vorgaben["Ticket"]["Ausgabe"]["Titel"] = "Report"; $Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"][] = "CSS erfolgreich geschrieben."; } else { $Vorgaben["Ticket"]["Ausgabe"]["Titel"] = "Fehler"; $Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"][] = "Schreiben des CSS fehlgeschlagen."; } unset ($r_eigenschaften); unset ($r_sammler); unset ($r_css); } elseif ($Ticket == "pdf" and $_SERVER["SERVER_NAME"] == "localhost") { require_once('./Mavidesk/System/tfpdf/tfpdf.php'); $pdf = new tFPDF(); $pdf->AddPage(); // Add a Unicode font (uses UTF-8) $pdf->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true); $pdf->SetFont('DejaVu','',14); // Load a UTF-8 string from a file and print it $txt = file_get_contents('./Mavidesk/System/tfpdf/HelloWorld.txt'); $pdf->Write(8,$txt); // Select a standard font (uses windows-1252) $pdf->SetFont('DejaVu','',14); $pdf->Ln(10); $pdf->Write(5,'The file size of this PDF is only 12 KB.'); $pdf->Output(); } else switch ($Vorgaben["curClient"]) { default: { $Vorgaben["Ticket"]["Ausgabe"]["Titel"] = "Fehler"; $Vorgaben["Ticket"]["Ausgabe"]["Beschreibung"][] = "Ticket unbekannt."; } break; case "JHN": { switch ($Ticket) { case $Vorgaben["Data"]["datVorgaben"][1]["TcPDFTicket"]: { fncElement ("lmnPDF.I", $Vorgaben, array ()); ######## Anschreiben # neue Seite fncElement ("lmnPDF.N", $Vorgaben, array ()); # Kopf $p_bild_kopf = $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"]["datVorgaben"][1]["fPDFBildKopf"]; fncElement ("lmnPDF.B", $Vorgaben, array ($p_bild_kopf, '22,22,167')); # Adressfeld Empfänger fncElement ("lmnAbstand.p", $Vorgaben, array (33)); fncElement ("lmnAbsatz.AZp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFName1")))); fncElement ("lmnAbsatz.AZp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFName2")))); fncElement ("lmnAbsatz.AZp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFStrasse")))); fncElement ("lmnAbsatz.AZp", $Vorgaben, array ()); fncElement ("lmnAbsatz.AZp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFOrt")))); fncElement ("lmnAbstand.p", $Vorgaben, array (22)); # Datum fncElement ("lmnAbsatz.AZRp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFVorspannDatum")) . ", " . funDatum ("Konvertieren.1.11", $Vorgaben, array ($Vorgaben["Heute"][1])))); fncElement ("lmnAbsatz.AZp", $Vorgaben, array ()); # Betreff fncElement ("lmnRubrik.AZp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFBetreff")))); fncElement ("lmnAbsatz.AZp", $Vorgaben, array ()); # Inhalt fncElement ("lmnAbsatz.AZp", $Vorgaben, array (fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "fPDFInhalt")))); # Fuß $p_bild_fuss = $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"]["datVorgaben"][1]["fPDFBildFuss"]; fncElement ("lmnPDF.B", $Vorgaben, array ($p_bild_fuss, '22,260,166')); # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ("datNhDetails")); fncElement ("lmnFormatieren.p", $Vorgaben, array ()); # PDF anzeigen fncElement ("lmnPDF.A", $Vorgaben, array ()); } break; } } break; case "SFH": // aufheben als Muster für PDF-Erstellung { switch ($Ticket) { case $Vorgaben["Data"]["datVorgaben"][1]["TcPDFTicket"]: { # FPDF require_once ("./Mavidesk/System/fpdf16/fpdf.php"); # ID übergeben $idID = $_REQUEST[$Vorgaben["regVars"]["varAnx"]]; # Datenbank(en) lesen $datDatenbank = "datReservierungen"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); fncDatenbank ("dtbLesen", $Vorgaben, array ("datSPreise")); $Vorgaben = funSpecial ("sfhPreisErrechnen", $Vorgaben, array ()); $OrdnerDatei = $Vorgaben["Ordner"]["Media"]; $DateiName = fncOrdner ("rdnExklusivname", array ($OrdnerDatei)) . ".pdf"; $PfadPDF = $OrdnerDatei . $DateiName; $pfdLogo = $Vorgaben["Ordner"]["CBilder"] . $Vorgaben["Data"]["datVorgaben"][1]["Logo"]; $pdf=new FPDF('P', 'mm', 'A4'); # neue Seite $pdf->AddPage(); $pdf->SetLeftMargin(21); $pdf->SetRightMargin(21); # Logo und Absender $pdf->Image($pfdLogo, 90, 10, 100); $pdf->Ln(13); $pdf->SetFont('DejaVu','',11); $pdf->Cell(0,4,fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "Inhaber")),'',1,'R'); $pdf->Cell(0,4,fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "Strasse")),'',1,'R'); $pdf->Cell(0,4,fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "+PLZOrt")),'',1,'R'); $pdf->Ln(12); # Adressfeld Empfänger $pdf->SetFont('DejaVu','',7); $pdf->MultiCell(90 , 3 , fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "+Absender")), 0, L); $pdf->Ln(1); $pdf->SetFont('DejaVu','',11); $pdf->MultiCell(90 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "VornameNachname")), 0, "L"); $pdf->MultiCell(90 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "Strasse")), 0, "L"); $pdf->MultiCell(90 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "PLZOrt")), 0, "L"); $pdf->Ln(6); # Betreff $pdf->SetFont('DejaVu','B',13); $pdf->Cell(0,5, fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "RgBetreff")),'',1,"R"); $pdf->SetFont('DejaVu','',11); $pdf->Cell(0,5, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+RgNrDatum")),'',1,"R"); $pdf->Ln(10); # Anrede $pdf->Cell (0, 5, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+Anrede")), "", 1); $pdf->Ln(3); # Text $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+txtE1")), 0, "L"); $pdf->Ln(3); # Tabelle $pdf->Cell(10,0, " ",'',0); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+Anreise")), 0, "L"); $pdf->Cell(10,0, " ",'',0); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+Abreise")), 0, "L"); $pdf->Ln(3); # Text $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+txtE2")), 0, "L"); $pdf->Ln(5); # Tabelle if ($Vorgaben["Data"][$datDatenbank][$idID]["BestAnzahlNaechteHS"]) { $pdf->Cell(10,0, " ",'',0); $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+txtHS")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "+PreisHS")),'',0, "R"); $pdf->Ln(4); } if ($Vorgaben["Data"][$datDatenbank][$idID]["BestAnzahlNaechteNS"]) { $pdf->Cell(10,0, " ",'',0); $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+txtNS")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "+PreisNS")),'',0, "R"); $pdf->Ln(4); } if ($Vorgaben["Data"][$datDatenbank][$idID]["+PreisNachlass"]) { $pdf->Cell(10,0, " ",'',0); $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+txtRb")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "+PreisNachlass")),'',0, "R"); $pdf->Ln(4); } if ($Vorgaben["Data"][$datDatenbank][$idID]["+Endreinigung"]) { $pdf->Cell(10,0, " ",'',0); $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "+txtEr")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "+Endreinigung")),'',0, "R"); $pdf->Ln(4); } if ($Vorgaben["Data"][$datDatenbank][$idID]["ZuAbschlag"]) { $pdf->Cell(10,0, " ",'',0); $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "BemZuAb")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "ZuAbschlag")),'',0, "R"); $pdf->Ln(4); } if ($Vorgaben["Data"][$datDatenbank][$idID]["ZuAbschlag2"]) { $pdf->Cell(10,0, " ",'',0); $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "BemZuAb2")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "ZuAbschlag2")),'',0, "R"); $pdf->Ln(4); } # Linie $pdf->MultiCell(170 , 1 , "", "T", "L"); $pdf->Ln(3); # Tabelle $pdf->Cell(10,0, " ",'',0); // $pdf->Cell(110,0, fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "txtEndsumme")),'',0); $pdf->Cell(110,0, fncPhrase ($Vorgaben, array ("Endsumme", "G")),'',0); $pdf->Cell(40,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "Endsumme")),'',0, "R"); $pdf->Ln(4); # Doppellinie $pdf->MultiCell(170 , 1 , "", "T", "L"); $pdf->MultiCell(170 , 1 , "", "T", "L"); $pdf->Ln(4); # Anzahlung if ($Vorgaben["Data"][$datDatenbank][$idID]["Anzahlung"] and $Vorgaben["Data"][$datDatenbank][$idID]["TmAnzahlung"]) { $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtAnz")), 0, "L"); $pdf->Ln(3); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtRes")), 0, "L"); $pdf->Ln(3); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtHw1")), 0, "L"); $pdf->Ln(3); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtHw2")), 0, "L"); $pdf->Ln(3); } else { $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtGes")), 0, "L"); $pdf->Ln(3); } $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtHw3")), 0, "L"); $pdf->Ln(3); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtHw4")), 0, "L"); $pdf->Ln(3); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "txtHw5")), 0, "L"); $pdf->Ln(5); $pdf->MultiCell(180 , 4 , fncFeld ("dtfWert.N", $Vorgaben, array ("datVorgaben", 1, "Inhaber")), 0, "L"); # Tabelle $pdf->SetFont('DejaVu','B',9); $pdf->SetY(-37); $pdf->Cell(60,0, fncPhrase ($Vorgaben, array ("Bankverbindung", "G")),'',0); $pdf->Cell(60,0, fncPhrase ($Vorgaben, array ("Postadresse", "G")),'',0); $pdf->Cell(60,0, fncPhrase ($Vorgaben, array ("AdresseFerienhaus", "G")),'',0); $pdf->Ln(4); $pdf->SetFont('DejaVu','',9); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ($datDatenbank, $idID, "Bank")),'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ("datVorgaben", 1, "Inhaber")),'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ("datVorgaben", 1, "Firma")),'',0); $pdf->Ln(4); $pdf->Cell(60,0, fncFeld ("dtfWert.NEV", $Vorgaben, array ($datDatenbank, $idID, "BLZ")),'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ("datVorgaben", 1, "Strasse")),'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ("datVorgaben", 1, "FlStrasse")),'',0); $pdf->Ln(4); $pdf->Cell(60,0, fncFeld ("dtfWert.NEV", $Vorgaben, array ($datDatenbank, $idID, "KontoNr")),'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ("datVorgaben", 1, "+PLZOrt")),'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NE", $Vorgaben, array ("datVorgaben", 1, "+FlPLZOrt")),'',0); $pdf->Ln(4); $pdf->Cell(60,0, "",'',0); $pdf->Cell(60,0, fncFeld ("dtfWert.NEV", $Vorgaben, array ("datVorgaben", 1, "Telefon")),'',0); # PDF speichern und anzeigen $pdf->Output($PfadPDF, "F"); $pdf->Output(); # alte PDF entfernen fncDatei ("fdtEntfernen.", array ($Vorgaben["Ordner"]["Media"] . $Vorgaben["Data"][$datDatenbank][$idID]["Rechnung"])); $Vorgaben["Data"][$datDatenbank][$idID]["Rechnung"] = $DateiName; $Vorgaben["SchreibeDatenbanken"][$datDatenbank] = 1; fncDatenbank ("dtbSchreiben", $Vorgaben, array ()); } break; } } break; } } if (!$Vorgaben["curBook"]) // also Index { # Standardmodul ist Inhalte $Vorgaben['cur_modul'] = 'Nh'; if (!isset ($_REQUEST["OpenCoord"])) { $_REQUEST["OpenCoord"] = ""; // nicht 0 schreiben! } if (!isset ($_REQUEST["ChangeCoord"])) { $_REQUEST["ChangeCoord"] = ""; // nicht 0 schreiben! } if (!isset ($Vorgaben["curModul"])) { $Vorgaben["curModul"] = ""; // nicht 0 schreiben! } # Formulare $Vorgaben["Data"]["datFormulare"] = importiereDb ("Formulare", $Vorgaben["Pfade"]["Formulare"], "ID"); $Vorgaben = funFormular ("SammleFormulare", $Vorgaben, array ()); # Symbole fncDatenbank ("dtbLesen", $Vorgaben, array ("datSmSymbole")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datSmElemente")); # Lese Design + CVorgaben fncDatenbank ("dtbLesen", $Vorgaben, array ("datLnLaender")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datDesign")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datStart")); # Lese Inhalte fncDatenbank ("dtbLesen", $Vorgaben, array ("datNhDetails")); fncElement ("lmnBlaettern.EZ", $Vorgaben, array ("datNhDetails", "varNhEChap")); # Debug // $datNhDetails = $Vorgaben["Data"]["datNhDetails"]; // //$dbgVariable = "datNhDetails"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datNhDetails_1 = $Vorgaben["Data"]["datNhDetails"][1]; // //$dbgVariable = "_REQUEST"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # SetModPages fncNavi ("SetModPages", $Vorgaben, array ()); # SetPage // fncNavi ("SetPage", $Vorgaben, array ()); setPage ($Vorgaben); // fncNavi ("SetPageNeu", $Vorgaben, array ()); # Debug // //$dbgInfo = "nach setpage"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $xdbNhKp = $Vorgaben["Data"]["xdbNhKp"]; // //$dbgVariable = "xdbNhKp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datNhDetails_1 = $Vorgaben["Data"]["datNhDetails"][1]; // //$dbgVariable = "datNhDetails_1"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Besitz filtern -> aktuelles Thema (nach SetPage!!!) fncFilter ("fltDatenbank.P", $Vorgaben, array ("xdbNhKp", $_REQUEST[PAGE])); # Debug // //$dbgInfo = "nach besitz filtern"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // $xdbNhKp_2 = $Vorgaben["Data"]["xdbNhKp"][2]; // //$dbgVariable = "xdbNhKp_2"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datNhDetails_1 = $Vorgaben["Data"]["datNhDetails"][1]; // //$dbgVariable = "datNhDetails_1"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if ($Vorgaben["ObFernschreiber"]) { $Vorgaben["OnLoad"] =" jsFernschreiber(); "; } # SetTitle fncNavi ("SetTitle", $Vorgaben, array ()); # Debug_Center - Index // $curBook = $Vorgaben["curBook"]; // //$dbgVariable = "curBook"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $curPage = $Vorgaben["curPage"]; // //$dbgVariable = "curPage"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $curLang = $Vorgaben["curLang"]; // //$dbgVariable = "curLang"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $curStarts = $Vorgaben["curStarts"]; // //$dbgVariable = "curStarts"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $Vorgaben = $Vorgaben; // //$dbgVariable = "Vorgaben"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $xdbNhKp = $Vorgaben["Data"]["xdbNhKp"]; // //$dbgVariable = "xdbNhKp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datNhDetails = $Vorgaben["Data"]["datNhDetails"]; // //$dbgVariable = "datNhDetails"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $test = 7e-10; // //$dbgVariable = "test"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$funLaufzeiten = $Vorgaben["funLaufzeiten"]; ////$dbgVariable = "funLaufzeiten"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Debug // $datNhDetails_1 = $Vorgaben["Data"]["datNhDetails"][1]; // //$dbgVariable = "datNhDetails_1"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $dbgHeuhaufen = $Vorgaben["Heuhaufen"]; // //$dbgVariable = "dbgHeuhaufen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $curModPages = $Vorgaben["curModPages"]; // //$dbgVariable = "curModPages"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Ausgabe fncElement ("lmnAusgabe", $Vorgaben, array ()); ### nach der Ausgabe sind die Vorgaben zerstört ### } else switch ($Vorgaben["curBook"]) { case "booPortal": { # Formulare $Vorgaben["Data"]["datFormulare"] = importiereDb ("Formulare", $Vorgaben["Pfade"]["Formulare"], "ID"); $Vorgaben = funFormular ("SammleFormulare", $Vorgaben, array ()); # Module fncDatenbank ("dtbLesen", $Vorgaben, array ("datModule")); # Symbole fncDatenbank ("dtbLesen", $Vorgaben, array ("datSmSymbole")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datSmElemente")); # abwärtskompatibel diverse Register an Vorgaben übergeben if (is_array ($Vorgaben["Data"]["datModule"][0]["Sortierung"])) foreach ($Vorgaben["Data"]["datModule"][0]["Sortierung"] as $idModul => $tmp) { # AnzeigeFelder $Vorgaben["AnzeigeFelder"][$idModul][$Vorgaben["Data"]["datModule"][$idModul]["HauptDatenbank"]]["2D"] = $Vorgaben["Data"]["datModule"][$idModul]["Anzeige2DHaupt"]; $Vorgaben["AnzeigeFelder"][$idModul][$Vorgaben["Data"]["datModule"][$idModul]["HauptDatenbank"]]["1D"] = $Vorgaben["Data"]["datModule"][$idModul]["Anzeige1DHaupt"]; $Vorgaben["AnzeigeFelder"][$idModul][$Vorgaben["Data"]["datModule"][$idModul]["HauptDatenbank"]]["GelbeBox"] = $Vorgaben["Data"]["datModule"][$idModul]["AnzeigeGelbeBoxHaupt"]; $Anzeige2DWeitere = explode ("/", $Vorgaben["Data"]["datModule"][$idModul]["Anzeige2DWeitere"]); if (is_array ($Anzeige2DWeitere)) foreach ($Anzeige2DWeitere as $Weitere) { list ($datDatenbank, $AnzeigeFelder) = explode (":", $Weitere . ":"); $Vorgaben["AnzeigeFelder"][$idModul][trim ($datDatenbank)]["2D"] = trim ($AnzeigeFelder); } # SortierFelder $LeseDatenbanken = explode ("+", $Vorgaben["Data"]["datModule"][$idModul]["LeseDatenbanken"]); if (is_array ($LeseDatenbanken)) foreach ($LeseDatenbanken as $datDatenbank) { $Vorgaben["SortiereDatenbanken"][$idModul][$datDatenbank] = ""; } $Vorgaben["SortiereDatenbanken"][$idModul][$Vorgaben["Data"]["datModule"][$idModul]["HauptDatenbank"]] = $Vorgaben["Data"]["datModule"][$idModul]["SortiereHaupt"]; $SortiereWeitere = explode ("/", $Vorgaben["Data"]["datModule"][$idModul]["SortiereWeitere"]); if (is_array ($SortiereWeitere)) foreach ($SortiereWeitere as $Weitere) { list ($datDatenbank, $SortierFelder) = explode (":", $Weitere . ":"); if ($datDatenbank = trim ($datDatenbank)) { $Vorgaben["SortiereDatenbanken"][$idModul][$datDatenbank] = trim ($SortierFelder); } } unset ($SortiereWeitere); # Blättern $bltDBs = explode ("/", $Vorgaben["Data"]["datModule"][$idModul]["bltDBs"]); if (is_array ($bltDBs)) foreach ($bltDBs as $bltDB) { list ($datDatenbank, $varChap, $zhlDsJeSeite, $zhlBElemente, $obBAZ, $zhlBAbk, $obBSeitenzahl) = explode (",", $bltDB . ",,,,,,"); if ($datDatenbank = trim ($datDatenbank)) { $Vorgaben["bltDBs"][$idModul]["lstDBs"][$datDatenbank] = $datDatenbank; if (isset ($Vorgaben["regVars"][trim ($varChap)])) { $Vorgaben["bltDBs"][$idModul][$datDatenbank]["varChap"] = $Vorgaben["regVars"][trim ($varChap)]; } else { $Vorgaben["bltDBs"][$idModul][$datDatenbank]["varChap"] = ""; } $Vorgaben["bltDBs"][$idModul][$datDatenbank]["zhlDsJeSeite"] = trim ($zhlDsJeSeite); $Vorgaben["bltDBs"][$idModul][$datDatenbank]["zhlBElemente"] = trim ($zhlBElemente); $Vorgaben["bltDBs"][$idModul][$datDatenbank]["obBAZ"] = trim ($obBAZ); $Vorgaben["bltDBs"][$idModul][$datDatenbank]["zhlBAbk"] = trim ($zhlBAbk); $Vorgaben["bltDBs"][$idModul][$datDatenbank]["obBSeitenzahl"] = trim ($obBSeitenzahl); } } unset ($bltDBs); } # Mitarbeiter fncDatenbank ("dtbLesen", $Vorgaben, array ("datMitarbeiter")); # SetModul fncNavi ("SetModul", $Vorgaben, array ()); # Benutzeranmeldung (vor Rechte!) funBenutzer ("ObZugang", $Vorgaben, array ()); # Rechte (nach Benutzeranmeldung!) ladeRechte ($Vorgaben); # Steuervariablen if (!isset ($Vorgaben["Benutzer"]["ErlaubteModule"][$Vorgaben["curModul"]]) or !$Vorgaben["Benutzer"]["ErlaubteModule"][$Vorgaben["curModul"]]) // darf der Benutzer das angeforderte Modul sehen? { $Vorgaben["curModul"] = 0; } if (!isset ($_REQUEST["ActiveCoord" . $Vorgaben["curModul"]])) { $_REQUEST["ActiveCoord" . $Vorgaben["curModul"]] = ""; } if (!isset ($_REQUEST["OpenCoord"])) { $_REQUEST["OpenCoord"] = ""; // nicht 0 schreiben! } if (!isset ($_REQUEST["ChangeCoord"])) { $_REQUEST["ChangeCoord"] = ""; // nicht 0 schreiben! } if (!isset ($_REQUEST["NewValue"])) { $_REQUEST["NewValue"] = ""; // nicht 0 schreiben! } # Feiertage // fncDatenbank ("dtbLesen", $Vorgaben, array ("datFeiertage")); // $Vorgaben["Feiertage"] = fncRegister ("rgsZiehen.", array ($Vorgaben, "datFeiertage", "Datum", "Titel")); if (isset ($_REQUEST["Hilfe"]) and $Hilfethema = $_REQUEST["Hilfe"]) // Hilfesystem { $Vorgaben["Hilfe"]["Ausgabe"] = $Vorgaben["Inhalte"]["Kopf"]["Hilfe"][$Hilfethema]; } elseif (!$Vorgaben["Benutzer"]["ObZugang"]) // zum Login { $Vorgaben["OnLoad"] = "location = '#mavidesk'; document.frmMvd.User.focus(); "; // $Vorgaben["OnLoad"] = "document.frmMvd.User.focus(); "; } elseif ($Vorgaben["curModul"]) { # wg. Übersichtlichkeit $datDatenbank = $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["HauptDatenbank"]; # Laden fncDatenbank ("dtbLesen.N", $Vorgaben, array ()); # Item gültig? fncAmbiente ("ItemValidieren", $Vorgaben, array ()); # Ändern funDatenbank ("ChangeData", $Vorgaben, array ()); # Ambiente fncAmbiente ("Setzen", $Vorgaben, array ()); # debug // echo var_dump($Vorgaben["SchreibeDatenbanken"]); # Schreiben fncDatenbank ("dtbSchreiben", $Vorgaben, array ()); # falls geschrieben -> neu lesen if (isset ($Vorgaben["ObGeschrieben"])) if ($Vorgaben["ObGeschrieben"]) { fncDatenbank ("dtbLesen.N", $Vorgaben, array ()); } # Debug // //$dbgInfo = "Specials ausführen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # Specials ausführen fncElement ("lmnSpecials", $Vorgaben, array ($Vorgaben["curModul"])); # Debug // //$dbgInfo = "OnLoad belegen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # OnLoad belegen $Vorgaben = funVorgaben ("OnLoadBelegen", $Vorgaben, array ()); # Debug // //$dbgInfo = "SchattenFelder vor Filtern"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # SchattenFelder vor Filtern --> noch notwendig? funDatenbank ("SchattenFelder.VorFilter", $Vorgaben, array ($datDatenbank)); // ablsöen --> fncElement/lmnSpecials # Debug // //$dbgInfo = "Reihenfolge erzwingen"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); # für die Filter-Routinen bestimmte Reihenfolge erzwingen: 1. Haupt-DB, 2. Besitz-DBs, 3. Rest $regReihenfolge = array (); $regReihenfolge[$datDatenbank] = 1; // Hauptdatenbank if (isset ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) if (is_array ($Vorgaben["Data"][$datDatenbank][0]["Besitz"])) foreach ($Vorgaben["Data"][$datDatenbank][0]["Besitz"] as $Datenbank => $Ob) if ($Ob) { // //$dbgVariable = "Datenbank"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $regReihenfolge[$Datenbank] = 1; // Besitz } $AlleDatenbanken = explode ("+", $Vorgaben["Data"]["datModule"][$Vorgaben["curModul"]]["LeseDatenbanken"]); if (is_array ($AlleDatenbanken)) foreach ($AlleDatenbanken as $Datenbank) { $regReihenfolge[$Datenbank] = 1; } $ObBesitzGefiltert = 0; # Debug // //$dbgInfo = "mittenmang"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); if (is_array ($regReihenfolge)) foreach ($regReihenfolge as $Datenbank => $X) { # Besitz filtern --> muß vor FilterAufbauen geschehen if (isset ($Vorgaben["Data"][$datDatenbank][0]["Besitz"][$Datenbank])) if ($Vorgaben["Data"][$datDatenbank][0]["Besitz"][$Datenbank]) if (!$ObBesitzGefiltert) { // fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank . "|" . $Vorgaben["curLang"])); // nur 1x, weil dann gleich für kompletten Besitz gefiltert wird fncFilter ("fltDatenbank.P", $Vorgaben, array ($datDatenbank)); // nur 1x, weil dann gleich für kompletten Besitz gefiltert wird $ObBesitzGefiltert = 1; } } unset ($regReihenfolge); # SchattenFelder nach Filtern funDatenbank ("SchattenFelder.NachFilter", $Vorgaben, array ($datDatenbank)); # Sortieren if (is_array ($Vorgaben["SortiereDatenbanken"][$Vorgaben["curModul"]])) foreach ($Vorgaben["SortiereDatenbanken"][$Vorgaben["curModul"]] as $tmpDatenbank => $FelderObAb) { fncDatenbank ("dtbSortieren", $Vorgaben, array ($tmpDatenbank, $FelderObAb)); } # AnzeigeFelder funDatenbank ("AnzeigeFelder.Aufbauen", $Vorgaben, array ()); } else // Startmenü { # Laden // fncDatenbank ("dtbLesen", $Vorgaben, array ("datDisposition")); # AdminInfo // funDatenbank ("Vorbereiten.AdminInfo", $Vorgaben, array ()); } # Debug_Center - Portal // //$dbgVariable = "////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$y = array (); //for ($x = 1; $x < 10000; $x++) //{ // $c = mb_substr (md5 ("datDatenbank" . $x . "fldFeldDE"), 0, 5); // if (!$y[$c]) // { // $y[$c] = 1; // } // else // { // $s = "esel|hund|katze|hahn"; // //$dbgVariable = "s"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $t = explode("|", "esel|hund|katze|hahn"); // //$dbgVariable = "t"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $u = explode("|", "esel|hund|katze|hahn")[0]; // //$dbgVariable = "u"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // break; // } //} // $bltDBs = $Vorgaben["bltDBs"]; // $datPhVk = $Vorgaben["Data"]["datPhVk"]; // //$dbgVariable = "datPhVk"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $xdbKopf = $Vorgaben["Data"]["xdbTmKp"]; // //$dbgVariable = "xdbKopf"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $xdbNhKp = $Vorgaben["Data"]["xdbNhKp"][0]; // //$dbgVariable = "xdbNhKp"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datKatalog = $Vorgaben["Data"]["datKatalog"]; // //$dbgVariable = "datKatalog"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datPhPhrasen = $Vorgaben["Data"]["datPhPhrasen"]; // //$dbgVariable = "datPhPhrasen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datSmSymbole = $Vorgaben["Data"]["datSmSymbole"]; // //$dbgVariable = "datSmSymbole"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datVorgaben0 = $Vorgaben["Data"]["datVorgaben"][0]; // //$dbgVariable = "datVorgaben0"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $Benutzer = $Vorgaben["Benutzer"]; // //$dbgVariable = "Benutzer"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $AktiveSprachen = $Vorgaben["AktiveSprachen"]; // //$dbgVariable = "AktiveSprachen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $Request = $_REQUEST; // //$dbgVariable = "Request"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datImmobilien = $Vorgaben["Data"]["datImmobilien"][0]; // //$dbgVariable = "datImmobilien"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datImmobilien106 = $Vorgaben["Data"]["datImmobilien"][106]; // //$dbgVariable = "datImmobilien106"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$Vorgaben["funLaufzeiten"]["freieBenennung"] = (microtime (1) - $Vorgaben["funStartzeit1"]); // Endpunkt # Debug // echo var_dump ($Vorgaben); # SetTitle fncNavi ("SetTitle.P", $Vorgaben, array ()); # Ausgabe fncElement ("lmnAusgabe.P", $Vorgaben, array ()); } break; case "booZoom": { // # Datenbanken lesen // if (is_array ($Vorgaben["regZoomDbs"])) // foreach ($Vorgaben["regZoomDbs"] as $datZoomDb) // if ($datZoomDb) // { // fncDatenbank ("dtbLesen", $Vorgaben, array ($datZoomDb)); // } # Debug_Center - Zoom // $datNhDetails = $Vorgaben["Data"]["datNhDetails"]; // //$dbgVariable = "datNhDetails"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $datBilder = $Vorgaben["Data"]["datBilder"]; // //$dbgVariable = "datBilder"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $regZoomDbs = $Vorgaben["regZoomDbs"]; // //$dbgVariable = "regZoomDbs"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # SetTitle fncNavi ("SetTitle.Z", $Vorgaben, array ()); # Ausgabe fncElement ("lmnAusgabe.Z", $Vorgaben, array ()); } break; case "booForms": { # hier_Kontaktformular # debug // //$dbgInfo = "booForms"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "_REQUEST"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Metadaten // $Vorgaben = funVorgaben ("Meta", $Vorgaben, array ()); // $Vorgaben["Meta"]["SeitenTitel"] = $Vorgaben["System"]["Vokabeln"]["SeitenTitelKontakt"]; // Standardtitel, wird ggf. durch Formular überschrieben # var $OnSubmit = ""; $ObInfoBox = 0; $InfoBoxText = ""; $SymboleLinks = array (); $SymboleMitte = array (); $SymboleRechts = array (); $AnkerSL = 0; if (!isset ($_REQUEST["OpenCoord"])) { $_REQUEST["OpenCoord"] = ""; // nicht 0 schreiben! } if (!isset ($_REQUEST["ChangeCoord"])) { $_REQUEST["ChangeCoord"] = ""; // nicht 0 schreiben! } if (!isset ($Vorgaben["curModul"])) { $Vorgaben["curModul"] = ""; // nicht 0 schreiben! } # Step if (!isset ($_REQUEST["Step"]) or !($_REQUEST["Step"] / 1)) { $_REQUEST["Step"] = 1; } # Flag setzen $ObOhneSchritt1 = 0; // Standard = mit Schritt 1 # Formulare laden $Vorgaben["Data"]["datFormulare"] = importiereDb ("Formulare", $Vorgaben["Pfade"]["Formulare"], "ID"); # debug // //$dbgInfo = "booForms"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "dbgForm"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # angefordertes Formular prüfen $Vorgaben = funFormular ("SammleFormulare", $Vorgaben, array ()); if (!isset ($_REQUEST[FORM]) or !$_REQUEST[FORM]) { $_REQUEST[FORM] = 0; } // else // { // $Form = $_REQUEST[FORM]; // } // $_REQUEST[FORM] = $Form; $Formular = funFormular ("AktuellesFormular", $Vorgaben, array ($_REQUEST[FORM])); # Standardwerte belegen? if (is_array ($Formular)) foreach ($Formular as $Feld => $X) if ($Feld) if (!isset ($_REQUEST[$Feld]) or !$_REQUEST[$Feld]) if ($Formular[$Feld]["StandardWert"]) switch (mb_strtoupper ($Formular[$Feld]["FeldTyp"])) { case "DATUM": { switch (mb_strtoupper ($Formular[$Feld]["StandardWert"])) { case "HEUTE": { $_REQUEST[$Feld] = $Vorgaben["Heute"][10]; } break; case "MORGEN": { $_REQUEST[$Feld] = $Vorgaben["Morgen"][10]; } break; } } break; default: { $_REQUEST[$Feld] = $Formular[$Feld]["StandardWert"]; } break; } # Formular für Warenkorb -> Artikel vorbereiten $mrkFormular = $Formular; // Merke Original $Formular = array (); // lege neues Array an $Formular[0] = $mrkFormular[0]; // übernehme Kopf # Standard setzen für Absender (= Kunde) - kann dann bei Bedarf überschrieben werden if (isset ($_REQUEST["Mail"]) and $_REQUEST["Mail"]) { $Formular[0]["EMail"]["Absender"] = $_REQUEST["Mail"]; if ($_REQUEST["Name"]) { $Formular[0]["Name"]["Absender"] = $_REQUEST["Name"]; } else { $Formular[0]["Name"]["Absender"] = "---"; } } # debug // //$dbgInfo = "42"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "Form"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); switch ($_REQUEST[FORM]) { case 42: // Universalformular aus Modulen { # Objekt übergeben list ($crDb, $crDa, $crDs) = explode (",", $_REQUEST[OBJECT]); switch ($crDa) { default: case "H": { # Download aus Kopfdatei angefordert $datDatenbank = "xdb" . $crDb . "Kp"; // $f_datei = 'Datei'; } break; case "D": { # Download aus Details/Elemente angefordert $datDatenbank = "dat" . $crDb . "Details"; // $f_datei = 'Referenz'; } break; } # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); $Formular[0]["Info1"] = fncPhrase ($Vorgaben, array ("IchInteressiereMichFuer", "G")) . " »" . fncFeld ("dtfWert.NF", $Vorgaben, array ($datDatenbank, $crDs, "Titel")) . "«"; $Formular[0]["Betreff"] = fncPhrase ($Vorgaben, array ("Anfrage", "G")); } break; case 43: // Modul Dokument, Link zur Datei (aus Media) anfordern case 44: // jedes Modul, in Elemente gesetzt, Link zur Datei (aus Download) anfordern { switch ($_REQUEST["Step"]) { case 1: case 2: { # Link zur Datei $_REQUEST["Link"] = "(" . fncPhrase ($Vorgaben, array ("wirdErzeugt")) . ")"; } break; case 3: { # Objekt übergeben # Objekt übergeben // list ($crDb, $crDs, $crDq) = explode (",", $_REQUEST[OBJECT]); list ($crDb, $crDa, $crDs, $crDq) = explode (",", $_REQUEST[OBJECT]); switch ($crDa) { default: case "H": { # Download aus Kopfdatei angefordert $datDatenbank = "xdb" . $crDb . "Kp"; $f_datei = 'Datei'; } break; case "D": { # Download aus Details/Elemente angefordert $datDatenbank = "dat" . $crDb . "Details"; // $datDatenbank = "datNhDetails"; $f_datei = 'Referenz'; } break; } # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); switch ($crDq / 1) { default: { $rdnQuelle = mb_substr ($Vorgaben["Ordner"]["Media"], 1); } break; case 1: { $rdnQuelle = mb_substr ($Vorgaben["Ordner"]["Download"], 1); } break; } # Link zur Datei $_REQUEST["Link"] = "http://" . fncText ("ftxInternet.K", array (fncVorgaben ($Vorgaben, "Internet"))) . $rdnQuelle . fncFeld ("dtfWert.", $Vorgaben, array ($datDatenbank, $crDs, $f_datei)); } break; } } break; case 45: // Direktkontaktaufnahme aus Modulen { # debug // //$dbgInfo = "42"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); // //$dbgVariable = "regZoomDbs"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Objekt übergeben list ($txDb, $idItem) = explode (",", $_REQUEST[OBJECT]); # Konstanten $datDatenbank = "xdb" . $txDb . "Kp"; # Datenbank lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); if (!fncFeld ("dtfWert.R", $Vorgaben, array ($datDatenbank, $idItem, "ObKontaktAufnahme"))) { $txName = trim (fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "txtTitel")) . " " . fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "Titel"))); $Formular[0]["Name"]["Empfaenger"] = $txName; $Formular[0]["EMail"]["Empfaenger"] = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idItem, "EMail")); $Formular[0]["Info1"] = str_replace ("[EMPFAENGER]", $txName, $Formular[0]["Info1"]); } else { $Formular[0]["Name"]["Empfaenger"] = ""; $Formular[0]["EMail"]["Empfaenger"] = ""; $Formular[0]["Info1"] = ""; } } break; } # Sonderfälle switch ($Vorgaben["curClient"]) { case "VNV": { switch ($Vorgaben["Formulare"][$_REQUEST[FORM]]) { case "PreislisteAnfordern": { switch ($_REQUEST["Step"]) { case 1: case 2: { # Link zur Preiliste $_REQUEST["Link"] = "(" . fncPhrase ($Vorgaben, array ("wirdErzeugt")) . ")"; } break; case 3: { # Link zur Preiliste // $_REQUEST["Link"] = "*******************"; $_REQUEST["Link"] = "http://" . fncVorgaben ($Vorgaben, "Internet") . mb_substr ($Vorgaben["Ordner"]["Media"], 1) . fncVorgaben ($Vorgaben, "VNVPreisliste"); } break; } } break; } } break; case "CMK": { $Obj = $_REQUEST[OBJECT]; switch ($Vorgaben["Formulare"][$_REQUEST[FORM]]) { case "Bestellung": case "FrageZumProdukt": { # ausgewählte Produktkombi übergeben list ($idProdukt, $idPapier, $idPreis, $idFarbe) = explode (",", $Obj); # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ("datCMehrpreise")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datPapierformate")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datPapiersorten")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datFarben")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datCPreise")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datAuflagen")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datCFarben")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datCProdukte")); # Fixfilter fncFilter ("fltDatenbank", $Vorgaben, array ("datCProdukte", "ID", $idProdukt)); fncFilter ("fltDatenbank.P", $Vorgaben, array ("datCProdukte", $idProdukt)); # Fixfilter fncElement ("lmnCmkErzeugePreise", $Vorgaben, array ($idProdukt, $idPapier)); $_REQUEST["Prod"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCProdukte", $idProdukt, "Titel")); $_REQUEST["Desc"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCProdukte", $idProdukt, "Beschreibung")); $_REQUEST["Size"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPreis, "Format")); $_REQUEST["Colo"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPreis, "FarFar")); $_REQUEST["Numb"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPreis, "Auflage")); $_REQUEST["Pape"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPreis, "Papier")); $_REQUEST["Weig"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPreis, "Grammatur")); # Papierfarbe wählen, keine gewählt = Standard --> da ersetzen wir im Filter das Wort STANDARD mit der Std-Farbe if (!$idFarbe) // Standardfarbe { $_REQUEST["PaCo"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datPapiersorten", $Vorgaben["Data"]["datCPreise"][$idPreis]["Papier"], "StdFarbe")); } else // weitere Farbe { $_REQUEST["PaCo"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datFarben", $idFarbe, "Titel")); } $_REQUEST["Pric"] = fncFeld ("dtfWert.E", $Vorgaben, array ("datCPreise", $idPreis, "Preis")); $_REQUEST["PrIn"] = "Der Preis enthält die gesetzliche Mehrwertsteuer. Der Preis gilt auf der Grundlage einer belichtungsfähigen Datei. Die Datei darf nur die Farben enthalten, die auch gedruckt werden sollen! Die Lieferung erfolgt frei Haus."; # Werte belegen $BetreffAnhang = " " . $_REQUEST["Prod"] . " " . $_REQUEST["Comm"]; $Formular[0]["Betreff"] .= $BetreffAnhang; # Debug $datCPreise = $Vorgaben["Data"]["datCPreise"]; //$dbgVariable = "datCPreise"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; } } break; case "SFH": { $Obj = $_REQUEST[OBJECT]; switch ($Vorgaben["Formulare"][$_REQUEST[FORM]]) { case "NaVersenden": { # Konstanten $datDatenbank = "datReservierungen"; $idID = $Obj; # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # E-Mail aus DB holen $Formular[0]["Name"]["Empfaenger"] = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "VornameNachname")); $Formular[0]["EMail"]["Empfaenger"] = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "EMail")); // $Formular[0]["EMail"]["Kunde"] = $Formular[0]["EMail"]["Empfaenger"]; # an Formular übergeben $_REQUEST["Name"] = $Formular[0]["Name"]["Empfaenger"]; /* # da ausschl. fixe Felder, überspringe Schritt 1 if ($_REQUEST["Step"] == 1) { $_REQUEST["Step"] = 2; } $ObOhneSchritt1 = 1; */ } break; case "RgVersenden": { # Konstanten $datDatenbank = "datReservierungen"; $idID = $Obj; # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); # E-Mail aus DB holen $Formular[0]["Name"]["Empfaenger"] = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "VornameNachname")); $Formular[0]["EMail"]["Empfaenger"] = fncFeld ("dtfWert.N", $Vorgaben, array ($datDatenbank, $idID, "EMail")); // $Formular[0]["EMail"]["Kunde"] = $Formular[0]["EMail"]["Empfaenger"]; # an Formular übergeben $_REQUEST["Name"] = $Formular[0]["Name"]["Empfaenger"]; # Rechnung als PDF if ($Vorgaben["Data"][$datDatenbank][$idID]["Rechnung"]) { $_REQUEST["Anhang"] = "Rechnung als PDF"; $Formular[0]["DateiFeld"] = "File"; $_FILES["File"]["name"] = "rechnung.pdf"; $_FILES["File"]["size"] = 1; $_FILES["File"]["type"] = "APPLICATION/PDF"; $_FILES["File"]["tmp_name"] = $Vorgaben["Ordner"]["Media"] . $Vorgaben["Data"][$datDatenbank][$idID]["Rechnung"]; } } break; case "Reservierung": { # Datum prüfen if (funDatum ("Konvertieren.10.8", $Vorgaben, array ($_REQUEST["Arrival"])) < $Vorgaben["Heute"][8]) { $_REQUEST["Arrival"] = $Vorgaben["Heute"][10]; } if (funDatum ("Konvertieren.10.8", $Vorgaben, array ($_REQUEST["Departure"])) <= funDatum ("Konvertieren.10.8", $Vorgaben, array ($_REQUEST["Arrival"]))) { $_REQUEST["Departure"] = funDatum ("Konvertieren.10.10", $Vorgaben, array ($_REQUEST["Arrival"], 1)); } } break; } } break; case "SCN": { $Obj = ""; if (isset ($_REQUEST[OBJECT])) { $Obj = $_REQUEST[OBJECT]; } switch ($Vorgaben["Formulare"][$_REQUEST[FORM]]) { case "FrageZumProdukt": { # Datenbank(en) lesen $datDatenbank = "datKatalog"; fncDatenbank ("dtbLesen", $Vorgaben, array ($datDatenbank)); fncDatenbank ("dtbLesen", $Vorgaben, array ("datNhBereiche")); $txtAnhang = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $Obj, "Titel")) . "« (" . fncFeld ("dtfWert.E", $Vorgaben, array ("datNhBereiche", $Vorgaben["Data"][$datDatenbank][$Obj]["Bereiche"], "Bereich")) . ")"; $Formular[0]["Info1"] = fncPhrase ($Vorgaben, array ("ichInteressiereMFDProdukt", "G")) . " »" . $txtAnhang . "."; $Formular[0]["Betreff"] .= " " . $txtAnhang; } break; case "Bewerbungsbogen": { $txtAnhang = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $Obj, "ObjektID")) . " (" . fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $Obj, "Kategorie")) . ")"; $Formular[0]["Info1"] = "Ich bewerbe mich für die Wohnung " . $txtAnhang . ", " . fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $Obj, "Adresse")) . ". Ich versichere, dass alle nachfolgenden Auskünfte der Wahrheit entsprechen."; $Formular[0]["Betreff"] .= " " . $txtAnhang; } break; case "GrundrissAnfordern": { $txtAnhang = fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $Obj, "ObjektID")) . " (" . fncFeld ("dtfWert.E", $Vorgaben, array ($datDatenbank, $Obj, "Kategorie")) . ")"; $Formular[0]["Info1"] = "Bitte senden Sie mir einen Grundriss für das Objekt " . $txtAnhang . " zu."; $Formular[0]["Betreff"] .= " " . $txtAnhang; } break; } } break; case "PTG": { switch ($Vorgaben["Formulare"][$_REQUEST[FORM]]) { case "FrageZumProdukt": { # Debug //$dbgVariable = "hiersimma"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $idKatalog = $_REQUEST[OBJECT]; # Datenbank(en) lesen fncDatenbank ("dtbLesen", $Vorgaben, array ("datKatalog")); $Formular[0]["Betreff"] .= " " . $Vorgaben["Data"]["datKatalog"][$idKatalog]["Titel"]; $Formular[0]["Info1"] = fncPhrase ($Vorgaben, array ("ichInteressiereMFDProdukt", "G")) . " »" . $Vorgaben["Data"]["datKatalog"][$idKatalog]["Titel"] . "«"; } break; } } break; } # Formular wieder von Merke Formular ergänzen if (is_array ($mrkFormular)) foreach ($mrkFormular as $Feld => $Details) if ($Feld) if ($Feld != "Items") { $Formular[$Feld] = $Details; } unset ($Details); unset ($mrkFormular); # Debug //$dbgVariable = "Formular"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // if ($Formular[0]["FormularTitel"]) // { // $Vorgaben["Meta"]["SeitenTitel"] = $Formular[0]["FormularTitel"]; // } $Vorgaben["Formular"] = $Formular; $Gruppen = BasisGruppenExtrahieren_11 ($Vorgaben); $Vorgaben["Gruppen"] = $Gruppen; $Felder = BasisFelderExtrahieren_10 ($Formular); // $_REQUEST["Active"] = $_REQUEST["Active"]; if (!isset ($_REQUEST["Active"])) { $_REQUEST["Active"] = ""; } $ObFehlerFeld = $_REQUEST["Active"]; // vor Validierung von Active abfangen, falls User von Korrektur aus reinkommt if (!isset ($Felder[$_REQUEST["Active"]]) or !$Felder[$_REQUEST["Active"]]) // wenn kein gültiges Feld { $_REQUEST["Active"] = current ($Felder); // dann erstes gültiges Feld } // $_REQUEST = $_REQUEST; if (is_array ($Felder)) foreach ($Felder as $Feld) { if (isset ($_REQUEST[$Feld])) { $_REQUEST[$Feld] = funEingabe ("Filtern", $Vorgaben, array ($_REQUEST[$Feld])); } else { $_REQUEST[$Feld] = ""; } } if (is_array ($Formular)) foreach ($Formular as $FeldID => $X) if ($FeldID) switch ($Formular[$FeldID]["FeldTyp"]) { case "Optionen": $Kandidaten = $Formular[$FeldID]["Kandidaten"]; if (is_array ($Kandidaten)) foreach ($Kandidaten as $KandidatenID => $X) if ($_REQUEST[$FeldID . $KandidatenID]) { $_REQUEST[$FeldID][$KandidatenID] = 1; } break; } // $_REQUEST = $_REQUEST; # Debug // //$dbgVariable = "Request"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Eingaben validieren switch ($_REQUEST["Step"]) { case 2: case 3: // $ObFehlerFeld = BasisObEingabeFehler_11 ($Formular, $Eingaben); $ObFehlerFeld = funEingabe ("Fehler", $Vorgaben, array ()); if ($ObFehlerFeld) { $_REQUEST["Step"] = 1; $_REQUEST["Active"] = $ObFehlerFeld; } break; } // $_REQUEST["Step"] = $_REQUEST["Step"]; // $_REQUEST["Active"] = $_REQUEST["Active"]; # Eingaben validiert! switch ($_REQUEST["Step"]) { // default: case 1: { $Vorgaben["ObJSKontrolle"] = 1; $OnSubmit = "return JSKontrolle()"; // ohne abschließendes Semikolon --> geht über Format "Formular", da erst werden aus "|" --> ";" if ($Formular[0]["Info1"]) { $ObInfoBox = 1; $InfoBoxText = nl2br ($Formular[0]["Info1"]); } $SymboleRechts = BasisSymbolHinzufuegen_11 ($Vorgaben, "", "Inaktiv", "zurueck", 0,0, ""); $SymboleRechts = BasisSymbolHinzufuegen_11 ($Vorgaben, fncPhrase ($Vorgaben, array ("naechsterSchritt", "G")), "Absenden", "weiter", "SL" . ++$AnkerSL, "if (JSKontrolle()) { document.frmMvd.Step.value = 2; document.frmMvd.submit(); } ", $SymboleRechts); $OnLoad = array (); if (is_array ($Formular)) foreach ($Formular as $FeldID => $X) { if ($FeldID) switch ($Formular[$FeldID]["FeldTyp"]) { case "Optionen": if (is_array ($_REQUEST[$FeldID])) foreach ($_REQUEST[$FeldID] as $KandidatenID => $Wert) if ($Wert) { $OnLoad[] = "document.frmMvd." . $FeldID . $KandidatenID . ".checked = true; "; } break; } } if ($ObFehlerFeld) switch ($Formular[$_REQUEST["Active"]]["FeldTyp"]) { default: { $OnLoad[] = "document.Signal" . $_REQUEST["Active"] . ".src='" . $Vorgaben["Ordner"]["SDesign"] . "signal_rechts.gif'; "; $OnLoad[] = "document.frmMvd." . $_REQUEST["Active"] . ".focus(); "; } break; case "Optionen": { $OnLoad[] = "document.Signal" . $_REQUEST["Active"] . ".src='" . $Vorgaben["Ordner"]["SDesign"] . "signal_links.gif" . "'; "; $OnLoad[] = "document.frmMvd." . $_REQUEST["Active"] . key ($Formular[$_REQUEST["Active"]]["Kandidaten"]) . ".focus(); "; } break; case "Radio": { $OnLoad[] = "document.Signal" . $_REQUEST["Active"] . ".src='" . $Vorgaben["Ordner"]["SDesign"] . "signal_links.gif" . "'; "; $OnLoad[] = "document.frmMvd." . $_REQUEST["Active"] . "[0].focus(); "; } break; } elseif ($_REQUEST["Active"]) { switch ($Formular[$_REQUEST["Active"]]["FeldTyp"]) { default: $OnLoad[] = "document.frmMvd." . $_REQUEST["Active"] . ".focus(); "; break; case "Optionen": $OnLoad[] = "document.frmMvd." . $_REQUEST["Active"] . key ($Formular[$_REQUEST["Active"]]["Kandidaten"]) . ".focus(); "; break; case "Radio": $OnLoad[] = "document.frmMvd." . $_REQUEST["Active"] . "[0].focus(); "; break; } } else { $OnLoad[] = "focus(); "; } $Vorgaben["OnLoad"] = $OnLoad; } break; case 2: { $ObInfoBox = 1; if ($Formular[0]["Info2"]) { $InfoBoxText = nl2br ($Formular[0]["Info2"]); } else // Standard { $InfoBoxText = $Vorgaben["System"]["Vokabeln"]["InfoAngabenKontrollieren"]; } if (!$ObOhneSchritt1) { $SymboleRechts = BasisSymbolHinzufuegen_11 ($Vorgaben, fncPhrase ($Vorgaben, array ("EingabenKorrigieren", "G")), "Normal", "zurueck", "SL" . ++$AnkerSL, "document.frmMvd.Active.value = 0; document.frmMvd.Step.value = 1; document.frmMvd.submit(); ", $SymboleRechts); } $SymboleRechts = BasisSymbolHinzufuegen_11 ($Vorgaben, fncPhrase ($Vorgaben, array ("jetztVersenden", "G")), "Normal", "weiter", "SL" . ++$AnkerSL, "document.frmMvd.Step.value = 3; document.frmMvd.submit(); ", $SymboleRechts); } break; case 3: # setzen wg. Abwärtskompatibillität if (!$Formular[0]["ObAktionGesetzt"]) { $Formular[0]["Aktionen"]["Mail"] = 1; } # Aktionen? if (is_array ($Formular[0]["Aktionen"])) foreach ($Formular[0]["Aktionen"] as $Aktion => $Optionen) switch ($Aktion) { case "aktSFHsetzen": // Spree-Ferienhaus Formular schrebt in die DB { # DB lesen fncDatenbank ("dtbLesen", $Vorgaben, array ("datReservierungen")); # Daten ändern $datID = funDatenbank ("FreieID", $Vorgaben, array ("datReservierungen")); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "ID", $datID)); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "Name", $_REQUEST["Name"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "Vorname", $_REQUEST["FName"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "Strasse", $_REQUEST["Street"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "PLZ", $_REQUEST["PostCode"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "Ort", $_REQUEST["Location"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "PlanAnreise", $_REQUEST["Arrival"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "PlanAbreise", $_REQUEST["Departure"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "EMail", $_REQUEST["Mail"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "Telefon", $_REQUEST["Phone"])); funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "AnzahlPersonen", $_REQUEST["Persons"])); # Reservierung von außen im Kommentarfeld kennzeichnen funDatenbank ("datAendern", $Vorgaben, array ("datReservierungen", $datID, "Kommentar", "*** Gastreservierung *** / " . $_REQUEST["Message"])); # DB schreiben fncDatenbank ("dtbSchreiben", $Vorgaben, array ()); # Debug //$dbgVariable = "aktSFHsetzen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "datID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "AKTNEWSLETTER": // An-/Abmelden aus Newsletter { //$dbgVariable = "Aktion"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Anfrage = funAnfrage ("Auswerten", $Vorgaben, array ($Optionen, "=", ",")); //$dbgVariable = "Anfrage"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); fncDatenbank ("dtbLesen", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"])); $regMailAdressen = fncAltRegister ("Ziehen", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"], $Anfrage["Werte"]["felEMail"] . ":Gross", "ID")); $datID = $regMailAdressen[mb_strtoupper ($_REQUEST[$Anfrage["Werte"]["reqEMail"]])]; switch ($_REQUEST[$Anfrage["Werte"]["reqSchalter"]] / 1) { case 1: // Anmelden //$dbgInfo = "Anmelden"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); if (!$datID) { $datID = funDatenbank ("FreieID", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"])); } funDatenbank ("datAendern", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"], $datID, $Anfrage["Werte"]["felEMail"], mb_strtolower ($_REQUEST[$Anfrage["Werte"]["reqEMail"]]))); funDatenbank ("datAendern", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"], $datID, $Anfrage["Werte"]["felName"], $_REQUEST[$Anfrage["Werte"]["reqName"]])); funDatenbank ("datAendern", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"], $datID, $Anfrage["Werte"]["felNewsletter"], $Anfrage["Werte"]["reqNewsletter"])); break; case 2: // Abmelden //$dbgInfo = "Abmelden"; echo fncDebug ("Info", array ($Vorgaben["ObDebug"], $dbgInfo)); $Vorgaben = fncDatensatz ("DsEntfernen", $Vorgaben, array ($Anfrage["Werte"]["datAbonnenten"], $datID)); break; } fncDatenbank ("dtbSchreiben", $Vorgaben, array ()); // //$dbgVariable = "regMailAdressen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "datID"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); } break; case "aktVersand": // Standardmäßiger Versand als E-Mail //$dbgVariable = "Aktion"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); //$dbgVariable = "Optionen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Mailaktion? if ($ObMail = $Optionen) { $Nachrichten = funNachricht ("Erstellen", $Vorgaben, array ()); # Debug //$dbgVariable = "Nachrichten"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); if (is_array ($Nachrichten)) foreach ($Nachrichten as $Kennung => $Details) { if (is_array ($Details)) { extract ($Details); } if (funNachricht ("Senden", $Vorgaben, array ($AbsenderName, $AbsenderAdresse, $EmpfaengerName, $EmpfaengerAdresse, $Betreff, $Nachricht, $Anhang))) { } else { } } } break; } // $dbgBlock = ""; echo fncDebug ("Block.Z", array ($Vorgaben["ObDebug"])); $ObInfoBox = 1; if ($Formular[0]["Info3"]) { $InfoBoxText = nl2br ($Formular[0]["Info3"]) . funText ("Kette", $Vorgaben, array (floor ((555 - mb_strlen ($Formular[0]["Info3"])) / 30), "
")); // wir überlisten den IE, weil er min-height nicht kennt } else // Standard { $InfoBoxText = $Vorgaben["System"]["Vokabeln"]["InfoErfolgreichVersandt"] . "

















"; } break; } # Symbole unten $SymboleLinks = BasisSymbolHinzufuegen_11 ($Vorgaben, fncPhrase ($Vorgaben, array ("FensterSchliessen", "G")), "Normal", "schliessen", "SL" . ++$AnkerSL, "window.close(); ", ""); for ($Z = 1; $Z <= 3; $Z++) { if ($Z == $_REQUEST["Step"]) { $Zustand = "Aktiv"; } else { $Zustand = "Inaktiv"; } $SymboleMitte = BasisSymbolHinzufuegen_11 ($Vorgaben, fncPhrase ($Vorgaben, array ("Schritt", "G")) . " " . $Z, $Zustand, "phase" . $Z, 0,0, $SymboleMitte); } $Vorgaben["SymboleLinks"] = $SymboleLinks; $Vorgaben["SymboleMitte"] = $SymboleMitte; $Vorgaben["SymboleRechts"] = $SymboleRechts; $Vorgaben["OnSubmit"] = $OnSubmit; $Vorgaben["ObInfoBox"] = $ObInfoBox; $Vorgaben["InfoBoxText"] = $InfoBoxText; //$dbgVariable = "Formular"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # SetTitle fncNavi ("SetTitle.F", $Vorgaben, array ()); # Ausgabe fncElement ("lmnAusgabe.F", $Vorgaben, array ()); } break; case "booXLS": { header ("Content-Type: application/vnd.ms-excel"); header ("Content-Disposition: attachment; filename=\"mavidesk-export-" . date ("Y-m-d") . ".xls\""); # bisher nur Kabel # erzeugt eine Exceltabelle nach vorgegebenem Muster # neue Spalte = \t # neue Zeile = \n fncDatenbank ("dtbLesen", $Vorgaben, array ("datDisposition")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datMitarbeiter")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datArbeitsgruppen")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datMitglieder")); fncDatenbank ("dtbLesen", $Vorgaben, array ("datFeiertage")); $regFeiertage = fncRegister ("rgsZiehen.", array ($Vorgaben, "datFeiertage", "Datum", "Titel")); // $regTeams = fncRegister ("rgsZiehen.", array ($Vorgaben, "datArbeitsgruppen", "ID", "Titel")); // $regTeams = fncAltRegister ("Sortieren", $Vorgaben, array ($regTeams)); $regTeams[0] = "ohne"; // für alle ohne Team, ans Ende $Wochenbeginn = funDatum ("Termin.Wochenbeginn", $Vorgaben, array ($Vorgaben["Heute"][8])); $Wochenende = funDatum ("Termin.Wochenende", $Vorgaben, array (funDatum ("Termin.Differenz", $Vorgaben, array ($Vorgaben["Heute"][8], 0, 25)))); $Zeitraum = funDatum ("Zeitraum.TageweiseNeu.KW-WO.8", $Vorgaben, array ($Wochenbeginn, $Wochenende, $regFeiertage)); $Wochen = funDatum ("Wochen", $Vorgaben, array ($Zeitraum)); // funDatenbank ("Filtern.Standard.Direktwert", $Vorgaben, array ("datMitarbeiter", "ObAktiv", 1)); // funDatenbank ("Filtern.AbDatum.Direktwert", $Vorgaben, array ("datMitarbeiter", "Austrittsdatum", funDatum ("Konvertieren.8.10", $Vorgaben, array ($Wochenbeginn)))); // funDatenbank ("Filtern.BisDatum.Direktwert", $Vorgaben, array ("datMitarbeiter", "Eintrittsdatum", funDatum ("Konvertieren.8.10", $Vorgaben, array ($Wochenende)))); // $regMitarbeiter = fncRegister ("rgsZiehen.", array ($Vorgaben, "datMitarbeiter", "ID", "NachnameVorname")); // $regMitarbeiter = fncAltRegister ("Sortieren", $Vorgaben, array ($regMitarbeiter)); # Mitarbeiter den physischen Teams zuordnen (für Gruppierung) funDatenbank ("Mitarbeiter.Teams", $Vorgaben, array ()); # Dispo wird komplett an Mitarbeiter und an Arbeitsgruppen übergeben funDatenbank ("Disposition.Uebergeben", $Vorgaben, array ()); // $Mitarbeiter = $Vorgaben["Data"]["datMitarbeiter"]; // //$dbgVariable = "Mitarbeiter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // $Arbeitsgruppen = $Vorgaben["Data"]["datArbeitsgruppen"]; // //$dbgVariable = "Arbeitsgruppen"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regTeams"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); // //$dbgVariable = "regMitarbeiter"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); $Sammler = array (); # Kopf, Spaltenbeschriftung KWs if (is_array ($Zeitraum)) foreach ($Zeitraum as $KW => $Woche) { $Sammler["KWs"][$KW] = $KW; } // //$dbgVariable = "Zeitraum"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # darunter maximale Verfügbarkeit if (is_array ($Zeitraum)) foreach ($Zeitraum as $KW => $Woche) { $Werktage = 0; if (is_array ($Woche)) foreach ($Woche as $Datum => $Wochentag) if (mb_strtoupper ($Wochentag) != "SA" and mb_strtoupper ($Wochentag) != "SO" and mb_strtoupper ($Wochentag) != "FE") $Werktage++; $Sammler["Werktage"][$KW] = $Werktage; } if (is_array ($regTeams)) foreach ($regTeams as $TID => $Team) if (!$TID or $Vorgaben["Data"]["datArbeitsgruppen"][$TID]["Typ"] == 1) { $Sammler["Teams"][$TID]["Titel"] = $Team; if (is_array ($regMitarbeiter)) foreach ($regMitarbeiter as $MID => $NachnameVorname) if (($TID and $Vorgaben["Data"]["datMitarbeiter"][$MID]["ObAktiv"] and $Vorgaben["Data"]["datMitarbeiter"][$MID]["TeamID"] == $TID and !$Sammler["Mitarbeiter"][$MID]["Abgehakt"]) or !$TID and !$Sammler["Mitarbeiter"][$MID]["Abgehakt"]) { $Sammler["Mitarbeiter"][$MID]["Abgehakt"] = 1; $Sammler["Mitarbeiter"][$MID]["Nachname"] = $Vorgaben["Data"]["datMitarbeiter"][$MID]["Nachname"]; $Sammler["Mitarbeiter"][$MID]["Vorname"] = $Vorgaben["Data"]["datMitarbeiter"][$MID]["Vorname"]; $Sammler["Teams"][$TID]["Mitarbeiter"][$MID] = $MID; if (is_array ($Zeitraum)) foreach ($Zeitraum as $KW => $Woche) { $Anwesend = 0; if (is_array ($Woche)) foreach ($Woche as $Datum => $Wochentag) { switch (mb_strtoupper ($Wochentag)) { case "SA": case "SO": case "FE": break; default: if ((!$Vorgaben["Data"]["datMitarbeiter"][$MID]["Eintrittsdatum"] or $Vorgaben["Data"]["datMitarbeiter"][$MID]["Eintrittsdatum"] <= $Datum) and (!$Vorgaben["Data"]["datMitarbeiter"][$MID]["Austrittsdatum"] or $Vorgaben["Data"]["datMitarbeiter"][$MID]["Austrittsdatum"] >= $Datum) and !$Vorgaben["Data"]["datMitarbeiter"][$MID]["ObAbwesend"][$Datum]) { $Anwesend++; } break; } } $Sammler["Mitarbeiter"][$MID]["Anwesend"][$KW] = $Anwesend; $Sammler["Teams"][$TID]["Anwesend"][$KW] += $Anwesend; } } } // //$dbgVariable = "Sammler"; echo fncDebug ("Variable", array ($Vorgaben["ObDebug"], trim ($dbgVariable), ${trim($dbgVariable)})); # Ausgabe der Daten # Kopf, Spaltenbeschriftung KWs echo "\t"; echo "\t"; echo "Kalenderwoche"; if (is_array ($Sammler["KWs"])) foreach ($Sammler["KWs"] as $KW) { echo "\tKW " . $KW; } echo "\n"; # darunter maximale Verfügbarkeit echo "\t"; echo "\t"; echo "Werktage"; if (is_array ($Sammler["KWs"])) foreach ($Sammler["KWs"] as $KW) { echo "\t" . $Sammler["Werktage"][$KW]; } echo "\n"; echo "\n"; echo "Team"; echo "\t"; echo "Name"; echo "\t"; echo "Vorname"; echo "\n"; if (is_array ($Sammler["Teams"])) foreach ($Sammler["Teams"] as $TID => $X) { echo $Sammler["Teams"][$TID]["Titel"]; echo "\t"; echo "\t"; if (is_array ($Sammler["KWs"])) foreach ($Sammler["KWs"] as $KW) { echo "\t" . $Sammler["Teams"][$TID]["Anwesend"][$KW]; } echo "\n"; if (is_array ($Sammler["Teams"][$TID]["Mitarbeiter"])) foreach ($Sammler["Teams"][$TID]["Mitarbeiter"] as $MID => $X) { echo "\t" . utf8_decode ($Sammler["Mitarbeiter"][$MID]["Nachname"]); echo "\t" . utf8_decode ($Sammler["Mitarbeiter"][$MID]["Vorname"]); if (is_array ($Sammler["KWs"])) foreach ($Sammler["KWs"] as $KW) { echo "\t" . $Sammler["Mitarbeiter"][$MID]["Anwesend"][$KW]; } echo "\n"; } echo "\n"; } } break; } //echo "elapsed time: " . round (xdebug_time_index()) . " ms | " . round (xdebug_memory_usage() / 1048576) . " M (" . round (xdebug_peak_memory_usage() / 1048576) . " M peak)"; //phpinfo(); ?>