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: dokuadmin.php 3931 2011-09-16 08:17:57Z tiefland $
4
 
5
    /**
6
     * @author Lars Tiefland <tiefland@weban.de>
7
     * @copyright 2009 Webagentur Niewerth
8
     * @package Content-management
9
     * @version $Rev: 3931 $
10
     * @license propietary
11
     * @filesource
12
     *
13
     */
14
 
15
    /**
16
     * listet alle Dokumente auf und gibt die Möglichkeit Dokumente auch zu löschen (Dateien werden verschoben; die entsprechenden Datensätze werden versteckt)
17
     * @author Lars Tiefland <tiefland@weban.de>
18
     * @copyright 2009 Webagentur Niewerth
19
     * @package Content-management
20
     */
21
    define( "MAX_PER_PAGE", 100 );
22
    require_once  "../Online-Shop/connect2.php";
23
    require_once  "Weban_Smarty.class.php";
24
    $GLOBALS["ui"] = new Weban_Smarty();
25
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
26
    $GLOBALS["ui"]->compile_id = "Warenwirtschaft|dokuadmin";
27
    $GLOBALS["ui"]->use_sub_dirs = true;
28
    $GLOBALS["ui"]->template_dir = "templates/dokuadmin";
29
    $del_recht = isset( $user_rechte["Warenwirtschaft"]["dokuadmin"]["dokudel"] );
30
    $GLOBALS["ui"]->assign( "del_recht", $del_recht );
31
    $valid_sorts = array( "document", "letzte_aenderung_am",
32
        "letzte_aenderung_von" );
33
    $valid_dirs = array( "DESC", "ASC" );
34
    if ( isset( $user_rechte["Warenwirtschaft"]["dokuadmin"]["dokulist"] ) )
