Navigation ober erweitert, aber für alle Sichtbar!

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Starlight
Mitglied
Beiträge: 4
Registriert: 01.01.2005 18:51

Navigation ober erweitert, aber für alle Sichtbar!

Beitrag von Starlight »

Hallo Leute bin neu hier,
und hab auch direkt nen Problem!
Ich habe meine Navigationsleiste oben in der Datei

overall_header.tpl

im verzeichnis

\templates\Odyssey

um eine Zeile erweitert, aus dem Grund weil ich eine Zeile mit individuellen Links zu selber geschriebenen PHP Seiten schaffen wollte.

Das ganze sieht jetzt so aus:

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="{S_CONTENT_DIRECTION}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}">
<meta http-equiv="Content-Style-Type" content="text/css">
{META}
{NAV_LINKS}
<title>{SITENAME} :: {PAGE_TITLE}</title>
<!-- link rel="stylesheet" href="templates/Odyssey/{T_HEAD_STYLESHEET}" type="text/css" -->
<style type="text/css">
<!--
...
-->
</style>
<!-- BEGIN switch_enable_pm_popup -->
<script language="Javascript" type="text/javascript">
<!--
	if ( {PRIVATE_MESSAGE_NEW_FLAG} )
	{
		window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');;
	}
//-->
</script>
<!-- END switch_enable_pm_popup -->
</head>
<body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}" background="templates/Odyssey/images/pc_bg.gif">

<a name="top"></a>

<table width="800" cellspacing="0" cellpadding="0" border="0" align="center"> 
	<tr> 
		<td class="bodyline"><table width="100%" cellspacing="0" cellpadding="0" border="0">
			<tr> 
				<td><a href="{U_PORTAL}">
				<img src="templates/Odyssey/images/newlogo.jpg" border="0" alt="{L_INDEX}" vspace="1" /></a></td></tr><tr>
				<td align="center" width="100%" valign="middle">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr> 
						<td align="center" valign="top" nowrap="nowrap" height="15" background="templates/Odyssey/images/headbg.gif"><span class="mainmenu"> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_PORTAL}" class="mainmenu">Home</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_PRIVATEMSGS}" class="mainmenu">{PRIVATE_MESSAGE_INFO}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a> <img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> </span></td></tr>

<tr> 
						<td align="center" valign="top" nowrap="nowrap" height="15" background="templates/Odyssey/images/headbg.gif"><span class="mainmenu">
<img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="#" onclick=window.open("ts_info-off.php","NeuesFenster","height=700,width=500,scrollbars=yes,toolbar=no,directories=no,status=no,resize=yes,menubar=no") class="mainmenu">TS-Server</a>
<img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <img border=0 src=templates/Odyssey/images/spacer.gif width=740 height=1> 



					
				</table></td>
			</tr>
		</table>
Nicht erschrecken aber zur vervollständigung habe ich den ganzen source reingepackt.

Code: Alles auswählen

                  <td align="center" valign="top" nowrap="nowrap" height="15" background="templates/Odyssey/images/headbg.gif"><span class="mainmenu"> 
<img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <a href="#" onclick=window.open("ts_info-off.php","NeuesFenster","height=700,width=500,scrollbars=yes,toolbar=no,directories=no,status=no,resize=yes,menubar=no") class="mainmenu">TS-Server</a> 
<img src=templates/Odyssey/images/divider.gif width=2 height=15 hspace=5 align=texttop> <img border=0 src=templates/Odyssey/images/spacer.gif width=740 height=1>
Das ist meine erweiterte Zeile die auch wunderbar funktioniert, nur der ganze hacken an der Sache ist,
wie sage ich er soll den link nur anzeigen wenn der User eingeloggt ist?
Gehn muss es ja irgendwie weil er zeigt ja auch nicht "Login" ein wenn man eingeloggt ist sondern "Logout".

Wäre sehr wichtig, wenn ihr mir dort helfen könnt!
PS: PHP, MySQL code ich seit 4 jahren also kein problem wenn ich dort nen php code einbetten muss.

