ListMenu.class.php

gehe zur Dokumentation dieser Datei
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: "&middot;"'
00048           );
00049 
00050 
00051      var $arrowChar = ' &middot; ';
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 }

Erzeugt am Thu May 14 00:55:48 2009 für OpenRat von  doxygen 1.5.8