##############################################################
## 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 ]------------------------------------------------
#