############################################################## ## MOD Titre: Admin add users ## MOD Titre Traduit: Ajout d'utilisateurs par l'administrateur ## MOD Auteur: Niels < ncr@db9.dk > (Niels Chr. Rød) http://mods.db9.dk ## MOD Traduction: Tchock < inokichi_chiaki@hotmail.com > (Maxime H.) http://mods.phpbb-fr.com ## MOD Description: L'administrateur peut désormais créer un nouveau membre, ## par le biais du panneau d'administration, dans la gestion ## des membres. Dans le fichier admin_users.php est défini ## quels membres doivent être définis comme "standard", afin ## que vous puissiez choisir quels caractéristiques seront ## par défaut. ## MOD Version: 0.10.5 Beta ## ## Niveau d'installation: Facile ## Temps d'installation: 3 Minutes ## Fichiers à éditer: 4 ## admin/admin_users.php ## language/lang_french/lang_admin.php ## templates/subSilver/admin/user_edit_body.tpl ## templates/subSilver/admin/user_select_body.tpl ## Fichiers à inclure: 0 ############################################################## ## Pour des raisons de sécurité, vous êtes prier de consulter ## régulièrement http://forums.phpbb-fr.com afin d'obtenir la ## dernière version de ce MOD. ## Télécharger ce MOD à partir des sites autres que phpBB-fr.com ## peut être dangereux pour votre forum phpBB. ## Par conséquent, phpBB-fr.com n'assurera aucun support pour ## les MODs absents de leur base de données, consultable sur: ## http://forums.phpbb-fr.com/ ############################################################## ## Notes de l'auteur: ## ## 1. description complète du MOD ## ----------- ## L'administrateur peut désormais créer un nouveau membre, ## par le biais du panneau d'administration, dans la gestion ## des membres. Dans le fichier admin_users.php est défini ## quels membres doivent être définis comme "standard", afin ## que vous puissiez choisir quels caractéristiques seront ## par défaut. ## Cela fonctionne également les groupes, ainsi, mettre le membre ## par défaut membre d'un quelquonque groupe, cela créera tous les ## nouveaux membres crées dans l'ACP comme membres de ce groupe. ## Le mot de passe par défaut est codé dans le fichier (voir au ## début du fichier) - l'administrateur peut bien évidemment le changer ## lorsqu'il crée un nouvel utilisateur. ## ## 2. EasyMOD ## ----------- ## ## Une version de ce MOD peut être installé grâce à EasyMOD. ## Le fichier d'installation compatible EM se trouve dans le ## dossier /english. ## ## 3. Lien vers la dernière version officielle ## ----------- ## ## Vous trouverez la dernière version de ce MOD sur le site de l'auteur: ## http://mods.db9.dk/viewtopic.php?t=1475 ## ############################################################## ## MOD Historique: ## ## 2004-05-04 - Version 0.10.5 ## - corrected EM compatible isue in admin_users.php ## ## 2004-24-03 - Version 0.10.4 ## - corrected a bug in 0.10.3, as the FIND tag wasen't good ## ## 2004-03-03 - Version 0.10.3 ## - Changed a find tag, to clearify, what to find ## ## 2003-12-05 - Version 0.10.2 ## - fix a isue wih new users and password ## 2003-12-05 - Version 0.10.1 ## - phpBB template & EasyMOD compliance enhancement ## - Fix 2 instruction errors ## - Add delimiters for the MOD code inserted ## ## 2003-08-05 - Version 0.10.0 ## - complete re-write of the mod ## - support a "user template", witch make it posible to ## define how standart users should be set up ## - you may define a "standart" password ## - new users become members of the same usergroups as ## the standart user ## - admin may "cancel" the creation of the user, as long ## as not submitted ## - works toghether with protect user account mod ## (force user to change password) ## - EM ready ## ## ????-??-?? - Version 0.9.2 ## - change for 2.0.6. + made compt. with attachemt mod ## ## ????-??-?? - Version 0.9.1 ## - corrected that add button was showen into user permission ## page as well ## ## ????-??-?? - Version 0.9.0 ## - Initial release ## ############################################################## ## Avant d'ajouter ce MOD à votre forum, il vous est fortement conseillé ## d'effectuer une sauvegarde des éléments que vous allez modifier. ############################################################## # #-----[ OUVRIR ]------------------------------------------------ # admin/admin_users.php # #-----[ CHERCHER ]------------------------------------------------ # define('IN_PHPBB', 1); # #-----[ APRES, AJOUTER ]------------------------------------------ # // Start add - Admin add user MOD // define a "dummy user", the profile settings of this user, will be used as default settings for new users define('DEFAULT_USER_ID', 2); define('DEFAULT_PASSWD', '123456'); // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # // // Begin program # #-----[ AVANT, AJOUTER ]----------------------------------------- # // Start add - Admin add user MOD $new_user = (isset($HTTP_POST_VARS['new_user'])) ? (($HTTP_POST_VARS['new_user']==TRUE) ? TRUE : 0 ) : 0 ; if ($new_user) { //see if user already exist if (get_userdata($HTTP_POST_VARS['username'])) { message_die(GENERAL_MESSAGE, $lang['Username_taken'] ); } //see if default user exist if ( !($default_user = get_userdata(DEFAULT_USER_ID) ) ) { message_die(CRITICAL_MESSAGE, 'The DEFAULT_USER_ID are not set correctly, please correct this in admin/admin_users.php'); } if ($mode == 'save' && isset( $HTTP_POST_VARS['submit'] ) ) { //we need to create the user $sql = "SELECT MAX(user_id) AS total FROM " . USERS_TABLE; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain next user_id information', '', __LINE__, __FILE__, $sql); } if ( !($row = $db->sql_fetchrow($result)) ) { message_die(GENERAL_ERROR, 'Could not obtain next user_id information', '', __LINE__, __FILE__, $sql); } $user_id = $row['total'] + 1; $sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, user_regdate, user_active) VALUES ($user_id, 'new_user', " . time() . ",'0')"; if ( !($result = $db->sql_query($sql, BEGIN_TRANSACTION)) ) { message_die(GENERAL_ERROR, 'Could not insert data into users table', '', __LINE__, __FILE__, $sql); } $sql = "INSERT INTO " . GROUPS_TABLE . " (group_name, group_description, group_single_user, group_moderator) VALUES ('', 'Personal User', 1, 0)"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql); } $group_id = $db->sql_nextid(); //go get the usergroups, the default user are member of $sql = "SELECT g.group_id FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g WHERE NOT g.group_single_user AND ug.group_id=g.group_id AND ug.user_id='".DEFAULT_USER_ID."'"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain default user group information', '', __LINE__, __FILE__, $sql); } while ($group_data = $db->sql_fetchrow($result)) { //user join default groups $sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending) VALUES (".$group_data['group_id'].", $user_id, '0')"; if ( !($db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Error insert default groupst', '', __LINE__, __FILE__, $sql); } } $sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) VALUES ($user_id, $group_id, 0)"; if( !($result = $db->sql_query($sql, END_TRANSACTION)) ) { message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql); } $HTTP_POST_VARS[POST_USERS_URL] = $user_id; } else { //make script use default user as a starting point $HTTP_POST_VARS[POST_USERS_URL] = DEFAULT_USER_ID; } } // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # if ( ( { $user_id = intval($HTTP_POST_VARS['id']); # #-----[ DANS LA LIGNE CHERCHER ]------------------------------------------------ # $user_id = intval($HTTP_POST_VARS['id']); # #-----[ DANS LA LIGNE REMPLACER PAR ]---------------------------------------- # // Start replacement - Admin add user MOD $user_id = ($new_user) ? $user_id : intval($HTTP_POST_VARS['id']); // End replacement - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # if( $HTTP_POST_VARS['deleteuser'] && ( $userdata['user_id'] != $user_id ) # #-----[ DANS LA LIGNE CHERCHER ]---------------------------------------- # ) # #-----[ DANS LA LIGNE APRES, AJOUTER ]--------------------------------- # && $new_user==0 # #-----[ CHERCHER ]------------------------------------------------ # if ($signature != '') # #-----[ AVANT, AJOUTER ]----------------------------------------- # // Start add - Admin add user MOD else if ($new_user) { //no password given for this new user, create default password $password = md5(DEFAULT_PASSWD); $passwd_sql = "user_password = '$password', "; //send out email notification goes here } // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # // // Now parse and display it as a template # #-----[ AVANT, AJOUTER ]----------------------------------------- # // Start add - Admin add user MOD if ($new_user) { $this_userdata['username'] = $HTTP_POST_VARS['username']; $this_userdata['user_email'] = ''; $this_userdata['user_passwd_change'] = 0; } else { $template->assign_block_vars('switch_show_delete', array()); } // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # $s_hidden_fields .= ''; // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # $lang['User_admin_explain'], # #-----[ DANS LA LIGNE CHERCHER ]---------------------------------------- # $lang['User_admin_explain'], # #-----[ DANS LA LIGNE REMPLACER PAR ]-------------------------------- # ($new_user) ? sprintf( $lang['Create_user_explain'],''.$default_user['username'].'', DEFAULT_PASSWD ) : $lang['User_admin_explain'], # #-----[ CHERCHER ]------------------------------------------------ # $s_hidden_fields .= ''; // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # $lang['User_admin_explain'], # #-----[ DANS LA LIGNE CHERCHER ]---------------------------------------- # $lang['User_admin_explain'], # #-----[ DANS LA LIGNE REMPLACER PAR ]-------------------------------- # ($new_user) ? sprintf( $lang['Create_user_explain'],''.$default_user['username'].'', DEFAULT_PASSWD ) : $lang['User_admin_explain'], # #-----[ CHERCHER ]------------------------------------------------ # 'body' => 'admin/user_select_body.tpl') ); # #-----[ APRES, AJOUTER ]------------------------------------------ # // Start add - Admin add user MOD $template->assign_block_vars('switch_add_user_on', array()); // End add - Admin add user MOD # #-----[ CHERCHER ]------------------------------------------------ # 'L_FIND_USERNAME' => $lang['Find_username'], # #-----[ APRES, AJOUTER ]------------------------------------------ # // Start add - Admin add user MOD 'L_CREATE_USER' => $lang['Create_user'], // End add - Admin add user MOD # #-----[ OUVRIR ]------------------------------------------------ # language/lang_french/lang_admin.php # #-----[ CHERCHER ]------------------------------------------------ # ?> # #-----[ AVANT, AJOUTER ]----------------------------------------- # // Start add - Admin add user MOD $lang['Create_user'] = 'Creer un nouvel utilisateur'; $lang['Create_user_explain'] = 'Vous êtes sur le point de creer un nouvel utilisateur, lorsque c\'est le cas, le script recherchera les données de cet utilisateur %s, l\'ID de celui-ci est codé dans le fichier admin_users.php, il vous est conseillé de changer cette configuration en haut du fichier pour qu\'un nouvel ID puisse être utilisé.
Il existe deux exceptions:
1. Le mot de passe de l\'utilisateur sera (par défaut): "%s" si vous ne le spécifiez pas autrement dans la page d\'ajout d\'utilisateurs dans le panneau d\'administration
2. L\'email de l\'utilisateur doit obligatoirement être renseigné dans cette même page.'; // End add - Admin add user MOD # #-----[ OUVRIR ]------------------------------------------------ # templates/subSilver/admin/user_edit_body.tpl # #-----[ CHERCHER ]------------------------------------------------ # {L_DELETE_USER} # #-----[ AVANT, AJOUTER ]----------------------------------------- # # #-----[ CHERCHER ]------------------------------------------------ # {L_DELETE_USER_EXPLAIN} # #-----[ APRES, AJOUTER ]------------------------------------------ # # #-----[ OUVRIR ]------------------------------------------------ # templates/subSilver/admin/user_select_body.tpl # #-----[ CHERCHER ]------------------------------------------------ # # #-----[ DANS LA LIGNE APRES, AJOUTER ]---------------------------------- # {L_CREATE_USER} # #-----[ SAUVEGARDER/FERMER TOUS LES FICHIERS ]-------------------------------- # # EoM