commit c1a90473a7c7bfe8c529263ed5889900fec661e2
parent 5730f8c19d471c217846345e8d081924dae4218d
Author: dankert <devnull@localhost>
Date: Fri, 26 Oct 2007 00:29:11 +0200
Neue Methoden f?r Filemanager.
Diffstat:
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)