MyBB.support, le portail francophone de MyBB
[Question]Envoie d'un MP lors de l'activation du compte - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.fr)
+-- Forum : Plug-ins et modules pour MyBB (https://mybb.fr/forum-32.html)
+--- Forum : Support (https://mybb.fr/forum-15.html)
+--- Sujet : [Question]Envoie d'un MP lors de l'activation du compte (/thread-2923.html)



[Question]Envoie d'un MP lors de l'activation du compte - Saypso - 16-08-2010

Bonjour,
J'aurais voulu savoir comment faire pour envoyez un message automatiquement à l'utilisateur qui vient de s'inscrire.
J'ai cherché dans l'administrateur mais je n'ai rien trouver
J'espère que vous pourrez m'aider s'il vous plait ^^
Merci bonne journée (:


RE: [Question]Envoie d'un MP lors de l'activation du compte - spyto - 16-08-2010

Salut,

Il existe le plugin 'PM on Registration' :
http://mods.mybb.com/view/pm-on-registration

Attention, compatible 1.4.x !

Pour le rendre compatible 1.6,
Dans le fichier 'pmonreg.php', cherche :
Code PHP :
function pmonreg_info()
{
global 
$lang;
pmonreg_load_language();

return array(
"name" => $lang->pmonreg,
"description" => $lang->pmonreg_desc,
"website" => "http://www.dennistt.net",
"author" => "DennisTT",
"authorsite" => "http://www.dennistt.net",
"version" => "1.2.0",
"guid" => "eacf7cafb1fc90c53a27cbf2f4687449",
"compatibility" => "14*",

// DennisTT custom info
"codename" => 'pmonreg',
); 

Remplace par :
Code PHP :
function pmonreg_info()
    {
    global 
$lang;
    
pmonreg_load_language();

    return array(
    
"name" => $lang->pmonreg,
    
"description" => $lang->pmonreg_desc,
    
"website" => "http://www.dennistt.net",
    
"author" => "DennisTT",
    
"authorsite" => "http://www.dennistt.net",
    
"version" => "1.2.0",
    
"guid" => "eacf7cafb1fc90c53a27cbf2f4687449",
    
"compatibility" => "16*",

    
// DennisTT custom info
    
"codename" => 'pmonreg',
    ); 



RE: [Question]Envoie d'un MP lors de l'activation du compte - Saypso - 16-08-2010

Merci j'ai modifié et mis sur mon forum mais sa me dit :
Ce plugin est incompatible avec MyBB 1413.
Pourtant j'ai bien modifier regarde le code .php
Code PHP :
<?php
// PM On Registration
// By DennisTT - http://www.dennistt.net
// Version 1.2.0

// This plugin (C) DennisTT 2008.  You may not redistribute this plugin without the permission from DennisTT.

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}


function 
pmonreg_info()
    {
    global 
$lang;
    
pmonreg_load_language();

    return array(
    
"name" => $lang->pmonreg,
    
"description" => $lang->pmonreg_desc,
    
"website" => "http://www.dennistt.net",
    
"author" => "DennisTT",
    
"authorsite" => "http://www.dennistt.net",
    
"version" => "1.2.0",
    
"guid" => "eacf7cafb1fc90c53a27cbf2f4687449",
    
"compatibility" => "16*",

    
// DennisTT custom info
    
"codename" => 'pmonreg',
    ); 
}

// Helper function to load the language variables
function pmonreg_load_language()
{
    global 
$lang;
    if(!
defined('DENNISTT_PMONREG_LANG_LOADED'))
    {
        
$lang->load('pmonreg'falsetrue);
        
        if(!isset(
$lang->pmonreg))
        {
            
$lang->pmonreg 'PM On Registration';
            
$lang->pmonreg_desc 'Automatically send a private message to newly registered users. For MyBB 1.4.x';
        }
        
        
define('DENNISTT_PMONREG_LANG_LOADED'1);
    }
}

// This function runs when the plugin is activated.
function pmonreg_activate()
{
    global 
$db$cache;
    
$info pmonreg_info();
    
    
// Deactivate to remove any existing settings
    
pmonreg_deactivate();

    
$setting_group_array = array(
        
'name' => str_replace(' ''_''dennistt_'.strtolower($info['codename'])),
        
'title' => "$info[name] (DennisTT)",
        
'description' => "Settings for the $info[name] plugin",
        
'disporder' => 1,
        
'isdefault' => 0,
        );
    
$db->insert_query('settinggroups'$setting_group_array);
    
$group $db->insert_id();
    
    
$settings = array(
        
'pmonreg_switch' => array('PM On Registration Main Switch''Send a private message on registration to new users?  This is the main switch; if this is disabled, none of the below settings will take effect, and PMs will not be sent.''onoff''1'),
        
'pmonreg_uid' => array('Sent By Whom?''Enter the user ID of the author of these automated private messages.''text''1'),
        
'pmonreg_cc_uids' => array('Carbon Copy To Users''Enter the user ID of any users that should be CC\'ed on each PM.  Separate by commas.''text'''),
        
'pmonreg_bcc_uids' => array('Blind Carbon Copy To Users''Enter the user ID of any users that should be BCC\'ed on each PM.  Separate by commas.''text'''),
        
'pmonreg_subject' => array('PM Subject''Enter the subject of the automated private messages.<br /><br />{username} will be replaced with the username of the recipient''text''Welcome!'),
        
'pmonreg_message' => array('PM Message''Enter the message of the automated private messages.<br /><br />{username} will be replaced with the username of the recipient''textarea''Hello {username}, and welcome to my MyBB forum!'),
        
'pmonreg_showsignature' => array('Show Signature?''Show the sender\'s signature?''yesno'1),
        
'pmonreg_disablesmilies' => array('Disable Smilies?''Disable smilies from showing?''yesno'0),
        
'pmonreg_savecopy' => array('Save A Copy?''Save a copy in the sender\'s Sent Items folder?''yesno'0),
        
'pmonreg_receipt' => array('Request Read Receipt?''Request read receipt from recipient?''yesno'0),
        );

    
$i 1;
    foreach(
$settings as $name => $sinfo)
    {
        
$insert_array = array(
            
'name' => $name,
            
'title' => $db->escape_string($sinfo[0]),
            
'description' => $db->escape_string($sinfo[1]),
            
'optionscode' => $db->escape_string($sinfo[2]),
            
'value' => $db->escape_string($sinfo[3]),
            
'gid' => $group,
            
'disporder' => $i,
            
'isdefault' => 0,
            );
        
$db->insert_query('settings'$insert_array);
        
$i++;
    }
    
rebuild_settings();

    
$cache->update('pmonreg_errors'0);
    
    
// Make sure activation usergroup has permission to read PMs...
    
$update_group = array('canusepms' => 1'pmquota' => 20);
    
$db->update_query('usergroups'$update_group'gid=5');
    
$cache->update_usergroups();
}

// This function runs when the plugin is deactivated.
function pmonreg_deactivate()
{
    global 
$db$cache;
    
$info pmonreg_info();

    
$result $db->simple_select('settinggroups''gid'"name = '".str_replace(' ''_''dennistt_'.strtolower($info['codename']))."'", array('limit' => 1));
    
$group $db->fetch_array($result);
    
    if(!empty(
$group['gid']))
    {
        
$db->delete_query('settinggroups'"gid='{$group['gid']}'");
        
$db->delete_query('settings'"gid='{$group['gid']}'");
        
rebuild_settings();
    }
    
$db->delete_query("datacache""title='pmonreg_errors'");
}

$plugins->add_hook("member_do_register_end""pmonreg_run");
function 
pmonreg_run()
{
    global 
$mybb$user_info$cache$user$lang;

    if(
$mybb->settings['pmonreg_switch'] != 0)
    {
        require_once 
MYBB_ROOT."inc/datahandlers/pm.php";
    
        
$pmhandler = new PMDataHandler();
        
        
$recipients_to = array($user_info['uid']);
        
$recipients_bcc = array();
        
        
// Handle CC list
        
$cc_list explode(','$mybb->settings['pmonreg_cc_uids']);
        foreach(
$cc_list as $cc_uid)
        {
            if(
intval($cc_uid))
            {
                
$recipients_to[] = intval($cc_uid);
            }
        }
        
        
// Handle BCC List
        
$bcc_list explode(','$mybb->settings['pmonreg_bcc_uids']);
        foreach(
$bcc_list as $bcc_uid)
        {
            if(
intval($bcc_uid))
            {
                
$recipients_bcc[] = intval($bcc_uid);
            }
        }
        
        
// Handle subject/message from language pack
        
$subject $mybb->settings['pmonreg_subject'];
        if(isset(
$lang->pmonreg_subject))
        {
            
$subject $lang->pmonreg_subject;
        }
        
        
$message $mybb->settings['pmonreg_message'];
        if(isset(
$lang->pmonreg_message))
        {
            
$message $lang->pmonreg_message;
        }
        

        
$pm = array(
            
"subject" => str_replace('{username}'$user['username'], $subject),
            
"message" => str_replace('{username}'$user['username'], $message),
            
"icon" => -1,
            
"fromid" => intval($mybb->settings['pmonreg_uid']),
            
"toid" => $recipients_to,
            
"bccid" => $recipients_bcc,
            
"do" => '',
            
"pmid" => ''
        
);
    
        
$pm['options'] = array(
            
"signature" => $mybb->settings['pmonreg_showsignature'],
            
"disablesmilies" => $mybb->settings['pmonreg_disablesmilies'],
            
"savecopy" => $mybb->settings['pmonreg_savecopy'],
            
"readreceipt" => $mybb->settings['pmonreg_receipt']
        );
        
$pm['saveasdraft'] = 0;
        
$pmhandler->admin_override 1;
        
$pmhandler->set_data($pm);
        if(
$pmhandler->validate_pm())
        {
            
$pmhandler->insert_pm();
        }
        else
        {
            
pmonreg_handle_error(&$pmhandler);
        }
    }
}

function 
pmonreg_handle_error(&$pmhandler)
{
    global 
$cache;
    
$errors $cache->read("rss2post_errors");    
    if(
$errors === false)
    {
        
$errors '';
    }                    
    
    
$errors .= 'Date: ' gmdate('r') . "\n";
    
    
$datahandler_errors $pmhandler->get_errors();
    
ob_start();
    
print_r($datahandler_errors);
    
$errors .= ob_get_clean();
    
$errors .= "\n\n===========================================\n\n";
    
    
$cache->update('pmonreg_errors'$errors);

J'ai fait une erreur ?


RE: [Question]Envoie d'un MP lors de l'activation du compte - spyto - 17-08-2010

Il est compatible 1.4.x !!!

Je ne savais pas que tu étais en 1.4.13.
La modif que je te proposais est pour le rendre compatible 1.6 !

Pour 1.4.16, il fallait tout conserver tel quel. Réuploade le fichier d'origine.
(laisse "compatibility" => "14*",)


RE: [Question]Envoie d'un MP lors de l'activation du compte - Saypso - 17-08-2010

Ah ok.
On peut mettre à jour MyBB sans perte de données ? (:


RE: [Question]Envoie d'un MP lors de l'activation du compte - spyto - 17-08-2010

Bien entendu !
Cependant certains plugins ne fonctionneront pas sous 1.6 par exemple.

Mais là on s'éloigne du sujet initial.
C'est mieux d'ouvrir une autre discussion dans le forum adéquat !

D'ailleurs, ta demande "Envoi d'un MP lors de l'activation" n'est pas à sa place dans "Plugins/Traductions". Ellle serait mieux dans "Plugins/Support" par exemple !

Je vais d'ailleurs l'y déplacer...


RE: [Question]Envoie d'un MP lors de l'activation du compte - Saypso - 17-08-2010

Ah ok désolé.


 Utilitaire de traduction fourni par Regentronique