Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 04-09-2012, 08:04 PM
TeamDevotion TeamDevotion is offline
 
Join Date: Sep 2006
Location: Westchester County, NY
Posts: 68
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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();
Reply With Quote
  #2  
Old 04-09-2012, 08:55 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #3  
Old 04-09-2012, 09:00 PM
TeamDevotion TeamDevotion is offline
 
Join Date: Sep 2006
Location: Westchester County, NY
Posts: 68
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

what are you using as your threadid? the actual threadid? or firstpostid? or postid?
Reply With Quote
  #4  
Old 04-09-2012, 09:11 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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(); 
Reply With Quote
  #5  
Old 04-09-2012, 09:30 PM
TeamDevotion TeamDevotion is offline
 
Join Date: Sep 2006
Location: Westchester County, NY
Posts: 68
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
Reply

Thread Tools
Display Modes

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 08:00 PM.


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.03761 seconds
  • Memory Usage 2,191KB
  • Queries Executed 13 (?)
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
  • (1)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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_postinfo_query
  • fetch_postinfo
  • 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