Subversion-Projekte lars-tiefland.php_share

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
        function microtime_float()
        {
            list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
        }

        $time_start = microtime_float();


        /* ************************************************************************************ */
        /* SYSTEM-INIT                                                                                                                                                  */
        /* ************************************************************************************ */
        /* 
                1.      Starten der Session
                2.      Auslesen der ini-Dateien die:
                        - alle relevanten Informationen f�r jedes Module bereitstellen
                        - alle Standardtemplates definieren
                
                3.      Kernrroutinen einbinden die zum Laden aller Serviceroutinen notwendig sind
                4.      Laden aller externen Serviceroutinen 
        */
        /* ************************************************************************************ */

        /*      1.      */
        @session_start();
        
        $_TMPL = array();
        
        /*      2.      */
        // Konfigurationen Parsen
        $_INI                                                   =       parse_ini_file($iniFiles['global']['default']           ,true);
        $_INI_TEMPLATE                                  =       parse_ini_file($iniFiles['global']['templates']         ,true);

        $_INI_LOCAL                                             =       parse_ini_file($iniFiles['local']['default']            ,true);
        $_INI_TEMPLATE_LOCAL                    =       parse_ini_file($iniFiles['local']['templates']          ,true);
        
        $_SESSION['INI']                                =       array_merge ($_INI, $_INI_LOCAL);
        $_SESSION['INI']['TEMPLATE']    =       array_merge ($_INI_TEMPLATE, $_INI_TEMPLATE_LOCAL);

        // Welche Datenbank soll genommen werden fuer Fallbacks
        // Markus
        if ($_SESSION['INI']['useBackupDatabase'] == TRUE)
        {
                $_SESSION['INI']['dbConnect']['useDB'] = $_SESSION['INI']['dbConnect']['backupDatabase'];
        } else {
                $_SESSION['INI']['dbConnect']['useDB'] = $_SESSION['INI']['dbConnect']['database'];
        }
        
        /*
        foreach(array_keys($_SESSION['INI']) AS $elem) {
                if(is_array($_SESSION['INI'][$elem])) {
                        foreach(array_keys($_SESSION['INI'][$elem]) AS $counter) {
                                if (empty($_SESSION['INI'][$elem][$counter])) 
                                {
                                        $_SESSION['INI'][$elem] = ($counter==0) ? $_SESSION['INI'][$elem][$counter+1] : $_SESSION['INI'][$elem][$counter];
                                } else {
                                        $_SESSION['INI'][$elem] = $_SESSION['INI'][$elem][$counter];
                                }
                        }
                }
        }
        */
        
        // @since 07/04/2007
        // New Shop Base Module
        // @author Markus Niewerth
        require_once("module/shop/includes/classes/Weban_Shop.class.php");
        require_once("module/shop/includes/classes/Error.class.php");
        require_once("module/shop/includes/classes/Error_Object.class.php");
        require_once("module/shop/includes/classes/Functions.class.php");
        require_once("module/shop/includes/classes/Basket.class.php");
        require_once("module/Rapid_Templates/Rapid_Templates.class.php");
        require_once('module/Email_Safe/Email_Safe.class.php');
        
        // Shop initialisieren
        $Weban_Shop = &new Weban_Shop ($_SESSION['INI']['shops_ID'], $_SESSION['INI']['language']);
        // EMail Schutz
        $eSafe          = &new Email_Safe ();
        
        /*      3.      */
        // Wird noch ben�tigt f�r Styles und JavaScripts
        require_once("module/shop/includes/listFiles.php");

        /*      4.      */
        // Laden aller benoetigten globalen Funktionen
        // Benoetigt die Shop  Basis- Klasse!
        $Weban_Shop->Functions->factory('load');
        
        /*
                // Email Register erstellen
                $Weban_Shop->create_email_register($_SESSION['INI']['shopMails']);
        
        
        
                $emailCode      = $Weban_Shop->translate_email_code("info@siebeker.de", $_SESSION['emailRegister']);
                $emailLnk       = "image.php?mx=".$emailCode;
                $emailPrint = "<a href=\"#/email/open/$emailCode\" onClick=\"mxopen('$emailCode'); return false;\" onmouseover=\"changeStatus('$emailCode');\"><img src=\"$emailLnk\" border=0></a>";
        
                foreach (array_keys($_SESSION['INI']['shopMails']) AS $elem) {
                        $_SESSION['emailCodes'][$elem]  = $Weban_Shop->translate_email_code($_SESSION['INI']['shopMails'][$elem], $_SESSION['emailRegister']);
                        $_SESSION['emailLnks'][$elem]   = "image.php?mx=".$_SESSION['emailCodes'][$elem];
                        $_SESSION['emailPrints'][$elem] = "<a href=\"#/email/open/".$_SESSION['emailCodes'][$elem]."\" onClick=\"mxopen('".$_SESSION['emailCodes'][$elem]."'); return false;\" onmouseover=\"changeStatus('".$_SESSION['emailCodes'][$elem]."');\"><img src=\"".$_SESSION['emailLnks'][$elem]."\" border=0></a>";
                }
        */
        
        // Interne Navigation
        $_keys=array_keys($_GET);
        foreach($_keys as $_key)
        {
                switch($_key)
                {
                        case 'show_functions': 
                                        pre($Weban_Shop,false,true);
                                break;
                }
        }
        
        // Laden von lokalen funktionen
        require_once("includes/system/itemKorrektur.php");
        require_once("includes/system/itemContainerKorrektur.php");
        
        // Template Daten definieren
        // @titel
        $_TMPL['title'] = getTitle();
        
        if ($item)
        {
                $title=getTitle()." - ";
                $len = strlen($title);
                $_TMPL['meta']['content'] = $title.(substr(preg_replace("/\s+/", " ", preg_replace("/[\n\t\r]/", " ", strip_tags($item['beschreibung']))), 0, (250-$len)));
        }
        else 
        {
                $_TMPL['meta']['content'] = getTitle();
        }
        
        //exit();
        /* ************************************************************************************ */
        /* SHOP-INIT                                                                                                                                                    */
        /* ************************************************************************************ */
        /* 
                1. Warenkorb erstellen falls noch keiner existiert
                2. Referrer in ShopLog-Session sichern
                3. Einstiegsseite sichern
                4. Referrer beim ersten Aufruf loggen
        */
        /* ************************************************************************************ */

        /*      1.      */
        if (!is_array($_SESSION['SHOP']['BASKET']))
                { $_SESSION['SHOP']['BASKET']=array(); }
                
        /*      2.      */
        if (!isset($_SESSION['shopLog']['referrer']))
                { $_SESSION['shopLog']['referrer'] = $_SERVER['HTTP_REFERER'];}
                
        /*      3.      */
        if (!isset($_SESSION['shopLog']['start_url']))
                { $_SESSION['shopLog']['start_url'] = $_GET['from'];}

        /*      4.      */
        if ($_SESSION['shopLog']['referrerLogged'] != true)
        {
                shopLog
                (
                        "Preisagentur",
                        $_SESSION['shopLog']['referrer'],
                        $_SESSION['shopLog']['start_url'],
                        $_GET['item'],
                        $_SERVER["HTTP_ACCEPT_LANGUAGE"],
                        false
                );
                $_SESSION['shopLog']['referrerLogged'] = true;
        }
        
        /* ************************************************************************************ */
        /* L�nder Spezialverwaltung                                                                                                                                */
        /* ************************************************************************************ */
        if (!isset($_SESSION["languageException"]))
        {
                if (in_array( substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2), array("fi","se","dk","nw")))
                        { $_SESSION["languageException"] = true; }
                else
                        { $_SESSION["languageException"] = false; }
        }

        /* ************************************************************************************ */
        /* Bestellung Schrittverwaltung                                                                                                                 */
        /* ************************************************************************************ */
        $_SESSION['SHOP']['buy']['step']=1;
        if ($_REQUEST['step'])
        {
                $_SESSION['SHOP']['buy']['step']=$_REQUEST['step']; 
        }

        /* ************************************************************************************ */
        /* Befehlsinterpreter 2 (f�r Post-Formulare)                                                                                       */
        /* ************************************************************************************ */

        if ($_POST["billigerGesehen"])
        {
                $_GET["item"] = $_POST["item"];
                billigerGesehen($_POST["billigerGesehen"],$_POST["item"]);
        }

        /* ************************************************************************************ */
        /* Befehlsinterpreter                                                                                                                                   */
        /* ************************************************************************************ */
        /* 
                Alle als $_GET eingegangenen Kommandos an die Verarbeitungsroutinen �bergeben
        */
        /* ************************************************************************************ */

        foreach(array_keys($_GET) as $cmd)
        {
                switch($cmd)
                {
                        case (preg_match("/^sonderpreis\/(.*?)\.php/", $_GET['file'], $treffer) > 0):

                                                        sonderPreisLogin(strip_tags($treffer[1]));

                                                        foreach(sonderPreisGetItems($_SESSION["sonderPreis"]["kundenDaten"]["ID"]) as $sonderPreisItem)
                                                        {
                                                                if ($sonderPreisItem["inBasket"] == 1)
                                                                {
                                                                        setBasketItem($sonderPreisItem["artikel_ID"]);
                                                                }
                                                        }
                                                        
                                                        basketUpdate();
                                                        $_GET=array("basket" => "true");
                                                        unset($_SESSION['navigation']['position']);
                                                        unset($_REQUEST["staticNav"]);
                                                        
                                                        break;
                        case "basketItemRemove":
                                                        unset($_SESSION['SHOP']['BASKET'][$_GET['basketItemRemove']]);
                        case "confirm":
                                                        if ($_GET['confirm'])
                                                        {
                                                                if ($_GET['update'])
                                                                {
                                                                        $_SESSION['SHOP']['BASKET'][$_GET['ID']]['Menge']++;                                                            
                                                                }
                                                                else
                                                                {
                                                                        setBasketItem($_GET['item'], $_GET['option']);
                                                                }
                                                                unset($_SESSION['navigation']['position']);
                                                        }
                        case "basket":
                                                        basketUpdate();
                        case "shop":
                        case "search":
                        case "file":
                                                        unset($_SESSION['navigation']['position']);
                                                        break;
                        case "itemContainer":
                        case "navigation":
                                                        cmdNavigation($_GET[$cmd]); break;
                        case "item":
                                                        $item=getItem($_GET[$cmd]);
                                                        cmdNavigation($item['Father']);
                                                        //unset($item);
                                                        break;
                }
        }
        if (count($_GET) == 0)
        {
                unset($_SESSION['navigation']['position']);
        }

        //ob_start();
?>