vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Edit thread title via script (https://vborg.vbsupport.ru/showthread.php?t=281330)

TeamDevotion 04-09-2012 08:04 PM

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();


kh99 04-09-2012 08:55 PM

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.

TeamDevotion 04-09-2012 09:00 PM

what are you using as your threadid? the actual threadid? or firstpostid? or postid?

kh99 04-09-2012 09:11 PM

the actual threadid (my test db only has one thread right now, so it's 1).

ETA: Here's what I tested:

PHP Code:

require_once('global.php');

$editthreaddm =& datamanager_init('Thread'$vbulletinERRTYPE_STANDARD'threadpost');
$threadid 1;
$threadinfo fetch_threadinfo($threadid);
$editthreaddm->set_existing($threadinfo);
        
$newtitle "New title $datenow"
$editthreaddm->set('title'$newtitle);
$editthreaddm->save(); 


TeamDevotion 04-09-2012 09:30 PM

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.


All times are GMT. The time now is 01:00 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04375 seconds
  • Memory Usage 1,726KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete