All pastes #94639 Raw Edit

Stuff

public text v1 · immutable
#94639 ·published 2006-07-21 11:50 UTC
rendered paste body
<?php


/**
 * Model Klasse welche die Struktur des Baums erstellt
 *
 * @author      Dominik Bonsch <sonos@gmx.de>
 * @version 0.1
 */
  class baum_model extends baum_crud {

    /**
    * Meldung die ausgegeben wird
    * @var String Systemmeldung
    */
    public $MELDUNG = null;

    /**
    * Konstruktor
    * Ruft den Parent Konstruktor auf und Speichert die Systemmeldung
    * @param String Systemmeldung
    */
    public function __construct( $meldung = "" ){
      parent::__construct();
      $this->MELDUNG = $meldung;
    }

    /**
    * Destruktor
    * Ruft den Parent Destruktor auf und kappt somit die DB Verbindung
    */
    function __destruct(){
      parent::__destruct();
    }

    /**
    * Hauptfunktion zum generieren des Baums
    *
    * Diese Funktion generiert die Rootordner und Rootbookmarks der kompletten
    * Bookmarkstruktur.
    * @return void
    */
    public function GenBaum(){

      $root = $this->GetRootOrdner();

      $template = "<h2>MenuBaum</h2>\n";

      if( $this->MELDUNG != NULL  ){
        $template .= "<p class=\"TextMeldung\">".$this->MELDUNG."</p>";
      }

      $template .= "<a href=\"./index.php?area=ordner&aktion=NewOrdner&id=0\">
        <img src=\"./icons/newordner.png\" class=\"Iconmedium\" title=\"Neuen Ordner anlegen\">
        </a>
        <a href=\"./index.php?area=bookmark&aktion=NewBookmark&id=0\">
        <img src=\"./icons/newbookmark.png\" class=\"Iconmedium\" title=\"Neues Bookmark anlegen\">
        </a>\n";

      $template .= "<ul id=\"BAUM\" >\n";

      foreach( $root as $value ){

        $idordner = $value['idordner'];
        $name = $value['name'];

        $template .= "<li title=\"Ordner Id: $idordner\"><img id=\"img_Ordner_$idordner\" class=\"Iconsmall\" src=\"./icons/minus.gif\" onclick=\"klapp('$idordner')\"  />
        $name
        <a href=\"./index.php?area=ordner&aktion=DeleteOrdner&id=$idordner\">
        <img src=\"./icons/delete.png\" class=\"Iconmedium\" title=\"Diesen Ordner löschen\">
        </a>
        <a href=\"./index.php?area=ordner&aktion=NewOrdner&id=$idordner\">
          <img src=\"./icons/newordner.png\" class=\"Iconmedium\" title=\"Neuen Ordner anlegen\">
        </a>
        <a href=\"./index.php?area=bookmark&aktion=NewBookmark&id=$idordner\">
          <img src=\"./icons/newbookmark.png\" class=\"Iconmedium\" title=\"Neues Bookmark anlegen\">
        </a>
        <a href=\"./index.php?area=ordner&aktion=BearbeiteOrdner&id=$idordner\">
          <img src=\"./icons/verschieben.png\" class=\"Iconmedium\" title=\"Diesen Ordner updaten\">
        </a>

        <br />\n";
        $template .= "<ul style=\"display:block;\" id=\"Ordner_$idordner\">\n";
          $this->Submenu( $idordner , $template );
        $template .= "</ul>\n";
        $template .= "</li>\n";

        $_SESSION['template']->SetTemplate( $template );
      } // Ende Foreach


      // Besorgen der Bookmarks in Root
      $link = $this->GetBookmarks( 0 );

      foreach( $link as $value ){

        $idbookmark = $value['idbookmark'];
        $booktext = $value['booktext'];
        $bookurl = $value['bookurl'];
        $bookicon = $value['bookicon'];

        if( !trim($bookicon) == "" ){
          $bookicon = "<img src=\"./icons/$bookicon\" class=\"IconBig\" />&nbsp;&nbsp;";
        }
        else{
          $bookicon ="";
        }

        $template .= "<li title=\"Bookmark Id:$idbookmark \" ><a href=\"$bookurl\">$bookicon$booktext</a>
          <a href=\"./index.php?area=bookmark&aktion=DeleteBookmark&id=$idbookmark\">
            <img src=\"./icons/delete.png\" class=\"Iconmedium\" title=\"Dieses Bookmark löschen\">
          </a>
          <a href=\"./index.php?area=bookmark&aktion=BearbeiteBookmark&id=$idbookmark\">
            <img src=\"./icons/verschieben.png\" class=\"Iconmedium\" title=\"Dieses Bookmark verschieben\">
          </a>

        </li>";
      } // Ende Foreach

      $template .= "</ul>";

    } // Ende function GenBaum()

    /**
    * Subfunktion zum generieren von Unterordnern
    *
    * Durch Rekursives aufrufen dieser Funktion werden alle Unterordner sowie dieser
    * die darin enthaltenen Bookmarks generiert und an den per Referenz übergebenen
    * Baum angehängt
    *
    * @param Integer $id Die Id des Vaterordners
    * @param String &$template Referenz auf den bisher generierten Baum
    * @return void
    */
    public function Submenu( $id , &$template ){

      if( $this->HasChildren( $id ) ){
        $children = $this->GetChildren( $id );
        foreach( $children as $value ){
          $idordner = $value['idordner'];
          $name = $value['name'];

          $template .= "<li title=\"Ordner Id: $idordner\"><img id=\"img_Ordner_$idordner\" class=\"Iconsmall\" src=\"./icons/minus.gif\" onclick=\"klapp('$idordner')\"  />
          $name
          <a href=\"./index.php?area=ordner&aktion=DeleteOrdner&id=$idordner\">
            <img src=\"./icons/delete.png\" class=\"Iconmedium\" title=\"Diesen Ordner löschen\">
          </a>
          <a href=\"./index.php?area=ordner&aktion=NewOrdner&id=$idordner\">
            <img src=\"./icons/newordner.png\" class=\"Iconmedium\" title=\"Neuen Ordner anlegen\">
          </a>
          <a href=\"./index.php?area=bookmark&aktion=NewBookmark&id=$idordner\">
            <img src=\"./icons/newbookmark.png\" class=\"Iconmedium\" title=\"Neues Bookmark anlegen\">
          </a>
          <a href=\"./index.php?area=ordner&aktion=BearbeiteOrdner&id=$idordner\">
            <img src=\"./icons/verschieben.png\" class=\"Iconmedium\" title=\"Diesen Ordner updaten\">
          </a>
          <br />\n";
          $template .= "<ul style=\"display:block;\" id=\"Ordner_$idordner\">\n";
          $this->Submenu( $idordner , $template );
          $template .= "</ul>\n";
          $template .= "</li>\n";
        }
      }

      // Besorgen der Bookmarks des Submenus
      $link = $this->GetBookmarks( $id );

      foreach( $link as $value ){

        $idbookmark = $value['idbookmark'];
        $booktext = $value['booktext'];
        $bookurl = $value['bookurl'];
        $bookicon = $value['bookicon'];

        if( !trim($bookicon) == "" ){
          $bookicon = "<img src=\"./icons/$bookicon\" class=\"IconBig\" />&nbsp;&nbsp;";
        }
        else{
          $bookicon ="";
        }

        $template .= "<li title=\"Bookmark Id:$idbookmark \" ><a href=\"$bookurl\" target=\"_new\">$bookicon$booktext</a>
            <a href=\"./index.php?area=bookmark&aktion=DeleteBookmark&id=$idbookmark\">
              <img src=\"./icons/delete.png\" class=\"Iconmedium\" title=\"Dieses Bookmark löschen\">
            </a>
            <a href=\"./index.php?area=bookmark&aktion=BearbeiteBookmark&id=$idbookmark\">
              <img src=\"./icons/verschieben.png\" class=\"Iconmedium\" title=\"Dieses Bookmark bearbeiten\">
            </a>
            </li>";
      } // Ende Foreach

    } // Ende  function Submenu( $id )


  }

?>