1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Réglé] Envoyer un MP via un script PHP
Mots-clés » mp, php, script, externe, envoyer, via
16-06-2012, 19:25, (Modification du message : 17-06-2012, 11:37 par Malak.)
#1
Envoyer un MP via un script PHP
Voila, pour des raisons personnelles, je me vois dans l'obligation de dev' un module externe a MyBB qui dans certains cas, envoye un message (MP) à certains joueurs ...

La doc. etant assez complexe pour aller chippoter avec les datahandler, je me suis inspiré d'un plug déjà existant pour creer ma fonction (de test jusqu'ici, je vous l'accorde, je ne verifie rien !, je veux juste pour le moment que ca marche)

Voici jusqu'ici ce que j'ai concocté :
Code PHP :
<?php
define
('IN_MYBB'1);
require_once 
'../global.php';

pm_send(1);

function 
pm_send($user
{
    global 
$mybb;
    
    
//bot user admin id !
    
$id_bot 3639;
    
    
$pm_subject 'Message a soumettre';
    
$pm_message 'Titre dudit message';
    
    
// PM
    
require_once "../inc/datahandlers/pm.php";
    
$pmhandler = new PMDataHandler();
    
$pmhandler->admin_override true;

    
$pm = array(
        
"subject" => $pm_subject,
        
"message" => $pm_message,
        
"icon" => "-1",
        
"toid" => $user,
        
"fromid" => $id_bot,
        
"do" => '',
        
"pmid" => ''
    
);
    
$pm['options'] = array(
        
"signature" => "0",
        
"disablesmilies" => "0",
        
"savecopy" => "0",
        
"readreceipt" => "0"
    
);

    
$pmhandler->set_data($pm);
            
    if(!
$pmhandler->validate_pm())
    {
        
// There some problem sending the PM
        
echo 'bug';
    }
    else
    {
        
$pminfo $pmhandler->insert_pm();
        echo 
'envoye';
    }
}
?>

La page .php se trouve dans un dossier contenu dans le dossier général de MyBB. Lorsque que j'éxecute cette page sur mon navigateur, elle me retourne 'envoye' or lorsque je verifie les MP de mon compte (user['uid'] = 1), je n'ai rien reçu ...

Quelqu'un a une petite idée pour moi ? Wink

Bonne soirée.
Répondre
16-06-2012, 20:04,
#2
RE: Envoyer un MP via un script PHP
La valeur de la variable serait plutot "to" et non pas "toid" ici :
"to" => $user,

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
16-06-2012, 20:46,
#3
RE: Envoyer un MP via un script PHP
En faisant la-dite, manipulation, le script ne renvoye plus 'envoye' mais 'bug' ... donc que le mp serait invalide ... :/
Répondre
16-06-2012, 23:11, (Modification du message : 16-06-2012, 23:17 par exdiogene.)
#4
RE: Envoyer un MP via un script PHP
J'ai fait un script similaire et il fonctionne bien avec la variable "to".

Dans la routine les seules autres differences sont que j'assigne 0 pour "icon", que ma variable "to" est un array() et le contenu de mes options est :
Code PHP :
$pm['options'] = array(
        
"signature" => "0",
        
"disablesmilies" => "0",
        
"savecopy" => "0",
        
"readreceipt" => "0"
    
); 

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
16-06-2012, 23:24,
#5
RE: Envoyer un MP via un script PHP
jusque la je vous suis, par contre, la variable to est enft la valeur de la clé uid de l'array user de base si je ne me trompe, quelque chose comme : "$user['uid']

C'est ca que vous entendez par 'un array()' ? parce que sinon ca veut dire que j'ai rien compris au fonctionnement des datahandler ... je pensais que le to devait définir le uid du receveur ... donc un int ... peut-importe comment il arrive (via un array ou directement en int) ...
Répondre
17-06-2012, 0:07, (Modification du message : 17-06-2012, 0:15 par exdiogene.)
#6
RE: Envoyer un MP via un script PHP
Un array() en PHP est assigné comme suit:
Code PHP :
$user 'Malak';
$destinataire = array();
$destinataire[] = $user

Ou encore :
Code PHP :
$user 'Malak';
$destinataire = array($user); 

Dans ton code :
Code PHP :
$user 'Malak';
    
$pm = array(
        
"subject" => $pm_subject,
        
"message" => $pm_message,
        
"icon" => 0,
        
"to" => array($user),
        
"fromid" => intval($id_bot),
        
"do" => '',
        
"pmid" => ''
    
); 

P.S. Ici le "to" représente les "username".

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
17-06-2012, 11:36,
#7
RE: Envoyer un MP via un script PHP
Autant pour moi, je viens d'approfondir le fichier datahandler/pm.php et effectivement, vous aviez raison :

1. "to"=>array('receiver1','receiver2','...'),
2. "fromid"=>intval($userid),

Tout ceci étant bien défini dans la verification du pm (fonctions verify_recipient() et verify_sender())

Merci beaucoup d'avoir pris le temps de me repondre Wink
Je passe en résolu Wink
Répondre




Utilisateur(s) parcourant ce sujet :

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique