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