Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

    //$Id: projekt.class.php 425 2008-09-10 09:15:32Z tiefland $

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

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

    class Projekt
    {
        var $p_id = null;
        var $p_name = "";
        var $p_von = 0;
        var $p_bis = 0;
        var $p_ort_id = null;
        var $p_ort_name = "";
        var $p_beschreibung = "";
        var $p_leiter_id = null;
        var $p_leiter_name = "";
        var $erstellt_am = "";
        var $erstellt_von = "";
        var $letzte_Aenderung_am = "";
        var $letzte_Aenderung_von = "";

        function Projekt( $p_id = null )
        {
            $this->p_id = $p_id;
            if ( $p_id )
            {
                // Daten aus DB lesen
                $sql = "
                    SELECT 
                        * 
                    FROM 
                        projekte 
                    WHERE 
                        p_id=$p_id
                ";
                $res = mysql_query( $sql );
                if ( $res )
                {
                    $row = mysql_fetch_assoc( $res );
                    $this->p_name = $row["p_name"];
                    $this->p_von = $row["p_von"];
                    $this->p_bis = $row["p_bis"];
                    $this->p_ort_id = $row["p_ort"];
                    $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"];
                    $po = new Projekt_Ort( $this->p_ort_id );
                    $this->p_ort_name = $po->po_name;
                    $this->p_beschreibung = $row["p_beschreibung"];
                    $this->p_leiter_id = $row["p_leiter"];
                    $pl = new Login( $this->p_leiter_id );
                    $this->p_leiter_name = $pl->pl_name;
                }
            }
            return $this;
        }
        function update( $p_id, $p_name, $p_von, $p_bis, $p_ort_id, $p_beschreibung,
            $p_leiter_id )
        {
            // Daten in das Objekt schreiben
            $this->p_beschreibung = $p_beschreibung;
            $this->p_bis = $p_bis;
            $this->p_id = $p_id;
            $this->p_leiter_id = $p_leiter_id;
            $this->p_name = $p_name;
            $this->p_ort_id = $p_ort_id;
            $this->p_von = $p_von;
        }
        function save( $op )
        {
            // Daten in Datenbank schreiben
            switch ( $op )
            {
                case "save":
                    $sql = "
                        INSERT INTO 
                            projekte
                        (
                            p_name,
                            p_von,
                            p_bis,
                            p_ort,
                            p_beschreibung,
                            p_leiter,
                            erstellt_am,
                            erstellt_von
                        ) 
                        VALUES 
                        (
                            '$this->p_name',
                            '$this->p_von', 
                            '$this->p_bis', 
                            '$this->p_ort_id', 
                            '$this->p_beschreibung', 
                            '$this->p_leiter_id',
                            NOW(),
                            '" . $_SERVER["PHP_AUTH_USER"] . "' 
                        )
                    ";
                    $res = mysql_query( $sql );
                    break;
                case "update":
                    $sql = "
                        UPDATE 
                            projekte 
                        SET 
                            p_von='$this->p_von', 
                            p_bis='$this->p_bis', 
                            p_ort='$this->p_ort_id', 
                            p_beschreibung='$this->p_beschreibung', 
                            p_leiter='$this->p_leiter_id',
                            letzte_Aenderung_am=NOW(),
                            letzte_Aenderung_von='" . $_SERVER["PHP_AUTH_USER"] .
                        "'  
                        WHERE
                            p_id=$this->p_id
                    ";
                    $res = mysql_query( $sql );
                    break;
                case "delete":
                    $sql = "
                        DELETE FROM
                            projekte
                        WHERE
                            p_id=$this->p_id
                    ";
                    $res = mysql_query( $sql );
                    break;
                default:
                    return false;
            }
            return $res;
        }

        function getProjekte()
        {
            $sql = "
                SELECT 
                    p_id 
                FROM 
                    projekte 
            ";
            $res = mysql_query( $sql );
            if ( $res )
            {
                while ( $row = mysql_fetch_assoc($res) )
                {
                    $p = new Projekt( $row["p_id"] );
                    $ret[] = $p;
                    unset( $p );
                }
            }
            return $ret;
        }
    }

?>