예제 #1
0
            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();
/*======================================================================*\
예제 #2
0
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;
}