openrat-cms

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

commit a57a4e83924121cfd971ea4f81b6b801434935b2
parent 6c4f76ec6cbebaae86bc162f755c4833536deb65
Author: dankert <devnull@localhost>
Date:   Wed, 19 Jul 2006 23:30:12 +0200

Verbesserung "getParentObjectNames()"

Diffstat:
objectClasses/Folder.class.php | 85+++++++++++++++++++++++++++++++++++++++++++++++--------------------------------
1 file changed, 51 insertions(+), 34 deletions(-)

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.9 2005-11-07 22:34:51 dankert +// Revision 1.10 2006-07-19 21:30:12 dankert +// Verbesserung "getParentObjectNames()" +// +// Revision 1.9 2005/11/07 22:34:51 dankert // Einen Sql-Befehl in ein "here-document" ausgelagert. // // Revision 1.8 2005/01/04 19:58:56 dankert @@ -596,8 +599,14 @@ class Folder extends Object } - function addParentFolder( $id,$name ) + function addParentFolder( $id,$name,$filename='' ) { + if ( empty($name) ) + $name = $filename; + + if ( empty($name) ) + $name = "($id)"; + if ( intval($id) != 0 ) $this->parentfolders[ $id ] = $name; } @@ -722,43 +731,51 @@ EOF { $db = Session::getDatabase(); - $sql = new Sql('SELECT F0.id AS f0id,'. - ' F0NAME.name AS f0name,'. - ' F1.id AS f1id,'. - ' F1NAME.name AS f1name,'. - ' F2.id AS f2id,'. - ' F2NAME.name AS f2name,'. - ' F3.id AS f3id,'. - ' F3NAME.name AS f3name,'. - ' F4.id AS f4id,'. - ' F4NAME.name AS f4name,'. - ' F5.id AS f5id, '. - ' F5NAME.name AS f5name'. - ' FROM {t_object} AS F0'. - ' LEFT JOIN {t_name} AS F0NAME ON F0NAME.objectid=F0.id AND F0NAME.languageid={languageid} '. - ' LEFT JOIN {t_object} AS F1 on F0.parentid=F1.id '. - ' LEFT JOIN {t_name} AS F1NAME ON F1NAME.objectid=F1.id AND F1NAME.languageid={languageid} '. - ' LEFT JOIN {t_object} AS F2 on F1.parentid=F2.id '. - ' LEFT JOIN {t_name} AS F2NAME ON F2NAME.objectid=F2.id AND F2NAME.languageid={languageid} '. - ' LEFT JOIN {t_object} AS F3 on F2.parentid=F3.id '. - ' LEFT JOIN {t_name} AS F3NAME ON F3NAME.objectid=F3.id AND F3NAME.languageid={languageid} '. - ' LEFT JOIN {t_object} AS F4 on F3.parentid=F4.id '. - ' LEFT JOIN {t_name} AS F4NAME ON F4NAME.objectid=F4.id AND F4NAME.languageid={languageid} '. - ' LEFT JOIN {t_object} AS F5 on F4.parentid=F5.id '. - ' LEFT JOIN {t_name} AS F5NAME ON F5NAME.objectid=F5.id AND F5NAME.languageid={languageid} '. - ' WHERE F0.id={objectid}'); - + $sql = new Sql( <<<EOF +SELECT F0.id AS f0id, + F0.filename AS f0filename, + F1.filename AS f1filename, + F2.filename AS f2filename, + F3.filename AS f3filename, + F4.filename AS f4filename, + F5.filename AS f5filename, + F0NAME.name AS f0name, + F1.id AS f1id, + F1NAME.name AS f1name, + F2.id AS f2id, + F2NAME.name AS f2name, + F3.id AS f3id, + F3NAME.name AS f3name, + F4.id AS f4id, + F4NAME.name AS f4name, + F5.id AS f5id, + F5NAME.name AS f5name + FROM {t_object} AS F0 + LEFT JOIN {t_name} AS F0NAME ON F0NAME.objectid=F0.id AND F0NAME.languageid={languageid} + LEFT JOIN {t_object} AS F1 on F0.parentid=F1.id + LEFT JOIN {t_name} AS F1NAME ON F1NAME.objectid=F1.id AND F1NAME.languageid={languageid} + LEFT JOIN {t_object} AS F2 on F1.parentid=F2.id + LEFT JOIN {t_name} AS F2NAME ON F2NAME.objectid=F2.id AND F2NAME.languageid={languageid} + LEFT JOIN {t_object} AS F3 on F2.parentid=F3.id + LEFT JOIN {t_name} AS F3NAME ON F3NAME.objectid=F3.id AND F3NAME.languageid={languageid} + LEFT JOIN {t_object} AS F4 on F3.parentid=F4.id + LEFT JOIN {t_name} AS F4NAME ON F4NAME.objectid=F4.id AND F4NAME.languageid={languageid} + LEFT JOIN {t_object} AS F5 on F4.parentid=F5.id + LEFT JOIN {t_name} AS F5NAME ON F5NAME.objectid=F5.id AND F5NAME.languageid={languageid} + WHERE F0.id={objectid} +EOF + ); $sql->setInt('objectid' ,$this->objectid ); $sql->setInt('languageid',$this->languageid); $row = $db->getRow( $sql->query ); - $this->addParentfolder( $row['f0id'],$row['f0name'] ); - $this->addParentfolder( $row['f1id'],$row['f1name'] ); - $this->addParentfolder( $row['f2id'],$row['f2name'] ); - $this->addParentfolder( $row['f3id'],$row['f3name'] ); - $this->addParentfolder( $row['f4id'],$row['f4name'] ); - $this->addParentfolder( $row['f5id'],$row['f5name'] ); + $this->addParentfolder( $row['f0id'],$row['f0name'],$row['f0filename'] ); + $this->addParentfolder( $row['f1id'],$row['f1name'],$row['f1filename'] ); + $this->addParentfolder( $row['f2id'],$row['f2name'],$row['f2filename'] ); + $this->addParentfolder( $row['f3id'],$row['f3name'],$row['f3filename'] ); + $this->addParentfolder( $row['f4id'],$row['f4name'],$row['f4filename'] ); + $this->addParentfolder( $row['f5id'],$row['f5name'],$row['f5filename'] ); $this->checkParentFolders($with_root,$with_self);