The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
Edit thread title via script
Why doesn't this work??
I used a lot of the code found in posting.php to come up with this, but for some reason, it does not edit my thread title. I do not receive any database errors or anything of that nature. Code:
$editthreaddm =& datamanager_init('Thread', $vbulletin, ERRTYPE_STANDARD, 'threadpost'); $threadid = 2369; $threadinfo = fetch_threadinfo($threadid); $editthreaddm->set_existing($threadinfo); $newtitle = $user['username'] . "'s mic check 12" . $year . " " . $make . " " . $model . " [" . $color . "]"; //replace index $editfirstpost = $db->query_first_slave(" SELECT * FROM " . TABLE_PREFIX . "post WHERE threadid = $threadinfo[threadid] ORDER BY dateline, postid LIMIT 1 "); $editfirstpost['threadtitle'] = $newtitle; delete_post_index($editfirstpost['postid'], $editfirstpost['title'], $editfirstpost['pagetext']); $forumid = 59; $foruminfo = fetch_forum_info($forumid); build_post_index($editfirstpost['postid'] , $foruminfo, 1, $editfirstpost); $editthreaddm->set('title', $newtitle); ($hook = vBulletinHook::fetch_hook('threadmanage_update')) ? eval($hook) : false; $editthreaddm->save(); |
#2
|
|||
|
|||
I tested this using just the datamanager code (I took out the post index stuff) and it seem to work. But if you're looking at the forum view (the "last thread" title) it doesn't change because you need to rebuild the forum info (or maybe that's done by the post index stuff I removed?). Anyway, maybe check the database directly if you can and check to see if the title is changing.
|
#3
|
|||
|
|||
what are you using as your threadid? the actual threadid? or firstpostid? or postid?
|
#4
|
|||
|
|||
the actual threadid (my test db only has one thread right now, so it's 1).
ETA: Here's what I tested: PHP Code:
|
#5
|
|||
|
|||
I found my issue, for some reason it works when i hard code the threadid, but when i try to retrieve it from the database it does not work.
maybe I need to pass it through an "intval" EDIT: The real issue is that when querying the database to a variable, the variable becomes an array... even if you query one field. Problem solved and thank you. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|