00001 <?php 00002 // --------------------------------------------------------------------------- 00003 // $Id$ 00004 // --------------------------------------------------------------------------- 00005 // OpenRat Content Management System 00006 // Copyright (C) 2002 Jan Dankert, jandankert@jandankert.de 00007 // 00008 // This program is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU General Public License 00010 // as published by the Free Software Foundation; either version 2 00011 // of the License, or (at your option) any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License 00019 // along with this program; if not, write to the Free Software 00020 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 // --------------------------------------------------------------------------- 00022 // $Log$ 00023 // Revision 1.1 2005-01-28 23:06:10 dankert 00024 // Neues Menue in Listenform (HTML-Listen), aehnlich "BlockMenu" 00025 // 00026 // Revision 1.2 2004/12/25 21:05:14 dankert 00027 // erbt von Klasse Dynamic 00028 // 00029 // Revision 1.1 2004/10/14 21:16:12 dankert 00030 // Erzeugen eines Menues in Bloecken 00031 // 00032 // --------------------------------------------------------------------------- 00033 00034 00035 00040 class ListMenu extends Dynamic 00041 { 00046 var $parameters = Array( 00047 'arrowChar'=>'String between menu entries, default: "·"' 00048 ); 00049 00050 00051 var $arrowChar = ' · '; 00052 00057 var $description = 'Creates a main menu.'; 00058 var $version = '$Id$'; 00059 var $api; 00060 00061 // Erstellen des Hauptmenues 00062 function execute() 00063 { 00064 // Erstellen des Hauptmenues 00065 00066 // Lesen des Root-Ordners 00067 $folder = new Folder( $this->getRootObjectId() ); 00068 00069 // Schleife ueber alle Inhalte des Root-Ordners 00070 foreach( $folder->getObjectIds() as $id ) 00071 { 00072 $o = new Object( $id ); 00073 $o->languageid = $this->page->languageid; 00074 $o->load(); 00075 if ( $o->isFolder ) // Nur wenn Ordner 00076 { 00077 $f = new Folder( $id ); 00078 $f->load(); 00079 00080 // Ermitteln eines Objektes mit dem Dateinamen index 00081 // $oid = $f->getObjectIdByFileName('index'); 00082 00083 if ( count($f->getLinks())+count($f->getPages()) > 0 ) 00084 { 00085 $this->output( '<h1 class="title">'.$o->name.'</h1><ul>'); 00086 // Untermenue 00087 // Schleife ber alle Objekte im aktuellen Ordner 00088 foreach( $f->getObjectIds() as $xid ) 00089 { 00090 $o = new Object( $xid ); 00091 $o->languageid = $this->page->languageid; 00092 $o->load(); 00093 00094 // Nur Seiten und Verknuepfungen anzeigen 00095 if (!$o->isPage && !$o->isLink ) continue; 00096 00097 // Wenn aktuelle Seite, dann markieren, sonst Link 00098 if ( $this->getObjectId() == $xid ) 00099 { 00100 // aktuelle Seite 00101 $this->output( '<li class="menu">'.$o->name.'</li>' ); 00102 } 00103 else 00104 { 00105 $this->output( '<li class="menu"><a class="menu" href="'.$this->page->path_to_object($xid).'">'.$o->name.'</a></li>' ); 00106 } 00107 } 00108 00109 $this->output( '</ul><br />' ); 00110 } 00111 } 00112 } 00113 } 00114 }
1.5.8