Bonsoir à toutes et à tous,
J'ai adapté un script php pour phpBB3.
Commençons par le fichier de langue.
Ouvrez le fichier language/fr/common.php.
Cherchez:
?>
Avant, ajoutez:
// Clés de langues du formulaire image
$lang['File_Format_Authorized'] = 'Le fichier doit être au format *.jpeg, *.bmp, *.jpg, *.png, *.ico *.gif ou *.png .';
$lang['Directory_No_Existence'] = 'Erreur, le dossier d\'upload n\'existe pas.';
$lang['Img_Code_Forum'] = 'Pour un forum, le code est:';
$lang['Img_Code_Html'] = 'En html, le code de votre image est en création';
$lang['Img_Link'] = 'Voici le lien: ';
$lang['Img_Size'] = 'L\'image doit être inférieur';
$lang['Img_Return'] = 'Retour';
$lang['Upload_Success'] = 'Votre image été uploadée sur le serveur avec succès!';
$lang['Upload_Missed'] = 'L\'image n\'a pas pu être transférée sur le serveur.';
Cherchez:
'PAGE_OF' => 'Page %1$d sur %2$d',
Après, ajoutez:
'PAGE_IMGFORM' => 'Hébergeur images',
Voici la partie php du script, en gros le moteur qui va traiter la demande. Vous devrez nommer cette page imageup.php ou comme vous souhaitez.
session_begin();
$auth->acl($user->data);
$user->setup('');
// Variables globales
$size_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$directory = 'uploads/'; // Repertoire d'upload
if (isset($_FILES['fichier']))
{
// On vérifit le type du fichier
if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif' && $_FILES['fichier']['type'] != 'image/bmp' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/ico')
{
$error = $lang['File_Format_Authorized'];
}
}
// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $size_max)
{
$error = $lang['Img_Size'] . ' ' . $size_max/1024 . 'Ko.';
}
// On vérifit si le répertoire d'upload existe
elseif (!file_exists($directory))
{
$error = $lang['Directory_No_Existence'];
}
// Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($error))
{
$error_message = '' . $error . '' . $lang['Img_Return'] . '';
}
else
{
// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.ico'; }
$filename = time(). $extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $directory . $filename))
{
$url = 'http://www.graya.fr/'. $directory . '' . $filename . '';
$upload_message = $lang['Upload_Success'] . '' . $lang['Img_Link'] . '
' . $lang['Img_Code_Forum'] . '
' . $lang['Img_Code_Html'];
}
else
{
$upload_message = $lang['Upload_Missed'];
}
}
// Output page
page_header($user->lang['PAGE_IMGFORM']);
// Assignation des variables
$template->assign_vars(array(
'ERROR_IMG' => $error_message,
'UPLOAD_MESSAGE' => $upload_message,
'SIZE_MAX' => $size_max,
'S_ERROR_IMG' => (!empty($error_message)) ? $error_message : ''
)
);
// Assignation du template
$template->set_filenames(array(
'body' => 'imgform_body.html',
));
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Maintenant, il vous faut créer la partie template. Voici le code à copier-coller:
{L_INFORMATION}: {ERROR_IMG}
{UPLOAD_MESSAGE}
Vous pouvez laisser des commentaires ici ou bien demander le support via mon forum.
A bientôt,