Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
    //$Id: gen_csv.php 3361 2011-02-24 15:34:41Z tiefland $
4
 
5
    /**
6
     * @author Lars Tiefland <tiefland@weban.de>
7
     * @copyright 2008 Webagentur Niewerth
8
     * @package Content-management
9
     * @version $Rev: 3361 $
10
     * @license propietary
11
     * @filesource
12
     *
13
     */
14
 
15
    /**
16
     * erstellt eine XML-Datei und übertägt sie an den Remote-Server; dieser erstellt dann die gewünschten CSV-Dateien
17
     * Im Anschluß wird die XML-Datei wieder gelöscht
18
     * @author Lars Tiefland <tiefland@weban.de>
19
     * @copyright 2008 Webagentur Niewerth
20
     * @package Content-management
21
     */
22
 
23
    require_once  "../Online-Shop/connect2.php";
24
    require_once  "Config.php";
25
 
26
    if ( count( $_GET ) == 1 )
27
    {
28
        $Agentur_ID = $_GET["agentur"];
29
        $sql = "
30
            SELECT
31
                shops_ID,
32
                name,
33
                config,
34
                uses_dump,
35
                csv_url,
36
                plesk,
37
                user,
38
                server
39
            FROM
40
                Preisagentur p,
41
                shops s
42
            WHERE
43
                s.ID=p.shops_id
44
            AND
45
                p.ID=" . $Agentur_ID;
46
        $res = mysql_query( $sql );
47
        if ( $res )
48
        {
49
            $row = mysql_fetch_assoc( $res );
50
            $shop = $row["name"];
51
            $extra = ( $row["plesk"] ) ? "httpdocs" : $shop;
52
            $user = ( $row["user"] ) ? $row["user"] : "www-data";
53
            $server = ( $row["server"] ) ? $row["server"] : $shop;
54
            $xml_file = $site . "_" . $shop . ".xml";
55
            $cfg = new Config();
56
            if ( file_exists( $xml_file ) )
57
            {
58
                $xml = $cfg->parseConfig( $xml_file, "xml" );
59
                $csv_arr = $xml->toArray();
60
                if ( isset( $csv_arr["root"]["CSV_files"]["CSV"]["shop"] ) )
61
                {
62
                    $csv = $csv_arr["root"]["CSV_files"]["CSV"];
63
                    unset( $csv_arr["root"]["CSV_files"]["CSV"] );
64
                    $csv_arr["root"]["CSV_files"]["CSV"][0] = $csv;
65
                    unset( $csv );
66
                    $i = 1;
67
                }
68
                else
69
                {
70
                    $i = count( $csv_arr["root"]["CSV_files"]["CSV"] );
71
                }
72
            }
73
            else
74
            {
75
                $i = 0;
76
            }
77
            $csv_files = array();
78
            if ( is_array( $csv_arr["root"]["CSV_files"]["CSV"] ) )
79
            {
80
                foreach ( $csv_arr["root"]["CSV_files"]["CSV"] as $csv_file )
81
                {
82
                    $csv_files[] = $csv_file["agentur"];
83
                }
84
            }
85
            if ( !in_array( $Agentur_ID, $csv_files ) )
86
            {
87
                $out_file = str_replace( "http://www.", "/var/www/", $row["csv_url"] );
88
                $csv_arr["root"]["CSV_files"]["CSV"][$i]["shop"] = $shop;
89
                $csv_arr["root"]["CSV_files"]["CSV"][$i]["agentur"] = $Agentur_ID;
90
                $csv_arr["root"]["CSV_files"]["CSV"][$i]["uses_dump"] = $row["uses_dump"];
91
                $csv_arr["root"]["CSV_files"]["CSV"][$i]["config"] = $row["config"];
92
                $csv_arr["root"]["CSV_files"]["CSV"][$i]["out_file"] =
93
                    basename( $out_file );
94
                $csv_arr["root"]["CSV_files"]["CSV"][$i]["out_dir"] =
95
                    dirname( $out_file );
96
 
97
                $cfg2 = new Config();
98
                $cfg2->parseConfig( $csv_arr["root"]["CSV_files"],
99
                    "phparray" );
100
                $cfg2->writeConfig( $xml_file, "xml", array( "name" =>
101
                    "CSV_files" ) );
102
                $cmd = "scp $xml_file $user@" . $server . ":$extra/control/$xml_file";
103
                exec( $cmd, $out, $err );
104
            }
105
            header( "Location: ../shop-statistik.php" );
106
        }
107
        else
108
        {
109
            echo mysql_error() . "<br>$sql<br>";
110
        }
111
    }
112
    else
113
    {
114
        echo "Falsche Anzahl Parameter";
115
    }
116
 
117
?>