Vorlage für in phpBB eingebundene Seiten in phpBB3

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Gumfuzi hat geschrieben:Habe da eine kurze Frage zu:

Code: Alles auswählen

if ($auth->acl_get('a_')) || $auth->acl_getf_global('m_'))
bei der Moderatorabfrage, ist da nur der "Globale Moderator" gemeint oder jeder, der mind. 1 Forum moderiert?
$auth->acl_getf_global('m_') = global
$auth->acl_get('m_') = 1forum
aber ohne Garantie
Siehe hierzu auch den Abschnitt

Code: Alles auswählen

	case 'leaders':
in der memberlist.php
kein Support per PN
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

danke für den Tipp in der memberlist.php - ich würde das nun so machen:

Code: Alles auswählen

# nur Admins und Mods haben Zugriff
$user_ary = $auth->acl_get_list(false, array('a_', 'm_'), false);
if (!in_array($user->data['user_id'], $user_ary))
{
	trigger_error('Sorry, keine Berechtigung!');
}
der Array $user_ary wird genau so in der memberlist erzeugt und die zeigt mir ja auch die Mods an, die zB. nur ein Forum moderieren.

Sollte also ok sein (werde ich natürlich noch testen).

*edit*
dann müsste aber auch

Code: Alles auswählen

if (!$auth->acl_get('a_')) || $auth->acl_get('m_'))
{
	trigger_error('Sorry, keine Berechtigung!');
}
funktionieren
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Gumfuzi hat geschrieben:dann müsste aber auch

Code: Alles auswählen

if (!$auth->acl_get('a_')) || $auth->acl_get('m_'))
{
	trigger_error('Sorry, keine Berechtigung!');
}
funktionieren
Hatte ich ja auch ohne Garantie geschrieben ;)
kein Support per PN
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

ja

das ist der funktionierende Code (beim anderen hatte ich mich vertippt):

Code: Alles auswählen

if (!$auth->acl_get('a_') && !$auth->acl_get('m_'))
{
   trigger_error('Sorry, keine Berechtigung!');
}
St. Jimmy
Mitglied
Beiträge: 5
Registriert: 28.01.2008 20:16

Beitrag von St. Jimmy »

Danke Leute für diesen super Thread.
Allerdings habe ich ein Problem mit dem anhängen der Session ID an die URLs.
Ich würde nämlich gerne einen Logout-Butten und einen Link zum ACP auf meiner Seite haben.
Also ich hab versucht das mit den M[/code]itteln dieser Vorlage zu regeln:

Code: Alles auswählen

// Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);


// Session auslesen und Benutzer-Informationen laden
$user->session_begin();  // Session auslesen
$auth->acl($user->data); // Benutzer-Informationen laden
$user->setup();          // Sprachvariablen laden
Und der Link sieht so aus (ACP):

Code: Alles auswählen

<a href="<?php append_sid('{$phpbb_root_path}board/adm/index.php'); ?>">Zum ACP</a>
Wer nett wenn ihr einem PHP-Neuling, der gerade erst auf Seite 2 im Buch "PHP5 for Dummies" ist, erklären könntet.
Benutzeravatar
djchrisnet
Mitglied
Beiträge: 1275
Registriert: 29.06.2007 15:52
Wohnort: Elmshorn
Kontaktdaten:

Beitrag von djchrisnet »

St. Jimmy hat geschrieben:Und der Link sieht so aus (ACP):

Code: Alles auswählen

<a href="<?php append_sid('{$phpbb_root_path}board/adm/index.php'); ?>">Zum ACP</a>
Wer nett wenn ihr einem PHP-Neuling, der gerade erst auf Seite 2 im Buch "PHP5 for Dummies" ist, erklären könntet.

Code: Alles auswählen

append_sid("{$phpbb_root_path}adm/index.$phpEx", false, true, $user->session_id) : '')
Geklaut aus dem page_footer()
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Code: Alles auswählen

append_sid("{$phpbb_root_path}adm/index.$phpEx", false, true, $user->session_id) : '')
dürfte eine Fehlermeldung geben...(beachte de Anzahl der öffnenden und schließenden Klammern)

Code: Alles auswählen

append_sid("{$phpbb_root_path}adm/index.$phpEx")
sollte auch schon genügen
kein Support per PN
St. Jimmy
Mitglied
Beiträge: 5
Registriert: 28.01.2008 20:16

Beitrag von St. Jimmy »

boa danke.
endlich klappt es =)

Code: Alles auswählen

append_sid("{$phpbb_root_path}adm/index.$phpEx", false, true, $user->session_id)

Code: Alles auswählen

append_sid("{$phpbb_root_path}adm/index.$phpEx")
alleine reicht leider nicht^^

danke an euch beide.[/code]
Stefajo
Mitglied
Beiträge: 69
Registriert: 12.11.2005 19:39

Beitrag von Stefajo »

Hi,
gibt es eigentlich auch eine Möglichkeit auf einer solchen "externen" Seite die Anzeige über neue Private Nachrichten anzeigen zu lassen.. Also das was im Forum oben steht. ("Du hast keine neuen Nachrichten")

Wenn ja, wie geht das??

MfG
jensven
Mitglied
Beiträge: 8
Registriert: 18.02.2008 20:42
Wohnort: Kippenheim

Beitrag von jensven »

Hallo Leute
Arbeite erst seit 1 woche mit phpBB und bin doch sehr zufrieden.
Jetzt wollte ich eine Seite in das forum einbinden, komme aber leider nicht weiter.

Code: Alles auswählen

<?php
<!-- INCLUDE overall_header.html -->
// Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Session auslesen und Benutzer-Informationen laden
$user->session_begin();
$user->setup();
$auth->acl($user->data);


// Header und Titel der Seite
page_header('FunArena HL-Stats');

// Angabe eurer Content-Seite
$template->set_filenames(array(
   'body' => 'hlstats.html')
);

// Footer
page_footer();
<!-- INCLUDE overall_footer.html -->
?>
Die datei heisst hlstatsfun.php und befindet sich im root verzeichenis des forums.
Die datei hlstats.html:

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

<iframe frameborder="0" align="center" scrolling="no" marginheight="0" marginwidth="0" vspace="0" hspace="0" src=http://www.fun-elite.org/web/hlstats.php width="100%" height="100%"></iframe>

<!-- INCLUDE overall_footer.html -->
Diese befindet sich im template ordner meines Styles (benutze den Glaciers Style, von dem englischem phpbb forum).Wenn ich die Site hlstatsfun.php nun aufrufe, erhalte ich nur eine weiße Seite. Woran kann das liegen? Glaube kaum das es am Style liegen wird, oder?
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“