35
    {
36
        switch ( $_GET["mode"] )
37
        {
38
            case "del":
39
                if ( $del_recht )
40
                {
41
                    echo "Datensatz gelöscht!";
42
                    if ( is_numeric( $_GET["ID"] ) )
43
                    {
44
                        $id = intval( $_GET["ID"] );
45
 
46
                        $sql = "
47
                            SELECT
48
                                *
49
                            FROM
50
                                dokumente
51
                            WHERE
52
                                ID = $id
53
                        ";
54
                        $res = mysql_fetch_assoc( $sql );
55
                        if ( $res )
56
                        {
57
                            $row = mysql_fetch_assoc( $res );
58
                            $name = $row["document"];
59
                            if ( !file_exists( $webs["verzeichnis"] .
60
                                "/images/dokumente/trash" ) )
61
                            {
62
                                mkdir( $webs["verzeichnis"] .
63
                                    "/images/dokumente/trash" );
64
                            }
65
                            rename( $webs["verzeichnis"] .
66
                                "/images/dokumente/$name", $webs["verzeichnis"] .
67
                                "/images/dokumente/trash/$name" );
68
                            $sql2 = "
69
                                UPDATE
70
                                    dokumente
71
                                SET
72
                                    hidden=1
73
                                WHERE
74
                                    ID=$id
75
                            ";
76
                            $res2 = mysql_query( $sql2 );
77
                        }
78
                    }
79
                }
80
            default:
81
                $sql = "
82
                SELECT
83
                    *
84
                FROM
85
                    dokumente
86
                WHERE
87
                    hidden=0
88
                AND
89
                    table_foreign='Bestellung'
90
                ";
91
                if ( $_GET["sort"] )
92
                {
93
                    if ( !isset( $_GET["dir"] ) || $_GET["dir"] == "" || !
94
                        in_array( $_GET["dir"], $valid_dirs ) )
95
                    {
96
                        $dir = "ASC";
97
                    } elseif ( in_array( $_GET["dir"], $valid_dirs ) )
98
                    {
99
                        $dir = $_GET["dir"];
100
                    }
101
                    if ( in_array( $_GET["sort"], $valid_sorts ) )
102
                    {
103
                        $sql .= "
104
                            ORDER BY $sort $dir
105
                        ";
106
                    } elseif ( $_GET["sort"] == "doktype" )
107
                    {
108
                        $sql .= "
109
                            ORDER BY substr(document,1,1) $dir
110
                        ";
111
                    }
112
                    else
113
                    {
114
                        $sort = "letzte_aenderung_am";
115
                        $dir = "DESC";
116
                        $sql .= "
117
                            ORDER BY letzte_aenderung_am DESC
118
                        ";
119
                    }
120
                }
121
                else
122
                {
123
                    $sort = "letzte_aenderung_am";
124
                    $dir = "DESC";
125
                    $sql .= "
126
                            ORDER BY letzte_aenderung_am DESC
127
                        ";
128
                }
129
                $res = mysql_query( $sql );
130
                $d_anz = mysql_num_rows( $res );
131
                $p_anz = ceil( $d_anz / MAX_PER_PAGE );
132
                if ( !$_GET["p_id"] || $_GET["p_id"] == 0 )
133
                {
134
                    $cur_page = 1;
135
                } elseif ( abs( $_GET["p_id"] ) > $p_anz )
136
                {
137
                    $cur_page = $p_anz;
138
                } elseif ( is_numeric( $_GET["p_id"] ) )
139
                {
140
                    $cur_page = intval( $_GET["p_id"] );
141
                }
142
                $start = ( $cur_page - 1 ) * MAX_PER_PAGE;
143
                $GLOBALS["ui"]->assign( "cur_page", $cur_page );
144
 
145
                $GLOBALS["ui"]->assign( "p_anz", $p_anz );
146
                for ( $page_id = 1; $page_id <= $p_anz; $page_id++ )
147
                {
148
                    $pages[$page_id] = $page_id;
149
                }
150
                $GLOBALS["ui"]->assign( "pages", $pages );
151
                if ( $d_anz > MAX_PER_PAGE )
152
                {
153
                    $sql .= "
154
                        LIMIT $start, " . MAX_PER_PAGE . "
155
                    ";
156
                    $res = mysql_query( $sql );
157
                }
158
                while ( $row = mysql_fetch_assoc( $res ) )
159
                {
160
                    switch ( $row["document"][0] )
161
                    {
162
                        case "A":
163
                            $row["docu_type"] = "Auftrag";
164
                            $row["deletable"] = false;
165
                            break;
166
                        case "L":
167
                            $row["docu_type"] = "Lieferschein";
168
                            $row["deletable"] = false;
169
                            break;
170
                        case "R":
171
                            $row["docu_type"] = "Rechnung";
172
                            $row["deletable"] = false;
173
                            break;
174
                        case "G":
175
                            $row["docu_type"] = "Gutschein";
176
                            $row["deletable"] = true;
177
                            break;
178
                        default:
179
                            $row["docu_type"] = "E-Mail";
180
                            $row["deletable"] = true;
181
                            break;
182
                    }
183
                    $row["letzte_aenderung_am"] = datetime2human( $row["letzte_aenderung_am"] );
184
                    $row["valid"] = true;
185
                    $sql2 = "
186
                        SELECT
187
                    " . $row["row_foreign"] . "
188
                        FROM " . $row["table_foreign"] . "
189
                        WHERE
190
                    " . $row["row_foreign"] . " =
191
                    " . $row["data_foreign"] . "
192
                    ";
193
                    $res2 = mysql_query( $sql2 );
194
                    if ( !mysql_num_rows( $res2 ) )
195
                    {
196
                        $row["valid"] = false;
197
                    }
198
                    $daten[] = $row;
199
                }
200
                foreach ( $valid_sorts as $sort_v )
201
                {
202
                    if ( $sort == $sort_v )
203
                    {
204
                        $sorts[$sort_v]["dir"] = ( $dir == "ASC" ) ? "DESC" :
205
                            "ASC";
206
                    }
207
                    else
208
                    {
209
                        $sorts[$sort_v]["dir"] = "ASC";
210
                    }
211
                }
212
                $GLOBALS["ui"]->assign( "cur_sort", $sort );
213
                $GLOBALS["ui"]->assign( "cur_dir", $dir );
214
                $GLOBALS["ui"]->assign( "sort", $sorts );
215
                $GLOBALS["ui"]->assign( "daten", $daten );
216
                $GLOBALS["ui"]->assign( "title", "Dokumentenliste" );
217
                $GLOBALS["ui"]->assign( "tpl", "list.tpl" );
218
                break;
219
        }
220
        $GLOBALS["ui"]->assign( "webs", $webs );
221
    }
222
    else
223
    {
224
        $GLOBALS["ui"]->assign( "meld",
225
            "Sie sind nicht berechtigt diese Funktion zu nutzen!" );
226
        $GLOBALS["ui"]->assign( "error", true );
227
        $GLOBALS["ui"]->assign( "tpl", "meld.tpl" );
228
    }
229
    $GLOBALS["ui"]->display( "dokuadmin.tpl" );
230
?>