Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je voudrai savoir si il existé une mod's pour le parrainage ?
Merci
Hors ligne
Je pense pas.
Dernière modification par kHAN (15-08-2012 22:24:24)
Je découvre fluxBB. 
Hors ligne
Hors ligne
Mod's parrainage, qui fonctionnerai avec ou sans un système de point, mais avec un système de filleul, tu partage le forum a un amis et si celui ci s’inscrit avec le lien qui tu lui a fournie, il deviens ton filleul.
Hors ligne
Hors ligne
Hors ligne
salut, je pense pouvoir te donner un coup de main sur ce mod, je le code actuellement pour un projet personnel (je ne peux pas en dire plus sur ce projet, je ne suis pas là pour ça)... bref
allons directement dans le vive du sujet, mais CE POSTE N'EST PAS DEFINITIF
commence par créer un champ "parrainID varchar(6) utf8_general_ci Yes NULL"; puis
ouvre ton fichier register.php
recherche cette ligne
<legend><?php echo $lang_prof_reg['Localisation legend'] ?></legend>ensuite ajoute la, juste avant
<legend><?php echo 'Si vous avez un parrain! veuillez saisir son nom d\'utilisateur' ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<label><?php echo 'Parrain Username' ?><br /><input type="text" class="input_table_login_left" name="req_parrainId" value="<?php if (isset($_POST['req_parrainId'])) echo pun_htmlspecialchars($_POST['req_parrainId']); ?>" size="25" maxlength="15" /><br /></label>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>cherche cette ligne
// Did everything go according to plan?
if (empty($errors))et rajoute cette ligne avant
$req_parrainId = pun_trim($_POST['req_parrainId']);
//on verifie si le membre a saisis un id de parrainage (différent de vide)
if($req_parrainId != '')
{
//on verifie si l'id de parrainage que le nouveau membre a saisis existe dans notre base de donnée.
$result = $db->query('SELECT parrainId FROM '.$db->prefix.'users WHERE parrainId=\''.$db->escape($req_parrainId).'\'') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
$errors[] = 'aucun parrain n\'a cette Id dans notre base de donnée';
}cherche cette ligne
// Insert the new user into the database. We do this now to get the last inserted ID for later use
$now = time();rajoute cette ligne après
//on crée une id de parrainage pour chaque membres
//ici les id des parrains seront aléatoire de 6 caractères
$Idparrain = mb_strtoupper(random_pass(6));cherche cette ligne
// Add the user
$db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, timezone, dst, language, style, registered, registration_ip, last_visit) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$db->escape($email1).'\', '.$email_setting.', '.$timezone.' , '.$dst.', \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());remplacer par cette ligne
// Add the user
$db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, timezone, dst, language, style, registered, registration_ip, last_visit,parrainId) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$db->escape($email1).'\', '.$email_setting.', '.$timezone.' , '.$dst.', \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.', \''.$Idparrain.'\')') or error('Unable to create user', __FILE__, __LINE__, $db->error());Pour aller plus loin une petit explication s'impose:
j'ai opté pour deux options
1er option
vous activez l'option "o_regs_verify", dans ce cas votre membre reçoit un mail avec son nom de compte avec un pass aléatoire. ensuite il faut qu'il se connecte avec son pass pour valider son inscription ensuite le changer...
c'est lorqu'il valide sont compte qu'il reçoit un nouveau mail pour lui donner sont "ID de parrainage"
ouvre le fichier login,
cherche la ligne
$cur_user = $db->fetch_assoc($result);rajoute cette ligne
$email1 = $cur_user['email'];
$Idparrain = $cur_user['parrainId'];cherche cette ligne
$db->query('UPDATE '.$db->prefix.'users SET group_id='.$pun_config['o_default_user_group'].' WHERE id='.$cur_user['id']) or error('Unable to update user status', __FILE__, __LINE__, $db->error());rajoute cette ligne
$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/parrain.tpl'));
// The first row contains the subject
$first_crlf = strpos($mail_tpl, "\n");
$mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
$mail_message = trim(substr($mail_tpl, $first_crlf));
$mail_subject = str_replace('<board_title>', $pun_config['o_board_title'], $mail_subject);
$mail_message = str_replace('<base_url>', get_base_url().'/', $mail_message);
$mail_message = str_replace('<parrainId>', $Idparrain, $mail_message);
$mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'], $mail_message);
pun_mail($email1, $mail_subject, $mail_message);créer un fichier parrain.tpl dans lang/tous tes fichier lang/mail_templates/
2eme option
vous n'êtes pas dans la 1er option
dans ce cas il reçoit directement son ID de parrainage après son inscription
toujours dans le fichier register.php
cherche cette ligne
// Regenerate the users info cache
if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
require PUN_ROOT.'include/cache.php'; rajoute cette ligne avant
if ($pun_config['o_regs_verify'] != '1')
{
// Load the "welcome" template
$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/welcome_parrain.tpl'));
// The first row contains the subject
$first_crlf = strpos($mail_tpl, "\n");
$mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
$mail_message = trim(substr($mail_tpl, $first_crlf));
$mail_subject = str_replace('<board_title>', $pun_config['o_board_title'], $mail_subject);
$mail_message = str_replace('<base_url>', get_base_url().'/', $mail_message);
$mail_message = str_replace('<parrainId>', $Idparrain, $mail_message);
$mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'], $mail_message);
pun_mail($email1, $mail_subject, $mail_message);
}créer un fichier welcome_parrain.tpl dans lang/tous tes fichier lang/mail_templates/
ce poste sera actualisé au fur et à mesure de mes avancées personnelles.
Dernière modification par akira_87 (19-09-2012 14:26:48)
function j_ai_besoin() {
if (ça existe) j'utilise;
if (ça existe mais c'est incomplet) j'améliore et je partage;
if (ça n'existe pas) je développe et je partage;
if (je réclame) exit;
Return "code amélioré" or "developpeur satisfait" or die;}
Hors ligne
Pages : 1