iComotionLtd
01-19-2007, 06:12 PM
Hi,
I'm making a MOD and running into an annoying issue.
I've made a cron, ran by the Scheduled Task Manager that imports posts and sticks them in the database.
This is part of the code (which works fine if...)
(I first include all the necessary files and note I post them as Guests with a username.)
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_ARRAY, 'threadpost');
$forumid = intval($topic['forum_id']);
$postusername = $topic['user_name'];
$postuserid = 0;
$userid = 0;
$pagetext = $topic['content'];
$title = $topic['topic_title'];
$allowsmilie = '1';
$visible = '1';
$open = 0;
$foruminfo = fetch_foruminfo($forumid);
$threadinfo = array();
$foruminfo = verify_id('forum', $forumid, 0, 1);
$threaddm->set('forumid', $forumid);
$threaddm->set('postuserid', $postuserid);
$threaddm->set('username', $postusername);
$threaddm->set('postusername', $postusername);
$threaddm->set('pagetext', $pagetext);
$threaddm->set('title', $title);
$threaddm->set('allowsmilie', $allowsmilie);
$threaddm->set('visible', $visible);
$threaddm->set_info('forum', $foruminfo);
$threaddm->set_info('thread', $threadinfo);
$threaddm->pre_save();
//print_r($threaddm->errors);
$topic_id = $threaddm->save();
build_forum_counters($forumid);
This indeed works fine but only if I go to Plugin System > Add New Plugin and do:
Hook Location: threadfpdata_start
Plugin PHP Code:
$this->validfields['postusername'] = array(TYPE_STR, REQ_YES);
$this->validfields['postuserid'] = array(TYPE_INT, REQ_YES);
Then I can run the cron just fine.
But on the live website I then get this if I create a thread:
Fatal error: Unable to proceed with save while $errors array is not empty in class vb_datamanager_thread_firstpost in /var/www/mydomain.com/public/forums/includes/class_dm.php on line 758
Comment out or disable the Plugin and I can post on the front-end but then my cron says:
Fatal error: Field postuserid is not defined in $validfields in class vb_datamanager_thread_firstpost in /var/www/mydomain.com/public/forums/includes/class_dm.php on line 485
Can any of you guru's shed some light on this please?
BTW I run 3.5.7 due to lack of MySQL 4.
Thanks!
Joe
I'm making a MOD and running into an annoying issue.
I've made a cron, ran by the Scheduled Task Manager that imports posts and sticks them in the database.
This is part of the code (which works fine if...)
(I first include all the necessary files and note I post them as Guests with a username.)
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_ARRAY, 'threadpost');
$forumid = intval($topic['forum_id']);
$postusername = $topic['user_name'];
$postuserid = 0;
$userid = 0;
$pagetext = $topic['content'];
$title = $topic['topic_title'];
$allowsmilie = '1';
$visible = '1';
$open = 0;
$foruminfo = fetch_foruminfo($forumid);
$threadinfo = array();
$foruminfo = verify_id('forum', $forumid, 0, 1);
$threaddm->set('forumid', $forumid);
$threaddm->set('postuserid', $postuserid);
$threaddm->set('username', $postusername);
$threaddm->set('postusername', $postusername);
$threaddm->set('pagetext', $pagetext);
$threaddm->set('title', $title);
$threaddm->set('allowsmilie', $allowsmilie);
$threaddm->set('visible', $visible);
$threaddm->set_info('forum', $foruminfo);
$threaddm->set_info('thread', $threadinfo);
$threaddm->pre_save();
//print_r($threaddm->errors);
$topic_id = $threaddm->save();
build_forum_counters($forumid);
This indeed works fine but only if I go to Plugin System > Add New Plugin and do:
Hook Location: threadfpdata_start
Plugin PHP Code:
$this->validfields['postusername'] = array(TYPE_STR, REQ_YES);
$this->validfields['postuserid'] = array(TYPE_INT, REQ_YES);
Then I can run the cron just fine.
But on the live website I then get this if I create a thread:
Fatal error: Unable to proceed with save while $errors array is not empty in class vb_datamanager_thread_firstpost in /var/www/mydomain.com/public/forums/includes/class_dm.php on line 758
Comment out or disable the Plugin and I can post on the front-end but then my cron says:
Fatal error: Field postuserid is not defined in $validfields in class vb_datamanager_thread_firstpost in /var/www/mydomain.com/public/forums/includes/class_dm.php on line 485
Can any of you guru's shed some light on this please?
BTW I run 3.5.7 due to lack of MySQL 4.
Thanks!
Joe