vanilla-wow-addons – Rev 1
?pathlinks?
LINKSNAG_MAX_LINK_LENGTH = 32;
LINKSNAG_LINK_COLOR = "00FF00";
LINKSNAG_TIMESTAMP_ON = false;
function linkSnagExportFrame_OnLoad()
linkSnag_old_ChatFrame_OnEvent = ChatFrame_OnEvent;
ChatFrame_OnEvent = linkSnag_new_ChatFrame_OnEvent;
linkSnag_old_SetItemRef = SetItemRef;
SetItemRef = linkSnag_new_SetItemRef;
RegisterForSave("LINKSNAG_TIMESTAMP_ON");
SlashCmdList["TIMESTAMP_ENABLE"] = linkSnag_timeStampEnable;
SLASH_TIMESTAMP_ENABLE1 = "/lstime";
end
function linkSnag_timeStampEnable()
if(LINKSNAG_TIMESTAMP_ON == false) then
LINKSNAG_TIMESTAMP_ON = true;
DEFAULT_CHAT_FRAME:AddMessage("linkSnag timestamps are now ENABLED");
else
LINKSNAG_TIMESTAMP_ON = false;
DEFAULT_CHAT_FRAME:AddMessage("linkSnag timestamps are now DISABLED");
end
end
function linkSnag_new_ChatFrame_OnEvent(orig_event)
if(not this.Original_AddMessage) then
this.Original_AddMessage = this.AddMessage;
this.AddMessage = linkSnag_ChatTimestamp_AddMessage;
end
local msg = arg1;
if(string.sub(orig_event, 1, 8) == "CHAT_MSG" and msg ~= nil) then
msg = string.gsub(msg, "(%s?)(www%.[%w_/%.%?%%=~-]+)(%s?)", linkSnag_linkGen); -- www.whatever.com/dir/file.ext
msg = string.gsub(msg, "(%s?)(%a+://[%w_/%.%?%%=~-]+)(%s?)", linkSnag_linkGen); -- http://sub.domain.com/dir/file.ext
msg = string.gsub(msg, "(%s?)([_%w-%.~]+@[_%w-]+%.[_%w-%.]+)(%s?)", linkSnag_linkGen);-- 192.168.0.1:12345/dir/file.ext
msg = string.gsub(msg, "(%s?)(%d%d?%d?%.%d%d?%d?%.%d%d?%d?%.%d%d?%d?[:%d%d?%d?%d?%d?]*[%w_/%.%?%%=~-]*)(%s?)", linkSnag_linkGen);--foo@bar.com
arg1 = msg;
end
linkSnag_old_ChatFrame_OnEvent(orig_event);
end
function linkSnag_new_SetItemRef(link, button)
if (string.sub(link, 1 , 3) == "ref") then
linkSnagURL:SetText(string.sub(link,5));
linkSnagExportFrame:Show();
linkSnagURL:HighlightText();
return;
else
linkSnag_old_SetItemRef(link, button);
end
end
function linkSnag_ChatTimestamp_AddMessage(this, msg, r, g, b, id)
if(msg ~= nil) then
if(LINKSNAG_TIMESTAMP_ON == true) then
msg = linkSnag_timeLink() .. " " .. msg;
end
end
this:Original_AddMessage(msg, r, g, b, id);
return
end
function linkSnag_timeLink(chatMsg)
local hour=string.sub(date(), 10, 11);
local minute=string.sub(date(), 13, 14);
local second =string.sub(date(), 16, 17);
if tonumber(hour) >12 then
hour=hour-12;
else
hour=tonumber(hour)
if hour==0 then
hour=12;
end
end
return "[" .. hour .. ":" .. minute .. ":" .. second .. "]";
end
function linkSnag_linkGen(begSpace, URL, aftSpace)
return begSpace .. "|cff" .. LINKSNAG_LINK_COLOR .. "|Href:" .. URL .. "|h[".. URL .."]|h|r" .. aftSpace;
end
function linkSnag_HideButton_onClick()
linkSnagExportFrame:Hide();
end