FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.13 : [.tar.gz][.zip] (maj 20/10/2014)
Pack langue française pour 1.4.x : [.zip] (maj 06/01/2012)

Branche 1.5.x : fluxbb.org
Pack langue française pour 1.5.x : [.zip] (maj 14/01/2016)

Ancienne Version 1.2.24 fr : [.zip] (maj 26/08/2011)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#1 30-07-2011 21:29:34

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

[Résolu] Choix de l'avatar à l'inscription

Bonjour,

y'aurait-il un tuto ou quelqu'un pourrait-il m'expliquer comment ajouter le choix de l'avatar du profile.php à l'inscription register.php ?

Merci par avance !

En attendant je continue à chercher de mon côté wink

Cordialement,

Dernière modification par Lionel (02-08-2011 10:31:28)


FluxBB !

Hors ligne

#2 30-07-2011 21:43:15

WW
Membre
Lieu : Belgique
Inscription : 30-07-2011
Messages : 11
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Salut ! Je pense qu'en reprenant le code dans le profile on peut faire ça.
Veille à faire une sauvegarde de ton fichier register.php au paravent wink
Tu rajoute le code l)  où tu veux qu'il soit, donc recherche bien la fin du bout de code de la "div" précédente (je sais pas si tu me comprend...).

else if ($action == 'upload_avatar' || $action == 'upload_avatar2')
{
    if ($pun_config['o_avatars'] == '0')
        message($lang_profile['Avatars disabled']);

    if ($pun_user['id'] != $id && $pun_user['g_id'] > PUN_MOD)
        message($lang_common['No permission']);

    if (isset($_POST['form_sent']))
    {
        if (!isset($_FILES['req_file']))
            message($lang_profile['No file']);
            
        $uploaded_file = $_FILES['req_file'];

        // Make sure the upload went smooth
        if (isset($uploaded_file['error']))
        {
            switch ($uploaded_file['error'])
            {
                case 1:    // UPLOAD_ERR_INI_SIZE
                case 2:    // UPLOAD_ERR_FORM_SIZE
                    message($lang_profile['Too large ini']);
                    break;

                case 3:    // UPLOAD_ERR_PARTIAL
                    message($lang_profile['Partial upload']);
                    break;

                case 4:    // UPLOAD_ERR_NO_FILE
                    message($lang_profile['No file']);
                    break;

                case 6:    // UPLOAD_ERR_NO_TMP_DIR
                    message($lang_profile['No tmp directory']);
                    break;

                default:
                    // No error occured, but was something actually uploaded?
                    if ($uploaded_file['size'] == 0)
                        message($lang_profile['No file']);
                    break;
            }
        }

        if (is_uploaded_file($uploaded_file['tmp_name']))
        {
            // Preliminary file check, adequate in most cases
            $allowed_types = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
            if (!in_array($uploaded_file['type'], $allowed_types))
                message($lang_profile['Bad type']);

            // Make sure the file isn't too big
            if ($uploaded_file['size'] > $pun_config['o_avatars_size'])
                message($lang_profile['Too large'].' '.$pun_config['o_avatars_size'].' '.$lang_profile['bytes'].'.');

            // Move the file to the avatar directory. We do this before checking the width/height to circumvent open_basedir restrictions.
            if (!@move_uploaded_file($uploaded_file['tmp_name'], $pun_config['o_avatars_dir'].'/'.$id.'.tmp'))
                message($lang_profile['Move failed'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.');

            list($width, $height, $type,) = getimagesize($pun_config['o_avatars_dir'].'/'.$id.'.tmp');

            // Determine type
            $extensions = null;
            if ($type == IMAGETYPE_GIF)
                $extensions = array('.gif', '.jpg', '.png');
            else if ($type == IMAGETYPE_JPEG)
                $extensions = array('.jpg', '.gif', '.png');
            else if ($type == IMAGETYPE_PNG)
                $extensions = array('.png', '.gif', '.jpg');
            else
            {
                // Invalid type
                @unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp');
                message($lang_profile['Bad type']);
            }

            // Now check the width/height
            if (empty($width) || empty($height) || $width > $pun_config['o_avatars_width'] || $height > $pun_config['o_avatars_height'])
            {
                @unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp');
                message($lang_profile['Too wide or high'].' '.$pun_config['o_avatars_width'].'x'.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].'.');
            }

            // Delete any old avatars and put the new one in place
            @unlink($pun_config['o_avatars_dir'].'/'.$id.$extensions[0]);
            @unlink($pun_config['o_avatars_dir'].'/'.$id.$extensions[1]);
            @unlink($pun_config['o_avatars_dir'].'/'.$id.$extensions[2]);
            @rename($pun_config['o_avatars_dir'].'/'.$id.'.tmp', $pun_config['o_avatars_dir'].'/'.$id.$extensions[0]);
            @chmod($pun_config['o_avatars_dir'].'/'.$id.$extensions[0], 0644);
        }
        else
            message($lang_profile['Unknown failure']);

        // Enable use_avatar (seems sane since the user just uploaded an avatar)
        $db->query('UPDATE '.$db->prefix.'users SET use_avatar=1 WHERE id='.$id) or error('Unable to update avatar state', __FILE__, __LINE__, $db->error());

        redirect('profile.php?section=personality&amp;id='.$id, $lang_profile['Avatar upload redirect']);
    }

    $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Profile'];
    $required_fields = array('req_file' => $lang_profile['File']);
    $focus_element = array('upload_avatar', 'req_file');
    require PUN_ROOT.'header.php';

?>
<div class="blockform">
    <h2><span><?php echo $lang_profile['Upload avatar'] ?></span></h2>
    <div class="box">
        <form id="upload_avatar" method="post" enctype="multipart/form-data" action="profile.php?action=upload_avatar2&amp;id=<?php echo $id ?>" onsubmit="return process_form(this)">
            <div class="inform">
                <fieldset>
                    <legend><?php echo $lang_profile['Upload avatar legend'] ?></legend>
                    <div class="infldset">
                        <input type="hidden" name="form_sent" value="1" />
                        <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $pun_config['o_avatars_size'] ?>" />
                        <label><strong><?php echo $lang_profile['File'] ?></strong><br /><input name="req_file" type="file" size="40" /><br /></label>
                        <p><?php echo $lang_profile['Avatar desc'].' '.$pun_config['o_avatars_width'].' x '.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].' '.$lang_common['and'].' '.$pun_config['o_avatars_size'].' '.$lang_profile['bytes'].' ('.ceil($pun_config['o_avatars_size'] / 1024) ?> KB).</p>
                    </div>
                </fieldset>
            </div>
            <p><input type="submit" name="upload" value="<?php echo $lang_profile['Upload'] ?>" /><a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
        </form>
    </div>
