openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit c1a90473a7c7bfe8c529263ed5889900fec661e2
parent 5730f8c19d471c217846345e8d081924dae4218d
Author: dankert <devnull@localhost>
Date:   Fri, 26 Oct 2007 00:29:11 +0200

Neue Methoden f?r Filemanager.

Diffstat:
objectClasses/Folder.class.php | 47+++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 43 insertions(+), 4 deletions(-)

diff --git a/objectClasses/Folder.class.php b/objectClasses/Folder.class.php @@ -20,6 +20,9 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ +// Revision 1.12 2007-10-25 22:29:11 dankert +// Neue Methoden f?r Filemanager. +// // Revision 1.11 2007-05-02 21:28:47 dankert // Beim Lesen aller Objekte bereits in der Datenbank nach Typ filtern. // @@ -105,20 +108,23 @@ class Folder extends Object global $SESS; $db = db_connection(); - $sql = new SQL('SELECT id FROM {t_folder}'. + $sql = new SQL('SELECT id FROM {t_object}'. ' WHERE parentid IS NULL'. + ' AND is_folder=1'. ' AND projectid={projectid}' ); // Wenn Methode statisch aufgerufen wird, ist $this nicht vorhanden - if ( isset($this) ) + if ( isset($this) && isset($this->projectid) ) + { $sql->setInt('projectid',$this->projectid ); + } else { - $project = Session::getProject(); + $project = Session::getProject(); $sql->setInt('projectid',$project->projectid ); } - // Datenbankabfrage ausf?hren + // Datenbankabfrage ausfuehren return $db->getOne( $sql->query ); } @@ -480,6 +486,25 @@ class Folder extends Object return $db->getCol( $sql->query ); } + + + /** + * Liefert eine Liste von allen Dateien in diesem Ordner. + * + * @return Array Schlüssel=Objekt-Id, Wert=Dateiname + */ + function getFileFilenames() + { + $db = db_connection(); + + $sql = new Sql('SELECT id,filename FROM {t_object} '. + ' WHERE parentid={objectid} AND is_file=1'. + ' ORDER BY orderid ASC' ); + $sql->setInt( 'objectid' ,$this->objectid ); + + return $db->getAssoc( $sql->query ); + } + function getLinks() { @@ -810,6 +835,20 @@ EOF return $this->subfolders; } + + + + function getSubfolderFilenames() + { + $db = db_connection(); + + $sql = new Sql('SELECT id,filename FROM {t_object} '. + ' WHERE parentid={objectid} AND is_folder=1'. + ' ORDER BY orderid ASC' ); + $sql->setInt( 'objectid' ,$this->objectid ); + + return $db->getAssoc( $sql->query ); + } // Ermitteln aller Unterordner (rekursives Absteigen)