PDA

View Full Version : Datamanager Posts Going Directly To Moderation Queue (Visible=0)


myHybridcar.com
03-29-2009, 09:39 PM
I'm trying to post directly to a specific thread via Data Manager. Everything seems to be working except that for some reason all the posts are being sent to the moderation queue. (i.e. Visible = 0) Why is this happening?

error_reporting( E_ALL & ~E_NOTICE );

require_once( '/home/myhybrid/www/forums/includes/functions_misc.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm_threadpost.php' );

$postman =& datamanager_init( 'Post', &$vbulletin, ERRTYPE_ARRAY, 'threadpost' );

$forumid = 36;
$threadid = (int) $_POST['threadid'];
$vb_username = $vbulletin->userinfo['username'];
$vb_userid = $vbulletin->userinfo['userid'];
$title = '';
$body = mysql_real_escape_string( $_POST['body'] );

global $botpermissons, $vbphrase;
$userinfo = fetch_userinfo( $vb_uid );
$threadinfo = array();
$threadinfo = fetch_threadinfo( $threadid );
$foruminfo = fetch_threadinfo( $forumid );
$postman->set_info( 'thread', $threadinfo );
$postman->set_info( 'forum', $foruminfo );
$postman->set( 'threadid', $threadid );
$postman->set( 'userid', $vb_userid );
$postman->set( 'title', $title );
$postman->set( 'pagetext', $body );
$postman->set_info('skip_floodcheck', true);
$postman->set_info('visible', true);
$postman->set('allowsmilie', true );
$postman->pre_save();
$postman = $postman->save();
unset($postman);Also, do I need to escape the string?

Dismounted
03-30-2009, 04:19 AM
Have you seen how vBulletin does it (build_new_post())?

myHybridcar.com
03-30-2009, 04:33 AM
Erm, no…

--------------- Added 1238439143 at 1238439143 ---------------

Ok, so I looked up the function and this was all I was able to decipher out of it, and it's not working. Nothing's even getting posted. Looks like I took a step back. error_reporting( E_ALL & ~E_NOTICE );

require_once( '/home/myhybrid/www/forums/includes/functions_misc.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm_threadpost.php' );

$forumid = 36;
$threadid = (int) $_POST['threadid'];
$vb_username = $vbulletin->userinfo['username'];
$vb_userid = $vbulletin->userinfo['userid'];
$threadinfo = fetch_threadinfo( $threadid );
$foruminfo = fetch_threadinfo( $forumid );
$post['title'] == '';
$post['message'] == mysql_real_escape_string( $_POST['body'] );

build_new_post( 'reply', $foruminfo, $threadinfo, $postinfo, &$post, &$errors);

myHybridcar.com
03-31-2009, 08:47 PM
I fixed a couple things from the first block of code but am still having problems. Please help!

error_reporting( E_ALL & ~E_NOTICE );

require_once( '/home/myhybrid/www/forums/includes/functions_misc.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm_threadpost.php' );

$postman =& datamanager_init( 'Post', &$vbulletin, ERRTYPE_ARRAY, 'threadpost' );

$forumid = 36;
$threadid = (int) $_POST['threadid'];
$vb_username = $vbulletin->userinfo['username'];
$vb_userid = $vbulletin->userinfo['userid'];
$title = '';
$body = mysql_real_escape_string( $_POST['body'] );

global $botpermissons, $vbphrase;
$userinfo = fetch_userinfo( $vb_userid );
$threadinfo = fetch_threadinfo( $threadid );
$foruminfo = fetch_foruminfo( $forumid );
$postman->set_info( 'thread', $threadinfo );
$postman->set_info( 'forum', $foruminfo );
$postman->set_info( 'user', $userinfo );
$postman->set( 'threadid', $threadid );
$postman->set( 'userid', $vb_userid );
$postman->set( 'title', $title );
$postman->set( 'pagetext', $body );
$postman->set_info( 'skip_floodcheck', true );
$postman->set_info( 'visible', true );
$postman->set( 'allowsmilie', true );
$postman->pre_save();
$postman = $postman->save();
unset($postman);

--------------- Added 1238537442 at 1238537442 ---------------

Got it! For posterity:
error_reporting( E_ALL & ~E_NOTICE );

require_once( '/home/myhybrid/www/forums/includes/functions_misc.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm.php' );
require_once( '/home/myhybrid/www/forums/includes/class_dm_threadpost.php' );

$postman =& datamanager_init( 'Post', &$vbulletin, ERRTYPE_ARRAY, 'threadpost' );

global $botpermissons, $vbphrase;

$vb_username = $vbulletin->userinfo['username'];
$forumid = 36;
// user
$vb_userid = $vbulletin->userinfo['userid'];
$userinfo = fetch_userinfo( $vb_userid );
$postman->set( 'userid', $vb_userid );
$postman->set_info( 'user', $userinfo );
// forum
$foruminfo = fetch_foruminfo( $forumid );
$postman->set_info( 'forum', $foruminfo );
// thread
$threadid = (int) $_POST['threadid'];
$threadinfo = fetch_threadinfo( $threadid );
$postman->set( 'threadid', $threadid );
$postman->set_info( 'thread', $threadinfo );
// post
$postman->set( 'title', '' );
$body = mysql_real_escape_string( $_POST['body'] );
$postman->set( 'pagetext', $body );
$postman->set( 'visible', true );
$postman->set( 'allowsmilie', true );
// save
$postman->pre_save();
$postman = $postman->save();The problem was set() v. set_info()