Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 12-16-2010, 04:24 PM
Wakey Wakey is offline
 
Join Date: Dec 2008
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Creating a Thread and post via plugin stopped working

I have the following code that's executed at the newthread_post_complete hook

Basically we have an announcement forum but for structure reasons we don't allow replies. However we want to allow our users to discuss the announcements so we have a script that creates a new thread on another forum so they can discuss it. It will then add a link to the discussion thread in the original announcement.

Much of the code was written using threads on this forum and worked fine in vb3 and with a few tweaks worked fine in vb4 UNTIL upgrading to vb4.1. Now its not working at all

Code is below and I would appreciate any help you can give me to try and get it working again

PHP Code:
<?

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

        $forumid = '19';
        $open = '1';
        $allow_smilie = '1';
        $visible = '1';
                 
  
        
        // initialize datamanager
        $threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD);
if($threadinfo['forumid'] == '2')
{                
        
                
        // set data
        $threadinfo = fetch_threadinfo($newpost['threadid']);
        $userid = $threadinfo['postuserid'];
        //$userid ='1';
        $prefix = $threadinfo['prefixid'];
        $tid = $threadinfo['threadid'];
        $title = $threadinfo['title'];
        $newpost[message];

        $pagetext = "Discussion Thread for News/Update Thread [thread=".$tid."]".$title."[/thread] \n\n[b]Original Message[/b][quote]".$newpost['message']."[/quote]";
        

//foreach ($newpost as $key => $val) {
//$pagetext.="newpost[" . $key . "] = " . $val . "\n";
//}

        //$pagetext.=$newpost;
        $foruminfo = fetch_foruminfo($forumid);
        $threaddm->set_info('forum',$foruminfo);
        $threaddm->set_info('user',$userinfo);
        $threaddm->set('forumid', $forumid);
        $threaddm->set('userid',$userid);
        $threaddm->set('title', $title);
        $threaddm->set('pagetext', $pagetext); 
        $threaddm->set('open', $open);
        $threaddm->set('allowsmilie', $allow_smilie);
        $threaddm->set('visible', $visible);
        $threaddm->set('prefixid', $prefix);
$threaddm->set('taglist',$newpost[taglist]);
        
        // error checks
        $threaddm->pre_save();
        if (!empty($threaddm->errors))
        {
            echo ($threaddm->errors);
        }
        
        // save
        $threadid = $threaddm->save();
 

//----------------------------------------
//
//NEW POST
//
//----------------------------------------

$postdm = new vB_DataManager_Post($vbulletin, ERRTYPE_STANDARD);

$postthreadid = $tid;
//$postusername = 'Admin';
// Use $postusername if posting as a guest, use $postuserid if posting as a user
$postuserid = $userid;
$postpagetext = "Discuss this Item @ [thread=".$threadid."]this thread[/thread]";

$threadinfo = fetch_threadinfo($postthreadid);
$foruminfo = fetch_foruminfo($threadinfo['forumid']);

$postdm->set_info('forum', $foruminfo);
$postdm->set_info('thread', $threadinfo);  
$postdm->set('threadid', $postthreadid);
//$postdm->set('username', $postusername);
// Use $postusername if posting as a guest, use $postuserid if posting as a user
$postdm->set('userid', $postuserid);
$postdm->set('pagetext', $postpagetext);
$postdm->set('allowsmilie', 1);
$postdm->set('visible', 1);
$postdm->set('dateline', TIMENOW);
$postdm->save();
unset($postdm);  
//----------------------------------------
//
//NEW POST
//
//----------------------------------------
         unset($threaddm);      
        // rebuild caches
        build_thread_counters($threadid);
        build_forum_counters($forumid);  
}
Reply With Quote
  #2  
Old 12-20-2010, 11:39 AM
Wakey Wakey is offline
 
Join Date: Dec 2008
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok I removed the following line (and the closing } ) and it starts to work.

PHP Code:
if($threadinfo['forumid'] == '2'
What exactly is wrong with this if statement. As I have said it was working fine before upgrading to 4.1

I really would appreciate anyones input
Reply With Quote
  #3  
Old 12-20-2010, 03:09 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I'm surprised it worked at all since it isn't until the next line that you actually define $threadinfo:

PHP Code:
        // set data 
        
$threadinfo fetch_threadinfo($newpost['threadid']); 
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 09:18 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08104 seconds
  • Memory Usage 2,187KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete