registerNamespace('Zend_'); // ****** LOGGING ****** // Initalisiere Log-System if ($onWeb == true) { $logPath = $_SERVER['DOCUMENT_ROOT'] . "/logs/"; } else { $logPath = $_SERVER['DOCUMENT_ROOT'] . "/" . $hostName . "/logs/"; } $logwriter = new Zend_Log_Writer_Stream($logPath . $customer . '-buildtime-' . date("dmY") . '.log'); $log = new Zend_Log($logwriter); // ****** SESSIONS ****** // Session starten Zend_Session::start(); $sessionCore = new Zend_Session_Namespace('Core'); $sessionDynamicUser = new Zend_Session_Namespace('DynamicUser'); $sessionUser = new Zend_Session_Namespace('User'); $sessionFormData = new Zend_Session_Namespace('FormData'); $sessionDebug = new Zend_Session_Namespace('Debug'); $sessionDebugBuildTime = new Zend_Session_Namespace('DebugBuildTime'); // ****** SESSION-CORE DATEN ****** $sessionCore->customer = $customer; $sessionCore->hostName = $hostName; $sessionCore->onWeb = $onWeb; $sessionCore->rootDirectory = $rootDirectory; $sessionCore->projectDirectory = $projectDirectory; $sessionCore->dynamicPath = $dynamicPath; $sessionCore->buildLocalLink = $buildLocalLink; $sessionCore->sslActive = $sslActive; $sessionCore->dbCharSet = $dbCharSet; if ($sslActive == true) { $sessionCore->baseUrl = "https://" . $_SERVER['HTTP_HOST']; } else { $sessionCore->baseUrl = "http://" . $_SERVER['HTTP_HOST']; } // Setze language if (!isset($_REQUEST['language']) AND !isset($sessionCore->language)) { $language = "DE"; $sessionCore->language = $language; } elseif (isset($_REQUEST['language'])) { $sessionCore->language = $_REQUEST['language']; } // Setze navGroup if (!isset($_REQUEST['navGroup']) AND !isset($sessionCore->navGroup)) { $navGroup = 1; $sessionCore->navGroup = $navGroup; } elseif (isset($_REQUEST['navGroup'])) { $sessionCore->navGroup = $_REQUEST['navGroup']; } if ($GLOBALS['sessionCore']->onWeb == true) { $sessionCore->pathDotsIncludes = "."; } else { $sessionCore->pathDotsIncludes = ".."; } // Setze Session-Infos zu Pfade $sessionCore->viewPathCMS = $_SERVER['DOCUMENT_ROOT'] . $dynamicPath . "/views/scripts/"; if ($GLOBALS['sessionCore']->onWeb == true) { $sessionCore->urlPath = "/"; $sessionCore->cmsLoginPath = "/cms/"; $sessionCore->viewPathCustomer = $_SERVER['DOCUMENT_ROOT'] . "/views/scripts/"; } else { $sessionCore->urlPath = "/" . $sessionCore->hostName . "/"; $sessionCore->cmsLoginPath = "/" . $GLOBALS['sessionCore']->hostName . "/cms/"; $sessionCore->viewPathCustomer = $_SERVER['DOCUMENT_ROOT'] . "/" . $GLOBALS['sessionCore']->hostName . "/views/scripts/"; } // ****** EIGENE BIBLIOTHEKEN ****** // Lade Programmbibliotheken require_once $includePath . $dynamicPath . '/models/coreDatabase.php'; require_once $includePath . $dynamicPath . '/models/coreFunctions.php'; require_once $includePath . $dynamicPath . '/models/coreBuildContent.php'; require_once $includePath . $dynamicPath . '/models/newsBuildContent.php'; require_once $includePath . $dynamicPath . '/models/newsBackend.php'; require_once $includePath . $dynamicPath . '/models/shop.php'; require_once $includePath . $dynamicPath . '/models/shopBackend.php'; require_once $includePath . $dynamicPath . '/models/communityBuildContent.php'; require_once $includePath . $dynamicPath . '/models/webuserBuildContent.php'; require_once $includePath . $dynamicPath . '/models/galerieBuildContent.php'; require_once $includePath . $dynamicPath . '/models/searchBuildContent.php'; require_once $includePath . $dynamicPath . '/models/webuserBackend.php'; require_once $includePath . $dynamicPath . '/models/recaptchalib.php'; require_once $includePath . $dynamicPath . '/models/contactBackend.php'; require_once $includePath . $dynamicPath . '/models/galerieBackend.php'; require_once $includePath . $dynamicPath . '/models/patchBackend.php'; require_once $includePath . $dynamicPath . '/models/userBackend.php'; require_once $includePath . $dynamicPath . '/models/newsletterBackend.php'; require_once $includePath . $dynamicPath . '/models/contactBuildContent.php'; require_once $includePath . $dynamicPath . '/models/navigation.php'; require_once $includePath . $dynamicPath . '/models/debug.php'; require_once $includePath . $dynamicPath . '/models/socialBackend.php'; require_once $includePath . $dynamicPath . '/models/teaserBuildContent.php'; require_once $includePath . $dynamicPath . '/models/teaserBackend.php'; require_once $includePath . $dynamicPath . '/models/setupBackend.php'; require_once $includePath . $dynamicPath . '/models/calendarBackend.php'; require_once $includePath . $dynamicPath . '/models/calendarBuildContent.php'; // ****** EIGENE KLASSEN ****** // Deklariere Klassen $databaseLibary = new databaseLibary(); $navigationLibary = new navigationLibary(); $debugLibary = new debugLibary(); // ****** ROUTER ****** $router = new Zend_Controller_Router_Rewrite(); Zend_Registry::set('router', $router); $front = Zend_Controller_Front::getInstance(); $front->setRouter($router); $front->setControllerDirectory($sessionCore->pathDotsIncludes . $dynamicPath . '/controllers'); if ($developer) { $front->throwExceptions(true); } else { $front->throwExceptions(false); } $front->setParam('noErrorHandler', false); // Router-Objekt auslesen $router = $front->getRouter(); // ****** DATENBANK ****** // Daten für den Zugriff auf die Datenbank $optionen = array( 'host' => $database['host'], 'username' => $database['username'], 'password' => $database['password'], 'dbname' => $database['dbname'] ); // Objekt ableiten $db = Zend_Db::factory($database['adapter'],$optionen); // ****** NAVIGATION ****** // Lese Einstellungen von Navigation $settingsNavigation = $navigationLibary->getNavigationSettings(); // Schreibe Einstellungen in die interne Registry Zend_Registry::set('settingsNavigation', $settingsNavigation); // Generiere Routing-Tabelle für Menüpunkte $routingTable = $navigationLibary->GenerateRoutingTableForPages(); // Füge Routings der Routing-Tabelle hinzu $navigationLibary->AddPathToRouter($routingTable,true); // Generiere Routing-Tabelle für Module allgemein $routingTable = array( array("string" => "newsdetails","param" => "id"), array("string" => "galeriedetails","param" => "id"), array("string" => "shopdetails","param" => "id"), array("string" => "shopcheckout","param" => ""), array("string" => "shopcheckoutfinish","param" => ""), array("string" => "shopbasket","param" => ""), array("string" => "ajaxrequest","param" => ""), array("string" => "shoppaymentaccept","param" => ""), array("string" => "shoppaymentdecline","param" => ""), array("string" => "shoppaymentexception","param" => ""), array("string" => "shoppaymentcancel","param" => ""), array("string" => "shoppaymentstatus","param" => ""), array("string" => "searchresults","param" => ""), array("string" => "weblogin","param" => ""), array("string" => "webprofile","param" => ""), array("string" => "weblogout","param" => ""), array("string" => "shop","param" => ""), array("string" => "newslettersubscription","param" => ""), array("string" => "pdfconfirmation","param" => ""), array("string" => "pdfaccount","param" => ""), array("string" => "pdfdelivery","param" => "") ); // Füge Routings der Routing-Tabelle hinzu $navigationLibary->AddPathToRouter($routingTable,false); // ****** DISPATCHER ****** // Go GO GO $front->dispatch(); // ****** DEBUG ****** // DebugBuildTime-Informationen ausgeben, wenn gewünscht $debugLibary->OutputDebugBuildTimeInformations(); // Debug-Informationen ausgeben, wenn gewünscht $debugLibary->OutputDebugInformations(); // ****** STARTZEIT MESSEN ****** $endBuildTime = microtime(true); // Rechne Buildtime aus $buildTime = $endBuildTime - $startBuildTime; // Schreibe Buildtime-Infos in die Logdatei $log->info($buildTime . " Sekunden // URI: " . $_SERVER['REQUEST_URI'] . " // IP: " . $_SERVER['REMOTE_ADDR'] . chr(13)); ?>