Post by waxychicken on Mar 31, 2017 0:59:16 GMT -8
(i recommend you replace the <img src= with your images for icons.)
I created a code snippet to be pasted in the board global footer to parse Eve Online links and direct them to an information page.
It would be nice if someone make a legit plugin for this.
I thought i'd post up what i have in case someone would like to work on it.
I just wanted to try and give something back to all of those great Plugin makers out there. i hope it's useful to someone.
WARNING:
(updated 4-19-2017)
(NOTE: some ad-blockers may block the target sites)
example of "Eve Online" Links :
Without this script:
with this script:
The JavaScript code that i use to parse them i pasted in:
Admin Home> Structure> Headers & Footers> Global Footer
i recommend you replace the <img src= with your images for icons.
see how it behaves (10 seconds for links to parse on this page):
ugfed.boards.net/thread/11/eve-test
I created a code snippet to be pasted in the board global footer to parse Eve Online links and direct them to an information page.
It would be nice if someone make a legit plugin for this.
I thought i'd post up what i have in case someone would like to work on it.
I just wanted to try and give something back to all of those great Plugin makers out there. i hope it's useful to someone.
WARNING:
(updated 4-19-2017)
this code is NOT suitable for heavy-use forums, is NOT optimized, and may cause some glitches.- This code waits 10 seconds for the page to load before parsing Eve Online links (was getting unusual behavior without the delay in effect).
- This code does not activate on edit posting, create posting, or boards lists.
- This code is NOT compatible with post "preview".
- This code links to sites off the forum into a new window (instead of parsing a remote site for the info)
(NOTE: some ad-blockers may block the target sites)
example of "Eve Online" Links :
Without this script:
with this script:
The JavaScript code that i use to parse them i pasted in:
Admin Home> Structure> Headers & Footers> Global Footer
i recommend you replace the <img src= with your images for icons.
<!-- Begin Global Footer -->
<script>
function EveFunction(EveExtract) {
var StartExtract;
var EndExtract;
var EndFirstValue;
var ExtractedString;
var StringType;
var TotalLength;
var NewEve;
var NewEve2;
var NewEve3;
EveExtract = EveExtract.replace(/{(([^\[\]])+)}(<br>)?/i,'');
NewEve = EveExtract.substring(0,EveExtract.indexOf('<url=showinfo:'));
NewEve3 = EveExtract.substring(EveExtract.indexOf('</url>')+12);
EveExtract = EveExtract.substring(EveExtract.indexOf('<url=showinfo:'),EveExtract.indexOf('</url>')+12);
StartExtract = EveExtract.indexOf('<url=showinfo:')+17;
EndFirstValue = EveExtract.indexOf("//",StartExtract);
ExtractedString = EveExtract.substring(StartExtract,EndFirstValue);
StringType = Number(ExtractedString);
EndExtract = EveExtract.indexOf('</url>');
TotalLength = EveExtract.length;
switch(true){
case (StringType == 2):
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/irMbPaVggRIggqDyyLcq.png" title="Orginization" alt="Org"> <a href="http://ridetheclown.com/eveapi/showinfo.php?orgID=' + EveNumber;
EveExtract = EveExtract + '" target="_blank" alt="org" title="org"> ' + EveName + "</a>";
break;
case (StringType < 1400 && StringType > 1300):
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http:////storage.proboards.com/6724981/images/YyakDbtzogyjdFobSTLO.png" alt="Character" title="Character"> <a href="http://ridetheclown.com/eveapi/showinfo.php?charID=' + EveNumber;
EveExtract = EveExtract + '" target="_blank"> ' + EveName + "</a>";
break;
case (StringType == 30):
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
EveName = EveName.replace(/ /g,"_");
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/sIgzTdFkYMaclicrLxWN.png" alt="Faction" title="Faction"> <a href="http://evemaps.dotlan.net/npc#' + EveName;
EveExtract = EveExtract + '" target="_blank"> ' + EveName + "</a>";
break;
case (StringType == 5):
if (EveExtract.indexOf(">J") > 1 && "1234567890".indexOf(EveExtract.substring(EveExtract.indexOf(">J")+5,EveExtract.indexOf(">J")+6)) > -1 ){
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
EveName = EveName.replace("J","");
EveName = EveName.replace("j","");
EveName = EveName.replace(" Solar System","");
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/hzqhOhOEEplnOsoPHmHK.png" alt="Wormhole System" title="Wormhole System"> <a href="http://www.ellatha.com/eve/WormholeSystemview.asp?key=' + EveName;
EveExtract = EveExtract + '" target="_blank"> ' + "J" + EveName + "</a>";
} else {
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
EveName = EveName.replace(/ /g,"_");
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/tzYfPrKwJgdbsDvsLiRR.png" title="Star System" alt="Star System"><a href="http://evemaps.dotlan.net/system/' + EveName;
EveExtract = EveExtract + '" target="_blank"> ' + EveName + "</a>";
}
break;
case (StringType == 4):
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
EveName = EveName.replace(/ /g,"_");
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/CRDswxxeYYzdVbjgdXbi.png" alt="Map" title="Map"> <a href="http://evemaps.dotlan.net/search?q=' + EveName;
EveExtract = EveExtract + '" target="_blank"> ' + EveName + "</a>";
break;
case (StringType == 3):
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
EveName = EveName.replace(/ /g,"_");
var EveNumber = EveExtract.substring(0,EveExtract.indexOf('>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/CRDswxxeYYzdVbjgdXbi.png" alt="Map" title="Map"> <a href="http://evemaps.dotlan.net/map/' + EveName;
EveExtract = EveExtract + '" target="_blank"> ' + EveName + "</a>";
break;
default:
EveExtract = EveExtract.substring(EveExtract.indexOf('//')+2);
var EveName = EveExtract.substring(EveExtract.indexOf('>')+4, EveExtract.indexOf('</url>'));
EveExtract = '<img src="http://storage.proboards.com/6724981/images/mFhbdg0rhjoygIrfaxAS.png" alt="Item" title="Item"> <a href="http://ridetheclown.com/eveapi/showinfo.php?typeID=' + StringType;
EveExtract = EveExtract + '" target="_blank"> ' + EveName + "</a>";
break;
}
EveExtract = NewEve + EveExtract + NewEve3;
return EveExtract;
}
function createevelinks(){
var Articles = document.getElementsByTagName("article");
var ArticlesLength = Articles.length;
for (var finddiv = 0; finddiv < ArticlesLength; finddiv++)
{
var EveTags = Articles[finddiv].getElementsByTagName("div");
var EveFormat;
var EveTagsLength = EveTags.length;
for (var s = 0; s < EveTagsLength; s++)
{
if ((EveTags[s] != null)){
EveFormat = EveTags[s].innerHTML;
while (EveFormat.includes("<url=showinfo:") == true){
EveFormat = EveFunction(EveFormat);
}
EveTags[s].innerHTML = EveFormat;
//EveTags[s].style.width="80%";
}
}
}
}
var myVar;
if ((window.location.href.includes("/thread/")) && (!window.location.href.includes("/edit/"))){
myVar = setTimeout(createevelinks, 10000);
}
</script>
<!-- End Global Footer -->
see how it behaves (10 seconds for links to parse on this page):
ugfed.boards.net/thread/11/eve-test