PDA

Voir la version complète : [PHP] Créer un nouveau sujet


Allan
25/11/2007, 20h46
chdir('./forums');
require_once('./global.php');
require_once('./includes/class_dm.php');
require_once('./includes/class_dm_threadpost.php');

$threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD);

$forumid = 2;
$postuserid = 1;
$userid = 1;
$username = 'Orban';
$pagetext = 'test';
$title = 'hello';
$allowsmilie = '1';
$visible = '1';

$threaddm->do_set('forumid', $forumid);
$threaddm->do_set('postuserid', $postuserid);
$threaddm->do_set('userid', $userid);
$threaddm->do_set('username', $username);
$threaddm->do_set('pagetext', $pagetext);
$threaddm->do_set('title', $title);
$threaddm->do_set('allowsmilie', $allowsmilie);
$threaddm->do_set('visible', $visible);
$threaddm->save();

Tout les champs sont requis.Vous obtiendrez une erreur si tous les champs ne sont pas remplis ou non correct

Traduction : Fred
Source : http://www.vbulletin.org/forum/showthread.php?t=97283

Dr.Vince
27/11/2007, 15h47
je rajouterais ces quelques infos :


$threaddm->set_info('skip_floodcheck',true);
si votre scripts créer plusieurs sujet à la suite, sinon ça ne fonctionnera pas



$threadid = $threaddm->save();
pour récupérer l'identifiant du thread créé :)



// ajout des infos sur le forum pour l'indexation des messages
$foruminfo = fetch_foruminfo($forumid);
$threaddm->set_info('forum', $foruminfo);
sinon les messages ne seront pas pris en compte par le moteur de recherche


Ce qui donne (avec en plus la gestion de la pré-sauvegarde pour tester s'il y a des erreurs):


chdir('./forums');
require_once('./global.php');
require_once('./includes/class_dm.php');
require_once('./includes/class_dm_threadpost.php');

$threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD);

$forumid = 2;
$postuserid = 1;
$userid = 1;
$username = 'Orban';
$pagetext = 'test';
$title = 'hello';
$allowsmilie = '1';
$visible = '1';

$threaddm->do_set('forumid', $forumid);
$threaddm->do_set('postuserid', $postuserid);
$threaddm->do_set('userid', $userid);
$threaddm->do_set('username', $username);
$threaddm->do_set('pagetext', $pagetext);
$threaddm->do_set('title', $title);
$threaddm->do_set('allowsmilie', $allowsmilie);
$threaddm->do_set('visible', $visible);

// ajout des infos sur le forum pour l'indexation des messages
$foruminfo = fetch_foruminfo($forumid);
$threaddm->set_info('forum', $foruminfo);
// pour pouvoir créer plusieurs sujets
$threaddm->set_info('skip_floodcheck',true);

// pre-sauvegarde en base pour vérifier s'il y a des erreurs
$threaddm->pre_save();
if (count($threaddm->errors) > 0){
// gestion des erreurs
}
else{
// sauvegarde réelle en base
$threadid = $threaddm->save();
}