LG Starlight
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

pack vornedran

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->
und hintendran

Code: Alles auswählen

<!-- END switch_user_logged_in -->
Buchtips.net bietet mehr als 2500 Buchrezensionen
Starlight
Mitglied
Beiträge: 4
Registriert: 01.01.2005 18:51

Beitrag von Starlight »

danke dir geht einwandfrei,

kannst mir noch sagen was ich schreiben muss dass es nur:

1. Mods sehen
2. Admins sehen?

Gibs dazu vllt nen tutourial?

Starlight
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

für nur mods / admins wirds komplizierter: jetzt müsstest du nämlich in die datei page_header.php eingreifen (ich gehe jetzt davon aus, dass du im kopf des forums was hinzufügst, ebenso gehts im fuß einer jeden seite). aber fangen wir von vorne an. leg dir einen weiteren block an, begonnen mit bspw.

Code: Alles auswählen

<!-- BEGIN switch_user_admin -->
. dort kommen alle admin-sachen rein, hintendran wieder

Code: Alles auswählen

<!-- END switch_user_admin -->
. um den block jetzt für admins verfügbar zu machen, öffnest du die page_header.php und suchst die zeilen

Code: Alles auswählen

//
// Login box?
//
if ( !$userdata['session_logged_in'] )
davor baust du jetzt folgendes ein:

Code: Alles auswählen

if ( $userdata['user_level'] == ADMIN )
{
	$template->assign_block_vars('switch_user_admin', array());
}
ebenso kannst du einen block für mods anlegen, da musst du dann halt einen anderen namen für benutzen im <!-- BEGIN / END-part und beim aufruf von assign_block_vars, ebenso muss das userlevel aud MOD geändert werden.

da gibts aber ein problem: die templates liegen in einem offenen verzeichnis, auf das jeder zugreifen kann. entweder schützt du hier den zugriff auf .tpl-dateien per .htaccess mit folgendem code:

Code: Alles auswählen

<FilesMatch "\.(tpl)$">
    Deny from all
</FilesMatch>
(diesen code speicherst du als .htaccess ab und lädst ihn in /templates/$temlatename/ hoch, wobei diese datei in jedes template-verzeichnis muss) oder du setzt die links mit php-code ein
Buchtips.net bietet mehr als 2500 Buchrezensionen
Starlight
Mitglied
Beiträge: 4
Registriert: 01.01.2005 18:51

Beitrag von Starlight »

super das geht nu alles,
danke für deine großartige hilfe!

Nur noch ein Problem.
Der Status Moderator (also MOD) hat die "user_rank" id 2
(Moderator steht unter spezialränge).
Nu wenn ich einen User unter seinen Einstellungen auf "Moderator" stelle
dann ist der link aber nicht aktiv obwohl ich

Code: Alles auswählen

if ( $userdata['user_level'] == MOD || $userdata['user_level'] == ADMIN ) 
{ 
   $template->assign_block_vars('switch_user_mod', array()); 
}
gemacht habe. Anzumerken ist dass dieser User mit status Moderator aber auch keine Foren sieht die unter "Foren -> Befugnisse" auf "Moderatoren [Versteckt]" stehen!
Warum geht der status MOD nicht?

Starlight
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

hmm, das liegt am sonderrang. mach ihn zu einem richtigen moderator und das klappt auch
Buchtips.net bietet mehr als 2500 Buchrezensionen
Starlight
Mitglied
Beiträge: 4
Registriert: 01.01.2005 18:51

Beitrag von Starlight »

blöde frage ich weis aber wie/wo mache ich das?
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

im acp kannst du die berechtigungen einstellen und dort setzt du dann für die entsprechenden foren den benutzer auf "ist hier moderator". dann sieht er die links aber nur in den foren, in denen er mod ist, glaube ich ;)
Buchtips.net bietet mehr als 2500 Buchrezensionen
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“