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

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #2  
Old 05-19-2016, 04:56 PM
MarkFL's Avatar
MarkFL MarkFL is offline
 
Join Date: Feb 2014
Location: St. Augustine, FL
Posts: 3,853
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have a product that creates a profile field upon installation, and the install code is:

PHP Code:
$vbulletin->db->query_write("
    INSERT INTO " 
TABLE_PREFIX "profilefield
        (
            maxlength, size, type, data, def, searchable, memberlist, form
        )
    VALUES
        (
            5, 5, 'radio', 'a:2:{i:0;s:3:\"Yes\";i:1;s:2:\"No\";}', 1, 1, 1, 5
        )
"
);

$profiledata $vbulletin->db->query_read("
    SELECT MAX(profilefieldid) AS profilefieldid
    FROM " 
TABLE_PREFIX "profilefield
"
);

$thisrow $db->fetch_array($profiledata);

$pid $thisrow['profilefieldid'];

$vbulletin->db->query_write("
    UPDATE " 
TABLE_PREFIX "profilefield
    SET displayorder = profilefieldid
    WHERE profilefieldid = last_insert_id()
"
);

$vbulletin->db->query_write("
    INSERT INTO " 
TABLE_PREFIX "phrase
        (
            varname, fieldname, text, product
        )
    VALUES
        (
            'field" 
$pid "_title', 'cprofilefield', 'Abbreviations/Acronyms', 'vbulletin'
        ),
        (
            'field" 
$pid "_desc', 'cprofilefield', 'Set whether you wish for abbreviations/acronyms to be explained using a tooltip in the areas designated by the administrators', 'vbulletin'
        )
"
);

$vbulletin->db->query_write("
    ALTER TABLE`" 
TABLE_PREFIX "userfield`
        ADD field" 
$pid " MEDIUMTEXT
"
); 
The uninstall code is:

PHP Code:
function get_fieldnum()
{
    global 
$vbulletin$db;
    
$fielddata $vbulletin->db->query_read("
        SELECT phrase.*
        FROM " 
TABLE_PREFIX "phrase AS phrase
        WHERE text = 'Abbreviations/Acronyms'
    "
);

    
$thisfield $db->fetch_array($fielddata);

    return 
preg_replace("/[^0-9]/","",$thisfield['varname']);
}

$fieldnum get_fieldnum();
$fieldstr 'field' $fieldnum;

$vbulletin->db->query_write("
    DELETE FROM " 
TABLE_PREFIX "profilefield
    WHERE profilefieldid = " 
$fieldnum
);

$vbulletin->db->query_write("
    DELETE FROM " 
TABLE_PREFIX "phrase
    WHERE varname LIKE '" 
$fieldstr "%'
"
);

$vbulletin->db->query_write("
    ALTER TABLE`" 
TABLE_PREFIX "userfield`
        DROP COLUMN " 
$fieldstr
); 
Of course, you will have to alter this to meet your specific needs.
Reply With Quote
2 благодарности(ей) от:
ArcadeSyndicate, heat23
 


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:48 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.03133 seconds
  • Memory Usage 2,342KB
  • Queries Executed 12 (?)
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
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_box_bit
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_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_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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete