Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 1702 | Revision 1704 | 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
 
1699 lars 10
    function getConfig()
11
    {
1701 lars 12
        if ( !defined( "__SITE__" ) )
13
        {
14
            define( '__SITE__', env( 'site' ) );
15
        }
16
        if ( !defined( "__SHOP__" ) )
17
        {
18
            define( '__SHOP__', env( 'shop' ) );
19
        }
20
        if ( !defined( "__CFG_PATH__" ) )
21
        {
22
            define( "__CFG_PATH__", "/etc/shop_configs/" . __SITE__ . "/" . __SHOP__ );
23
        }
1699 lars 24
        $cfg_file = __CFG_PATH__ . "/config.de.xml";
25
        if ( !file_exists( $cfg_file ) )
1657 lars 26
        {
1699 lars 27
            trigger_error( "Konnte keine Konfigurationsdatei für das Shopsystem " . __SITE__ . " -> " . __SHOP__ . " finden (" . ( $cfg_file ) . ")!", E_USER_ERROR );
1657 lars 28
        }
1699 lars 29
        $xml = simplexml_load_file( $cfg_file, "SimpleXMLElement", LIBXML_NOCDATA );
30
        $ini = json_decode( json_encode( $xml ), true );
31
        foreach ( $ini as $key => $wert )
1657 lars 32
        {
1699 lars 33
            if ( $wert == array() )
1659 lars 34
            {
1699 lars 35
                $ini[$key] = "";
1659 lars 36
            }
1699 lars 37
            elseif ( is_array( $wert ) )
1659 lars 38
            {
1699 lars 39
                foreach ( $wert as $key2 => $wert2 )
40
                {
41
                    if ( $wert2 == array() )
42
                    {
43
                        $ini[$key][$key2] = "";
44
                    }
45
                }
1659 lars 46
            }
1657 lars 47
        }
1699 lars 48
 
49
        $v_file = __CFG_PATH__ . "/versand.xml";
50
        if ( file_exists( $v_file ) )
51
        {
52
            $xml = simplexml_load_file( $v_file, "SimpleXMLElement", LIBXML_NOCDATA );
53
            $ini["shipping"] = json_decode( json_encode( $xml ), true );
54
            foreach ( $ini["shipping"] as $key => $wert )
55
            {
56
                if ( $wert == array() )
57
                {
58
                    $ini["shipping"][$key] = "";
59
                }
60
                elseif ( is_array( $wert ) )
61
                {
62
                    foreach ( $wert as $key2 => $wert2 )
63
                    {
64
                        if ( $wert2 == array() )
65
                        {
66
                            $ini["shipping"][$key][$key2] = "";
67
                        }
68
                    }
69
                }
70
            }
71
        }
72
        return $ini;
1657 lars 73
    }
1702 lars 74
 
75
    /**
76
     * Load Content form Typo3
77
     *
78
     * @param $url
79
     * @return array
80
     */
81
    function parseCMSPage( $url ): array
82
    {
83
        $menu = "";
84
        $content = "";
85
        $dom = new Dom;
86
        try
87
        {
88
            $dom->loadFromUrl( $url );
89
            $menu = $dom->getElementById( 'menu' )->innerHtml;
90
            $menu = str_replace( "/typo3", "/cms", $menu );
91
            $content = $dom->getElementById( 'content' )->innerHtml;
92
            $content = str_replace( "fileadmin/", $GLOBALS["INI"]["typo3"]["url"] . "/typo3/fileadmin/", $content );
93
            $content = str_replace( "ce-textpic", "", $content );
94
        }
95
        catch ( ChildNotFoundException|CircularException|CurlException|StrictException|NotLoadedException $e )
96
        {
97
        }
98
        return array( "menu" => $menu, "content" => $content, );
99
    }
100