error_reporting(-1); // Initial: Fehlerausgabe unterdrücken, um Path-Disclosure-Attacken ins Leere laufen zu lassen ini_set("display_errors", 1); # ab php > 5.2.0 hat preg_* ein default pcre.backtrack_limit von 100000 zeichen # deshalb der versuch mit ini_set @ini_set('pcre.backtrack_limit', 1000000); define("BASE_DIR_ADMIN", BASE_DIR . ADMIN_DIR_NAME . "/"); if (is_file(BASE_DIR . CMS_DIR_NAME . "/DefaultConfCMS.php")) { require_once BASE_DIR . CMS_DIR_NAME . "/DefaultConfCMS.php"; } else { die("Fatal Error File doesn't exist: " . "DefaultConfCMS.php"); } // UTF-8 erzwingen - experimentell! @ini_set("default_charset", CHARSET); #$start_time = get_executTime(false); define("START_TIME", get_executTime(false)); # aus sicherheits gründen lehren wir immer den backup ordner if (function_exists('gzopen') and is_dir(BASE_DIR . BACKUP_DIR_NAME)) { $dh = opendir(BASE_DIR . BACKUP_DIR_NAME); while (($entry = readdir($dh)) !== false) { if ($entry == "." or $entry == "..") { continue; } @unlink(BASE_DIR . BACKUP_DIR_NAME . '/' . $entry); } closedir($dh); } $test_dir = array(BASE_DIR_ADMIN . LANGUAGE_DIR_NAME => LANGUAGE_DIR_NAME, BASE_DIR_ADMIN . CONF_DIR_NAME => CONF_DIR_NAME, BASE_DIR_CMS . CONF_DIR_NAME => CONF_DIR_NAME, BASE_DIR . CONTENT_DIR_NAME => CONTENT_DIR_NAME, BASE_DIR . LAYOUT_DIR_NAME => LAYOUT_DIR_NAME, BASE_DIR_CMS . LANGUAGE_DIR_NAME => LANGUAGE_DIR_NAME, BASE_DIR . GALLERIES_DIR_NAME => GALLERIES_DIR_NAME); foreach ($test_dir as $dir => $name) { if (!is_dir($dir)) { die("Fatal Error Directory doesn't exist: " . $name);
unset($_SESSION['prevcontentadmin']); $tmp = getRequestValue('prevcontentadmin', 'post', false); if ($tmp != "prevcontentadminthisclear") { $_SESSION['prevcontentadmin'][CAT_REQUEST][PAGE_REQUEST] = $tmp; } exit("true"); } elseif (!DRAFT) { unset($_SESSION['prevcontentadmin']); } // Dann: HTML-Template einlesen und mit Inhalt fuellen readTemplate($template, $pagecontent); if (strpos($HTML, "<!--{MEMORYUSAGE}-->") > 1) { $HTML = str_replace("<!--{MEMORYUSAGE}-->", get_memory(), $HTML); } if (strpos($HTML, "<!--{EXECUTETIME}-->") > 1) { $HTML = str_replace("<!--{EXECUTETIME}-->", get_executTime($start_time), $HTML); } // Zum Schluß: Ausgabe des fertigen HTML-Dokuments echo $HTML; function get_executTime($start_time) { if (!function_exists('gettimeofday')) { return NULL; } list($usec, $sec) = explode(" ", microtime()); if ($start_time === false) { return (double) $usec + (double) $sec; } return "Seite in " . sprintf("%.4f", (double) $usec + (double) $sec - $start_time) . " Sek. erstelt"; } function get_memory()