MyBB.support, le portail francophone de MyBB

Version complète : Créer un sujet en PHP
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

J'ai fusionner mon site avec son forum MyBB.
J'aimerais (surement par une fonction) créer un nouveau sujet à partir du site, j'ai donc inclus MyBB :
Code PHP :
<?php
define
('IN_MYBB'1);
require (
'./forum/global.php');
session_start();
?>
Mais ensuite je fait comment ?

Merci d'avance.
Amicalement, Valentin.
70 vues et 0 réponse, se sujet laisse perplexe [Image: mdr.gif]
Probablement parce que cela demanderait beaucoup de travail afin d'expliquer comment réussir une opération si particulière!

Je ne donnerai pas un cour de PHP ici, mais je vais me contenter de donner le code utiliser par MyBB pour réussir cette opération :
Code PHP :
require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("insert");

$post = array(
    
"tid" => $mybb->input['tid'],
    
"replyto" => $mybb->input['replyto'],
    
"fid" => $thread['fid'],
    
"subject" => $mybb->input['subject'],
    
"icon" => $mybb->input['icon'],
    
"uid" => $uid,
    
"username" => $username,
    
"message" => $mybb->input['message'],
    
"ipaddress" => get_ip(),
    
"posthash" => $mybb->input['posthash']
);
$posthandler->set_data($post);
$post_errors = array();
if(!
$valid_post)
{
    
$post_errors $posthandler->get_friendly_errors();
}
if(
count($post_errors) > 0)
{
    
$reply_errors inline_error($post_errors);
}
else
{
    
$postinfo $posthandler->insert_post();


Il suffit de fournir au ARRAY $post les valeurs souhaitées aux différents éléments le composant.
Citation :Probablement parce que cela demanderait beaucoup de travail afin d'expliquer comment réussir une opération si particulière!
C'est sûr que se genre de chose ne doit pas être demandais souvent Big Grin

Là je dois me déplacer, je test ça dés que je suis de retour.
Par contre j'y avait pas pensé à créer une variable post pour "simuler" l'envoie d'un formulaire ... pas bête Tongue

Merci en tout cas Wink
Donc j'ai fait :
Code PHP :
$post = array(
    
"tid" => "4",
    
"replyto" => "",
    
"fid" => "4",
    
"subject" => "Mon sujet",
    
"icon" => "",
    
"uid" => "1",
    
"username" => "Valentin",
    
"message" => "Mon message",
    
"ipaddress" => get_ip(),
    
"posthash" => ""
); 
Mais certain champs sont vide et je ne sais pas quoi mettre ...
Voilà, j'ai fait :
Code PHP :
    require_once "../forum/inc/datahandlers/post.php";
        
$posthandler = new PostDataHandler("insert");
        
$posthandler->action "thread";
        
    
        
// Set the thread data
        
$new_thread = array(
        
"fid" => 29,
        
"subject" => $titre,
        
"icon" => -1,
        
"uid" => 4,
        
"username" => "Information",
        
"message" => 'Vous pouvez laisser vos commentaires sur le tutoriel ici.',
        
"ipaddress" => '',
        
"posthash" => '',
        
"savedraft" => 0,
        );
    
        
// Set up the thread options
        
$new_thread['options'] = array(
        
"signature" => 'yes',
        
"emailnotify" => 'no',
        
"disablesmilies" => 'no'
        
);
    
        
$posthandler->set_data($new_thread);
    
        if(
$posthandler->validate_thread()){
        global 
$fid;
        
$thread_info $posthandler->insert_thread();
        
$fid $posthandler['fid'];
        
$tid $posthandler['tid']; 
Mais j'ai un soucis avec les deux dernières ligne qui stockerais les id du forum et du topic, ça m'affiche :
Citation :Fatal error: Cannot use object of type PostDataHandler as array
 Utilitaire de traduction fourni par Regentronique