Wukos Wiki:Software-Anpassung
Bei der Umstellung auf Symlinks treten noch folgende Fehler auf, die noch korrigiert werden müssen:
Cookies ("zurück"-Funktionalität)[Bearbeiten]
- An vielen Stellen wird der Variale '$quelle' einfach der Wert von $_SERVER['HTTP_REFERER'] zugewiesen.
- Dies ist problematisch weil der REFERER nun auf jeden Fall mindestens einen GET-Parameter enthält (nämlich 'p=xyz' für die aktuell angezeigte Seite ... es wird jetzt keine Seite mehr ohne diesen GET-Parameter angezeigt).
- Es ist auch notwendig, den gesamten REFERER zu verwenden (inklusive Gleichheitszeichen), weil zum Beispiel beim Personal auch die 'id' benötigt wird!
- Problematisch ist es, wenn die '$quelle' über einen GET-Parametern übergeben wird. In diesem Fall muss der Wert vorher auf jeden Fall urlencoded werden und auf der Zielseite wieder urldecoded werden.
- Folgendermaßen kann der neue REFERER zur Übertragung bestimmt werden:
$quelle = basename( $_SERVER[ 'HTTP_REFERER' ] );
- Dies erzeugt zum Beispiel folgenden Wert:
index.php?p=abc&bla=blub
To be done[Bearbeiten]
An diese Stellen tritt das Problem noch auf:
- ...
Formulare[Bearbeiten]
- Bei vielen Formularen wird für das Element 'action' nur $_SERVER['PHP_SELF'] verwendet. Dies ist jetzt natürlich ungünstig, weil das jetzt immer nur 'index.php' ist.
- Eine Umstellung auf $_SERVER['REQUEST_URI'] macht auch keinen Sinn, weil damit alle vorhandenen GET-Parameter wieder mit übergeben werden ... dies ist aber nicht erwünscht! - es soll der nur der GET-Parameter 'p' mit übergeben werden.
- Anstatt dieser Form:
<form action='".$_SERVER['PHP_SELF']."' ...
- Diese Form verwenden:
<form action='".$_SERVER['PHP_SELF']."?p=".$_REQUEST['p']."' ...
- Ein eventuell noch zusätzlich im action-Element auftretendes '?' durch '$amp;' ersetzen!
- Links auf die eigene Seite werden nun durch die globale Funktion
gf_seitenSelbstLink( $parameter = array() )
- erzeugt. '$parameter' ist dabei optional und kann weitere get-Parameter enthalten wie z.B.:
gf_seitenSelbstLink( array( 'order=name', 'param2=test' ) )
To be done[Bearbeiten]
An diese Stellen tritt das Problem noch auf:
- ...