hellofacteurV1/vues/compte_infos_maj.php

196 lines
8.4 KiB
PHP
Executable File

<?php
/**
* Vue affichant le formulaire permettant de modifier ses infos perso hors identifiants
* + scripts ajax testant la saisie
*
**/
$header_title=SITE_NOM." >> Modifier mes infos.";
$body_title="Modifier vos informations.";
$ariane_items[0]["txt"]="<li>Modifier mes informations.</li>";
$ariane_items[0]["form"]=true;
$ariane_items[0]["actif"]=true;
if(!empty($_SESSION["message"]))
{
$msg_infos[0]="<strong>".$_SESSION["message"]."</strong>";
$_SESSION["message"]="";
}
else
$msg_infos[0]="Cette page vous permet de modifier certaines de vos informations ou encore de supprimer votre compte.<br>Pour modifier vos identifiants (email & mot de passe) <a href='".PAGE_MAJ_IDENTIFIANT."'>cliquez ici</a>.";
if(empty($tab_infos["time_validation"]))
{
$msg_infos[1]="<strong>Vous devez d'abord valider votre compte avant de pouvoir modifier ces informations.</strong><br>Pour ce faire cliquez sur le lien de validation que vous avez reçu sur votre adresse : <strong>".htmlspecialchars($tab_infos["email"])."</strong>.<br>Si vous ne trouvez pas ce message (même après avoir vérifié le dossier \"spam\" de votre messagerie) ou encore que vous vous êtes trompé lors de la saisie de votre email, <a href='".PAGE_CONTACT."'>contactez-nous</a> pour obtenir de l'aide.";
unset($form);
}
else
{
$form[0]["nom"]="Actualiser vos informations.";
$form[0]["champs"]="<form method='post' id='maj_infos' action='".PAGE_MAJ_INFOS_PERSO."' class='form-horizontal'>
<div class='form-group'>
<label for='peudo' class='col-sm-3 control-label'>Votre nom / pseudo :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".UTILISATEUR_MAX_PSEUDO."' name='pseudo' id='pseudo' value=\"".htmlspecialchars($form["pseudo"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>.</p></div>
</div>";
$fuseau_defaut=date_default_timezone_get();
$tz=new DateTimeZone($fuseau_defaut);
$zones=$tz->listIdentifiers();
$form[0]["champs"].="<div id='fuseau_horaire'>
<div class='form-group'>
<label for='insee' class='col-sm-3 control-label'>Quel est votre fuseau horaire ?</label>
<div class='col-sm-9'><select name='fuseau_horaire' class='form-control'>";
foreach ($zones as $fuseau)
{
if($fuseau==$tab_infos["fuseau_horaire"])
$form[0]["champs"].="<option value='".$fuseau."' selected=selected>".htmlentities(affiche_utf8($fuseau,UTF8_OK))."</option>";
else
$form[0]["champs"].="<option value='".$fuseau."'>".htmlentities(affiche_utf8($fuseau,UTF8_OK))."</option>";
}
$form[0]["champs"].="</select></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Votre fuseau horaire sert à déterminer l'heure d'envoi de vos abonnements (décalage horaire, heures d'été...). <b>Vous pouvez donc le modifier si vous séjournez à l'étranger</b>.</p></div>
</div></div>
<div class='form-group'>
<label for='presentation' class='col-sm-3 control-label'>Présentez-vous :</label>
<div class='col-sm-9'><textarea class='form-control' rows='8' name='presentation' id='presentation' maxlength='".UTILISATEUR_MAX_PRESENTATION."'>".htmlspecialchars($form["presentation"])."</textarea></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Décrivez-vous en quelques mots. ".UTILISATEUR_MAX_PRESENTATION." caractères maximum. Votre profil est visible par les autres internautes lorsque vous publiez des actualités sur Hello facteur.</p></div>
</div>
<div class='form-group'>
<div class='col-sm-offset-3 col-sm-9'>
<div class='checkbox'>
<label for='compte_suppr' class='text-danger'><input type='checkbox' name='compte_suppr' id='compte_suppr' value='1'> <b>Je souhaite supprimer définitivement mon compte utilisateur.</b></label>
</div>
</div>
</div>";
$form[0]["champs"].="<div id='msg_infos'></div>
<input type='hidden' name='email' id='email' value=\"".$form["email"]."\" >
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button></div></div>
</form>";
$form[1]["nom"]="Votre photo.";
$form[1]["champs"]="<form method='post' id='maj_illustration' action='".PAGE_MAJ_ILLUSTRATION."' enctype='multipart/form-data' role='form' class='form-horizontal' target='uploadFrame'>";
if((!empty($adresse_illustration))&&(file_exists($adresse_illustration)))
{
$form[1]["champs"].="
<p><strong>Photo actuelle.</strong><br>
<img src='".SITE_URL."/".$adresse_illustration."' alt='Illustration actuelle' class='img-responsive'>
</p>
<div class='form-group'>
<label for='illustration' class='col-sm-3 control-label'>Téléchargez une nouvelle photo :</label>
<div class='col-sm-9'><input type='file' name='illustration' id='illustration'></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Vous pouvez télécharger une nouvelle photo pour remplacer celle actuelle. Formats autorisés : ".str_replace("|",", ",UTILISATEUR_ILLUS_EXTENSIONS).".</p></div>
</div>
<div class='form-group'>
<div class='col-sm-offset-3 col-sm-9'>
<div class='checkbox'>
<label for='suppr_illustration'>
<input name='suppr_illustration' type='checkbox' id='suppr_illustration' value='1'> Je souhaite supprimer la photo actuelle sans en télécharger une nouvelle.
</label>
</div>
</div>
</div>";
}
else
{
$form[1]["champs"].="
<div class='form-group'>
<label for='illustration' class='col-sm-3 control-label'>Téléchargez votre photo :</label>
<div class='col-sm-9'><input type='file' name='illustration' id='illustration'></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Vous pouvez télécharger une photo pour illustrer votre profil utilisateur, visible par les autres internautes lorsque vous publiez des actualités sur Hello facteur. <b>Formats autorisés : ".str_replace("|",", ",UTILISATEUR_ILLUS_EXTENSIONS)."</b>.</p></div>
</div>";
}
$form[1]["champs"].="<iframe id='uploadFrame' name='uploadFrame' src='#' style='width:90%;height:100px;border:0 solid;'></iframe>
<div id='msg_illustration'></div>
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'>
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button>
</div></div>
</form>\n";
}
//le code pour ajax
ob_start();
?>
<script>
function infos_affiche()
{
$.ajax(
{
url:'<?=SITE_URL;?>/JS/compte_infos_affiche',
type:'GET',
data:'ajax=1',
success:function(code)
{
if(code!=="")
{
$('#form0').html(code);
$("#uploadFrame").hide();
}
}
});
}
$(document).ready(function()
{
$("#uploadFrame").hide();
$('#form0').on('submit','#maj_infos', function(e)
{
e.preventDefault();
var $this=$(this);
var pseudo=$('#pseudo').val();
if(pseudo==='')
{
$('#msg_infos').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) ERREUR_UTILISA_CHAMPS_ABSENTS));?>');
}
else
{
$.ajax(
{
url:'<?=SITE_URL;?>/JS/compte_infos_maj_tests',
type:'POST',
data:$this.serialize()+'&ajax=1',
success:function(code)
{
if(code!=="")
{
if(code=="<?php echo str_replace("\"","'",MSG_UTILISA_MAJ_INFOS_VALID);?>")
{
infos_affiche();
var x=setTimeout(function() { $('#msg_infos').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) MSG_UTILISA_MAJ_INFOS_VALID,"alert-success"));?>'); },500);
}
else if(code=="<?php echo str_replace("\"","'",MSG_UTILISA_GET_LIEN_SUPPRESSION_OK);?>")
{
var x=setTimeout(function() { $('#msg_infos').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) MSG_UTILISA_GET_LIEN_SUPPRESSION_OK,"alert-success"));?>'); },300);
}
else
{
$('#msg_infos').html(code);
}
}
}
});
}
});
});
function msg_telechargement(code)
{
if(code!=="")
{
if(code=="<?php echo str_replace("\"","'",MSG_UTILISA_TELECHARGE_VALID);?>")
{
infos_affiche();
var x=setTimeout(function() { $('#msg_illustration').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) MSG_UTILISA_TELECHARGE_VALID,"alert-success"));?>'); },500);
}
else if(code=="<?php echo str_replace("\"","'",MSG_UTILISA_MAJ_SUPPR_VALID);?>")
{
infos_affiche();
var x=setTimeout(function() { $('#msg_illustration').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) MSG_UTILISA_MAJ_SUPPR_VALID,"alert-success"));?>'); },500);
}
else
{
$('#msg_illustration').html(code);
}
}
}
</script>
<?php
$footer_JS=ob_get_contents();
ob_end_clean();
require(TEMPLATE_REP."/page.php");