Soumis par evil<3 le 11 janvier 2008, 16:31
Traduit par l'équipe des traducteurs
» Créer un nouvel utilisateur
phpbb3.0 offre des fonctions permettant de gérer les utilisateurs, celles-ci incluent user_ban, user_delete, user_unban, user_update_name. Celle dont nous avons besoin ici est user_add. Ces fonctions relatives aux utilisateurs peuvent être trouvées dans le fichier includes/functions_user.php.
» Les arguments de la fonction
$user_row : Il s'agit d'un tableau des données utilisateur. Les clefs suivantes sont nécessaires : username, user_password, user_email, group_id, user_type. Les clefs suivantes sont optionnelles, et la plupart d'entre elles ne seront d'ailleurs pas nécessaires : user_permissions, user_timezone, user_dateformat, user_lang, user_style, user_allow_pm, user_actkey, user_ip, user_regdate, user_passchg, user_options, user_inactive_reason, user_inactive_time, user_lastmark, user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_dst, user_colour, user_occ, user_interests, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height, user_new_privmsg, user_unread_privmsg, user_last_privmsg, user_message_rules, user_full_folder, user_emailtime, user_notify, user_notify_pm, user_notify_type, user_allow_pm, user_allow_viewonline, user_allow_viewemail, user_allow_massemail, user_sig, user_sig_bbcode_uid, user_sig_bbcode_bitfield, user_form_salt.
$cp_data possède soit la valeur false (faux) par défaut, ou contient un tableau des données utilisateur personnalisées dont les clefs sont les identifiants des champs personnalisés, et la valeur de la clef étant la valeur du champs.
» La valeur retournée
La valeur retournée par la fonction est le nouvel user_id de l'utilisateur.
» Un exemple
Voici un exemple d'utilisation de la fonction :
- Code: Tout sélectionner
// select the group_id
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . $db->sql_escape('REGISTERED') . "'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$group_id = (int) $db->sql_fetchfield('group_id');
$db->sql_freeresult($result);
// set user data
$user_row = array(
'username' => 'evil<3',
'user_password' => 'a_cheap_pass',
'user_email' => 'evil@somesite.com',
'group_id' => $group_id,
'user_type' => USER_NORMAL,
);
// add user
$user_id = user_add($user_row);