print_stop_message('invalid_current_default'); } if ($current['navid'] != $vbulletin->GPC['oldid']) { print_stop_message('invalid_current_default'); } if ($proposed['navid'] != $vbulletin->GPC['newid']) { print_stop_message('invalid_new_default'); } $sqlset1 = $sqlset2 = ''; $current['edited'] = 1; $proposed['edited'] = 1; $current['default'] = 0; $proposed['default'] = 1; ($hook = vBulletinHook::fetch_hook('navigation_admin_dodefault')) ? eval($hook) : false; collapse_navigation_state($current); collapse_navigation_state($proposed); if ($current['navid']) { $sql = "\n\t\t\t\tUPDATE " . TABLE_PREFIX . "navigation\n\t\t\t\tSET state = " . $current['state'] . "\n\t\t\t\t{$sqlset1}\n\t\t\t\tWHERE navid = " . $current['navid'] . "\n\t\t\t"; $db->query_write($sql); } $sql = "\n\t\t\tUPDATE " . TABLE_PREFIX . "navigation\n\t\t\tSET state = " . $proposed['state'] . "\n\t\t\t{$sqlset2}\n\t\t\tWHERE navid = " . $proposed['navid'] . "\n\t\t"; $db->query_write($sql); } $parent = $roots[$proposed['name']]; build_navigation_datastore(); $taburl = $parent ? '&tabid=' . $parent : ''; define('CP_REDIRECT', 'navigation.php?do=list' . $taburl); print_stop_message('saved_settings_successfully'); } print_cp_footer(); /*======================================================================*\
function get_navigation_sql($info, $data) { global $db; $sqldata = array(); if ($data) { foreach ($data as $name => $row) { collapse_navigation_state($row); $sqldata[] .= '(' . "'" . $db->escape_string($name) . "'," . "'" . $db->escape_string($row['productid']) . "'," . "'" . $db->escape_string($row['type']) . "'," . "'" . $db->escape_string($row['parent']) . "'," . "'" . $db->escape_string($row['url']) . "'," . "'" . $db->escape_string($row['scripts']) . "'," . "'" . $db->escape_string($row['menuid']) . "'," . "'" . $db->escape_string($row['showperm']) . "'," . '' . intval($row['displayorder']) . "," . '' . intval($row['state']) . "," . "'" . $db->escape_string($info['version']) . "'," . "'" . $db->escape_string($info['username']) . "'," . '' . intval($info['dateline']) . '' . ')'; } /* Doesn't overwrite any existing entry (basically something existing and protected) */ $sql = 'INSERT IGNORE INTO ' . TABLE_PREFIX . 'navigation (name, productid, navtype, parent, url, scripts, menuid, showperm, displayorder, state, version, username, dateline) VALUES ' . implode(',', $sqldata); if ($sqldata) { return $sql; } } return false; }