Location: PHPKode > scripts > Admidio > admidio-2.2.9/adm_program/system/classes/table_lists.php
<?php
/******************************************************************************
 * Klasse fuer den Zugriff auf die Datenbanktabelle adm_lists
 *
 * Copyright    : (c) 2004 - 2011 The Admidio Team
 * Homepage     : http://www.admidio.org
 * License      : GNU Public License 2 http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Diese Klasse dient dazu ein Listenobjekt zu erstellen. 
 * Eine Liste kann ueber diese Klasse in der Datenbank verwaltet werden
 *
 * Neben den Methoden der Elternklasse TableAccess, stehen noch zusaetzlich
 * folgende Methoden zur Verfuegung:
 *
 * setDefault()       - Aktuelle Liste wird zur Default-Liste der Organisation
 *
 *****************************************************************************/

require_once(SERVER_PATH. '/adm_program/system/classes/table_access.php');

class TableLists extends TableAccess
{
    // Konstruktor
    public function __construct(&$db, $lst_id = 0)
    {
        parent::__construct($db, TBL_LISTS, 'lst', $lst_id);
    }

    // Liste samt Abhaengigkeiten loeschen
    public function delete()
    {
        // alle Spalten der Liste loeschen
        $sql = 'DELETE FROM '. TBL_LIST_COLUMNS. ' WHERE lsc_lst_id = '. $this->getValue('lst_id');
        $result = $this->db->query($sql);
        
        return parent::delete();
    } 

    public function save($updateFingerPrint = true)
    {
        global $g_current_organization, $g_current_user;
        
        // Standardfelder fuellen
        if($this->new_record)
        {
            $this->setValue('lst_timestamp', DATETIME_NOW);
            $this->setValue('lst_usr_id', $g_current_user->getValue('usr_id'));
            $this->setValue('lst_org_id', $g_current_organization->getValue('org_id'));
        }
        else
        {
            $this->setValue('lst_timestamp', DATETIME_NOW);
            $this->setValue('lst_usr_id', $g_current_user->getValue('usr_id'));
        }
        
        // falls nicht explizit auf global = 1 gesetzt wurde, immer auf 0 setzen
        if($this->getValue('lst_global') <> 1)
        {
            $this->setValue('lst_global', 0);
        }
        
        parent::save($updateFingerPrint);
    }
        
    // Aktuelle Liste wird zur Default-Liste der Organisation
    public function setDefault()
    {
        global $g_current_organization;
        
        // erst die bisherige Default-Liste zuruecksetzen
        $sql = 'UPDATE '. TBL_LISTS. ' SET lst_default = 0
                 WHERE lst_org_id  = '. $g_current_organization->getValue('org_id'). '
                   AND lst_default = 1 ';
        $this->db->query($sql);

        // jetzt die aktuelle Liste zur Default-Liste machen
        $sql = 'UPDATE '. TBL_LISTS. ' SET lst_default = 1
                 WHERE lst_id = '. $this->getValue('lst_id');
        $this->db->query($sql);
    }
}
?>
Return current item: Admidio