".$lang['user_err_modify']."";
$absent = true;
}
if ( $HTTP_GET_VARS['mode'] == "modif" )
{
if ( $pseudo == "" )
{
echo"
".$lang['user_err_unknown']."
";
$absent = true;
}
}
if ( !$absent )
{
if ( $HTTP_GET_VARS['valider'] == 1 )
{
$i = 0;
// le pseudo ne doit pas
// 1. être vide
// 2. commencer ou se terminer par un espace
// 3. comporter les caractères ' ou "
// 4. être déjà utilisé
// Notes sur le pseudo du webmaster :
// - lorsque l'on trouve plusieurs occurences consécutives du caractère espace, on réduit à une seule occurence
if ( $HTTP_GET_VARS['mode'] != "modif" )
{
if ( $HTTP_POST_VARS['pseudo'] == "" )
{
$error[$i++] = $lang['reg_err_login1'];
}
$pseudo = ereg_replace( "[ ]{2,}", " ", $HTTP_POST_VARS['pseudo'] );
if ( ereg( "^.* $", $pseudo) )
{
$error[$i++] = $lang['reg_err_login2'];
}
if ( ereg( "^ .*$", $pseudo) )
{
$error[$i++] = $lang['reg_err_login3'];
}
if ( ereg( "'",$pseudo ) || ereg( "\"",$pseudo ) )
{
$error[$i++] = $lang['reg_err_login4'];
}
else
{
$query = "select id from $prefixeTable"."users where pseudo = '$pseudo';";
$result = mysql_query( $query );
if ( mysql_num_rows( $result ) > 0 )
{
$error[$i++] = "".$lang['reg_err_login5']."";
}
}
}
// le mail doit être conforme à qqch du type : nom@serveur.com
if( $HTTP_POST_VARS['mail_address'] != "" && !ereg( "([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)", $HTTP_POST_VARS['mail_address'] ) )
{
$error[$i++] = $lang['reg_err_mail_address'];
}
// mis à jour des variables pour ne pas afficher celles issue de la BD
$pseudo = $HTTP_POST_VARS['pseudo'];
$password = $HTTP_POST_VARS['password'];
$status = $HTTP_POST_VARS['status'];
$mail_address = $HTTP_POST_VARS['mail_address'];
// on met à jour les paramètres de l'applicaiton dans le cas où il n'y aucune erreur
if ( sizeof( $error ) == 0 && $HTTP_GET_VARS['mode'] != "modif" )
{
// 1.récupération des valeurs par défaut de l'application pour nombre_image_ligne,nombre_ligne_page,couleur,language
$row = mysql_fetch_array( mysql_query( "select nombre_image_ligne,nombre_ligne_page,theme,language from $prefixeTable"."users where pseudo = 'visiteur';" ) );
// 2.ajout du nouvel utilisateur
$query = "insert into $prefixeTable"."users (pseudo,password,mail_address,nombre_image_ligne,nombre_ligne_page,theme,language,status) values ('$pseudo','".md5( $HTTP_POST_VARS['password'] )."',";
if ( $HTTP_POST_VARS['mail_address'] != "" )
{
$query.= "'".$HTTP_POST_VARS['mail_address']."'";
}
else
{
$query.= "NULL";
}
$query.= ",'".$row['nombre_image_ligne']."','".$row['nombre_ligne_page']."','".$row['theme']."','".$row['language']."','".$HTTP_POST_VARS['status']."');";
mysql_query( $query );
// 3. récupérer l'identifiant de l'utilisateur nouvellement créé
$row = mysql_fetch_array( mysql_query( "select id from $prefixeTable"."users where pseudo = '$pseudo';" ) );
$user_id = $row['id'];
// 4.ajouter les restrictions au nouvel utilisateur, les mêmes que celles de l'utilisateur par défaut
$query = "select cat_id ";
$query.= "from $prefixeTable"."restrictions as r,$prefixeTable"."users as u ";
$query.= "where u.id = r.user_id ";
$query.= "and u.pseudo = 'visiteur';";
$result = mysql_query( $query );
while( $row = mysql_fetch_array( $result ) )
{
mysql_query ( "insert into $prefixeTable"."restrictions (user_id,cat_id) values ('$user_id','".$row['cat_id']."');" );
}
}
if ( sizeof( $error ) == 0 && $HTTP_GET_VARS['mode'] == "modif" )
{
$query = "update $prefixeTable"."users";
$query.= " set status = '".$HTTP_POST_VARS['status']."'";
if ( $HTTP_POST_VARS['use_new_pwd'] == 1 )
{
$query.= ", password = '".md5( $HTTP_POST_VARS['password'] )."'";
}
$query.= ", mail_address = ";
if ( $HTTP_POST_VARS['mail_address'] != "" )
{
$query.= "'".$HTTP_POST_VARS['mail_address']."'";
}
else
{
$query.= "NULL";
}
$query.= " where id = '".$HTTP_GET_VARS['user_id']."';";
mysql_query( $query );
}
}
if ( sizeof( $error ) > 0 )
{
echo "".$lang['adduser_err_message'].sizeof( $error )." :";
echo "
";
for ( $i = 0; $i < sizeof( $error ); $i++ )
{
echo "- ".$error[$i]."
";
}
echo "
";
echo "
";
}
if ( sizeof( $error ) == 0 && $HTTP_GET_VARS['valider'] == 1 )
{
echo"".$lang['adduser_info_message']."\"$pseudo\" ";
if ( $HTTP_POST_VARS['use_new_pwd'] == 1 )
{
echo $lang['adduser_info_password_updated']." ";
}
echo"[
".$lang['adduser_info_back']." ]
";
}
if ( $HTTP_GET_VARS['valider'] != 1 || $HTTP_GET_VARS['mode'] != "modif" || sizeof( $error ) > 0 )
{
if ( $HTTP_GET_VARS['mode'] != "modif" && sizeof( $error ) == 0 )
{
unset( $pseudo, $password, $status, $mail_address );
}
if ( !isset( $HTTP_POST_VARS['use_new_pwd'] ) || $HTTP_POST_VARS['use_new_pwd'] != 1 )
{
unset( $password );
}
$action = "./admin.php?page=ajout&valider=1";
if ( $HTTP_GET_VARS['mode'] == "modif" )
{
$action.= "&mode=modif&user_id=".$HTTP_GET_VARS['user_id'];
}
echo"";
if ( $HTTP_GET_VARS['mode'] == "modif" )
{
echo "";
}
}
}
?>