</div>
<?php

Et tu cherche :

// Load the register.php/profile.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';

Tu rajoute après :

// Load the profile.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/profile.php';

Je n'ai pas testé, pense à le faire en local ou sur une partie "privée" de ton hébergement.

Cordialement,

Hors ligne

#3 31-07-2011 18:02:13

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Hello !

Merci WW, j'ai essayé ta méthode, ça marche parfaitement wink


FluxBB !

Hors ligne

#4 31-07-2011 19:09:10

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Re...

En fait ça ne marche qu'à moitié happy

voir

J'arrive à insérer le bloc d'upload dans le formulaire et à mettre celui-ci en champ requis pour valider l'inscription.

Par contre je ne sais pas comment faire pour insérer l'avatar dans la bdd ainsi qu'uploader le fichier sur le serveur lorsque la personne clique sur le bouton "s'inscrire" :s

Comme le champ avatar de la bdd correspond à 0 (pas d'avatar) ou à 1 (avatar), je ne vois pas du tout comment gérer l'insertion...

Si quelqu'un a une idée là-dessus, je suis preneur smile

Cordialement,

Dernière modification par Lionel (31-07-2011 19:12:05)


FluxBB !

Hors ligne

#5 31-07-2011 19:45:37

thib3113
Habitué très actif
Lieu : Toulouse
Inscription : 11-03-2011
Messages : 542
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

c'est normal WW t'as donné le code tel quel, et ce code fonctionne avec un bouton à lui, je te cherche sa big_smile

Dernière modification par thib3113 (31-07-2011 19:51:42)

Hors ligne

#6 31-07-2011 19:55:37

WW
Membre
Lieu : Belgique
Inscription : 30-07-2011
Messages : 11
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Lionel a écrit :

Re...

En fait ça ne marche qu'à moitié happy

voir

J'arrive à insérer le bloc d'upload dans le formulaire et à mettre celui-ci en champ requis pour valider l'inscription.

Par contre je ne sais pas comment faire pour insérer l'avatar dans la bdd ainsi qu'uploader le fichier sur le serveur lorsque la personne clique sur le bouton "s'inscrire" :s

Comme le champ avatar de la bdd correspond à 0 (pas d'avatar) ou à 1 (avatar), je ne vois pas du tout comment gérer l'insertion...

Si quelqu'un a une idée là-dessus, je suis preneur smile

Cordialement,

Je n'avais pas pensé à ce problème... désolé.
Je n'ai plus les fichiers sous la main, je les re-télécharge et je te dis ça, sinon, Thib3113 le fera peut-être avant moi avec une solution plus efficace... hmm

Cordialement,

Hors ligne

#7 31-07-2011 20:29:35

thib3113
Habitué très actif
Lieu : Toulouse
Inscription : 11-03-2011
Messages : 542
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

c'est bon fini ... mais je l'ai fait pour une 1.4 et pas pour une 1.2 , je recommence ...

Hors ligne

#8 31-07-2011 20:56:53

WW
Membre
Lieu : Belgique
Inscription : 30-07-2011
Messages : 11
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

thib3113 a écrit :

c'est bon fini ... mais je l'ai fait pour une 1.4 et pas pour une 1.2 , je recommence ...

Thib a au moins trouvé quelque chose, lui...

Hors ligne

#9 31-07-2011 21:33:22

thib3113
Habitué très actif
Lieu : Toulouse
Inscription : 11-03-2011
Messages : 542
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

cherche

// Load the register.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/register.php';

ajoute après

// Load the profile.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/profile.php';

cherche

// Add the user
    $db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, save_pass, timezone, language, style, registered, registration_ip, last_visit) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$db->escape($email1).'\', '.$email_setting.', '.$save_pass.', '.$timezone.' , \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());
    $new_uid = $db->insert_id();

ajoute après :

    if ($pun_config['o_avatars'] == '0')
        message($lang_profile['Avatars disabled']);

        if (!isset($_FILES['req_file']))
            message($lang_profile['No file']);
            
        $uploaded_file = $_FILES['req_file'];

        // Make sure the upload went smooth
        if (isset($uploaded_file['error']))
        {
            switch ($uploaded_file['error'])
            {
                case 1:    // UPLOAD_ERR_INI_SIZE
                case 2:    // UPLOAD_ERR_FORM_SIZE
                    message($lang_profile['Too large ini']);
                    break;

                case 3:    // UPLOAD_ERR_PARTIAL
                    message($lang_profile['Partial upload']);
                    break;

                case 4:    // UPLOAD_ERR_NO_FILE
                    message($lang_profile['No file']);
                    break;

                case 6:    // UPLOAD_ERR_NO_TMP_DIR
                    message($lang_profile['No tmp directory']);
                    break;

                default:
                    // No error occured, but was something actually uploaded?
                    if ($uploaded_file['size'] == 0)
                        message($lang_profile['No file']);
                    break;
            }
        }

        if (is_uploaded_file($uploaded_file['tmp_name']))
        {
            // Preliminary file check, adequate in most cases
            $allowed_types = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
            if (!in_array($uploaded_file['type'], $allowed_types))
                message($lang_profile['Bad type']);

            // Make sure the file isn't too big
            if ($uploaded_file['size'] > $pun_config['o_avatars_size'])
                message($lang_profile['Too large'].' '.$pun_config['o_avatars_size'].' '.$lang_profile['bytes'].'.');

            // Move the file to the avatar directory. We do this before checking the width/height to circumvent open_basedir restrictions.
            if (!@move_uploaded_file($uploaded_file['tmp_name'], $pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp'))
                message($lang_profile['Move failed'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.');

            list($width, $height, $type,) = getimagesize($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp');

            // Determine type
            $extensions = null;
            if ($type == IMAGETYPE_GIF)
                $extensions = array('.gif', '.jpg', '.png');
            else if ($type == IMAGETYPE_JPEG)
                $extensions = array('.jpg', '.gif', '.png');
            else if ($type == IMAGETYPE_PNG)
                $extensions = array('.png', '.gif', '.jpg');
            else
            {
                // Invalid type
                @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp');
                message($lang_profile['Bad type']);
            }

            // Now check the width/height
            if (empty($width) || empty($height) || $width > $pun_config['o_avatars_width'] || $height > $pun_config['o_avatars_height'])
            {
                @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp');
                message($lang_profile['Too wide or high'].' '.$pun_config['o_avatars_width'].'x'.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].'.');
            }

            // Delete any old avatars and put the new one in place
            @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[0]);
            @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[1]);
            @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[2]);
            @rename($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp', $pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[0]);
            @chmod($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[0], 0644);
        }
        else
            message($lang_profile['Unknown failure']);

        // Enable use_avatar (seems sane since the user just uploaded an avatar)
        $db->query('UPDATE '.$db->prefix.'users SET use_avatar=1 WHERE id='.$new_uid) or error('Unable to update avatar state', __FILE__, __LINE__, $db->error());

cherche :

<div class="inform">
                <fieldset>
                    <legend><?php echo $lang_prof_reg['Privacy options legend'] ?></legend>

ajoute avant :

            <div class="inform">
                <fieldset>
                    <legend><?php echo $lang_profile['Upload avatar legend'] ?></legend>
                    <div class="infldset">
                        <input type="hidden" name="form_sent" value="1" />
                        <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $pun_config['o_avatars_size'] ?>" />
                        <label><strong><?php echo $lang_profile['File'] ?></strong><br /><input name="req_file" type="file" size="40" /><br /></label>
                        <p><?php echo $lang_profile['Avatar desc'].' '.$pun_config['o_avatars_width'].' x '.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].' '.$lang_common['and'].' '.$pun_config['o_avatars_size'].' '.$lang_profile['bytes'].' ('.ceil($pun_config['o_avatars_size'] / 1024) ?> KB).</p>
                    </div>
                </fieldset>
            </div>

par contre quand j'essaie d'uploader un avatar que j'ai sur mon autre forum il me dit que le fichier est trop gros, mais meme quand j'essaie depuis profile.php sa me donne sa ... sa doit venir de chez moi ou d'un réglage que je ne connait pas.

Hors ligne

#10 01-08-2011 00:31:23

Spiky
Habitué très actif
Inscription : 10-04-2008
Messages : 829

Re : [Résolu] Choix de l'avatar à l'inscription

thib3113 a écrit :

...
il me dit que le fichier est trop gros, mais meme quand j'essaie depuis profile.php sa me donne sa ... sa doit venir de chez moi ou d'un réglage que je ne connait pas.

Tu as regardé dans le panel admin - options ?

mini_221704Capture.jpg


I don't play against a team in particular. I play to fight against the idea to lose... Life is beautiful.
Quelque #ID et beaucoup de .CLASS

Hors ligne

#11 01-08-2011 00:53:26

thib3113
Habitué très actif
Lieu : Toulouse
Inscription : 11-03-2011
Messages : 542
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

oui, mais j'avais zappé que c'était en octet ...

Hors ligne

#12 01-08-2011 10:46:28

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Salut à tous smile

j'ai essayé ton code thib3113 mais ça ne marche pas.

L'inscription se déroule bien mais l'avatar n'est pas uploader et au lieu d'avoir le message : "votre inscription s'est bien déroulée blablabla..." j'ai ce message "vous n'avez pas sélectionné de fichier à uploader" (un truc dans ce genre)..

Voilà le message que j'ai :

Info

Vous n'avez pas sélectionné de fichier à envoyer.

Retour


Donc en bref l'inscription a bien eu lieu mais sans l'avatar et sans le bon message :s

Dernière modification par Lionel (01-08-2011 11:11:50)


FluxBB !

Hors ligne

#13 01-08-2011 12:10:45

thib3113
Habitué très actif
Lieu : Toulouse
Inscription : 11-03-2011
Messages : 542
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

ah oui escuse moi, j'ai oublié une petite modification (petite en taille )
dans register.php : cherche :

        <form id="register" method="post" action="register.php?action=register" onsubmit="this.register.disabled=true;if(process_form(this)){return true;}else{this.register.disabled=false;return false;}">

et rajoute cela dedans :

enctype="multipart/form-data"

(quand je dit rejouter dedans c'est ajouter entre deux parametres, un paramettre c'est : parametre="valeur")

Hors ligne

#14 02-08-2011 10:31:08

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Salut thib3113, cool ça marche smile

Merci beaucoup wink


FluxBB !

Hors ligne

#15 08-03-2012 12:45:36

kankan
Régulier
Inscription : 26-04-2006
Messages : 86

Re : [Résolu] Choix de l'avatar à l'inscription

Bonjour et merci pour cette modification.
Y a t il moyen de ne pas rendre l'upload d'avatar obligatoire?
Merci

Hors ligne

#16 19-03-2016 10:42:54

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Bonjour,

je reviens sur cette modification car j'ai voulu la ré-implanter dans ma page register mais apparemment ça ne fonctionne plus.

Quand je ne sélectionne pas de fichier avatar, j'ai toujours :

Info

Vous n'avez pas sélectionné de fichier à envoyer.

Retour

Ce qui est normal vu que le champ avatar est obligatoire ici mais l'inscription a bien eu lieu dans sql...

Et quand je sélectionne un fichier et que je valide l'inscription, voilà le message :

An error was encountered
Error: Unable to update avatar state.

huh

PETITE INFO

Je viens de me rendre compte que malgré çà :

An error was encountered
Error: Unable to update avatar state.

l'avatar est bien uploadé dans le dossier avatars et l'inscription a bien lieu dans sql !

Alors pourquoi ce message d'erreur ?!

Dernière modification par Lionel (19-03-2016 12:24:49)


FluxBB !

Hors ligne

#17 19-03-2016 12:59:59

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Bon je viens de trouver d'où venait le problème de l'erreur :

An error was encountered
Error: Unable to update avatar state.

Trouver

// Enable use_avatar (seems sane since the user just uploaded an avatar)
        $db->query('UPDATE '.$db->prefix.'users SET use_avatar=1 WHERE id='.$new_uid) or error('Unable to update avatar state', __FILE__, __LINE__, $db->error());

Remplacer par

// Enable use_avatar (seems sane since the user just uploaded an avatar)
        $db->query('UPDATE '.$db->prefix.'users SET show_avatars=1 WHERE id='.$new_uid) or error('Unable to update avatar state', __FILE__, __LINE__, $db->error());

En gros faut remplacer use_avatar=1 par show_avatars=1

à mon avis c'est une différence entre les versions de fluxbb.

Il me reste maintenant le problème de l'inscription qui se déroule bien dans sql alors que j'ai le message :

Info

Vous n'avez pas sélectionné de fichier à envoyer.

Retour

lorsque je ne sélectionne aucun avatar.


FluxBB !

Hors ligne

#18 19-03-2016 13:59:23

Lionel
Membre
Lieu : France
Inscription : 26-05-2010
Messages : 44
Site Web

Re : [Résolu] Choix de l'avatar à l'inscription

Bon bah problème résolu !

il faut ajouter ce code :

if ($pun_config['o_avatars'] == '0')
        message($lang_profile['Avatars disabled']);

        if (!isset($_FILES['req_file']))
            message($lang_profile['No file']);
            
        $uploaded_file = $_FILES['req_file'];

        // Make sure the upload went smooth
        if (isset($uploaded_file['error']))
        {
            switch ($uploaded_file['error'])
            {
                case 1:    // UPLOAD_ERR_INI_SIZE
                case 2:    // UPLOAD_ERR_FORM_SIZE
                    message($lang_profile['Too large ini']);
                    break;

                case 3:    // UPLOAD_ERR_PARTIAL
                    message($lang_profile['Partial upload']);
                    break;

                case 4:    // UPLOAD_ERR_NO_FILE
                    message($lang_profile['No file']);
                    break;

                case 6:    // UPLOAD_ERR_NO_TMP_DIR
                    message($lang_profile['No tmp directory']);
                    break;

                default:
                    // No error occured, but was something actually uploaded?
                    if ($uploaded_file['size'] == 0)
                        message($lang_profile['No file']);
                    break;
            }
        }

        if (is_uploaded_file($uploaded_file['tmp_name']))
        {
            // Preliminary file check, adequate in most cases
            $allowed_types = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
            if (!in_array($uploaded_file['type'], $allowed_types))
                message($lang_profile['Bad type']);

            // Make sure the file isn't too big
            if ($uploaded_file['size'] > $pun_config['o_avatars_size'])
                message($lang_profile['Too large'].' '.$pun_config['o_avatars_size'].' '.$lang_profile['bytes'].'.');

            // Move the file to the avatar directory. We do this before checking the width/height to circumvent open_basedir restrictions.
            if (!@move_uploaded_file($uploaded_file['tmp_name'], $pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp'))
                message($lang_profile['Move failed'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.');

            list($width, $height, $type,) = getimagesize($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp');

            // Determine type
            $extensions = null;
            if ($type == IMAGETYPE_GIF)
                $extensions = array('.gif', '.jpg', '.png');
            else if ($type == IMAGETYPE_JPEG)
                $extensions = array('.jpg', '.gif', '.png');
            else if ($type == IMAGETYPE_PNG)
                $extensions = array('.png', '.gif', '.jpg');
            else
            {
                // Invalid type
                @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp');
                message($lang_profile['Bad type']);
            }

            // Now check the width/height
            if (empty($width) || empty($height) || $width > $pun_config['o_avatars_width'] || $height > $pun_config['o_avatars_height'])
            {
                @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp');
                message($lang_profile['Too wide or high'].' '.$pun_config['o_avatars_width'].'x'.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].'.');
            }

            // Delete any old avatars and put the new one in place
            @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[0]);
            @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[1]);
            @unlink($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[2]);
            @rename($pun_config['o_avatars_dir'].'/'.$new_uid.'.tmp', $pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[0]);
            @chmod($pun_config['o_avatars_dir'].'/'.$new_uid.$extensions[0], 0644);
        }
        else
            message($lang_profile['Unknown failure']);

        // Enable use_avatar (seems sane since the user just uploaded an avatar)
        $db->query('UPDATE '.$db->prefix.'users SET show_avatars=1 WHERE id='.$new_uid) or error('Unable to update avatar state', __FILE__, __LINE__, $db->error());

AVANT et NON APRES celui-ci :

// Add the user
    $db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, save_pass, timezone, language, style, registered, registration_ip, last_visit) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$db->escape($email1).'\', '.$email_setting.', '.$save_pass.', '.$timezone.' , \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());
    $new_uid = $db->insert_id();

happy


FluxBB !

Hors ligne

Pied de page des forums