Advertisement
Grischa

navigationspfad.php

Oct 3rd, 2015
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.32 KB | None | 0 0
  1. $url = $_SERVER["REQUEST_URI"];
  2.  
  3. // benoetigt fuer den Navigationspfad
  4. $url = str_replace("\?[^>]*print", "", $url);       // früher eregi_replace 13.7.14
  5. // zerlegen des Restes    
  6. $teilurl = explode("/", urldecode($url)); // zerlegen der URL
  7.  
  8.  
  9. /*
  10.   -----------------------------------------------------------
  11.   Zuweisungen
  12.   -----------------------------------------------------------
  13.  */
  14. /* -- begin Portal-Check -- */
  15. preg_match_all("=/(.*)/=siU", $url, $between); // typ0 fischen
  16. // bei Startseite ist $between[1][0] nicht vorhanden!
  17. if (isset($between[1][0]))
  18. {
  19.         if ($between[1][0] != "glossar" OR $between != "nachhilfe")
  20.         {
  21.         #$google=anzeigen;
  22.        // Google-Anzeigen nutzen, wenn nicht Nachhilfe ODER Glossar
  23.         // Hinweis: Damit kommt auf Startseite, Glossar und Nachhilfe
  24.         // der "Standard" (Google-Suche) zum tragen
  25.                 /* Unterscheidung Startseite/Portal/weitere Seiten */
  26.                 /* $teilurl[2] ist nur gefuellt, wenn _innerhalb_ des Portals */
  27.                 if ($teilurl[2] != "")
  28.                 {
  29.                 $portal=false; // ist eine Unterseite
  30.                 $unterseite=true;
  31.                 $startseite=false;
  32.                 }
  33.                 else
  34.                 {
  35.                 $portal=true; // ist nicht Startseite
  36.                 $startseite=false;
  37.                 $unterseite=false;
  38.                 }
  39.                 // 24.11.2004:
  40.                 if ($between[1][0] == "glossar" OR $between[1][0] == "nachhilfe" OR $between[1][0] == "newsletter" OR $between[1][0] == "allgemein" OR $between[1][0] == "admin")
  41.                 {
  42.                 // $portal ist true, da else des vorhergehenden Zweiges zutrifft -> Ausnahme von Restportalen
  43.                 $portal=false; // Verhalten wie bei Unterseiten
  44.                 // --> kein anzeigen des rechten Bereiches
  45.                 }
  46.         }
  47. }
  48. else
  49. {
  50. // kein between -> Startseite
  51. $startseite=true;
  52. $portal=false; // kein Portal -> nur sicherheitshalber nochmal auf false setzen
  53. $unterseite=false;
  54. }
  55. /* -- end Portal-Check -- */
  56.  
  57. /* -- beginn Menue-Zuordnung -- */
  58. if (isset($between[1][0])) {
  59.     $url = $between[1][0]; // liegt in diesem Array und wird $url zugewiesen
  60. } else {
  61.     $url = $between[1]; // liegt in diesem Array und wird $url zugewiesen  
  62. }
  63. // nun 'wirtschaft', 'informatik'...
  64. // Variable $url wird in menue_inc.php verwendet
  65. /* -- end Menue-Zuordnung -- */
  66.  
  67. /* -- begin Portalname -- */
  68. if ($teilurl[1] != "") { // steht was in $teilurl[1]? Wenn nicht == Root!
  69.     global $typ0, $data;
  70.     $typ0 = $teilurl[1];
  71.     $data = $typ0;                                // Hilfsvariable fuer Ausnahmen
  72.     ausnahme($data);
  73.     bigwords($data);
  74.     if ($typ0 != $data) {
  75.         $typ0 = $data;
  76.     } // greift eine Ausnahme? Dann anpassen!
  77.     $typ0 = ucfirst($typ0);         // erster Buchst. gross!
  78. }
  79. /* -- end Portalname -- */
  80.  
  81.  
  82. if (!isset($typ0)) {
  83.     $typ0 = "";
  84. }
  85.  
  86.  
  87. ///////
  88.  
  89.  
  90.  
  91.  
  92. if ($teilurl[1] != "") {
  93. // nun mit Verlinkung, da nicht Startseite
  94.     $navigationspfad = '<a href="/">Start</a>';
  95.  
  96. // steht was in $teilurl[1]? Wenn nicht == Root!
  97.     $anzahl = count($teilurl);        // wieviele Eintraege hat das Array?
  98.     $anzahl = $anzahl - 1;                // im letzten Teil stehen Dateinamen oder Anhaenge
  99.     // "?x=blabla", daher $anzahl um eins verringern.
  100.     for ($navigationspfad_zaehler = 1; $navigationspfad_zaehler < $anzahl; $navigationspfad_zaehler++) {
  101.         $findstrong = $navigationspfad_zaehler + 1; // Hilfsvariable eins hoeher als der aktuelle Zaehler
  102.         if ($teilurl[$findstrong] != "") { // nur als Link, wenn auch die nexte $teilurl[x] gefuellt ist!
  103.             $data = $teilurl[$navigationspfad_zaehler]; // aktuelle Teil-URL -> Name
  104. $moreurl = '';         
  105.             $moreurl .= $teilurl[$navigationspfad_zaehler] . '/';                  
  106.             umlaute($data); // Umlaute und MINUS ersetzen
  107.             ausnahme($data); // Ev. Schreibweise berichtigen/anpassen
  108.             $data = ucfirst($data); // erster Buchstabe gross! -> Greift nicht bei Umlauten!
  109.             bigwords($data); // Ev. Umlaute am Anfang
  110.             $navigationspfad .= ' &gt; <a href="/' . $moreurl . '">' . $data . '</a>';
  111.             var_dump($teilurl[$navigationspfad_zaehler]);
  112.             // <title> bauen, wenn nicht in Datei angelegt:
  113.             if (!isset($title_intern)) {
  114.                 // erste Runde, daher erstmal Variable anlegen und mit der Domain füllen
  115.                 $title_intern = "Lern-Online.net";
  116.             }
  117.             // nun einmal pro Runde zusammenbauen
  118.             findtitle($data);
  119.             // <h1> nur belegen, wenn nicht bereits in Datei belegt!
  120.             #if (!isset($h1)) {
  121.            $data = $teilurl[$findstrong]; // <h1> zuweisen, ist immer der aktuelle Punkt
  122.             umlaute($data); // Umlaute und MINUS ersetzen
  123.             ausnahme($data); // Ev. Schreibweise berichtigen/anpassen
  124.             $data = ucfirst($data); // erster Buchstabe gross! -> Greift nicht bei Umlauten!
  125.             bigwords($data); // Ev. Umlaute am Anfang
  126.             $h1 = $data;
  127.             #}
  128.        } else {
  129.             $data = $teilurl[$navigationspfad_zaehler]; // aktuelle Teil-URL -> Name
  130.             umlaute($data); // Umlaute und MINUS ersetzen
  131.             ausnahme($data); // Ev. Schreibweise berichtigen/anpassen
  132.             $data = ucfirst($data); // erster Buchstabe gross! -> Greift nicht bei Umlauten!
  133.             bigwords($data); // Ev. Umlaute am Anfang
  134.             if (!isset($exception)) {
  135.                 // Lektionen vorhanden? Nein? Ausgrauen, kein Link:
  136.                 $navigationspfad .= ' &gt; <strong>' . $data . '</strong>';
  137.             } else {
  138.                 // Ausnahme vorhanden? Ja? Dann ein Link:
  139.                 $moreurl .= $teilurl[$navigationspfad_zaehler] . '/'; // zusammensetzen der benoetigten (Teil-)URL
  140.                 $navigationspfad .= ' &gt; <a href="/' . $moreurl . '">' . $data . '</a>';
  141.             }
  142.             // <title> bauen:
  143.             // <title> bauen, wenn nicht in Datei angelegt:
  144.             if (!isset($title_intern)) {
  145.                 // erste Runde, daher erstmal Variable anlegen und mit der Domain füllen
  146.                 $title_intern = "Lern-Online.net";
  147.             }
  148.             // nun einmal pro Runde zusammenbauen
  149.             findtitle($data);
  150.             // <h1> nur belegen, wenn nicht bereits in Datei belegt!
  151.             if (!isset($h1)) {
  152.                 umlaute($data); // Umlaute und MINUS ersetzen
  153.                 ausnahme($data); // Ev. Schreibweise berichtigen/anpassen
  154.                 $data = ucfirst($data); // erster Buchstabe gross! -> Greift nicht bei Umlauten!
  155.                 bigwords($data); // Ev. Umlaute am Anfang
  156.                 $h1 = $data; // <h1> zuweisen, ist immer der aktuelle Punkt
  157.             }
  158.         }
  159.     }
  160.     // Ausnahme vorhanden?
  161.     if (isset($exception) && $exception != "") {
  162.         $data = $exception; // Hilfsvariable $data fuer Ausnahmesuche
  163.         umlaute($data); // Umlaute und MINUS ersetzen
  164.         ausnahme($data); // Ev. Schreibweise berichtigen/anpassen
  165.         bigwords($data); // Ev. Umlaute am Anfang
  166.         $data = ucfirst($data); // erster Buchstabe gross! -> Greift nicht bei Umlauten!
  167.         $navigationspfad .= ' &gt; <strong>' . $data . '</strong>';
  168.         $h1 = $data; // <h1> zuweisen
  169.     }
  170. }
  171. /* -- end Navigationspfad -- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement