<?php
/*******************************************************************************
*
* [ ./profil.php (français) ]
*
* --------------------------------------------------------------------------
* Commencé le : 28 juillet 2004
* Copyright : Groupe Fire Soft Board
* Site Web :
http://www.fire-soft-board.com
* E-mail :
support@fire-soft-board.com
* --------------------------------------------------------------------------
* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les
* termes de la Licence Publique Générale GNU publiée par la Free Software Foundation
* (version 2). Reportez-vous à la Licence Publique Générale GNU pour plus de détails.
* Vous devez avoir reçu une copie de la Licence Publique Générale GNU en même temps
* que ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis.
* --------------------------------------------------------------------------
*
* Derniére modification le 28 mai 2006 avril 2005 par Genova
* Templates : 2
* profil_corps.tpl
* formulaire_mail.tpl
*
*******************************************************************************/
define('FORUM', TRUE);
$racine = './';
include($racine . 'demarrage.php');
// mods :: Gallerie_avatars -----------------------------------------------------
// ajout
$cache->load_table('avatars');
// fin ajout
// mods :: Gallerie_avatars -----------------------------------------------------
$membre = recuperer_session();
$mode = ( isset($HTTP_GET_VARS['mode']) ) ? htmlSpecialChars($HTTP_GET_VARS['mode']) : htmlSpecialChars($HTTP_POST_VARS['mode']);
$code = ( isset($HTTP_GET_VARS['code']) ) ? htmlSpecialChars($HTTP_GET_VARS['code']) : '';
$to = ( isset($HTTP_GET_VARS['to']) ) ? intval($HTTP_GET_VARS['to']) : intval($HTTP_POST_VARS['to']);
//
// On regarde les paamètres de l'URL, si un ne corespond pas on redirige vers l'index
//
$param = array('activation', 'nouveau', 'edite', 'gallerie', 'mail');
if ( ! in_array($mode, $param) )
{
redir('index.php');
}
// mods :: Gallerie_avatars -----------------------------------------------------
// ajout
if( $mode == 'gallerie' ) {
if( $MOD['Galerie_avatars'] ) {
$simple_header = TRUE;
include($racine . 'includes/header_forum.php');
$tpl->set_filenames(array(
'corps' => 'popup_gallerie.tpl'
));
$tpl->assign_vars(array(
'L_GALLERIE_AVATARS' => $langue['gallery_avatar'],
'L_PAS_DAVATAR' => $langue['pas_avatar'],
'L_CLOSE' => $langue['close_gallery'],
'L_SELECTIONNER' => $langue['selectionner'],
));
if( $compte_avatars == 0 ) {
$tpl->create_block('pas_davatar');
}
foreach($avatars AS $values) {
$tpl->assign_block_vars('avatars', array(
'IMG_AVATAR' => $values['url'],
'NOM_AVATAR' => $values['nom'],
));
}
$tpl->pparse('corps');
include($racine . 'includes/footer_forum.php');
exit;
}
else {
info($langue['titre_mod_desactive'], $langue['mod_desactive']);
}
}
// fin ajout
// mods :: Gallerie_avatars -----------------------------------------------------
//
// Est on en mode d'envoie de mail?
//
if ( $mode == 'mail' && $config['mail_par_forum'] )
{
if ( $membre['membre_id'] == INVITE )
{
redir('connexion.php?redirection=./profil.php$mode=mail*to=' . $to);
}
else if ( $membre['membre_id'] == $to )
{
info($langue['info_titre'], $langue['er_mail_soimeme']);
}
//
// On récupère le destinataire
//
$sql = 'SELECT ' . ( isset($HTTP_POST_VARS['soumettre_mail']) ? 'membre_email, membre_login' : 'membre_login' ) . ' FROM ' . MEMBRES_TABLE . '
WHERE membre_id = \'' . $to . '\'
AND membre_id <> \'' . INVITE . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql);
}
$t = $bdd->tableau($result);
if ( $t['membre_login'] == '' )
{
info($langue['info_titre'], $langue['membre_non_existant']);
}
if ( isset($HTTP_POST_VARS['soumettre_mail']) )
{
$titre = stripslashes(trim($HTTP_POST_VARS['sujet_mail']));
$message = stripslashes(trim(htmlSpecialChars($HTTP_POST_VARS['texte_mail'])));
if ( ! empty($titre) && ! empty($message) )
{
include($racine . 'includes/class/class_mail.php');
$mail = new Mail($langue['charset']);
$mail->set_langue($membre['membre_langue']);
$mail->set_mail('mail_prive.html');
$mail->sujet($titre);
$mail->signature('');
$mail->message(array(
'MEMBRE' => $t['membre_login'],
'FROM' => $membre['membre_login'],
'MESSAGE' =>$message
));
$mail->expediteur($membre['membre_email'], $membre['membre_login']);
$mail->destinataire($t['membre_email'], $t['membre_login']);
if ($mail->envoie())
{
info($langue['info_titre'], $langue['mail_bien_envoye'] . '<br /><br />' . sprintf($langue['retour_index'], ajout_sid('index.php')));
}
else
{
info($langue['info_titre'], $langue['er_envoie_mail']);
}
}
}
$hidden = '<input type="hidden" name="to" value="' . $to . '" />';
$page_titre = strip_tags(sprintf($langue['envoyer_mail_a'], $t['membre_login']));
$liens_header = ' -> ' . sprintf($langue['envoyer_mail_a'], $t['membre_login']);
include( $racine . 'includes/header_forum.php' );
$tpl->set_filenames(array('mail' => 'formulaire_mail.tpl'));
$tpl->assign_vars( array(
'L_DESTINATAIRE' => sprintf($langue['envoyer_mail_a'], $t['membre_login']),
'L_SUJET' => $langue['sujet'],
'L_ENVOYER' => $langue['soumettre'],
'U_ACTION' => ajout_sid('profil.php?mode=mail&to=' . $to),
'HIDDEN' => $hidden
));
$tpl->pparse('mail');
include( $racine . 'includes/footer_forum.php' );
exit;
}
else if ( $mode == 'mail' && ! $config['mail_par_forum'] )
{
redir('index.php');
}
//
// Si le membre n'est pas connecté on le redirige vers la boite de connexion
//
if ( $membre['membre_id'] == INVITE && $mode == 'edite' )
{
redir('connexion.php?redirection=profil.php$mode=edite');
}
else if ( $membre['membre_id'] != INVITE && ( $mode == 'nouveau' || $mode == 'activation' ) )
{
redir('index.php');
}
//
// S'il s'agit d'un lien d'activation on active le membre avec le code entré par l'url.
//
if ( $mode == 'activation' )
{
$sql = 'UPDATE ' . MEMBRES_TABLE . '
SET membre_actif = \'1\'
WHERE code_activation = \'' . $code . '\'
AND code_activation <> \'aucun\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'membres'), __LINE__, __FILE__, $sql);
}
info($langue['info_titre'], $langue['compte_actif'] . '<br /><br />' . sprintf($langue['retour_index'], ajout_sid('index.php')));
}
if( isset($HTTP_POST_VARS['soumettre']) )
{
//
// on vérifie les différents champs du profile
//
$parametre = array('login', 'mdp', 'mdp_confirm', 'mdp_nouveau', 'email', 'signature', 'langue_forum', 'theme_forum', 'lier_avatar', 'vision_mail', 'supprimer_avatar', 'date_format', 'notification_mp');
for ( $i = 0; $i < count($parametre); $i++ )
{
$$parametre[$i] = htmlSpecialChars(trim($HTTP_POST_VARS[$parametre[$i]]));
}
// En mode 'nouveau' le règlement a t'il été accepté?
if ( $mode == 'nouveau' && ! isset($HTTP_POST_VARS['accepter']) )
{
$erreur .= $langue['er_accepter_reglement'] . '<br />';
}
// On vérifie si les champs obligatoires sont remplis. Une fois enregistré on est plus obligé de remplir le mot de passe.
if ( ( empty($login) && ( $mode == 'nouveau' || $config['editer_login'] ) ) || empty($email) || ( ( empty($mdp) || empty($mdp_confirm) ) && $mode == 'nouveau' ) )
{
$erreur .= $langue['er_champs_vides'] . '<br />';
}
// En mode 'nouveau' on vérifie si les deux mots de passe sont égaux, de même si on édite le mdp
if ( ( $mdp != $mdp_confirm && $mode == 'nouveau' ) || ( $mdp_nouveau != $mdp_confirm && ! empty($mdp) && $mode == 'edite' ) )
{
$erreur .= $langue['er_mdp_diff'] . '<br />';
}
// En mode 'edite', si un nouveau mot de passe est entré on vérifie que le mot de passe d'origine soit valide
if ( ! empty($mdp) && md5($mdp) != $membre['membre_mdp'] && $mode == 'edite' )
{
$erreur .= $langue['er_mdp_origine'] . '<br />';
}
// En mode 'edite', il faut entrer son ancien mot de passe un un mot de passe de confirmation
if ( ( ( ! empty($mdp) && empty($mdp_nouveau) ) || ( empty($mdp) && ! empty($mdp_nouveau) ) ) && $mode == 'edite' )
{
$erreur .= $langue['er_nouveau_mdp'] . '<br />';
}
// On vérifie le format de l'adresse email
if ( ! @ preg_match('/^.*?@.*?\..{1,4}$/is', $email) )
{
$erreur .= $langue['er_email_faux'] . '<br />';
$erreur_mail = TRUE;
}
// Le pseudo entré existe t'il déjà?
if ( $mode == 'nouveau' || ( $mode == 'edite' && $login != $membre['membre_login'] && $config['editer_login'] ) )
{
$sql = 'SELECT membre_login from ' . MEMBRES_TABLE . '
WHERE membre_login = \'' . $login . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql);
}
$check_login = $bdd->tableau($result);
if ($check_login['membre_login'] != '')
{
$erreur .= $langue['er_login_pris'] . '<br />';
}
}
// l'adresse email entrée existe t'elle déjà?
if ( $mode == 'nouveau' || ( $mode == 'edite' && $email != $membre['membre_email'] ) )
{
$sql = 'SELECT membre_email from ' . MEMBRES_TABLE . '
WHERE membre_email = \'' . $email . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql);
}
$stat = $bdd->tableau($result);
if ( $stat['membre_email'] != '' && ! $erreur_mail )
{
$erreur .= $langue['er_email_faux'] . '<br />';
}
}
//
// on regarde si le mail ou le pseudo ou l'IP a été banni
//
if ( empty($erreur) )
{
$sql = 'SELECT * FROM ' . BANNIS_TABLE;
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'bannis'), __LINE__, __FILE__, $sql);
}
$tmp_ip = long2ip($membre['membre_ip']);
$tmp_login = strtolower($login);
$tmp_email = strtolower($email);
while ($bannis = $bdd->tableau($result))
{
if ($bannis['bannis_type'] == BANNIR_IP && is_matching($bannis['bannis_objet'], $tmp_ip))
{
$erreur .= $langue['ip_est_bannie'] . '<br />';
break;
}
else if ($bannis['bannis_type'] == BANNIR_MEMBRE && is_matching(strtolower($bannis['bannis_objet']), $tmp_login))
{
$erreur .= $langue['membre_est_banni'] . '<br />';
break;
}
else if ($bannis['bannis_type'] == BANNIR_MAIL && is_matching(strtolower($bannis['bannis_objet']), $tmp_email))
{
$erreur .= $langue['mail_est_banni'] . '<br />';
break;
}
}
}
//
// Si le formulaire de liage ou d'upload de l'avatar est rempli ou vérifie l'extension de l'avatar
// et on lie/upload. Si les deux champs sont remplis le liage est prioritaire sur l'upload pour des
// de place

// - Dark_Genova -
//
include( $racine . 'includes/class/class_upload.php' );
$upload = new upload($racine . 'images/');
$can_use_avatar = ($mode != 'nouveau' && $config['aut_avatar'] && $membre['aut_avatar']) ? TRUE : FALSE;
if ($supprimer_avatar && $can_use_avatar)
{
//
// Si on supprime l'avatar et que celui ci n'est pas lié à distance...
//
if (!empty($membre['membre_avatar']))
{
$membre['membre_avatar'] = '';
$lier_avatar = '';
if (!preg_match('/^(http|https):\/\//si', $membre['membre_avatar']))
{
$upload->delete_matches_files($racine . 'images/avatars/', md5($membre['membre_id']));
}
}
}
else if ($lier_avatar != '' && $mode == 'edite' && $can_use_avatar)
{
$upload->delete_matches_files($racine . 'images/avatars/', md5($membre['membre_id']));
if (!preg_match('/(http|https):\/\/.*?\.(gif|jpg|jpeg|png)/si', $lier_avatar))
{
$erreur .= $langue['mauvais_avatar_lier'] . '<br />';
}
if ( ! $upload->check_size($lier_avatar, $config['width_avatar'], $config['height_avatar']) )
{
$erreur .= sprintf($langue['er_taille_avatar'], $config['taille_avatar'], $config['width_avatar'], $config['height_avatar']) . '<br />';
}
}
else if ($HTTP_POST_FILES['upload_avatar']['name'] != '' && $mode == 'edite' && $can_use_avatar && $config['upload_avatar'])
{
$upload->assign_extensions(array('jpg', 'jpeg', 'gif', 'png'));
$upload->assign_file_to_upload($HTTP_POST_FILES['upload_avatar']['name'], $HTTP_POST_FILES['upload_avatar']['tmp_name']);
$lier_avatar = $upload->upload_file();
//
// On copie l'avatar dans le répertoire image. On le renomme puis on vérifie sa taille et son poid.
// Si ton corespond on le bouge vers images/avatars/ et on le supprime, autrement on le supprime
// tout court

//
$nouveau_nom = md5($membre['membre_id']);
$lier_avatar = $racine . 'images/' . $lier_avatar;
$lier_avatar_bis = $racine . 'images/' . $nouveau_nom . '.' . $upload->extension;
$taille = @filesize($lier_avatar);
if ($upload->check_size($lier_avatar, $config['width_avatar'], $config['height_avatar']) && $taille <= $config['taille_avatar'])
{
$upload->delete_matches_files($racine . 'images/avatars/', md5($membre['membre_id']));
@rename($lier_avatar, $lier_avatar_bis);
@copy($lier_avatar_bis, $racine . 'images/avatars/' . $nouveau_nom . '.' . $upload->extension);
$lier_avatar = $racine . 'images/avatars/' . $nouveau_nom . '.' . $upload->extension;
@chmod($lier_avatar, 0666);
}
else
{
@unlink($lier_avatar);
$erreur .= sprintf($langue['er_taille_avatar'], $config['taille_avatar'], $config['width_avatar'], $config['height_avatar']) . '<br />';
}
if (!empty($erreur))
{
$lier_avatar = '';
}
if (file_exists($lier_avatar_bis))
{
@unlink($lier_avatar_bis);
}
}
// mods :: Gallerie_avatars -----------------------------------------------------
// ajout
else if( $HTTP_POST_VARS['avatar_gallery'] != '' && $mode == 'edite' ) {
$lier_avatar = $racine . $HTTP_POST_VARS['avatar_gallery'];
}
// fin ajout
// mods :: Gallerie_avatars -----------------------------------------------------
//
// Si on est en mode 'nouveau' on insert une nouvelle entrée dans la table 'membres'
// Si on est en mode 'edite' ou 'admin' ou effectue un update (en mode admin on vérifie d'autres paramètres
// tel que la suppression du membre.
//
if ( empty($erreur) )
{
switch ( $mode )
{
case "nouveau":
//
// L'ID des membres n'étant pas auto incrémentée, on récupère la plus grande ID existante
// et on l'incrémente de 1 pour créer l'ID du nouvel inscrit.
// - Dark_Genova -
//
$sql = 'SELECT MAX(membre_id) AS derniere_id FROM ' . MEMBRES_TABLE . '
LIMIT 1';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql);
}
$dernier = $bdd->tableau($result);
//
// On regarde le type d'enregistrement du membre, s'il peut s'inscrire directement on lui met directement un compte actif,
// s'il doit confirmer son compte via mail on lui envoie un mail contenant son code d'activation.
//
if ($config['membre_activation'] == 'auto')
{
$code_activation = 'aucun';
$actif = 1;
$info_texte = $langue['inscription_auto'];
$fichier_mail = 'mail_enregistrement_auto.html';
}
else if ($config['membre_activation'] == 'mail')
{
// envoie de mail avec le code d'activation
$code_activation = md5(uniqid(time()));
$actif = 0;
$info_texte = $langue['inscription_mail'];
$fichier_mail = 'mail_enregistrement_confirm.html';
}
//
// On insert le nouveau membre dans la base de donnée
//
$nouv_membre_id = $dernier['derniere_id'] + 1;
$sql = 'INSERT INTO ' . MEMBRES_TABLE . '
(membre_id, membre_login, membre_mdp, membre_aut, membre_email, date_enregistrement, membre_date_format, membre_langue, membre_theme, membre_actif, code_activation, membre_voir_mail, notification_mp)
VALUES (\'' . $nouv_membre_id . '\', \'' . $login . '\', \'' . md5($mdp) . '\', \'' . MEMBRE . '\', \'' . $email . '\', \'' . time() . '\', \'' . $config['date_format'] . '\', \'' . $config['langue_defaut'] . '\', \'' . $config['theme_defaut'] . '\', \'' . $actif . '\', \'' . $code_activation . '\', \'0\', \'1\');';
if ( ! $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_insert'], 'membres'), __LINE__, __FILE__, $sql);
}
$sujets = recuperer_nouveaux_messages($nouv_membre_id, time(), '', '');
marquer_tout_lu($sujets, $nouv_membre_id);
include($racine . 'includes/class/class_mail.php');
$mail = new Mail($langue['charset']);
$mail->set_langue($membre['membre_langue']);
$mail->set_mail($fichier_mail);
$mail->sujet(sprintf($langue['mail_bienvenue'], $config['nom_site']));
$mail->signature($langue['mail_signature']);
$mail->message(array(
'NOM_SITE' => $config['nom_site'],
'ACTIVE_LIEN' => ((!preg_match('#^http://#', $config['dommaine_site'])) ? 'http://' : '') . $config['dommaine_site'] . '/profil.php?mode=activation&code=' . $code_activation,
'MAIL_LOGIN' => stripslashes($login),
'MAIL_MDP' => $mdp
));
$mail->expediteur($config['forum_mail'], '');
$mail->destinataire($email, $login);
if (!$mail->envoie())
{
$info_texte = $langue['aucun_mail_enregistrement'];
}
info($langue['info_titre'], $info_texte . '<br /><br />' . sprintf($langue['retour_index'], ajout_sid('index.php')));
break;
case "edite":
//
// Si le membre a édité son pseudo on modifie au niveau des messages le pseudo
// du posteur ainsi qu'au niveau du dernier posteur sur les forums dans le cache.
//
if ( ! empty($login) && $login != addslashes($membre['membre_login']) )
{
$sql = 'UPDATE ' . MESSAGES_TABLE . '
SET pseudo_posteur = \'' . $login . '\'
WHERE membre_id = \'' . $membre['membre_id'] . '\'';
if ( ! $bdd->requete($sql) )
{
info($langue['info_titre'], sprintf($langue['er_update'], 'messages'), __FILE__, __LINE__, $sql);
}
$cache->load_table('forum', CACHE_SQL);
for ( $f = 0; $f < $compte_forum; $f++ )
{
if ( $forum[$f]['dernier_posteur_id'] == $membre['membre_id'] )
{
$forum[$f]['dernier_posteur_login'] = $login;
}
}
$cache->write_in_cache($forum, 'forum', $compte_forum);
}
//
// On met à jour le profil du membre en fonction des choix qu'il a fait.
//
$login_tmp = ( ! empty($login) ) ? $login : addslashes($membre['membre_login']);
$mdp_tmp = ( ! empty($mdp) && ! empty($mdp_confirm) && ! empty($mdp_nouveau) ) ? md5($mdp_nouveau) : $membre['membre_mdp'];
$lier_avatar = ( $lier_avatar == '' ) ? $membre['membre_avatar'] : $lier_avatar;
$sql = "UPDATE " . MEMBRES_TABLE . "
SET membre_login = '$login_tmp', membre_mdp = '$mdp_tmp', membre_email = '$email', membre_signature = '$signature', " . ( ! $config['annuler_langue'] ? "membre_langue = '$langue_forum', " : "" ) . ( ! $config['annuler_theme'] ? "membre_theme = '$theme_forum', " : "" ) . "membre_avatar = '$lier_avatar', membre_voir_mail = '$vision_mail', membre_date_format = '$date_format', notification_mp = '$notification_mp'
WHERE membre_id = '" . $membre['membre_id'] . "'";
if ( ! $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'membres'), __LINE__, __FILE__, $sql);
}
info($langue['info_titre'], $langue['profil_update'] . '<br /><br />' . sprintf($langue['retour_index'], ajout_sid('index.php')));
break;
default:
info($langue['er_titre'], $langue['mauvais_parametre'], __LINE__, __FILE__);
break;
}
}
else
{
for ( $i = 0; $i < count($parametre); $i++ )
{
$$parametre[$i] = stripslashes($HTTP_POST_VARS[$parametre[$i]]);
}
}
}
//
// On récupère les données du profil (soit en cas d'édition, soit en cas d'erreur)
//
if ( $mode == 'edite' && empty($erreur) )
{
$v_login = $membre['membre_login'];
$v_email = $membre['membre_email'];
$v_signature = $membre['membre_signature'];
$v_langue = $membre['membre_langue'];
$v_theme = $membre['membre_theme'];
$v_mail_oui = ( $membre['membre_voir_mail'] ) ? 'checked="checked"' : '';
$v_mail_non = ( ! $membre['membre_voir_mail'] ) ? 'checked="checked"' : '';
$v_not_mp_oui = ( $membre['notification_mp'] ) ? 'checked="checked"' : '';
$v_not_mp_non = ( ! $membre['notification_mp'] ) ? 'checked="checked"' : '';
$v_avatar = $membre['membre_avatar'];
$v_date_format = $membre['membre_date_format'];
}
else if ( ! empty($erreur) )
{
$v_login = ( ( $config['editer_login'] && $mode == 'editer' ) || $mode == 'nouveau' ) ? stripslashes($login) : $membre['membre_login'];
$v_email = $email;
$v_signature = $signature;
$v_langue = $langue;
$v_theme = $theme_forum;
$v_mail_oui = ( $vision_mail ) ? 'checked="checked"' : '';
$v_mail_non = ( ! $vision_mail ) ? 'checked="checked"' : '';
$v_not_mp_oui = ( $notification_mp ) ? 'checked="checked"' : '';
$v_not_mp_non = ( ! $notification_mp ) ? 'checked="checked"' : '';
$v_avatar = $lier_avatar;
$v_date_format = $date_format;
}
else
{
$v_langue = $config['langue_defaut'];
$v_theme = $config['theme_defaut'];
$v_mail_oui = '';
$v_mail_non = 'checked="checked"';
$v_not_mp_oui = '';
$v_not_mp_non = 'checked="checked"';
$v_avatar = '';
$v_date_format = $config['date_format'];
}
if ( ! empty($erreur) )
{
info($langue['info_titre'], $erreur, '', '', '', FALSE);
}
if( $mode == 'nouveau' )
{
$page_titre = $langue['senregistrer'];
$liens_header = ' -> ' . $langue['senregistrer'];
}
elseif( $mode == 'edite' )
{
$page_titre = $langue['profil'];
$liens_header = ' -> ' . $langue['profil'];
}
// Affichera les liens dans le footer
define( 'LIENS_FOOTER', TRUE );
if ( ! defined('HEADER') )
{
include( $racine . 'includes/header_forum.php' );
}
$tpl->set_filenames(array('corps' => 'profil_corps.tpl'));
$tpl->assign_vars( array(
'L_INSCRIPTION' => $langue['nouv_inscription'],
'L_REGLEMENT' => $langue['reglement'],
'L_ACCEPTER' => $langue['accepter'],
'L_DONNEES' => $langue['profil_donnees'],
'L_LOGIN' => $langue['login'],
'L_MDP' => $langue['mdp'],
'L_MDP_CONFIRM' => $langue['mdp_confirm'],
'L_ANCIEN_MDP' => $langue['ancien_mdp'],
'L_NOUVEAU_MDP' => $langue['nouveau_mdp'],
'L_MDP_EXPLICATION' => $langue['change_mdp_explication'],
'L_EMAIL' => $langue['email'],
'L_PREFERENCE' => $langue['preference'],
'L_SIGNATURE' => $langue['signature'],
'L_LANGUE' => $langue['profil_langue'],
'L_THEME' => $langue['profil_theme'],
'L_VISION_MAIL' => $langue['profil_vision_mail'],
'L_SOUMETTRE' => $langue['soumettre'],
'L_DIMENSION_AVATAR' => sprintf($langue['dimension_avatar'], $config['taille_avatar'], $config['width_avatar'], $config['height_avatar']),
'L_SUPPRIMER_AVATAR' => $langue['supprimer_avatar'],
'L_CHAMPS_OBLIG' => $langue['champs_oblig'],
'L_UP_AVATAR' => $langue['uploader_avatar'],
'L_LIER_AVATAR' => $langue['lier_avatar'],
// mods :: Gallery avatars -----------------------------------------------------
// ajout
'L_GALLERY_AVATAR' => $langue['gallery_avatar'],
'L_MONTRER_GALLERY' => $langue['show_gallery'],
// fin ajout
// mods :: Gallery avatars -----------------------------------------------------
'L_GESTION_AVATAR' => $langue['gestion_avatar'],
'L_DATE_FORMAT' => $langue['profil_date_format'],
'L_OUI' => $langue['oui'],
'L_NON' => $langue['non'],
'L_NOT_MP' => $langue['profil_not_mp'],
'LANGUE' => liste_fichier('./langues/', 'langue_forum', $v_langue),
'THEME' => liste_fichier('./themes/', 'theme_forum', $v_theme),
'V_LOGIN' => $v_login,
'V_EMAIL' => $v_email,
'V_SIGNATURE' => $v_signature,
'V_MAIL_OUI' => $v_mail_oui,
'V_MAIL_NON' => $v_mail_non,
'V_DATE_FORMAT' => $v_date_format,
'V_NOT_MP_OUI' => $v_not_mp_oui,
'V_NOT_MP_NON' => $v_not_mp_non,
'IMG_AVATAR' => sprintf($theme['img'], $membre['membre_avatar'], '', ''),
'U_ACTION' => ajout_sid('profil.php?mode=' . $mode)
));
//
// Si le membre tente de s'inscrire on affiche le réglement en haut de la page
//
if ($mode == 'nouveau')
{
$tpl->create_block('nouveau');
}
//
// On affiche le login dans un formaulaire si on est en mode 'nouveau' ou 'admin'. En mode 'edite' tout dépend de la configuration du forum
//
if ($mode == 'nouveau' || ( $mode == 'edite' && $config['editer_login'] ))
{
$tpl->create_block('login_variable');
}
else
{
$tpl->create_block('login_fixe');
}
//
// Peut on changer la langue ou le theme?
//
if (!$config['annuler_langue'] && $mode == 'edite')
{
$tpl->create_block('choix_langue');
}
if (!$config['annuler_theme'] && $mode == 'edite')
{
$tpl->create_block('choix_theme');
}
// Signature autorisée pour le membre ?
if ($membre['aut_signature'])
{
$tpl->create_block('choix_signature');
}
//
// les avatars sont ils autorisés?
//
if ($mode != 'nouveau' && $config['aut_avatar'] && $membre['aut_avatar'])
{
$tpl->create_block('aut_avatar');
if ($membre['membre_avatar'] != '')
{
$tpl->create_block('montrer_avatar');
}
if ($config['upload_avatar'])
{
$tpl->create_block('upload_avatar');
}
}
$tpl->pparse('corps');
include( $racine . 'includes/footer_forum.php');
?>