Ausblenden der Navigation

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Ausblenden der Navigation

Beitrag von Holger »

Ich habe mit einem kleinen Script die Navi ausgeschaltet:
includes/page_header.php
FINDE

Code: Alles auswählen

header ('Pragma: no-cache');
FÜGE DANACH EIN

Code: Alles auswählen

// <!-- BEGIN switch_show_navigation -->
$request_uri = $_SERVER['REQUEST_URI'];

$forbidden = '';
$forbidden_uri = array();
/*///////////////////////////////////////////////
//  You simply can add here more URL-parts!!!  //
///////////////////////////////////////////////*/
	$forbidden_uri[] = 'portal.php';
	$forbidden_uri[] = 'profile.php?mode=register&agreed=true';
	$forbidden_uri[] = 'dload.php';
	$forbidden_uri[] = 'map.php';
	$forbidden_uri[] = 'linkdb.php';
	$forbidden_uri[] = 'mycalendar.php';
	$forbidden_uri[] = 'album.php';
	$forbidden_uri[] = 'album_cat.php';
	$forbidden_uri[] = 'tellfriend.php';
	$forbidden_uri[] = 'webring.php';
	$forbidden_uri[] = 'filelist.php';
	$forbidden_uri[] = 'adverts.php';
	$forbidden_uri[] = 'ads_create.php';
	$forbidden_uri[] = 'ads_search.php';
	$forbidden_uri[] = 'ads_item.php';

for ($i=0; $i<count($forbidden_uri); $i++)
{
	$test_forbidden = "/".preg_quote($forbidden_uri[$i])."/i";
	$forbidden = preg_match($test_forbidden,$request_uri);
	if ($forbidden == true) { break; }
}

if ( $forbidden == false )
{
	$template->assign_block_vars('switch_show_navigation', array() );

	if ( !$userdata['session_logged_in'] )
	{
		$template->assign_block_vars('switch_show_navigation.switch_user_logged_out', array());
	}
	else
	{
		$template->assign_block_vars('switch_show_navigation.switch_user_logged_in', array());

		if ( !empty($userdata['user_popup_pm']) )
		{
			$template->assign_block_vars('switch_show_navigation.switch_enable_pm_popup', array());
		}
	}
}
// <!-- END switch_show_navigation -->
Damit kann man in der overall_header.tpl mit

Code: Alles auswählen

<!-- BEGIN switch_show_navigation -->
und

Code: Alles auswählen

<!-- END switch_show_navigation -->
die Navigation auf den Seiten die in der forbidden_uri-Liste aufgeführt sind auschalten.

NUN, alles schön und gut.
ABER, das funktioniert nur, wenn ich eine DATEI angebe, also
www.webseite.de/portal.php
Wenn jemand die Seite mit nur
www.webseite.de
aufruft, und per htaccess auf portal.php geleitet wird, funktioniert das nicht, dann wird die Navi trotzdem angezeigt ...

Kann ich das irgendwie lösen? ¦4

Gruss
Holger
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hast Du ein redirect in der .htaccess drinnen oder nur DocumentIndex?
Bei einem Redirect könntest Du einen Parameter mit übergeben, der die Request_Uri übergibt, die der Webserver erhält...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Der Inhalt der .htaccess:

Code: Alles auswählen

DirectoryIndex index.html index.htm portal.php index.php
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dachte ich mir.
Hm...
Du könntest aber auch in der portal.php ein redirect auslösen:
Frage doch einen Wert ab, ob er existiert ($HTTP_POST_VARS/$HTTP_GET_VARS) und wenn nicht, dann ein redirect mit Parameter.
Ist dann der Parameter vorhanden, steht Request_Uri auch zur Verfügung, weil ja das Portal vom User neu geöffnet wird.
Sollte zumindest so sein...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

ehhhh, jaaa ...
Danke erstmal!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Re: Ausblenden der Navigation

Beitrag von AmigaLink »

Holger hat geschrieben:Ich habe mit einem kleinen Script die Navi ausgeschaltet
...
Na, der Code kommt mir aber schwer bekannt vor. ^2
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ja, das kann sein, vielleicht hast Du den gepostet? War das bei phpbb2.de?
Das Script ist genial, es funktioniert ansonsten perfekt!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Nein ich habe den Code nirgendwo gepostet, ich habe ihn bei mir im Download. => Switch off navigation by URL. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Hm, Oxpus, kannst Du mir bei dem Redirect-Teil weiterhelfen?
Ich soll also eine Variable abfragen, und wenn diese "unwahr" ist, wird ein Redirect zu portal.php gemacht?
Wie bewerkstellige ich das?

EDIT: ¢¦
Zuletzt geändert von Holger am Do 07.Sep, 2006 10:00, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

AmigaLink hat Dir doch einen MOD gepostet...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ja, den MOd habe ich ja eingbaut, aber ich habe doch das Problem mit der URL.
Wird di eURL ohne .php-Datei aufgerufen, wird die Navi dann trotzdem angezeigt.
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann füg mal vor

Code: Alles auswählen

if ( $forbidden == false )
diese Zeilen in der page_header.php ein:

Code: Alles auswählen

if (!strpos($request_uri, $phpEx))
{
	$forbidden = true;
}
Das sollte die Navi ausblenden, wenn kein .php-Script mit im Link angegeben wurde, also ein blanker Aufruf des Boards per Domain-URI.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten