View Single Post
  #86  
Old 05-29-2012, 06:36 PM
nhawk nhawk is offline
 
Join Date: Jan 2011
Posts: 1,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A while back I commented about using the database method for adding things to the navigation menu and nobody has shown how to do that.

So, here's my method broken out and heavily commented so it's easy to understand....

Code:
// ########## CREATE NEW NAVIGATION ITEMS ##########
require_once(DIR . '/includes/adminfunctions_language.php');

$username = $vbulletin->userinfo['username'];
$dateline = TIMENOW;

$product = 'yourproductname';				// <<<< CHANGE TO YOUR PRODUCT NAME
$version = '1.0.0';					// <<<< CHANGE TO YOUR PRODUCT VERSION
$name = 'yourmenu_name';				// <<<< CHANGE TO WHAT YOU WANT TO NAME YOUR MENU
$varname = 'vb_navigation_menu_' . $name . '_text';	// <<<< VALID CHOICES:
							//	FOR MENUS:	vb_navigation_menu_' . $name . '_text'
							//	FOR TABS:	vb_navigation_tab_' . $name . '_text'
							//	FOR LINKS:	vb_navigation_link_' . $name . '_text'

$text = 'Text to Display';			// <<<< CHANGE TO THE TEXT YOU WANT DISPLAYED IN THE MENU
$type = 'menu';					// <<<< CHANGE TO link OR tab TO CREATE OTHER TYPES
$url = '';					// <<<< URL IS USED FOR LINK OR TAB TYPES
$fieldname = 'global';				// <<<< PHRASE GROUP NAME
$active = 1;					// <<<< 1 = SHOWN, 0 = HIDDEN
$usetabid = 0;					// <<<< 1 = APPEND TABID TO LINK, 0 = DON'T APPEND TAB ID
$edited = 0;					// <<<< SHOULD BE 0 IF NEW, 1 IF EDITED
$protected = 1;					// <<<< 1 = PROTECT FROM DELETE, 0 = ALLOW DELETE
$order = 20;					// <<<< DISPLAY ORDER
$parent = 'vbtab_forum';			// <<<< PARENT CAN BE A tab IF A MENU, A tab OR A menu IF A LINK
$permission = 'searchbuttons';			// <<<< CAN BE A VB PERMISSION OR A $SHOW['xyz'] VALUE
$scripts = '';					// <<<< SCRIPT FOR WHICH A TAB WILL BE DISPLAYED AS ACTIVE TAB
$language = '-1';				// <<<< DEFAULT = -1 OTHERWISE LANGUAGE ID NUMBER

$vbulletin->db->query_write("
	REPLACE INTO " . TABLE_PREFIX . "navigation (name, productid, navtype, fieldname, state, displayorder, parent, scripts, showperm, url, version, username, dateline)
	VALUES('" . $name . "',
		'" . $product . "',
		'" . $type ."',
		'" . ($active ? NAV_ACTIVE : 0) . "' | '" . ($edited ? NAV_EDITED : 0) . "' | '" . ($protected ? NAV_PROTECTED : 0) . "' | '" . ($usetabid ? NAV_USETABID : 0) . "',
		'" . $order . "',
		'" . $parent . "',
		'" . $scripts . "',
		'" . $permission . "',
		'" . $url . "',
		'" . $version . "',
		'" . $username . "',
		'" . $dateline . "')
	");

$vbulletin->db->query_write("
	REPLACE INTO " . TABLE_PREFIX . "phrase (varname,languageid,fieldname,text,product,username,dateline,version) 
	VALUES('" . $varname . "', 
		'" . $language . "',
		'" . $fieldname . "',
		'" . $text . "',
		'" . $product . "',
		'" . $username . "',
		'" . $dateline . "',
		'" . $version . "')
	");

build_language();	// <<<< IMPORTANT - NEW ITEMS WON'T DISPLAY WITHOUT THIS
Reply With Quote
Благодарность от:
TheLastSuperman
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01019 seconds
  • Memory Usage 1,775KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_box_bit
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • 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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete