Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 11-24-2005, 10:23 PM
waherne waherne is offline
 
Join Date: Oct 2002
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Private messaging - additional fields in pm and pmtext tables

Hi all,

Could anyone give me some guidance on how to insert data in extra fields that I created in the above tables when posting a new pm?

Many thanks,

W.
Reply With Quote
  #2  
Old 11-25-2005, 12:51 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

IIRC private messages have their own datamanager, id take a look at that.
Reply With Quote
  #3  
Old 11-25-2005, 11:47 AM
waherne waherne is offline
 
Join Date: Oct 2002
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by merk
IIRC private messages have their own datamanager, id take a look at that.
Thanks for the reply. Could you give me more info on how to go about it?
Reply With Quote
  #4  
Old 11-26-2005, 09:51 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, its slightly complicated, so I hope you know about PHP and vBulletin



the class vB_DataManager_PM is the class that would be used for most interaction with sending private messages and the database. It abstracts the database engine by storing fields in its own method and the parent class deals with putting the data into the database.



Basically what you'll need to do is add a field to the datamanagers $validfields array (which has a special format which you can find in the vBulletin manual). You will also need to create the same field in the correct table (pmtext it seems).



You also have the option in the validfields array to specify if the field will be subject to verification of some kind, which it will explain the method of doing so.



An example of the validfields hook would be something like (youll have to find the right hook)

PHP Code:

$validfields
['newfield'] = array(TYPE_STRREQ_NO); 


From that point, you'll need to add the appropriate HTML elements to the correct template (i think its pm_newpm), and then using a hook into the private_insertpm_process hook, you will need to GPC the variables passed on via the form elements you added, and then add them to the "extended" datamanger $pmdm using either set() (passed by value) or setr() (passed by reference)



An example of the above hook would look like

PHP Code:

$newfield 
$vbulletin->input->clean_gpc('p''newfield'TYPE_STR);

$pmdm->setr('newfield'$newfield); 


Thats basically it for the "input" side of things, and im pretty sure to change the display of the PM it would be as simple as adding the proper variable to the templates (it should already be picked up in the query).
Reply With Quote
  #5  
Old 11-26-2005, 11:27 AM
waherne waherne is offline
 
Join Date: Oct 2002
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Merk,

Thank you very much for this. I will try this out later today and will let you know how I get on.

W.
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 09:18 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.03510 seconds
  • Memory Usage 2,196KB
  • 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
  • (2)bbcode_php
  • (1)bbcode_quote
  • (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