From 867c2379ff66ce0f2c4f872a13027fd649aa076d Mon Sep 17 00:00:00 2001 From: z0rglub Date: Fri, 9 May 2003 12:42:42 +0000 Subject: Initial revision git-svn-id: http://piwigo.org/svn/trunk@2 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/ajout.php | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 326 insertions(+) create mode 100644 admin/ajout.php (limited to 'admin/ajout.php') diff --git a/admin/ajout.php b/admin/ajout.php new file mode 100644 index 000000000..3ae1fa2f8 --- /dev/null +++ b/admin/ajout.php @@ -0,0 +1,326 @@ +".$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']." ]
    "; + } + } + } +?> \ No newline at end of file -- cgit v1.2.3