vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
-- update code by Brodrick (aka Kirov)
-- database based off of one posted here http://ui.worldofwar.net/users.php?id=163022, cleaned up duplicated links.

local function CopyTable(copyTable)
        if ( not copyTable ) then return; end
        if ( type(copyTable) ~= "table" ) then
                return copyTable;
        end
        
        local returnTable = {};
        for k, v in copyTable do
                if type(v) == "table" then
                        returnTable[k] = CopyTable(v);
                else
                        returnTable[k] = v;
                end
        end
        return returnTable;
end

function UpdateLootLinkDB()
        ScriptErrors:Hide();
        LootLinkAddDB_Frame:Hide();
        if ( LootLinkState["DataVersion"] == 110 ) then
        
        if ( not LLDBItemLinks ) then
                message( "This has already been run once this session, it cannot be run a second time. Reenable mod and reload if you really want to use it again." );
                return;
        end
        
        
        local items, newitems, newvals, servers = 0, 0, 0;
        if ( not LLS_SPOOF ) then
                DEFAULT_CHAT_FRAME:AddMessage("LootLinkAddDB: Using LootLink Enhanced!");
                if ( LootLinkState.ServerNamesToIndices ) then
                        for k, v in LootLinkState.ServerNamesToIndices do
                                if ( servers ) then
                                        servers = servers.." "..v;
                                else
                                        servers = v;
                                end
                        end
                end
        end
        
        for k, v in LLDBItemLinks do
                items = items+1;
                if ( not ItemLinks[k] ) then
                        ItemLinks[k] = CopyTable(v);
                        newitems = newitems + 1;
                        if ( servers ) then
                                ItemLinks[k].s = servers;
                        end
                else
                        for key, val in LLDBItemLinks[k] do
                                if ( key == "s" and servers ) then
                                        ItemLinks[k].s = servers;
                                elseif ( key == "m" and LSS_SPOOF ) then
                                        ItemLinks[k].m = CopyTable(val);
                                        newitems = newitems + getn(val);
                                elseif ( key == "t" ) then
                                        if ( ItemLinks[k].t and ItemLinks[k].t == "" ) then
                                                ItemLinks[k].t = val;
                                                newvals = newvals + 1;
                                        end
                                elseif ( not ItemLinks[k][key] ) then
                                        ItemLinks[k][key] = CopyTable(val);
                                        newvals = newvals + 1;
                                end
                        end
                end
        end
        LootLinkAddDB_Saved = 1;
        message( "|cffffffffDone updating LootLink 1.9+\n"..newitems.." new items added\nLootLink Database Adder should be removed or disabled." )
        DEFAULT_CHAT_FRAME:AddMessage("LootLinkAddDB: "..newitems.." new items added, updated "..newvals.." existing items with missing information.")
        LLDBItemLinks = nil;
        else
                message( "Your LootLink is the wrong version, this addon will only work with LootLink 1.9 and compatible versions." );
        end
end