Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-29-2009, 08:39 PM
myHybridcar.com myHybridcar.com is offline
 
Join Date: Feb 2009
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Datamanager Posts Going Directly To Moderation Queue (Visible=0)

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?

PHP Code:
    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?
Reply With Quote
  #2  
Old 03-30-2009, 03:19 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Have you seen how vBulletin does it (build_new_post())?
Reply With Quote
  #3  
Old 03-30-2009, 03:33 AM
myHybridcar.com myHybridcar.com is offline
 
Join Date: Feb 2009
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Erm, no…

--------------- Added [DATE]1238439143[/DATE] at [TIME]1238439143[/TIME] ---------------

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.
PHP Code:
    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); 
Reply With Quote
  #4  
Old 03-31-2009, 07:47 PM
myHybridcar.com myHybridcar.com is offline
 
Join Date: Feb 2009
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I fixed a couple things from the first block of code but am still having problems. Please help!

PHP Code:
    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 [DATE]1238537442[/DATE] at [TIME]1238537442[/TIME] ---------------

Got it! For posterity:
PHP Code:
    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()
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:30 AM.


Powered by vBulletin® Version 3.9.0
Copyright ©2000 - 2017, vBulletin Solutions Inc.