phpbb Avatare in externem Script uploaden
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.
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.
phpbb Avatare in externem Script uploaden
Hallo!
Ich lasse ein script extern laufen, was aber auch auf die userdaten von phpbb3 zugreift und auch der login läuft direkt über phpbb3. Nun würde ich gerne einen Bildupload/Avatarupload auch über die externe PHP-Seite bereitstellen. Wie kann ich das bewerkstelligen. Ich denke, man muss eine funktion aufrufen, die das Bild entgegennimmt und dann verarbeitet.
Aber wo finde ich die Funktion?
Danke für die Hilfe
Ich lasse ein script extern laufen, was aber auch auf die userdaten von phpbb3 zugreift und auch der login läuft direkt über phpbb3. Nun würde ich gerne einen Bildupload/Avatarupload auch über die externe PHP-Seite bereitstellen. Wie kann ich das bewerkstelligen. Ich denke, man muss eine funktion aufrufen, die das Bild entgegennimmt und dann verarbeitet.
Aber wo finde ich die Funktion?
Danke für die Hilfe
Re: phpbb Avatare in externem Script uploaden
Hi
Sämtliche Standardfuntionen sind hier zu finden: phpBB Sourcecode Documentation
Die Funktion, die du suchst heisst avatar_upload() und ist in der Datei /includes/functions_user.php
Das wird aber nur für Avatare für User gehen, wenn du mehr als das brauchst musst du dir einen GalleryMod suchen
Gruss
piero
Sämtliche Standardfuntionen sind hier zu finden: phpBB Sourcecode Documentation
Die Funktion, die du suchst heisst avatar_upload() und ist in der Datei /includes/functions_user.php
Das wird aber nur für Avatare für User gehen, wenn du mehr als das brauchst musst du dir einen GalleryMod suchen

Gruss
piero
Re: phpbb Avatare in externem Script uploaden
Kannst du mir vielleicht sagen, wie ich die Funktion aufrufen muss um ein Bild zu übergeben? Da das so genau dort nicht steht.
Danke
Danke
Re: phpbb Avatare in externem Script uploaden
Ich habs mir nochmal genauer angeschaut... Und endlich den Code von dem hier gefunden^^
Versuch mal folgenden Code: (Sollte das AbsendFormular und Verarbeitskript draus geben...)
(Ich habs nicht getestet (c/p aus der ucp.php), sollte aber so funktionieren...)
Das Skript lädt über Umwege den Code+Template aus includes/ucp/ucp_profile.php. Im Weiteren wird da dann avatar_process_user() zum hochladen des Avatars verwendet.
Gruss
Piero
Versuch mal folgenden Code: (Sollte das AbsendFormular und Verarbeitskript draus geben...)
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
// Only registered users can go beyond this point
if (!$user->data['is_registered'])
{
if ($user->data['is_bot'])
{
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
login_box('', $user->lang['LOGIN_EXPLAIN_UCP']);
}
$i = 'profile';
$mode = 'avatar';
// Setting a variable to let the style designer know where he is...
$template->assign_var('S_IN_UCP', true);
$module = new p_master();
// Instantiate module system and generate list of available modules
$module->list_modules('ucp');
// Select the active module
$module->set_active($id, $mode);
// Load and execute the relevant module
$module->load_active();
// Assign data to the template engine for the list of modules
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}ucp.$phpEx"));
// Generate the page, do not display/query online list
$module->display($module->get_page_title(), false);
Das Skript lädt über Umwege den Code+Template aus includes/ucp/ucp_profile.php. Im Weiteren wird da dann avatar_process_user() zum hochladen des Avatars verwendet.
Gruss
Piero
Re: phpbb Avatare in externem Script uploaden
Aber an welcher Stelle und wie kann ich das Bildobjekt übergeben?
Weil avatar_process_user() erwartet soweit ich das mitbekommen habe kein Bild-Objekt.
Weil avatar_process_user() erwartet soweit ich das mitbekommen habe kein Bild-Objekt.
Re: phpbb Avatare in externem Script uploaden
Du musst das Formularfeld "uploadfile" nennen, direkt kannst du das Avatar nicht übergeben. Falls das nicht möglich ist, müsstest du die Funktionen etwas modifizieren 

Re: phpbb Avatare in externem Script uploaden
Wie muss mein Formular dann genau aussehen?
im form-tag folgendes: <form id="ucp" method="post" action="./ucp.php?i=profile&mode=avatar" enctype="multipart/form-data">
und für die Dateiauswahl: <input type="hidden" name="MAX_FILE_SIZE" value="36000" /><input type="file" name="uploadfile" id="uploadfile" class="inputbox autowidth" />
Allerdings weiß ich dann nicht ob das wichtig wäre:
und wenn ja wie erstelle ich die values? Es wäre hilfreich, wenn mir jemand ein Beispielformular posten könnte.
MfG
sowiso
im form-tag folgendes: <form id="ucp" method="post" action="./ucp.php?i=profile&mode=avatar" enctype="multipart/form-data">
und für die Dateiauswahl: <input type="hidden" name="MAX_FILE_SIZE" value="36000" /><input type="file" name="uploadfile" id="uploadfile" class="inputbox autowidth" />
Allerdings weiß ich dann nicht ob das wichtig wäre:
Code: Alles auswählen
<input type="hidden" name="creation_time" value="1246803473" />
<input type="hidden" name="form_token" value="be325dd8474c665916a97e63fd2deacfecd40916" />
MfG
sowiso
Re: phpbb Avatare in externem Script uploaden
Also wenn ich es so probiere kommt nur der Fehler "Module not accessible" Kann man nicht einfach ein eigenes Formular für den Bildupload erstellen und dann die Datei an phpbb übergeben?
piero hat geschrieben:Ich habs mir nochmal genauer angeschaut... Und endlich den Code von dem hier gefunden^^
Versuch mal folgenden Code: (Sollte das AbsendFormular und Verarbeitskript draus geben...)(Ich habs nicht getestet (c/p aus der ucp.php), sollte aber so funktionieren...)Code: Alles auswählen
define('IN_PHPBB', true); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; $phpEx = substr(strrchr(__FILE__, '.'), 1); require($phpbb_root_path . 'common.' . $phpEx); require($phpbb_root_path . 'includes/functions_user.' . $phpEx); require($phpbb_root_path . 'includes/functions_module.' . $phpEx); // Start session management $user->session_begin(); $auth->acl($user->data); $user->setup('ucp'); // Only registered users can go beyond this point if (!$user->data['is_registered']) { if ($user->data['is_bot']) { redirect(append_sid("{$phpbb_root_path}index.$phpEx")); } login_box('', $user->lang['LOGIN_EXPLAIN_UCP']); } $i = 'profile'; $mode = 'avatar'; // Setting a variable to let the style designer know where he is... $template->assign_var('S_IN_UCP', true); $module = new p_master(); // Instantiate module system and generate list of available modules $module->list_modules('ucp'); // Select the active module $module->set_active($id, $mode); // Load and execute the relevant module $module->load_active(); // Assign data to the template engine for the list of modules $module->assign_tpl_vars(append_sid("{$phpbb_root_path}ucp.$phpEx")); // Generate the page, do not display/query online list $module->display($module->get_page_title(), false);
Das Skript lädt über Umwege den Code+Template aus includes/ucp/ucp_profile.php. Im Weiteren wird da dann avatar_process_user() zum hochladen des Avatars verwendet.
Gruss
Piero