Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

    //$Id: projekt_benutzer.class.php 433 2008-09-10 12:53:35Z tiefland $

    /**
     * @author Lars Tiefland <tiefland@weban.de>
     * @copyright 2008 Webagentur Niewerth
     * @package Content-management
     * @version $Rev: 433 $
     * @license propietary
     * @filesource
     * 
     */

    /**
     * 
     * @author Lars Tiefland <tiefland@weban.de>
     * @copyright 2008 Webagentur Niewerth
     * @package Content-management
     */

    class Projekt_Benutzer
    {
        var $pb_id = null;
        var $login = null;
        var $intern = false;
        var $status = "";
        var $pb_projekte = array();
        var $erstellt_am="";
        var $erstellt_von="";
        var $letzte_Aenderung_am="";
        var $letzte_Aenderung_von="";

        function Projekt_Benutzer( $l_id = null, $is_login = true )
        {
            if ( $is_login )
            {
                if ( $l_id )
                {
                    $l = new Login( $l_id );
                    $this->login = $l;
                    $sql = "
                        SELECT
                            p_id,
                            id,
                            status,
                            intern,
                            erstellt_am,
                            erstellt_von,
                            letzte_Aenderung_am,
                            letzte_Aenderung_von
                        FROM
                            projekt_benutzer
                        WHERE
                            l_id=$l_id
                    ";
                    $res = mysql_query( $sql );
                    if ( $res )
                    {
                        while ( $row = mysql_fetch_assoc($res) )
                        {
                            $p = new Projekt( $row["p_id"] );
                            $this->pb_projekte[] = $p;
                            $this->pb_id = $row["id"];
                            $this->status = $row["status"];
                            $this->intern = ($row["intern"])?"ja":"nein";
                            $this->erstellt_am=$row["erstellt_am"];
                            $this->erstellt_von=$row["erstellt_von"];
                            $this->letzte_Aenderung_am=$row["letzte_Aenderung_am"];
                            $this->letzte_Aenderung_von=$row["letzte_Aenderung_von"];
                        }
                    }
                }
            }
            else
            {
                $this->pb_id = $l_id;
                $sql = "
                    SELECT
                        p_id,
                        l_id,
                        status,
                        intern,
                        erstellt_am,
                        erstellt_von,
                        letzte_Aenderung_am,
                        letzte_Aenderung_von
                    FROM
                        projekt_benutzer
                    WHERE
                        id=$l_id
                ";
                $res = mysql_query( $sql );
                if ( $res )
                {
                    while ( $row = mysql_fetch_assoc($res) )
                    {
                        $p = new Projekt( $row["p_id"] );
                        $this->pb_projekte[] = $p;
                        $l = new Login( $row["l_id"] );
                        $this->login = $l;
                        $this->status = $row["status"];
                        $this->intern = ($row["intern"])?"ja":"nein";
                        $this->erstellt_am=$row["erstellt_am"];
                        $this->erstellt_von=$row["erstellt_von"];
                        $this->letzte_Aenderung_am=$row["letzte_Aenderung_am"];
                        $this->letzte_Aenderung_von=$row["letzte_Aenderung_von"];
                    }
                }
            }
            return $this;
        }

        function update( $pb_id = null, $l_id = null, $p_id = null, $status="", $intern=false )
        {
            if ( !$p_id )
            {
                $res = false;
            }
            else
            {
                $this->pb_id = $pb_id;
                $this->login = $l_id;
                $this->pb_projekte = $p_id;
                $this->intern=$intern;
                $this->status=$status;
                $res = true;
            }
            return $res;
        }

        function save( $op )
        {
            switch ( $op )
            {
                case "save":
                    $sql = "
                        INSERT INTO 
                            projekt_benutzer
                        (
                            p_id,
                            l_id,
                            status,
                            intern
                        )
                        VALUES
                        (
                            $this->pb_projekte,
                            $this->login,
                            '$this->status',
                            $this->intern
                        )
                    ";
                    break;
                case "update":
                    $sql = "
                        UPDATE
                            projekt_benutzer
                        SET
                            p_id=$this->pb_projekte,
                            l_id=$this->login,
                            status='$this->status',
                            intern=$this->intern
                        WHERE
                            id=$this->pb_id
                    ";
                    break;
                case "delete":
                    $sql = "
                        DELETE FROM
                            projekt_benutzer
                        WHERE
                            id=$this->pb_id;
                    ";
                    break;
                default:
                    $res = false;
                    break;
            }
            if ( $sql )
            {
                $res = mysql_query( $sql );
            }
            return $res;
        }

        function getProjektBenutzer( $p_id = null )
        {
            if ( $p_id )
            {
                $sql = "
                    SELECT
                        l_id,
                        id
                    FROM
                        projekt_benutzer
                    WHERE
                        p_id=$p_id
                ";
                $res = mysql_query( $sql );
                if ( $res )
                {
                    while ( $row = mysql_fetch_assoc($res) )
                    {
                        $l = new Login( $row["l_id"] );
                        $ret[] = $l;
                    }
                }
            }
            else
            {
                $sql = "
                    SELECT
                        l_id,
                        p_id,
                        id
                    FROM
                        projekt_benutzer
                    ORDER BY
                        p_id
                ";
                $res = mysql_query( $sql );
                if ( $res )
                {
                    $id = 0;
                    while ( $row = mysql_fetch_assoc($res) )
                    {
                        $l = new Login( $row["l_id"] );
                        $p = new Projekt( $row["p_id"] );
                        $b = new Projekt_Benutzer( $row["id"], false );
                        $ret[$id]["projekte"]["logins"][] = $l;
                        $ret[$id]["projekte"]["projekt"] = $p;
                        $ret[$id]["projekte"]["benutzer"][] = $b->pb_id;
                        $id++;
                    }
                }
            }
            return $ret;
        }
    }

?>