Changeset 347 in t29-www for lib/search.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/search.php

    r290 r347  
    77
    88        function page_handler() {
    9                 if(!isset($_GET['action']))
     9                if(!isset($_GET['action'])) {
     10                        // This is an "ordinary" page call.
     11                        // do some organisation stuff and return.
     12                        $this->setup_interlang();
    1013                        return;
     14                }
    1115                $action = $_GET['action'];
    1216                if(array_key_exists($action, self::$actions)) {
     
    4044                exit;
    4145        }
     46       
     47        /**
     48         * Since the search isn't denoted in the navigation.xml, the interlanguage
     49         * system doesn't work. This method fixes that by talking with t29Template.
     50         * This must be done after including technikum29.php.
     51         **/
     52        function setup_interlang() {
     53                $GLOBALS['template_callback'] = function($template) {
     54                        // Interlanguage Links: Defakto nicht cachebar da das Cachesystem fuer dynamische Seiten
     55                        // den header/footer cacht und damit auch die Interlang-Eintraege. Links wie
     56                        // "/de/suche.php"+$_SERVER['QUERY_STRING'] funktionieren daher nicht dynamisch,
     57                        // da der Head ja gecacht wird. Ist ein nicht so wichtiges FIXME.
     58                        $template->set_interlang_link("de", "/de/suche.php", "Suche");
     59                        $template->set_interlang_link("en", "/en/search.php", "Search");
     60                };
     61        }
     62       
     63        function google_search_snippet() {
     64        ?>
     65        <script>
     66                (function() {
     67                var cx = '010117769997860607363:ovbd9zjaaps';
     68                var gcse = document.createElement('script');
     69                gcse.type = 'text/javascript';
     70                gcse.async = true;
     71                gcse.src = (document.location.protocol == 'https' ? 'https:' : 'http:') +
     72                        '//www.google.com/cse/cse.js?cx=' + cx;
     73                var s = document.getElementsByTagName('script')[0];
     74                s.parentNode.insertBefore(gcse, s);
     75                })();
     76        </script>
     77        <gcse:search></gcse:search>
     78        <?php
     79        }
    4280}
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