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: projekt_benutzer.class.php 433 2008-09-10 12:53:35Z tiefland $
4
 
5
    /**
6
     * @author Lars Tiefland <tiefland@weban.de>
7
     * @copyright 2008 Webagentur Niewerth
8
     * @package Content-management
9
     * @version $Rev: 433 $
10
     * @license propietary
11
     * @filesource
12
     *
13
     */
14
 
15
    /**
16
     *
17
     * @author Lars Tiefland <tiefland@weban.de>
18
     * @copyright 2008 Webagentur Niewerth
19
     * @package Content-management
20
     */
21
 
22
    class Projekt_Benutzer
23
    {
24
        var $pb_id = null;
25
        var $login = null;
26
        var $intern = false;
27
        var $status = "";
28
        var $pb_projekte = array();
29
        var $erstellt_am="";
30
        var $erstellt_von="";
31
        var $letzte_Aenderung_am="";
32
        var $letzte_Aenderung_von="";
33
 
34
        function Projekt_Benutzer( $l_id = null, $is_login = true )
35
        {
36
            if ( $is_login )
37
            {
38
                if ( $l_id )
39
                {
40
                    $l = new Login( $l_id );
41
                    $this->login = $l;
42
                    $sql = "
43
                        SELECT
44
                            p_id,
45
                            id,
46
                            status,
47
                            intern,
48
                            erstellt_am,
49
                            erstellt_von,
50
                            letzte_Aenderung_am,
51
                            letzte_Aenderung_von
52
                        FROM
53
                            projekt_benutzer
54
                        WHERE
55
                            l_id=$l_id
56
                    ";
57
                    $res = mysql_query( $sql );
58
                    if ( $res )
59
                    {
60
                        while ( $row = mysql_fetch_assoc($res) )
61
                        {
62
                            $p = new Projekt( $row["p_id"] );
63
                            $this->pb_projekte[] = $p;
64
                            $this->pb_id = $row["id"];
65
                            $this->status = $row["status"];
66
                            $this->intern = ($row["intern"])?"ja":"nein";
67
                            $this->erstellt_am=$row["erstellt_am"];
68
                            $this->erstellt_von=$row["erstellt_von"];
69
                            $this->letzte_Aenderung_am=$row["letzte_Aenderung_am"];
70
                            $this->letzte_Aenderung_von=$row["letzte_Aenderung_von"];
71
                        }
72
                    }
73
                }
74
            }
75
            else
76
            {
77
                $this->pb_id = $l_id;
78
                $sql = "
79
                    SELECT
80
                        p_id,
81
                        l_id,
82
                        status,
83
                        intern,
84
                        erstellt_am,
85
                        erstellt_von,
86
                        letzte_Aenderung_am,
87
                        letzte_Aenderung_von
88
                    FROM
89
                        projekt_benutzer
90
                    WHERE
91
                        id=$l_id
92
                ";
93
                $res = mysql_query( $sql );
94
                if ( $res )
95
                {
96
                    while ( $row = mysql_fetch_assoc($res) )
97
                    {
98
                        $p = new Projekt( $row["p_id"] );
99
                        $this->pb_projekte[] = $p;
100
                        $l = new Login( $row["l_id"] );
101
                        $this->login = $l;
102
                        $this->status = $row["status"];
103
                        $this->intern = ($row["intern"])?"ja":"nein";
104
                        $this->erstellt_am=$row["erstellt_am"];
105
                        $this->erstellt_von=$row["erstellt_von"];
106
                        $this->letzte_Aenderung_am=$row["letzte_Aenderung_am"];
107
                        $this->letzte_Aenderung_von=$row["letzte_Aenderung_von"];
108
                    }
109
                }
110
            }
111
            return $this;
112
        }
113
 
114
        function update( $pb_id = null, $l_id = null, $p_id = null, $status="", $intern=false )
115
        {
116
            if ( !$p_id )
117
            {
118
                $res = false;
119
            }
120
            else
121
            {
122
                $this->pb_id = $pb_id;
123
                $this->login = $l_id;
124
                $this->pb_projekte = $p_id;
125
                $this->intern=$intern;
126
                $this->status=$status;
127
                $res = true;
128
            }
129
            return $res;
130
        }
131
 
132
        function save( $op )
133
        {
134
            switch ( $op )
135
            {
136
                case "save":
137
                    $sql = "
138
                        INSERT INTO
139
                            projekt_benutzer
140
                        (
141
                            p_id,
142
                            l_id,
143
                            status,
144
                            intern
145
                        )
146
                        VALUES
147
                        (
148
                            $this->pb_projekte,
149
                            $this->login,
150
                            '$this->status',
151
                            $this->intern
152
                        )
153
                    ";
154
                    break;
155
                case "update":
156
                    $sql = "
157
                        UPDATE
158
                            projekt_benutzer
159
                        SET
160
                            p_id=$this->pb_projekte,
161
                            l_id=$this->login,
162
                            status='$this->status',
163
                            intern=$this->intern
164
                        WHERE
165
                            id=$this->pb_id
166
                    ";
167
                    break;
168
                case "delete":
169
                    $sql = "
170
                        DELETE FROM
171
                            projekt_benutzer
172
                        WHERE
173
                            id=$this->pb_id;
174
                    ";
175
                    break;
176
                default:
177
                    $res = false;
178
                    break;
179
            }
180
            if ( $sql )
181
            {
182
                $res = mysql_query( $sql );
183
            }
184
            return $res;
185
        }
186
 
187
        function getProjektBenutzer( $p_id = null )
188
        {
189
            if ( $p_id )
190
            {
191
                $sql = "
192
                    SELECT
193
                        l_id,
194
                        id
195
                    FROM
196
                        projekt_benutzer
197
                    WHERE
198
                        p_id=$p_id
199
                ";
200
                $res = mysql_query( $sql );
201
                if ( $res )
202
                {
203
                    while ( $row = mysql_fetch_assoc($res) )
204
                    {
205
                        $l = new Login( $row["l_id"] );
206
                        $ret[] = $l;
207
                    }
208
                }
209
            }
210
            else
211
            {
212
                $sql = "
213
                    SELECT
214
                        l_id,
215
                        p_id,
216
                        id
217
                    FROM
218
                        projekt_benutzer
219
                    ORDER BY
220
                        p_id
221
                ";
222
                $res = mysql_query( $sql );
223
                if ( $res )
224
                {
225
                    $id = 0;
226
                    while ( $row = mysql_fetch_assoc($res) )
227
                    {
228
                        $l = new Login( $row["l_id"] );
229
                        $p = new Projekt( $row["p_id"] );
230
                        $b = new Projekt_Benutzer( $row["id"], false );
231
                        $ret[$id]["projekte"]["logins"][] = $l;
232
                        $ret[$id]["projekte"]["projekt"] = $p;
233
                        $ret[$id]["projekte"]["benutzer"][] = $b->pb_id;
234
                        $id++;
235
                    }
236
                }
237
            }
238
            return $ret;
239
        }
240
    }
241
 
242
?>