All pastes #734268 Raw Edit

Something

public text v1 · immutable
·published 2007-10-12 15:34 UTC
rendered paste body
<?php
// egentlig er det med perioderne bare maader fagene bliver vist paa
// hvordan faar jeg den til at indse, at den har faaet et id?
require_once 'Date.php';

class VIH_Course_Period
{
    protected $id;
    protected $values;
    protected $subjects = array();

    public function __construct($values = array())
    {
        $this->values = $values;
    }

    //////////////////////////////////////////////////////////////////////////////

    public function getDateStart()
    {
        return new Date($this->get('date_start'));
    }

    public function getDateEnd()
    {
        return new Date($this->get('date_end'));
    }

    public function getDescription()
    {
        return $this->get('description');

    }

    private function get($key)
    {
        if (!empty($this->values[$key])) {
            return $this->values[$key];
        } else {
            return '';
        }
    }

    public function getId()
    {
        return $this->get('id');
    }

    ///////////////////////////////////////////////////////////////////////////////

    function setDateStart($date_start)
    {
        $this->values['date_start'] = $date_start;
    }

    function setDateEnd($date_end)
    {
        $this->values['date_end'] = $date_end;
    }

    function setDescription($description)
    {
        $this->values['description'] = $description;
    }
    function setId($id)
    {
        $this->values['id'] = $id;
    }

    ///////////////////////////////////////////////////////////////////////////////

    public function save($gateway)
    {
        if ($this->get('id')) {
            $gateway->update($this->values, array('id' => $this->get('id')));

        } else {
            $gateway->insert($this->values);
        }
        return true;
    }

    ////////////////////////////////////////////////////////////////////

    // TODO should be in a gateway

    public static function getFromId($conn, $id)
    {
        try {
            //$result = $conn->query('SELECT * FROM langtkursus_fag_periode WHERE id = ' . $conn->quote((int)$id));
            $result = $conn->query('SELECT * FROM langtkursus_fag_periode WHERE id = ' . $conn->quote((int)$id))->fetchAll(PDO::FETCH_ASSOC);
        } catch (Exception $e) {
            throw $e;
        }
        return new VIH_Course_Period($result[0]);
    }

    ////////////////////////////////////////////////////////////////////

    public function addSubject($subject)
    {
        $this->subjects[] = $subject;
    }

    public function getSubjects()
    {
        return $this->subjects;
    }

}