".$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 ""; 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"
    "; echo" "; echo" "; echo " "; echo"
    ".$lang['adduser_fill_form']."
     
    ".$lang['adduser_login']." "; if ( $HTTP_GET_VARS['mode'] == "modif" ) { echo"$pseudo [".$lang['adduser_unmodify']."]"; echo""; } else { echo""; } echo"
    "; if ( $HTTP_GET_VARS['mode'] == "modif" ) { echo $lang['new']." ".$lang['password'].""; } else { echo $lang['password']; } echo" "; echo"
    ".$lang['reg_mail_address']."
    ".$lang['adduser_status']." "; if ( $pseudo == $conf['webmaster'] ) { echo "$status [".$lang['adduser_unmodify']."] "; } else { echo" "; } echo"
    "; if ( $HTTP_GET_VARS['mode'] == "modif" ) { echo "
    [ ".$lang['adduser_info_back']." ]
    "; } } } ?>