Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 1707 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1657 lars 1
<?php
2
 
1703 lars 3
    use PHPHtmlParser\Dom;
4
    use PHPHtmlParser\Exceptions\ChildNotFoundException;
5
    use PHPHtmlParser\Exceptions\CircularException;
6
    use PHPHtmlParser\Exceptions\CurlException;
7
    use PHPHtmlParser\Exceptions\NotLoadedException;
8
    use PHPHtmlParser\Exceptions\StrictException;
9
 
1704 lars 10
    $GLOBALS["zahlsysteme"] = [
11
        "kreditkarte",
12
        "paypal",
13
        "sofortueberweisung",
14
        "frei",
15
        "finanzierung",
16
        "billsafe",
17
        "billsafe_hire",
18
        "amazon",
19
        "PayPalExpress",
20
        "Ratenzahlung",
21
        "PayPalPlus",
22
        "paymill",
23
        "klarna",
24
        "paydirekt",
25
        "payever",
26
        "billie",
27
        "easycredit",
28
        "crefopay",
29
        "crefopayKK",
30
        "PayPalCheckout",
31
    ];
32
 
1699 lars 33
    function getConfig()
34
    {
1701 lars 35
        if ( !defined( "__SITE__" ) )
36
        {
37
            define( '__SITE__', env( 'site' ) );
38
        }
39
        if ( !defined( "__SHOP__" ) )
40
        {
41
            define( '__SHOP__', env( 'shop' ) );
42
        }
43
        if ( !defined( "__CFG_PATH__" ) )
44
        {
45
            define( "__CFG_PATH__", "/etc/shop_configs/" . __SITE__ . "/" . __SHOP__ );
46
        }
1699 lars 47
        $cfg_file = __CFG_PATH__ . "/config.de.xml";
48
        if ( !file_exists( $cfg_file ) )
1657 lars 49
        {
1699 lars 50
            trigger_error( "Konnte keine Konfigurationsdatei für das Shopsystem " . __SITE__ . " -> " . __SHOP__ . " finden (" . ( $cfg_file ) . ")!", E_USER_ERROR );
1657 lars 51
        }
1699 lars 52
        $xml = simplexml_load_file( $cfg_file, "SimpleXMLElement", LIBXML_NOCDATA );
53
        $ini = json_decode( json_encode( $xml ), true );
54
        foreach ( $ini as $key => $wert )
1657 lars 55
        {
1699 lars 56
            if ( $wert == array() )
1659 lars 57
            {
1699 lars 58
                $ini[$key] = "";
1659 lars 59
            }
1699 lars 60
            elseif ( is_array( $wert ) )
1659 lars 61
            {
1699 lars 62
                foreach ( $wert as $key2 => $wert2 )
63
                {
64
                    if ( $wert2 == array() )
65
                    {
66
                        $ini[$key][$key2] = "";
67
                    }
68
                }
1659 lars 69
            }
1657 lars 70
        }
1699 lars 71
 
72
        $v_file = __CFG_PATH__ . "/versand.xml";
73
        if ( file_exists( $v_file ) )
74
        {
75
            $xml = simplexml_load_file( $v_file, "SimpleXMLElement", LIBXML_NOCDATA );
76
            $ini["shipping"] = json_decode( json_encode( $xml ), true );
77
            foreach ( $ini["shipping"] as $key => $wert )
78
            {
79
                if ( $wert == array() )
80
                {
81
                    $ini["shipping"][$key] = "";
82
                }
83
                elseif ( is_array( $wert ) )
84
                {
85
                    foreach ( $wert as $key2 => $wert2 )
86
                    {
87
                        if ( $wert2 == array() )
88
                        {
89
                            $ini["shipping"][$key][$key2] = "";
90
                        }
91
                    }
92
                }
93
            }
94
        }
95
        return $ini;
1657 lars 96
    }
1702 lars 97
 
98
    /**
99
     * Load Content form Typo3
100
     *
101
     * @param $url
102
     * @return array
103
     */
104
    function parseCMSPage( $url ): array
105
    {
106
        $menu = "";
107
        $content = "";
108
        $dom = new Dom;
109
        try
110
        {
111
            $dom->loadFromUrl( $url );
112
            $menu = $dom->getElementById( 'menu' )->innerHtml;
113
            $menu = str_replace( "/typo3", "/cms", $menu );
114
            $content = $dom->getElementById( 'content' )->innerHtml;
115
            $content = str_replace( "fileadmin/", $GLOBALS["INI"]["typo3"]["url"] . "/typo3/fileadmin/", $content );
116
            $content = str_replace( "ce-textpic", "", $content );
117
        }
118
        catch ( ChildNotFoundException|CircularException|CurlException|StrictException|NotLoadedException $e )
119
        {
120
        }
121
        return array( "menu" => $menu, "content" => $content, );
122
    }
123
 
1704 lars 124
    if ( isset( $_GET["killSession"] ) )
125
    {
126
        unset( $_SESSION );
127
        $_SESSION["SHOP"]["BASKET"] = new BasketController();
128
    }
129
    $GLOBALS["steuern"] = array();
130
    //default LandID für Deutschland
131
    $landID = 47;
132
    //Wenn das Flag gesetzt ist, dann nimm diesen wert, damit auch "ausländische Shops" den richtigen MwSt angezeigt bekommen
133
    if ( isset( $GLOBALS["INI"]["steuern"]["default_countryID"] ) )
134
    {
135
        $landID = $GLOBALS["INI"]["steuern"]["default_countryID"];
136
    }
137
 
138
    $countryIDs = ( isset( $GLOBALS['INI']['steuern']['use_countries_tax'] ) ) ? $GLOBALS['INI']['steuern']['use_countries_tax'] : $landID;