Ich habe jetzt vorbereitet:
1. Mein PHP-Script zur auslesung der Benutzerrechte, Template und Lang-Datei Setzen:
Code: Alles auswählen
<?php
/**
*
* @author Leon.C-SM194 admin@seatfriends-bautzen.de - http://www.seatfriends-bautzen.de
*
* @package {memberupload}
* @version 1.0
* @copyright (c) 2010 Seatfriends-Bautzen
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
// Specify the path to you phpBB3 installation directory.
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
// The common.php file is required.
include($phpbb_root_path . 'common.' . $phpEx);
// since we are grabbing the user avatar, the function is inside the functions_display.php file since RC7
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Session auslesen und Benutzer-Informationen laden
$user->session_begin(); // Session auslesen
$auth->acl($user->data); // Benutzer-Informationen laden
// Sprachvariablen aus eigener Sprach Datei laden
$user->setup('mods/member_upload_lang'); // Sprachvariablen aus eigener Sprach Datei laden
//Funktion Gruppenzugehörigkeit laden
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$gruppen_id = 7; // zu überprüfende Gruppen ID (Gruppen ID 7 = Mitglieder )
$benutzer_id = $user->data['user_id']; // zu überprüfender User (Der User, der diese Seite aufgerufen hat )
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true); // Nun erfolgt die eigentliche Prüfung:
//Programmierung--------------------------------------------------------------------
if ($user->data['user_id'] == ANONYMOUS)
{
login_box();
}
else if ($is_in_group == true)
{
// Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert TRUE bekommt
// In der html Datei kann mit <!-- IF S_IN_GROUP --> und <!-- ENDIF --> ein Bereich markiert werden.
$template->assign_var('S_IN_GROUP', true);
}
else
{
// Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert FALSE bekommt
$template->assign_var('S_IN_GROUP', false);
}
endif;
//Programmierung Ende--------------------------------------------------------------------
// Seiten Titel, diese Sprach Variable sollte in der Sprach Datei,
// welche weiter oben genannt wurde, definiert sein.
page_header($user->lang['MEIN_TITEL']);
// Das ist der Name der Template-Datei in /styles/<style>/templates/.
$template->set_filenames(array(
'body' => 'member_upload_templ.html',
));
// Komplettierung des Scriptes und Ausgabe
page_footer();
?>
(hier bin ich mir noch nicht sicher ob ich 'S_IN_GROUP' auch ein false zuweisen kann, oder ob der TRUE-Teil reicht)
2. Meine Sprachdatei:
Code: Alles auswählen
<?php
/**
*
* @author Leon.C-SM194 admin@seatfriends-bautzen.de - http://www.seatfriends-bautzen.de
*
* @package {memberupload}
* @version 1.0
* @copyright (c) 2010 Seatfriends-Bautzen
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
$lang = array_merge($lang, array(
'MY_TITLE' => 'Dateiupload fuer Mitglieder',
'title' => 'Data Uploader - Bilder hochladen',
'ersetzen_text' => 'Bild/Datei ersetzen',
'erlaubt' => 'Erlaubte Dateitypen: jpg, jpeg, gif, png, zip und rar bis 50 MB Größe!',
'upload_subm_button' => 'Bild hochladen';
'error_headline' => 'Fehler:',
'invalid_file_type' => 'ungültiges Dateiformat ([file_type])',
'file_too_large' => 'Datei zu groß ([size] KB)',
'image_too_large' => 'Bild zu groß ([width] x [height])',
'file_already_exists' => 'die Datei <b>[file]</b> existiert bereits',
'upload_successful' => 'Die Datei <b>http://www.seatfriends-bautzen.de/forum/uploads/[file]</b> wurde erfolgreich hochgeladen!',
'upload_not_successful' => '<b>Fehler:</b> Die Datei <b>[file]</b> konnte nicht gespeichert werden!',
'load_up_another_file' => "Ein weiteres Bild hochladen:",
'content_list' => "Der aktuelle Inhalt des Zielordners",
'delete_file' => 'Bild/Datei löschen',
'delete_all' => 'Alle Bilder/Dateien löschen',
'delete_file_caution' => ' konnte nicht gelöscht werden!',
'delete_file_successful'=> ' wurde gelöscht!',
'show_file' => 'Bild/Datei öffnen/ansehen',
'start_img_resizer' => "Image Resizer starten",
'head_img_resizer' => "Nach Ende des Uploads",
));
?>
(hier bin ich mir nicht sicher ob ich die Sprachvariablen aus dem Upload-Teil gleich mit reinschreiben muss)
und 3. Mein Template (ganz einfach):
Code: Alles auswählen
<!-- INCLUDE overall_header.html -->
<!-- IF S_IN_GROUP -->
<br>
<table width="100%" border="3" bordercolor="#FF8000" bgcolor="#ECF4EF" cellpadding="0" cellspacing="2">
<tr>
<td>
{UPLOAD_SCRIPT}
<font color=#000000 face="arial" size="big">Der Löschen-Button (X) ist nur für den Administrator!</font color>
<br><br><br><br><br>
</td>
</tr>
</table>
<!-- ELSE -->
<table width="100%" border="3" bordercolor="#000000" bgcolor="#F90000" cellpadding="0" cellspacing="2">
<tr>
<td>
<center><h1> <font face="Comic Sans MS" color=#F0F51B size="20"> Zugriff verweigert</font></h1>
<br><br><br><br>
<b><p>Leider besitzen sie nicht die nötigen Rechte auf diese Seite zuzugreifen. Der Zugriff wurde verweigert.</p></font></b>
<br><br><br><br><br><br>
</center>
<br><br><br><br>
</td>
</tr>
</table>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->
An dem Punkt {UPLOAD_SCRIPT} müsste jetzt wie gn#36 geschrieben hat das Upload Script ausgeführt werden.
Das Upload-Script besteht aber aus php und html gemischt, weswegen ich a) nicht weiß inwieweit das noch getrennt werden muss und b) wo ich das ganze dann über ob_start starten muss. Schreibe ich das in das PHP-Script (1.) oder in eine extra Datei?