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

Reply
 
Thread Tools Display Modes
  #1  
Old 09-04-2008, 09:39 PM
vb_mp vb_mp is offline
 
Join Date: Feb 2008
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Plugin How To - How to add custom field to existing Vbulletin table

Hi,

I am working on a plugin that requires an extra field in the 'paymentinfo' vbulletin table.

Could someone point me to an example (perhaps a plugin that add a custom field to an existing vbulletin table ) that I can follow to create the plugin xml for this?

Thank you,

John

--------------- Added [DATE]1220609903[/DATE] at [TIME]1220609903[/TIME] ---------------

Anyone?
Reply With Quote
  #2  
Old 09-05-2008, 10:08 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can just run SQL to create a new column in the table.
Reply With Quote
  #3  
Old 09-05-2008, 10:12 AM
vb_mp vb_mp is offline
 
Join Date: Feb 2008
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, what I meant was: Is there an example of an xml product installation file... that creates a new column.

I want to make a proper plugin/product with an xml installation file.
Reply With Quote
  #4  
Old 09-05-2008, 10:46 AM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi,

turn on debug mode on a testboard (remember you are requirerd to htaccess this and call it testvb).open includes/config.php and righter after the "<?php"

PHP Code:
$config['Misc']['debug'] = 1
adding a custom field into a existing vBulletin table is done through MySQL.You need to put code for the SQL query in your product install code.You also need to put code to delete the added field in your product uninstall code and so on ...
Reply With Quote
  #5  
Old 09-05-2008, 11:11 AM
vb_mp vb_mp is offline
 
Join Date: Feb 2008
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Aha so the adding of a field (when giving instructions to people to install), would have to be done manually? Anyone installing the product would have to manually do this?

I thought there was a way to do it automatically - provide sql code in xml for vb to execute when product xml is imported, provide sql code in xml for vb to execute when product is being uninstalled?
Reply With Quote
  #6  
Old 09-05-2008, 11:40 AM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

See how it is done in this article Custom Administrator Permissions (its right towards the end)

Just modify it to use the table and stuff that you want.
Reply With Quote
  #7  
Old 09-05-2008, 12:17 PM
vb_mp vb_mp is offline
 
Join Date: Feb 2008
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

These two:

Install:

require_once(DIR . '/includes/class_dbalter.php');
$dbalter = new vB_Database_Alter_MySQL($db);
$dbalter->fetch_table_info('administrator');
if (!$dbalter->fetch_field_info('customadminperms'))
{
$dbalter->add_field(array('name' => 'customadminperms', 'type' => 'INT', 'length' => '10', 'attributes' => 'UNSIGNED', 'null' => false, 'default' => '0'));
}
}

And uninstall:

unset($vbulletin->bf_misc_customadminperms['canadminmyhack']);
if (empty($vbulletin->bf_misc_customadminperms))
{
require_once(DIR . '/includes/class_dbalter.php');
$dbalter = new vB_Database_Alter_MySQL($db);
// Using 3.5.1+ calls
$dbalter->fetch_table_info('administrator');
if ($dbalter->fetch_field_info('customadminperms'))
{
$dbalter->drop_field('customadminperms');
}
}

Thank you Opserty!
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 11:22 AM.


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.05269 seconds
  • Memory Usage 2,217KB
  • 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_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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