function make_ebene($mid, $ebene = "") { # call: make_ebene(refid); global $db, $cfg; $sql = "SELECT refid, entry\n FROM site_menu\n WHERE mid='" . $mid . "'"; $result = $db->query($sql); $array = $db->fetch_array($result, $nop); $ebene = "/" . $array["entry"] . $ebene; if ($array["refid"] != 0) { $ebene = make_ebene($array["refid"], $ebene); } return $ebene; }
function rss_walk_path($refid) { global $db, $environment, $dataloop, $cfg; // content dieser ebene suchen $ebene = make_ebene($refid); if (preg_match("/^\\/aktuell/", $ebene)) { rss_get_content($ebene, -1); } else { rss_get_content($ebene); } // das menue durchgehen $sql = "SELECT *\n FROM " . $cfg["rss"]["db"]["menu"]["entries"] . "\n JOIN " . $cfg["rss"]["db"]["lang"]["entries"] . "\n ON (" . $cfg["rss"]["db"]["menu"]["entries"] . "." . $cfg["rss"]["db"]["menu"]["key"] . "=" . $cfg["rss"]["db"]["lang"]["entries"] . "." . $cfg["rss"]["db"]["menu"]["key"] . ")\n WHERE " . $cfg["rss"]["db"]["menu"]["ref"] . "=" . $refid . "\n AND " . $cfg["rss"]["db"]["lang"]["lang"] . "='" . $environment["language"] . "'\n AND (" . $cfg["rss"]["db"]["menu"]["hide"] . "='0'\n OR " . $cfg["rss"]["db"]["menu"]["hide"] . " IS NULL)"; $result = $db->query($sql); while ($data = $db->fetch_array($result, 1)) { $ebene = make_ebene($data["mid"]); rss_walk_path($data["mid"]); } }
function renumber_blog($kategorie = "") { global $db, $environment, $blog, $cfg, $status; $where = ""; if ($kategorie != "") { $where = " AND SUBSTR(content,POSITION('[" . $cfg["bloged"]["blogs"][$blog]["category"] . "]' IN content)+11,POSITION('[/" . $cfg["bloged"]["blogs"][$blog]["category"] . "]' IN content)-11-POSITION('[" . $cfg["bloged"]["blogs"][$blog]["category"] . "]' IN content)) ='" . $kategorie . "'"; } $sql = "SELECT Cast(SUBSTR(content,POSITION('[" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "]' IN content)+6,POSITION('[/" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "]' IN content)-POSITION('[" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "]' IN content)-6) AS SIGNED) AS date,content,tname \n FROM site_text \n WHERE " . $status . " AND tname like '" . eCRC(make_ebene($environment["parameter"][4])) . ".%'" . $where . " order by date ASC"; $result = $db->query($sql); $count = 0; $preg = "^\\[!\\][0-9]*"; while ($data = $db->fetch_array($result, 1)) { $count = $count + 10; $content = preg_replace("|\\[" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "\\][-0-9]*\\[\\/" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "\\]|", "\\[" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "\\]" . $count . "[\\/" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "\\]", $data["content"]); $sql_update = "UPDATE site_text SET content='" . $content . "' WHERE " . $status . " and tname ='" . $data["tname"] . "'"; if ($_SESSION["wizard_content"][DATABASE . "," . $data["tname"] . ",inhalt"]) { $_SESSION["wizard_content"][DATABASE . "," . $data["tname"] . ",inhalt"] = preg_replace("|\\[" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "\\][-0-9]*\\[\\/" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "\\]|", "[" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "]" . $count . "[/" . $cfg["bloged"]["blogs"][$blog]["sort"][0] . "]", $_SESSION["wizard_content"][DATABASE . "," . $data["tname"] . ",inhalt"]); } $result_update = $db->query($sql_update); } }
// content tabellen aenderungen if ($ausgaben["form_error"] == "") { $sql = "SELECT entry\n FROM " . $cfg["menued"]["db"]["menu"]["entries"] . "\n WHERE " . $cfg["menued"]["db"]["menu"]["key"] . " = '" . $environment["parameter"][1] . "'"; $result = $db->query($sql); $data = $db->fetch_array($result, 1); // wurde der entry geaendert? if ($data["entry"] != $fixed_entry) { // gibt den geaenderten entry bereits? $sql = "SELECT entry\n FROM " . $cfg["menued"]["db"]["menu"]["entries"] . "\n WHERE refid = '" . $HTTP_POST_VARS["refid"] . "'\n AND entry = '" . $fixed_entry . "'"; $result1 = $db->query($sql); $test = $db->fetch_array($result, 1); if ($test["entry"] == $fixed_entry) { $ausgaben["form_error"] .= "#(error_dupe)"; } if ($ausgaben["form_error"] == "") { $new_url = make_ebene($_POST["refid"]); if ($new_url == "/") { $new_url = ""; } $new_url .= "/" . $fixed_entry; update_tname($environment["parameter"][1], $new_url); } } } // menu tabellen aenderungen if ($ausgaben["form_error"] == "") { $kick = array("PHPSESSID", "send", "add", "delete", "image", "image_x", "image_y", "form_referer", "new_lang", "lang", "label", "extend", "exturl", "entry"); foreach ($HTTP_POST_VARS as $name => $value) { if (!in_array($name, $kick) && !strstr($name, ")")) { if ($sqla != "") { $sqla .= ", ";
function menu_generate($refid = 0, $level = 1, $arrEbene = "", $url = "") { global $db, $cfg, $debugging, $environment, $pathvars, $rechte, $dataloop, $hidedata, $ausgaben; if ($cfg["menu"]["level" . $level]["enable"] == "-1") { $mandatory = " AND ((" . $cfg["menu"]["db"]["entries"] . ".mandatory)='-1')"; if ($cfg["menu"]["level" . $level]["full"] == "-1") { $mandatory = ""; } if ($cfg["menu"]["level" . $level]["extend"] == "-1") { $extenddesc = $cfg["menu"]["db"]["entries"] . "_lang.extend,"; } if ($arrEbene == "") { $ebene = $environment["ebene"] . "/" . $environment["kategorie"]; $arrEbene = explode("/", $ebene); $url = $pathvars["virtual"]; } $sql = "SELECT " . $cfg["menu"]["db"]["entries"] . ".mid," . $cfg["menu"]["db"]["entries"] . ".refid," . $cfg["menu"]["db"]["entries"] . ".entry," . $cfg["menu"]["db"]["entries"] . ".picture," . $cfg["menu"]["db"]["entries"] . ".level," . $cfg["menu"]["db"]["entries"] . "_lang.lang," . $cfg["menu"]["db"]["entries"] . "_lang.label," . $extenddesc . " " . $cfg["menu"]["db"]["entries"] . "_lang.exturl" . " FROM " . $cfg["menu"]["db"]["entries"] . " INNER JOIN " . $cfg["menu"]["db"]["entries"] . "_lang" . " ON " . $cfg["menu"]["db"]["entries"] . ".mid = " . $cfg["menu"]["db"]["entries"] . "_lang.mid" . " WHERE (" . "(" . $cfg["menu"]["db"]["entries"] . ".refid=" . $refid . ")" . " AND (" . $cfg["menu"]["db"]["entries"] . ".hide <> '-1' OR " . $cfg["menu"]["db"]["entries"] . ".hide IS NULL)" . " AND (" . $cfg["menu"]["db"]["entries"] . "_lang.lang='" . $environment["language"] . "')" . $mandatory . ")" . " ORDER BY sort, label;"; if ($cfg["menu"]["db"]["debug"]) { $debugging["ausgabe"] .= "level" . $level . "sql: " . $sql . $debugging["char"]; } $result = $db->query($sql); $buffer = ""; $menu2 = ""; while ($data = $db->fetch_array($result, 1)) { // berechtigung abfragen if ($data["level"] != "") { if (!priv_check(make_ebene($data["mid"]), $data["level"])) { continue; } } // link und ziel $aktiv = ""; if ($data["exturl"] == "") { $link = $url . "/" . $data["entry"] . ".html"; $target = ""; // eintrag aktiv? if ($data["entry"] == $arrEbene[1]) { $aktiv = "aktiv"; } else { $aktiv = ""; } } else { $link = $data["exturl"]; $target = $cfg["menu"]["level" . $level]["target"]; } // label,die boese schneide ab funktion $label = $data["label"]; if (strlen($data["label"]) > $cfg["menu"]["level" . $level]["length"]) { $label = substr($data["label"], 0, $cfg["menu"]["level" . $level]["length"] - 3) . "..."; } $titel = $data["label"]; if ($data["extend"] != "") { $titel = $data["extend"]; } // was wird wodurch ersetzt $marken = array("##target##", "##link##", "##title##", "##label##", "##picture##", "##extend##", "##aktiv##"); $ersatz = array($target, $link, $titel, $label, $data["picture"], $data["extend"], $aktiv); // version mit template if ($cfg["menu"]["generate"] == false) { if ($level != 1) { $ausgaben["punkte"] .= str_replace($marken, $ersatz, $cfg["menu"]["level" . $level]["link"]); } else { if ($data["entry"] == $arrEbene[1]) { // open folder $ausgaben["ordner"] = str_replace($marken, $ersatz, $cfg["menu"]["level1"]["icona"]); } else { // closed folder $ausgaben["ordner"] = str_replace($marken, $ersatz, $cfg["menu"]["level1"]["iconb"]); } } } // css-klasse und naechste ebene $class = "Level" . $level; $next_level = ""; if ($data["entry"] == $arrEbene[1]) { // css-klasse erzeugen $class = "Level" . $level . "Active"; // ebenen-array veraendern unset($arrEbene[1]); $arrEbene = array_values($arrEbene); $ausgaben["pagetitle"] = $data["label"]; if ($cfg["menu"]["level" . $level]["extend"] == "-1") { $ausgaben["extenddesc"] = $data["extend"]; } // naechste ebene abarbeiten $next_level = menu_generate($data["mid"], $level + 1, $arrEbene, $url . "/" . $data["entry"]); } $marken[] = "##class##"; $ersatz[] = $class; $marken[] = "##next_level##"; $ersatz[] = $next_level; // version mit template if ($cfg["menu"]["generate"] == false) { if ($level == 1) { $ausgaben["ueberschrift"] = str_replace($marken, $ersatz, $cfg["menu"]["level1"]["link"]); $menu2 .= parser($cfg["menu"]["name"], "", $parse_find, $parse_put); $ausgaben["punkte"] = ""; } } // dataloop und hideloop fuer die entsprechende Ebene wird gebaut $dataloop["level" . $level][] = array("link" => $link, "title" => $data["label"], "item" => $label, "class" => $class); $hidedata["level" . $level][0] = "enable"; // welcher link aufbau if ($cfg["menu"]["level1"]["link2"] == "") { $link_build = "link"; } else { if ($aktiv == "") { $link_build = "link1"; } else { $link_build = "link2"; } } // komplett $buffer .= str_replace($marken, $ersatz, $cfg["menu"]["level" . $level][$link_build]); } if ($cfg["menu"]["generate"] == true) { if ($buffer != "") { $menu2 = $cfg["menu"]["level" . $level]["on"] . $buffer . $cfg["menu"]["level" . $level]["off"]; } } return $menu2; } }
$debugging["ausgabe"] .= "level3res: " . $level3result . $debugging["char"]; } #if ( $db -> num_rows($level1result) == 0 ){ # if ( $debugging["html_enable"] ) $debugging["ausgabe"] .= "Language: \"".$environment["language"]."\" for submenu not found using default: \"".$specialvars["default_language"]."\"".$debugging["char"]; # $sql = "SELECT ".$cfg["menu"]["db"]["entries"].".mid, ".$cfg["menu"]["db"]["entries"].".entry, ".$cfg["menu"]["db"]["entries"].".refid, ".$cfg["menu"]["db"]["entries"].".level, ".$cfg["menu"]["db"]["language"].".lang, ".$cfg["menu"]["db"]["language"].".label, ".$cfg["menu"]["db"]["language"].".exturl FROM ".$cfg["menu"]["db"]["entries"]." INNER JOIN ".$cfg["menu"]["db"]["language"]." ON ".$cfg["menu"]["db"]["entries"].".mid = ".$cfg["menu"]["db"]["language"].".mid WHERE (((".$cfg["menu"]["db"]["entries"].".refid)=".$level2array["mid"].") AND ((".$cfg["menu"]["db"]["language"].".lang)='".$specialvars["default_language"]."')) order by sort;"; # $submenuresult = $db -> query($sql); #} if ($level3rows > 0) { $ausgaben["punkte"] .= $cfg["menu"]["level3"]["on"]; } while ($level3array = $db->fetch_array($level3result, $nop)) { if ($cfg["menu"]["level3"]["enable"] == -1) { if ($level3array["level"] == "") { $right = -1; } else { if (priv_check(make_ebene($level3array["mid"]), $level3array["level"])) { $right = -1; } else { $right = 0; } } if ($right == -1) { // die boese schneide ab funktion if (strlen($level3array["label"]) > $cfg["menu"]["level3"]["length"]) { $level3array["label"] = substr($level3array["label"], 0, $cfg["menu"]["level3"]["length"] - 4) . " ..."; } // wo geht der href hin? if ($level3array["exturl"] == "") { $href = $cfg["menu"]["base"] . "/" . $level1array["entry"] . "/" . $level2array["entry"] . "/" . $level3array["entry"] . ".html"; $target = ""; $aktiv = "";
Lerchenstr. 11c 86343 K�nigsbrunn URL: http://www.chaos.de */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// $kategorie2check = substr(make_ebene($environment["parameter"][2]), 0, strpos(make_ebene($environment["parameter"][2]), "/")); $ebene2check = substr(make_ebene($environment["parameter"][2]), strpos(make_ebene($environment["parameter"][2]), "/")); if ($environment["parameter"][1] != "all") { // um bei den menupunkten die Reihenfolge veraendern zu koennen muss man das recht fuer den uebergeordneten Punkt besitzen $sql = "SELECT refid FROM " . $cfg["menued"]["db"]["menu"]["entries"] . " WHERE mid='" . $environment["parameter"][2] . "'"; $result = $db->query($sql); $refid = $db->fetch_array($result, 1); $kategorie2check_2 = substr(make_ebene($refid["refid"]), 0, strpos(make_ebene($refid["refid"]), "/")); $ebene2check_2 = substr(make_ebene($refid["refid"]), strpos(make_ebene($refid["refid"]), "/")); if ($cfg["menued"]["modify"]["sort"][2] == "" || priv_check('', $cfg["menued"]["modify"]["sort"][2]) || $cfg["auth"]["menu"]["menued"][2] == -1 && priv_check('', $cfg["menued"]["modify"]["sort"][2], $specialvars["dyndb"])) { if ($environment["parameter"][1] == "up") { $sql = "UPDATE " . $cfg["menued"]["db"]["menu"]["entries"] . "\n SET sort=sort-11\n WHERE mid='" . $environment["parameter"][2] . "'"; if ($debugging["sql_enable"]) { $debugging["ausgabe"] .= "sql: " . $sql . $debugging["char"]; } $db->query($sql); } elseif ($environment["parameter"][1] == "down") { $sql = "UPDATE " . $cfg["menued"]["db"]["menu"]["entries"] . "\n SET sort=sort+11\n WHERE mid='" . $environment["parameter"][2] . "'"; if ($debugging["sql_enable"]) { $debugging["ausgabe"] .= "sql: " . $sql . $debugging["char"]; } $db->query($sql); } }
function update_tname($refid, $suchmuster = "", $ersatz = "") { global $db, $cfg, $debugging, $ausgaben; $sql = "SELECT mid, refid, entry FROM " . $cfg["db"]["menu"]["entries"] . " WHERE refid ='" . $refid . "'"; $result = $db->query($sql); while ($data = $db->fetch_array($result, 1)) { // aktuelle ebene suchen $ebene = make_ebene($data["refid"]); // eindeutiges suchmuster erstellen #if ( $suchmuster == "" ) { # $suchmuster = $ebene; # $ersatz = substr($ebene,0,strrpos($ebene,"/"))."/".$new; #} // alter tname if ($ebene != "/") { $extend = eCRC($ebene) . "."; } $old_tname = $extend . $data["entry"]; #echo $ebene.":".$old_tname."<br>"; // neuer tname $ebene = str_replace($suchmuster, $ersatz, $ebene); if ($ebene != "/") { $extend = eCRC($ebene) . "."; } $new_tname = $extend . $data["entry"]; #echo $ebene.":".$new_tname."<br>"; $sql = "UPDATE " . $cfg["db"]["text"]["entries"] . "\n SET tname = '" . $new_tname . "',\n ebene = '" . $ebene . "',\n kategorie = '" . $data["entry"] . "'\n WHERE tname = '" . $old_tname . "'"; if ($debugging["sql_enable"]) { $debugging["ausgabe"] .= "sql: " . $sql . $debugging["char"]; } $subresult = $db->query($sql); if (!$subresult) { $ausgaben["form_error"] .= $db->error("#(menu_error)<br />"); } // und das gleiche fuer alle unterpunkte update_tname($data["mid"], $suchmuster, $ersatz); } }
function sitemap($refid, $script_name, $art = "", $modify = "", $self = "") { global $hidedata, $design, $opentree, $treelink, $ausgaben, $cfg, $environment, $db, $pathvars, $specialvars, $rechte, $buffer, $positionArray; if (!$ausgaben["path"]) { $ausgaben["path"] = ""; } $where = ""; switch ($art) { case menued: $flapmenu = -1; $aktionlinks = -1; $hidestatus = -1; $sortinfo = -1; break; case select: $flapmenu = -1; $radiorefid = -1; $hidestatus = -1; break; case wizard: $flapmenu = -1; $aktionlinks = -1; $where = "AND (" . $cfg[$script_name]["db"]["menu"]["entries"] . ".hide IS NULL OR " . $cfg[$script_name]["db"]["menu"]["entries"] . ".hide IN ('','0'))"; break; case sitemap: $sitemap = -1; $where = "AND (" . $cfg[$script_name]["db"]["menu"]["entries"] . ".hide IS NULL OR " . $cfg[$script_name]["db"]["menu"]["entries"] . ".hide IN ('','0'))"; break; default: } $sql = "SELECT " . $cfg[$script_name]["db"]["menu"]["entries"] . ".mid,\n " . $cfg[$script_name]["db"]["menu"]["entries"] . ".entry,\n " . $cfg[$script_name]["db"]["menu"]["entries"] . ".refid,\n " . $cfg[$script_name]["db"]["menu"]["entries"] . ".level,\n " . $cfg[$script_name]["db"]["menu"]["entries"] . ".sort,\n " . $cfg[$script_name]["db"]["menu"]["entries"] . ".hide,\n " . $cfg[$script_name]["db"]["lang"]["entries"] . ".lang,\n " . $cfg[$script_name]["db"]["lang"]["entries"] . ".label,\n " . $cfg[$script_name]["db"]["lang"]["entries"] . ".exturl\n FROM " . $cfg[$script_name]["db"]["menu"]["entries"] . "\n INNER JOIN " . $cfg[$script_name]["db"]["lang"]["entries"] . "\n ON " . $cfg[$script_name]["db"]["menu"]["entries"] . ".mid = " . $cfg[$script_name]["db"]["lang"]["entries"] . ".mid\n WHERE (" . $cfg[$script_name]["db"]["menu"]["entries"] . ".refid=" . $refid . ")\n AND (" . $cfg[$script_name]["db"]["lang"]["entries"] . ".lang='" . $environment["language"] . "')\n " . $where . "\n ORDER BY " . $cfg[$script_name]["db"]["menu"]["order"] . ";"; $result = $db->query($sql); $count = $db->num_rows($result); while ($array = $db->fetch_array($result, 1)) { // aufbau des pfads if ($refid == 0 || in_array($refid, $positionArray) || $sitemap == -1) { $buffer["pfad"] .= "/" . $array["entry"]; $buffer["pfad_label"] .= "/" . $array["label"]; } // hide-status signalisieren $class_hide = "\"\""; if ($hidestatus == -1) { if ($array["hide"] == -1) { $class_hide = "\"red\""; } } // menu-aufbau ala konqueror oder zum klappen if ($flapmenu == -1) { // zweiten parameter mitziehen wenn er gesetzt ist if ($environment["parameter"][2] != "") { $move_parameter = "," . $environment["parameter"][2]; } else { $move_parameter = ""; } // alle punkte die nicht im array sind nicht anzeigen if ($refid != 0 && !in_array($refid, $positionArray)) { continue; } else { // menu auf werner-art, hier auch noch den gesamten ast ausblenden ! // nur noch die mit der refid laut $_SESSION if ($design == "modern") { if ($array["refid"] != $_SESSION["menued_id"]) { if ($_SESSION["menued_id"] != "" || $array["refid"] != 0) { $buffer[$refid]["display"] = "none"; } } // back-link bauen if ($array["mid"] == $_SESSION["menued_id"]) { $ausgaben["path"] = $buffer["pfad_label"]; if ($array["refid"] == 0) { $hidedata["back"]["link"] = $cfg[$script_name]["basis"] . "/" . $environment["parameter"][0] . "," . $array["refid"] . $move_parameter . ".html\""; } else { $hidedata["back"]["link"] = $cfg[$script_name]["basis"] . "/" . $environment["parameter"][0] . "," . $array["refid"] . $move_parameter . ".html\""; } } } } // schauen ob unterpunkte vorhanden ! $sql = "SELECT * FROM " . $cfg[$script_name]["db"]["menu"]["entries"] . " WHERE refid=" . $array["mid"]; $result_in = $db->query($sql); $count_in = $db->num_rows($result_in); // sind unterpunkte vorhanden + oder - einblenden if ($count_in > 0 && $array["mid"] != $environment["parameter"][2]) { $copy = $positionArray; array_shift($copy); is_array($opentree) && in_array($array["mid"], $opentree) ? $sign = "-" : ($sign = "+"); $href = "<a class=" . $class_hide . " href=\"" . $cfg[$script_name]["basis"] . "/" . $environment["parameter"][0] . "," . $array["mid"] . $move_parameter . ".html\">" . $array["label"] . "+</a>"; } else { $href = "<span class=" . $class_hide . ">" . $array["label"] . "</span>"; } // hier wird komplett geoeffnet } elseif ($sitemap == -1) { $href = "<a href=\"" . $pathvars["virtual"] . $buffer["pfad"] . ".html\">" . $array["label"] . "</a>"; } else { $href = $array["label"]; } // schaltflaechen erstellen if ($aktionlinks == -1) { // hier der alte rechte-check ! fällt weg ! if ($specialvars["security"]["enable"] == -1) { // kategorie u. ebene herausfinden $kategorie2check = substr($buffer["pfad"], 0, strpos($buffer["pfad"], "/")); $ebene2check = substr($buffer["pfad"], strpos($buffer["pfad"], "/")); // hier findet der rechte-check statt if (right_check("-1", $ebene2check, $kategorie2check != "") || $rechte[$cfg[$script_name]["right_admin"]] == -1) { $right = -1; } else { $right = ""; } } $aktion = ""; if (is_array($modify)) { foreach ($modify as $name => $value) { if ($specialvars["security"]["new"] == -1) { if (!priv_check(make_ebene($array["mid"]), $value[2], $specialvars["dyndb"]) && !priv_check(make_ebene($array["mid"]), $value[2])) { continue; } } else { if (!$rechte[$cfg[$script_name]["right_admin"]] == -1 && $right != "-1") { continue; } } if ($name == "up" || $name == "down") { if ($specialvars["security"]["new"] == -1) { if (!priv_check(make_ebene($array["refid"]), $value[2], $specialvars["dyndb"]) && !priv_check(make_ebene($array["mid"]), $value[2])) { continue; } } else { $kategorie2check = substr(make_ebene($array["refid"]), 0, strpos(make_ebene($array["refid"]), "/")); $ebene2check = substr(make_ebene($array["refid"]), strpos(make_ebene($array["refid"]), "/")); if (!$rechte[$cfg[$script_name]["right_admin"]] == -1 && !right_check("-1", $ebene2check, $kategorie2check != "")) { continue; } } } if ($name == "rights") { if ($specialvars["security"]["new"] == -1) { $aktion .= "<a href=\"" . $pathvars["virtual"] . "/" . $cfg[$script_name]["subdir"] . "/righted/edit," . $array["mid"] . ".html\"><img style=\"float:right\" src=\"" . $cfg[$script_name]["iconpath"] . $name . ".png\" alt=\"" . $value[1] . "\" title=\"" . $value[1] . "\" width=\"24\" height=\"18\"></img></a>"; } elseif ($specialvars["security"]["enable"] == -1) { $aktion .= "<a href=\"" . $cfg[$script_name]["basis"] . "/" . $value[0] . $name . "," . $array["mid"] . "," . $array["refid"] . ".html\"><img style=\"float:right\" src=\"" . $cfg[$script_name]["iconpath"] . $name . ".png\" alt=\"" . $value[1] . "\" title=\"" . $value[1] . "\" width=\"24\" height=\"18\"></img></a>"; } continue; } // anzeige der sortierung if ($sortinfo != "") { if ($name == "sort") { $aktion .= "<span title=\"" . $value[1] . "\" style=\"float:right\">(" . $array["sort"] . ")</span>"; continue; } } // anzeige des icons zur content-seite if ($name == "jump") { $aktion .= "<a href=\"" . $pathvars["virtual"] . $buffer["pfad"] . ".html" . $ankerlnk . "\"><img style=\"float:right\" src=\"" . $cfg[$script_name]["iconpath"] . $name . ".png\" alt=\"" . $value[1] . "\" title=\"" . $value[1] . "\" width=\"24\" height=\"18\"></img></a>"; continue; } // beim move ausnahme! if ($name == "move") { $aktion .= "<a href=\"" . $cfg[$script_name]["basis"] . "/" . $value[0] . $name . ",0," . $array["mid"] . ".html\"><img style=\"float:right\" src=\"" . $cfg[$script_name]["iconpath"] . $name . ".png\" alt=\"" . $value[1] . "\" title=\"" . $value[1] . "\" width=\"24\" height=\"18\"></img></a>"; } else { $aktion .= "<a href=\"" . $cfg[$script_name]["basis"] . "/" . $value[0] . $name . "," . $array["mid"] . "," . $array["refid"] . ".html\"><img style=\"float:right\" src=\"" . $cfg[$script_name]["iconpath"] . $name . ".png\" alt=\"" . $value[1] . "\" title=\"" . $value[1] . "\" width=\"24\" height=\"18\"></img></a>"; } } } } // wo geht der href hin? if ($array["exturl"] != "") { $href = "<a class=" . $class_hide . " href=" . $array["exturl"] . ">" . $array["label"] . "</a>"; } // in den buffer schreiben wieviel unterpunkte fuer jeweiligen überpunkt vorhanden sind ! if (!isset($buffer[$refid]["zaehler"])) { $buffer[$refid]["zaehler"] = $count; if ($buffer[$refid]["display"] != "none") { // beim ersten aufruf eine class menued setzen if ($self == "") { $tree .= "<ul class=\"menued\">\n"; if ($art == "select" && priv_check(make_ebene(0), $cfg["menued"]["modify"]["move"][2], $specialvars["dyndb"])) { $tree .= "<li><input type=\"radio\" name=\"refid\" value=\"" . $refid . "\" />#(root)</li>"; } } else { if ($design == "modern") { $tree .= "<ul class=\"menued\">\n"; } else { $tree .= "<ul>\n"; } } } } // refid radio button if ($radiorefid != "") { if ($array["mid"] == $environment["parameter"][2] || $specialvars["security"]["new"] == -1 && !priv_check(make_ebene($array["mid"]), $cfg["menued"]["modify"]["move"][2])) { $radio_disabled = " disabled"; } else { $radio_disabled = ""; } $radiobutton = "<input type=\"radio\" name=\"refid\" " . $radio_disabled . " value=\"" . $array["mid"] . "\" />"; } // listenpunkt schreiben if ($buffer[$refid]["display"] != "none") { $tree .= "<li>" . $aktion . $radiobutton . $href; } // funktionsaufruf $tree .= sitemap($array["mid"], $script_name, $art, $modify, -1); // abschliessendes li anbringen if ($buffer[$refid]["display"] != "none") { $tree .= "</li>\n"; } // abschliessendes ul anbringen u. pfad kuerzen if (isset($buffer[$refid]["zaehler"])) { // pfad kürzen $buffer["pfad"] = substr($buffer["pfad"], 0, strrpos($buffer["pfad"], "/")); $buffer["pfad_label"] = substr($buffer["pfad_label"], 0, strrpos($buffer["pfad_label"], "/")); // zaehler 1 zurücksetzen $buffer[$refid]["zaehler"] = $buffer[$refid]["zaehler"] - 1; // ul anbringen wenn zaehler bei 0 if ($buffer[$refid]["zaehler"] == 0 && ($art == "sitemap" || $refid == $_SESSION["menued_id"])) { $tree .= "</ul>\n"; } } } return $tree; }
59 Temple Place, Suite 330 Boston, MA 02111-1307 USA You may contact the author/development team at: Chaos Networks c/o Werner Ammon Lerchenstr. 11c 86343 Königsbrunn URL: http://www.chaos.de */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($cfg["menued"]["modify"]["add"][2] == "" || priv_check(make_ebene($environment["parameter"][1]), $cfg["menued"]["modify"]["add"][2]) || $cfg["auth"]["menu"]["menued"][2] == -1 && priv_check('', $cfg["menued"]["modify"]["add"][2], $specialvars["dyndb"])) { // page basics // *** #if ( count($_POST) == 0 ) { # $sql = "SELECT * FROM ".$cfg["menued"]["db"]["menu"]["entries"]." WHERE ".$cfg["menued"]["db"]["menu"]["key"]."='".$environment["parameter"][2]."'"; $result = $db -> query($sql); # $form_values = $db -> fetch_array($result,1); #} else { $form_values = $_POST; #} // form options holen $form_options = form_options(eCRC($environment["ebene"]) . "." . $environment["kategorie"]); // form elememte bauen $element = form_elements($cfg["menued"]["db"]["menu"]["entries"], $form_values); // form elemente erweitern $element = array_merge($element, form_elements($cfg["menued"]["db"]["lang"]["entries"], $form_values)); if ($_POST["refid"] == "") {
$sql_in = "SELECT * from site_text WHERE tname ='" . $data["tname"] . "' AND version='" . $data["version"] . "' AND status = 0"; $result_in = $db->query($sql_in); if ($db->num_rows($result_in) == 0) { continue; } $data_in = $db->fetch_array($result_in, 1); $preg = "\\[" . $tag["tag"] . "\\](.*)\\[\\/" . $tag["tag"] . "\\]"; $preg1 = "\\.([0-9]*)\$"; $test = preg_replace("|\r\n|", "\\r\\n", $data_in["content"]); preg_match("/{$preg}/U", $test, $regs); if ($regs[1] == "") { $regs[1] = "unknown"; } $dataloop["blogs"][$counter]["name"] = $regs[1]; preg_match("/{$preg1}/", $data_in["tname"], $regs); $dataloop["blogs"][$counter]["link"] = $pathvars["virtual"] . make_ebene($environment["parameter"][1]) . "/" . $regs[1] . ",v" . $data["version"] . ".html"; $dataloop["blogs"][$counter]["anzahl1"] = "<a href=\"list," . $environment["parameter"][1] . ",recover," . $regs[1] . ".html\">wiederherstellen</a>"; $dataloop["blogs"][$counter]["anzahl2"] = "<a href=\"list," . $environment["parameter"][1] . ",delete," . $regs[1] . ".html\">loeschen</a>"; } } } else { // uebersicht ueber alle blogs $hidedata["admin"]["beschriftung1"] = "Pfad"; $hidedata["admin"]["beschriftung2"] = "sichtbare Einträge"; $hidedata["admin"]["beschriftung3"] = "alle Einträge"; foreach ($cfg["bloged"]["blogs"] as $key => $value) { $id = make_id($key); $counter++; $dataloop["blogs"][$counter]["link"] = "list," . $id["mid"] . ".html"; $dataloop["blogs"][$counter]["name"] = $key; $sql = "SELECT content,tname from site_text WHERE content REGEXP '^\\\\[!\\\\]'AND status = '1' AND tname like '" . eCRC($key) . ".%'";
if ($ausgaben["form_error"] == "") { $sql = "SELECT entry\n FROM " . $cfg["db"]["menu"]["entries"] . "\n WHERE " . $cfg["db"]["menu"]["key"] . " = '" . $environment["parameter"][1] . "'"; $result = $db->query($sql); $data = $db->fetch_array($result, 1); // wurde der entry geaendert? if ($data["entry"] != $fixed_entry) { // gibt den geaenderten entry bereits? $sql = "SELECT entry\n FROM " . $cfg["db"]["menu"]["entries"] . "\n WHERE refid = '" . $HTTP_POST_VARS["refid"] . "'\n AND entry = '" . $fixed_entry . "'"; $result1 = $db->query($sql); $test = $db->fetch_array($result, 1); if ($test["entry"] == $fixed_entry) { $ausgaben["form_error"] .= "#(error_dupe)"; } if ($ausgaben["form_error"] == "") { // content aktuelle seite aendern (alle sprachen) $ebene = make_ebene($HTTP_POST_VARS["refid"]); if ($ebene != "/") { $crc32 = eCRC($ebene) . "."; } else { $crc32 = ""; $ebene = ""; } $old_tname = $crc32 . $data["entry"]; #echo $ebene.":".$old_tname."<br>"; $suchmuster = $ebene . "/" . $data["entry"]; $new_tname = $crc32 . $fixed_entry; #echo $ebene.":".$new_tname."<br>"; $ersatz = $ebene . "/" . $fixed_entry; $sql = "UPDATE " . $cfg["db"]["text"]["entries"] . "\n SET tname = '" . $new_tname . "',\n ebene = '" . $ebene . "',\n kategorie = '" . $fixed_entry . "'\n WHERE tname = '" . $old_tname . "';"; if ($debugging["sql_enable"]) { $debugging["ausgabe"] .= "sql: " . $sql . $debugging["char"];
function black_list($mid, $entry) { global $cfg, $ausgaben; // $return = "blacklist-test<br>"; // blacklist: label-check if (in_array($entry, $cfg["menued"]["black_list"]["entry"])) { $ausgaben["form_error"] .= "#(error_entry)" . $entry . "<br />"; } // blacklist: url-check $url = make_ebene($mid); if ($url == "/") { $url = ""; } $url .= "/" . $entry; if (in_array($url, $cfg["menued"]["black_list"]["url"])) { $ausgaben["form_error"] .= "#(error_url)" . $url . "<br />"; } }
function rss_walk_path($refid, $hide = 0, $sub = 0) { global $db, $environment, $dataloop, $cfg; // content dieser ebene suchen $ebene = make_ebene($refid); // das menue durchgehen $sql = "SELECT *\n FROM " . $cfg["xml-sm"]["db"]["menu"]["entries"] . "\n JOIN " . $cfg["xml-sm"]["db"]["lang"]["entries"] . "\n ON (" . $cfg["xml-sm"]["db"]["menu"]["entries"] . "." . $cfg["xml-sm"]["db"]["menu"]["key"] . "=" . $cfg["xml-sm"]["db"]["lang"]["entries"] . "." . $cfg["xml-sm"]["db"]["menu"]["key"] . ")\n WHERE " . $cfg["xml-sm"]["db"]["menu"]["ref"] . "=" . $refid . "\n AND " . $cfg["xml-sm"]["db"]["lang"]["lang"] . "='" . $environment["language"] . "'\n ORDER BY sort"; // echo "<pre>".$sql."</pre>"; $result = $db->query($sql); while ($data = $db->fetch_array($result, 1)) { if ($hide == 0 && $data["hide"] == -1) { continue; } $ebene = make_ebene($data["mid"]); if (preg_match("/\\/\$/", $ebene)) { $url = $ebene . "index.html"; } else { $url = $ebene . ".html"; } // aus content aenderungsdatum holen $array = explode("/", $ebene); $kategorie = array_pop($array); if (count($array) > 1) { $ebene = implode("/", $array); $tname = eCRC($ebene) . "." . $kategorie; } else { $ebene = ""; $tname = $kategorie; } $sql = "SELECT *\n FROM " . $cfg["xml-sm"]["db"]["text"]["entries"] . "\n WHERE tname='" . $tname . "'\n AND label='" . $cfg["xml-sm"]["def_label"] . "'\n AND lang='" . $environment["language"] . "'\n AND status=1"; $res_content = $db->query($sql); $data_content = $db->fetch_array($res_content, 1); $date = $data_content["changed"]; preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2}/", $data_content["changed"], $match); if (trim($match[0]) != "") { $date = $match[0]; } if (trim((string) $date) == "") { $date = date("Y-m-d", time() - 60 * 60 * 24); } // <changefreq> if (preg_match("/^\\/aktuell/", $url) || preg_match("/^\\/index/", $url)) { $changefreq = "daily"; $priority = "1.0"; } else { $changefreq = "monthly"; $priority = "0.5"; } // $ebene = make_ebene($data["mid"]); $dataloop["urls"][$url] = array("url" => $url, "pubDate" => $date, "changefreq" => $changefreq, "priority" => $priority); if (preg_match("/^\\/aktuell/", $url)) { $sql = "SELECT *\n FROM " . $cfg["xml-sm"]["db"]["text"]["entries"] . "\n WHERE tname LIKE '" . eCRC(str_replace(".html", "", $url)) . "%'\n AND label='" . $cfg["xml-sm"]["def_label"] . "'\n AND lang='" . $environment["language"] . "'\n AND status=1\n ORDER BY changed DESC"; $res_content = $db->query($sql); while ($data_content = $db->fetch_array($res_content, 1)) { if (!is_numeric($data_content["kategorie"])) { continue; } if (preg_match("#\\[SORT\\](.*)\\[/SORT\\]#U", $data["content"], $match)) { $date_start = $match[1]; if (preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})/", $date_start, $date_match)) { $timestamp_start = mktime("0", "0", "0", $date_match[2], $date_match[3], $date_match[1]); } else { // falls nicht angegeben, ganz frueher annehmen $timestamp_start = mktime(0, 0, 0, 1, 1, 1971); } if ($timestamp_start > mktime()) { continue; } } $changefreq = "never"; $priority = "0.7"; $url_sub = str_replace(".html", "", $url) . "/" . $data_content["kategorie"] . ".html"; $date = $data_content["changed"]; preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2}/", $data_content["changed"], $match); if (trim($match[0]) != "") { $date = $match[0]; } if (trim((string) $date) == "") { $date = date("Y-m-d", time() - 60 * 60 * 24); } $dataloop["urls"][$url_sub] = array("url" => $url_sub, "pubDate" => $date, "changefreq" => $changefreq, "priority" => $priority); } } rss_walk_path($data["mid"]); } }
// unzugaengliche #(marken) sichtbar machen // *** if (isset($HTTP_GET_VARS["edit"])) { $ausgaben["inaccessible"] = "inaccessible values:<br />"; $ausgaben["inaccessible"] .= "# (error_result) #(error_result)<br />"; } else { $ausgaben["inaccessible"] = ""; } // +++ // unzugaengliche #(marken) sichtbar machen // das loeschen wurde bestaetigt, loeschen! // *** if ($HTTP_POST_VARS["send"] != "") { // datensatz loeschen if ($ausgaben["form_error"] == "") { $sql = "UPDATE " . $cfg["bloged"]["db"]["bloged"]["entries"] . " SET status = 0 WHERE " . $cfg["bloged"]["db"]["bloged"]["key"] . "='" . eCRC(make_ebene($environment["parameter"][4])) . "." . $environment["parameter"][2] . "' AND content REGEXP '^\\\\[!\\\\]'"; if ($debugging["sql_enable"]) { $debugging["ausgabe"] .= "sql: " . $sql . $debugging["char"]; } $result = $db->query($sql); if (!$result) { $ausgaben["form_error"] = $db->error("#(error_result)<br />"); } } // wohin schicken if ($ausgaben["form_error"] == "") { header("Location: " . $pathvars["virtual"] . $header . ".html"); } } // +++ // das loeschen wurde bestaetigt, loeschen!
$sql = "SELECT mlid, lang, label\n FROM " . $cfg["menued"]["db"]["lang"]["entries"] . "\n WHERE mid='" . $environment["parameter"][1] . "'"; $result = $db->query($sql); while ($array = $db->fetch_array($result, $nop)) { if ($mlids != "") { $mlids .= ","; } $mlids .= $array["mlid"]; $ausgaben["languages"] .= $array["lang"] . " "; $ausgaben["languages"] .= $array["label"] . "<br />"; } $ausgaben["form_hidden"] .= "<input type=\"hidden\" name=\"mlids\" value=\"" . $mlids . "\" class=\"hidden\"/>"; // +++ // bezeichnungen holen (alle sprachen) // content holen (alle sprachen) // *** $ebene = make_ebene($refid); if ($ebene != "/") { $extend = eCRC($ebene) . "."; } $tname = $extend . $kategorie; $sql = "SELECT lang, label, tname, content, version\n FROM " . $cfg["menued"]["db"]["text"]["entries"] . "\n WHERE tname='" . $tname . "';"; $result = $db->query($sql); while ($array = $db->fetch_array($result, $nop)) { $ausgaben["content"] .= "<a href=" . $pathvars["virtual"] . $ebene . "/" . $kategorie . ",v" . $array["version"] . ".html>Version " . $array["version"] . "</a><br>"; } if ($ausgaben["content"] == "") { $ausgaben["content"] = "#(no_content)"; } $ausgaben["form_hidden"] .= "<input type=\"hidden\" name=\"tname\" value=\"" . $tname . "\" class=\"hidden\"/>"; // +++ // content holen (alle sprachen)
$ausgaben["show_menu"] .= sitemap(0, "menued", "menued", $modify, ""); // fehlermeldungen if ($HTTP_GET_VARS["error"] != "") { if ($HTTP_GET_VARS["error"] == 1) { $ausgaben["form_error"] = "#(error1)"; } } else { $ausgaben["form_error"] = ""; } // navigation erstellen $ausgaben["renumber"] = "<a href=\"" . $cfg["menued"]["basis"] . "/sort,all,nop,0.html\">#(renumber)</a>"; $check_parameter = $environment["parameter"][1]; if (!$environment["parameter"][1]) { $check_parameter = 0; } if (priv_check(make_ebene($check_parameter), $cfg["menued"]["modify"]["add"][2], $specialvars["dyndb"])) { $ausgaben["new"] .= "<a href=\"" . $cfg["menued"]["basis"] . "/add," . $environment["parameter"][1] . "," . $array["refid"] . ".html\">g(new)</a>"; $ausgaben["root"] = ""; if ($specialvars["security"]["new"] == -1 && priv_check("/", $cfg["menued"]["modify"]["rights"][2], $specialvars["dyndb"]) && ($environment["parameter"][1] == "" || $environment["parameter"][1] == "0")) { $ausgaben["root"] = "<ul class=\"menued\"><li><a style=\"float:right\" href=\"" . $pathvars["virtual"] . "/" . $cfg["menued"]["subdir"] . "/righted/edit,0.html\"><img style=\"float:right\" src=\"/images/default/rights.png\" alt=\"righted\" title=\"RIGHTED\" width=\"24\" height=\"18\"></img></a><span>/</span></li></ul>"; } } else { $ausgaben["new"] = ""; $ausgaben["root"] = ""; } // was anzeigen $mapping["main"] = eCRC($environment["ebene"]) . ".list"; $mapping["navi"] = "leer"; // unzugaengliche #(marken) sichtbar machen if (isset($HTTP_GET_VARS["edit"])) { $ausgaben["inaccessible"] = "inaccessible values:<br />";
Boston, MA 02111-1307 USA You may contact the author/development team at: Chaos Networks c/o Werner Ammon Lerchenstr. 11c 86343 Königsbrunn URL: http://www.chaos.de */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// $kategorie2check = substr(make_ebene($environment["parameter"][1]), 0, strpos(make_ebene($environment["parameter"][1]), "/")); $ebene2check = substr(make_ebene($environment["parameter"][1]), strpos(make_ebene($environment["parameter"][1]), "/")); if ($cfg["menued"]["modify"]["rights"][2] == "" || priv_check('', $cfg["menued"]["modify"]["rights"][2]) || $cfg["auth"]["menu"]["menued"][2] == -1 && priv_check('', $cfg["menued"]["modify"]["rights"][2], $specialvars["dyndb"])) { $specialvars["dynlock"] = True; $sql = "SELECT * FROM " . $cfg["menued"]["db"]["menu"]["entries"] . " INNER JOIN " . $cfg["menued"]["db"]["lang"]["entries"] . " ON (site_menu.mid=site_menu_lang.mid) WHERE site_menu.mid = " . $environment["parameter"][1]; $result = $db->query($sql); $data = $db->fetch_array($result, 1); $entry[] = $data["entry"]; $show_path = $data["label"]; if ($data["refid"] != "0") { while ($count != "0") { $sql = "SELECT * FROM " . $cfg["menued"]["db"]["menu"]["entries"] . " INNER JOIN " . $cfg["menued"]["db"]["lang"]["entries"] . " ON (site_menu.mid=site_menu_lang.mid) WHERE site_menu.mid = " . $data["refid"]; $result = $db->query($sql); $data = $db->fetch_array($result, 1); $entry[] = $data["entry"]; $show_path = $data["label"] . "/" . $show_path; $count = $data["refid"];
$color = $cfg["wizard"]["color"]["a"]; preg_match($preg_black, $line, $black); foreach ($test as $line) { $color == $cfg["wizard"]["color"]["a"] ? $color = $cfg["wizard"]["color"]["b"] : ($color = $cfg["wizard"]["color"]["a"]); preg_match($preg_black, $line, $black); preg_match($preg_link, $line, $regis); if ($black[2] == 263) { continue; } if ($regis[2]) { if (eCrc(substr(make_ebene($regis[2]), 0, strrpos(make_ebene($regis[2]), "/"))) == "0") { $make_crc = ""; } else { $make_crc = eCrc(substr(make_ebene($regis[2]), 0, strrpos(make_ebene($regis[2]), "/"))) . "."; } $edit_crc = $make_crc . substr(make_ebene($regis[2]), strrpos(make_ebene($regis[2]), "/") + 1); $line = preg_replace($preg_link, "<a href=/auth/wizard/show," . DATABASE . "," . $edit_crc . ",inhalt,,,.html", $line); $line = preg_replace("/<a href=\"\\/auth\\/add,[0-9]*,[0-9]*.html\"/", "<a href=/auth/wizard/add,," . $edit_crc . ".html", $line); $ausgaben["edmenu"] .= "<li style=\"background-color:" . $color . ";margin:0;padding:0.5em;clear:both;\">" . $line . "</li>"; } else { $ausgaben["edmenu"] .= "<li style=\"background-color:" . $color . ";margin:0;padding:0.5em;clear:both;\">" . $line . "</li>"; } } // TEST MENUED // page basics // *** // label bearbeitung aktivieren if (isset($_GET["edit"])) { $specialvars["editlock"] = 0; } else { $specialvars["editlock"] = -1;
59 Temple Place, Suite 330 Boston, MA 02111-1307 USA You may contact the author/development team at: Chaos Networks c/o Werner Ammon Lerchenstr. 11c 86343 Koenigsbrunn URL: http://www.chaos.de */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// $url = make_ebene($environment["parameter"][1]); if ($cfg["righted"]["right"] == "" || priv_check('', $cfg["righted"]["right"])) { // bauen der legende foreach ($cfg["righted"]["button"] as $key => $value) { switch ($key) { case "new": $dataloop["legende"][$key]["color"] = $value["color"]; $dataloop["legende"][$key]["text"] = "Kein Recht"; break; case "add": $dataloop["legende"][$key]["color"] = $value["color"]; $dataloop["legende"][$key]["text"] = "Zugewiesenes Recht"; break; case "del": $dataloop["legende"][$key]["color"] = $value["color"]; $dataloop["legende"][$key]["text"] = "Negiertes Recht";