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

Reply
 
Thread Tools Display Modes
  #1  
Old 08-20-2007, 10:27 AM
FatalBreeze FatalBreeze is offline
 
Join Date: Apr 2004
Location: Haifa - Israel
Posts: 163
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Thread Field Editing (editpost.php)

Hello!
I created a new field to the thread table which is called thread_challenge.
I've added a radio button select on newthread, and the poster of the thread can select either the thread is considered a challenge or not (i've accomplished this using the article given in the articles section).

My problem is with editpost: when someone edits the thread, even if he changes the selection of the radio button, the value doesn't change in the DB.

Important to mention: the value is stored in the DB as 1=true (thread is a challenge), 0 = false (thread in not a challenge)

I'll show you my plugins:
editpost_start
PHP Code:
$show['challenge'] = false;
if (
in_array($vbulletin->userinfo['usergroupid'],array(6,68,20,5,14)) AND ($threadinfo['firstpostid'] == $postinfo['postid']))
{
 
$show['challenge'] = true;

editpost_update_start
PHP Code:
$vbulletin->input->clean_array_gpc('p', array('thread_challenge' => TYPE_UINT));
$edit['thread_challenge'] =& $vbulletin->GPC['thread_challenge']; 
editpost_update_thread
PHP Code:
if ($threadinfo['firstpostid'] == $postinfo['postid'])
{
    
$threadman->set('thread_challenge',$edit['thread_challenge']);

And i also get this lovely error on editing:
Quote:
Fatal error: Field thread_challenge is not defined in $validfields in class vb_datamanager_thread in /includes/class_dm.php on line 485
Edit:
Cool! I fixed the entire problem with adding in the vB_DataManager_Thread class the following function:
PHP Code:
 function verify_thread_challenge(&$thread_challenge) {
  if(
$thread_challenge !=)
  {
   
$thread_challenge 0;
  }
  return 
true;
 } 
And I added in vB_DataManager_Thread_FirstPost class to the var $validfields:
PHP Code:
  'thread_challenge'        => array(TYPE_UINTREQ_NO,    VF_METHOD), 
But i rather use hooks than just edit the code, is there a more elegant way to do it?
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 08:21 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.05939 seconds
  • Memory Usage 2,218KB
  • 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
  • (5)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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