<?php
  class unterkategorie
  {
      var $id;
      var $kategorie;
      var $name;
      var $beschreibung;
      var $punkte;
      var $vergabemonate;
      var $anzahlprojahr;
      var $u18;
      var $pluskurativ;
      var $punktekurativ;
      var $geloescht;

      function __construct($row = null)
      {
          if (isset($row)) {
              if (!isset($row['pkey'])) $row['pkey'] = '';
              $this->id = $row['pkey'];
              $this->kategorie = $row['kategorie'];
              $this->name = $row['name'];
              $this->beschreibung = $row['beschreibung'];
              $this->punkte = $row['punkte'];
              $this->vergabemonate = $row['vergabemonate'];
              $this->anzahlprojahr = $row['anzahlprojahr'];
              $this->u18 = $row['u18'];
              $this->pluskurativ = $row['pluskurativ'];
              $this->punktekurativ = $row['punktekurativ'];
              $this->punktekurativ = $row['punktekurativ'];
              $this->nurfueruservorumstellung = $row['nurfueruservorumstellung'];
              $this->aktionnachumstellung = $row['aktionnachumstellung'];
              if (!isset($row['geloescht'])) $row['geloescht'] = '';
              $this->geloescht = $row['geloescht'];
          }
          return ($this);
      }

      function add()
      {
          $query = "INSERT INTO unterkategorie 
                   SET pkey = '"  . $this->id . "'," .
                   "kategorie = '"  . $this->kategorie . "'," .
                   "name = '" . $this->name . "'," .
                   "beschreibung = '" . $this->beschreibung . "'," .
                   "punkte = '" . $this->punkte . "'," .
                   "vergabemonate = '" . $this->vergabemonate . "'," .
                   "anzahlprojahr = '" . $this->anzahlprojahr . "'," .
                   "u18 = '" . $this->u18 . "'," .
                   "geloescht = '" . $this->geloescht . "',".
                   "pluskurativ = '" . $this->pluskurativ . "'," .
                   "punktekurativ = '" . $this->punktekurativ . "'," .
                   "aktionnachumstellung = '" . $this->aktionnachumstellung . "'," .
                   "nurfueruservorumstellung = '" . $this->nurfueruservorumstellung . "';";
          dbQuery($query) or error("Kann Unterkategorie nicht eintragen: " . dbError());

          return true;
      }

      function delete()
      {
          $query = "UPDATE unterkategorie SET geloescht = 1 WHERE pkey = " . $this->id;
          dbQuery($query) or error("Kann Unterkategorie nicht loeschen: $query<br /> " . dbError());

          return true;
      }

      function update()
      {
          $query = "UPDATE unterkategorie SET " .
                   "kategorie = '"  . $this->kategorie . "'," .
                   "name = '" . $this->name . "'," .
                   "beschreibung = '" . $this->beschreibung . "'," .
                   "punkte = '" . $this->punkte . "'," .
                   "vergabemonate = '" . $this->vergabemonate . "'," .
                   "anzahlprojahr = '" . $this->anzahlprojahr . "'," .
                   "u18 = '" . $this->u18 . "', " .
                   "pluskurativ = '" . $this->pluskurativ . "', " .
                   "punktekurativ = '" . $this->punktekurativ . "', " .
                   "nurfueruservorumstellung = '" . $this->nurfueruservorumstellung . "', " .
                   "aktionnachumstellung = '" . $this->aktionnachumstellung . "', " .
                   "geloescht = '" . $this->geloescht . "' " .
                   "WHERE pkey = " . $this->id;
          dbQuery($query) or error("Kann Unterkategorie nicht aendern: " . dbError());

          return true;
      }

      static public function getUnterkategorieById($id)
      {
          $query = "SELECT * FROM unterkategorie WHERE pkey = $id";
          $result = dbQuery($query) or error("Kann Unterkategorie $id nicht finden: " . dbError());
          $row = dbFetchRow($result);
          if ($row['pkey'])
              return new unterkategorie($row);
          return false;
      }

      static public function getUnterkategorieByName($name, $u18 = 0)
      {
          $query = "SELECT * FROM unterkategorie WHERE name LIKE '$name%' and u18 = $u18";
          $result = dbQuery($query) or error("Kann Unterkategorie $id nicht finden: " . dbError());
          $row = dbFetchRow($result);
          if (isset($row['pkey']))
              return new unterkategorie($row);
          return false;
      }


  } // class unterkategorie
