openrat-cms

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

commit 378c57b87813c0ec5a53a7aac36d83051b9bd565
parent f234a78880f0611e080d8c0010bb37751c851dc4
Author: dankert <devnull@localhost>
Date:   Wed,  2 May 2007 23:28:47 +0200

Beim Lesen aller Objekte bereits in der Datenbank nach Typ filtern.

Diffstat:
actionClasses/PageelementAction.class.php | 12+++++++-----
objectClasses/Folder.class.php | 16++++++++++++++--
2 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/actionClasses/PageelementAction.class.php b/actionClasses/PageelementAction.class.php @@ -546,24 +546,26 @@ class PageelementAction extends Action if ( empty($this->value->element->subtype) ) $types = array('page','file','link'); // Fallback: Alle erlauben :) else - $types = explode(',',empty($this->value->element->subtype) ); + $types = explode(',',$this->value->element->subtype ); +// Html::debug($this->value->element,'Element'); +// Html::debug($types,'Typen1'); $objects = array(); - foreach( Folder::getAllObjectIds() as $id ) + foreach( Folder::getAllObjectIds($types) as $id ) { $o = new Object( $id ); $o->load(); - if ( in_array( $o->getType(),$types )) - { +// if ( in_array( $o->getType(),$types )) +// { $f = new Folder( $o->parentid ); // $f->load(); $objects[ $id ] = lang( 'GLOBAL_'.$o->getType() ).': '; $objects[ $id ] .= implode( FILE_SEP,$f->parentObjectNames(false,true) ); $objects[ $id ] .= FILE_SEP.$o->name; - } +// } } asort( $objects ); // Sortieren diff --git a/objectClasses/Folder.class.php b/objectClasses/Folder.class.php @@ -20,7 +20,10 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ -// Revision 1.10 2006-07-19 21:30:12 dankert +// Revision 1.11 2007-05-02 21:28:47 dankert +// Beim Lesen aller Objekte bereits in der Datenbank nach Typ filtern. +// +// Revision 1.10 2006/07/19 21:30:12 dankert // Verbesserung "getParentObjectNames()" // // Revision 1.9 2005/11/07 22:34:51 dankert @@ -333,16 +336,25 @@ class Folder extends Object } - function getAllObjectIds() + function getAllObjectIds( $types=array('folder','page','link','file') ) { +// Html::debug($types,'Typen'); global $SESS; $db = db_connection(); $sql = new Sql('SELECT id FROM {t_object}'. ' WHERE projectid={projectid}'. + ' AND ( is_folder={is_folder}' . + ' OR is_file ={is_file}' . + ' OR is_page ={is_page}' . + ' OR is_link ={is_link} )' . ' ORDER BY orderid ASC' ); $project = Session::getProject(); $sql->setInt('projectid',$project->projectid); + $sql->setInt('is_folder',in_array('folder',$types)?1:2); + $sql->setInt('is_file' ,in_array('file' ,$types)?1:2); + $sql->setInt('is_page' ,in_array('page' ,$types)?1:2); + $sql->setInt('is_link' ,in_array('link' ,$types)?1:2); return( $db->getCol( $sql->query ) ); }