Sitemap.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.2  2004-12-28 22:57:56  dankert
00024 // Korrektur Vererbung, "api" ausgebaut
00025 //
00026 // Revision 1.1  2004/10/14 21:15:29  dankert
00027 // Erzeugen und Anzeigen einer Sitemap
00028 //
00029 // ---------------------------------------------------------------------------
00030 
00031 
00032 
00037 class Sitemap extends Dynamic
00038 {
00043      var $parameters  = Array(
00044           'beforeEntry'=>'Chars before an active menu entry'
00045           );
00046 
00051      var $description = 'Creates a main menu.';
00052 
00053 
00057      var $beforeEntry = '<li><strong>';
00058      var $afterEntry  = '</strong></li>';
00059      
00060      var $api;
00061 
00065      function execute()
00066      {
00067           // Erstellen eines Untermenues
00068           
00069           // Ermitteln der aktuellen Seite
00070           $thispage = new Page( $this->getObjectId() );
00071           $thispage->load(); // Seite laden
00072           
00073           // uebergeordneter Ordner dieser Seite
00074           $this->showFolder( $this->getRootObjectId() );
00075      }
00076 
00077      function showFolder( $oid )
00078      {
00079           // uebergeordneter Ordner dieser Seite
00080           $f = new Folder( $oid );
00081           
00082           // Schleife ueber alle Objekte im aktuellen Ordner
00083           foreach( $f->getObjectIds() as $id )
00084           {
00085                $o = new Object( $id );
00086                $o->languageid = $this->page->languageid;
00087                $o->load();
00088      
00089                // Ordner
00090                if ($o->isFolder )
00091                {
00092                     $this->output( '<li><strong>'.$o->name.'</strong><br/>' );
00093                     $this->output( '<ul>' );
00094                     $this->showFolder( $id ); // Rekursiver Aufruf dieser Methode
00095                     $this->output( '</ul></li>' );
00096                }
00097 
00098                // Seiten und Verkn?fpungen
00099                if ($o->isPage || $o->isLink )
00100                {
00101                     // Wenn aktuelle Seite, dann markieren, sonst Link
00102                     if ( $this->getObjectId() == $id )
00103                     {
00104                          // aktuelle Seite
00105                          $this->output( '<li><strong>'.$o->name.'</strong></li>' );
00106                     }
00107                     else
00108                     {
00109                          // Link erzeugen
00110                          $this->output( '<li><a href="'.$this->pathToObject($id).'">'.$o->name.'</a></li>' );
00111                     }
00112                }
00113           }
00114      }
00115 }
00116 
00117 ?>

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