Changeset 347 in t29-www for lib/menu.php


Ignore:
Timestamp:
Mar 6, 2013, 3:58:15 AM (11 years ago)
Author:
sven
Message:

Diverse Verbesserungen am Homepagesystem, die bereits lange anstanden.

  • Die Suche ist endlich implementiert, wenngleich auch relativ unschoen mittels einer eingebundenen Google-Suche.

Bugfixes:

  • de/news.php: Syntaxfehler im Neuigkeiten-Menü

Backend-Aenderungen:

  • Englischsprachige Benutzer, die auf die deutsche Seite kommen oder andersrum erhalten einen Hinweis, dass es die andere Sprachversion gibt (noch nicht vollständig implementiert)
  • Es gibt ein besseres Logging-System, welches Client- und Serverausgaben verbindet
  • Das System generiert jetzt selbst Clean-URLs direkt (zumindest aus Menue/Template, Inhalte werden nicht touchiert). Das reduziert die Anzahl der Zugriffe erheblich.
  • Ein paar CSS-Details
  • navigation.xml: "#DUMME-VERLINKUNG"-Einträge entfernt
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/menu.php

    r301 r347  
    77
    88require_once dirname(__FILE__).'/messages.php';
     9require_once dirname(__FILE__).'/logging.php';
    910 
    1011class t29Menu {
    1112        public $conf;
    1213        public $xml;
     14        public $log; // just for convenience
    1315
    1416        // Bevor es eine ordentliche Dev-Moeglichkeit gibt: Der magische
     
    2628        function __construct($conf_array) {
    2729                $this->conf = $conf_array;
     30                $this->log = t29Log::get(); // just for convenience
    2831               
    2932                // create a message object if not given
     
    7073                        if(!array_reduce(array_map(function($x) use ($fields,$e){ return isset($e[$x]); }, $fields),
    7174                                        function($a,$b){ return $a && $b;}, true)) {
    72                                 $li = "<li>Fehler in Formatierung!";
     75                                $li = "<li><a href='#'>Fehler in Formatierung!<em>Dieser Menüeintrag ist falsch formatiert</em></a></li>";
     76                                $this->log->WARN("<h5>Neuigkeiten-Menü: Fehler in Formatierung</h5><p>Ein Eintrag im Neuigkeiten-Menü ist falsch formatiert.");
    7377                        } else {
    7478                                $url = ($e['link']{0} == '#' ? $this->conf['lang_path'].'/'.self::news_file : '').$e['link'];
     
    205209        /**
    206210         * @arg $xpath_menu_selection  one of the horizontal_menu / sidebar_menu consts.
    207          **/
    208         function print_menu($xpath_menu_selection) {
     211         * @arg $host Instance of t29Host which can be used for link rewriting if given.
     212         **/
     213        function print_menu($xpath_menu_selection, $host=null) {
    209214                if($this->xml_is_defective()) {
    210215                        print "The Menu file is broken.";
     
    254259                                $uld->parentNode->removeChild($uld);
    255260                        }
     261                }
     262               
     263                // alle Links mittels t29Host umwandeln (idR .php-Endung entfernen),
     264                // falls erwuenscht
     265                if($host) {
     266                        $links = $xml->xpath("//a[@href]");
     267                        foreach($links as $a)
     268                                $a['href'] = $host->rewrite_link($a['href']);
    256269                }
    257270       
Note: See TracChangeset for help on using the changeset viewer.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License