// ==UserScript==
// @name LogFAQs Link
// @namespace https://logfaqs.com/
// @version 1.01
// @description Easily access LogFAQs archives by references on GameFAQs proper, and other LogFAQs features.
// @author GuessMyUserName
// @match *://gamefaqs.gamespot.com/boards/*
// @grant none
// ==/UserScript==
// Replaces a LFAQs tag with a link to its LFAQs archive.
function replace_ltag(msg_element,lfq_tag) {
var manual_append = (lfq_tag[1][0]=='m' || lfq_tag[1][0]=='M') ? "manual-" : "";
var tagtype = lfq_tag[1].replace('m','').replace('M','');
var replacement = (tagtype=='p' || tagtype=='P') ? "<" + lfq_tag[2] + ">"
: ">" + lfq_tag[2] + "<";
msg_element.innerHTML = msg_element.innerHTML.replace(lfq_tag[0],replacement);
};
(function() {
'use strict';
// Add Styles for LogFAQs postID/topicID tags
var style = document.createElement("style");
style.innerHTML = '.pod a.lfq_post { color:darkred !important; } .pod a.lfq_topic { color:purple !important; }';
style.innerHTML += ' .board.message a.lfq_post, .board.message a.lfq_topic { font-weight:bold; text-decoration:none; } .pod a.lfq_post:hover, .pod a.lfq_topic:hover { color:navy !important; }';
style.innerHTML += ' .lfq_yeah { color:#555; font-size:12px; } h1 .lfq_yeah { margin:0; }';
document.getElementsByTagName('head')[0].after(style);
// Replace postID/topicID tags with links.
var msgs = document.getElementsByClassName('msg_body_box');
var i,j;
for(i=0;i]+)>)/ig,"");
let matches = [...msgbody.matchAll(/\[(m?[tpTP]):(\d+)\]/g)];
for(j=0;j0) ? "https://logfaqs.com/post.php?id="+url_parse[3]
: ( (url_parse[2]>0) ? "https://logfaqs.com/topic.php?id="+url_parse[2]
: url_parse[1]);
// Topic or Post page
if(target_url.includes("https")) {
var log_button1 = document.createElement("li"), log_button2 = document.createElement("li");
log_button1.innerHTML = " LogFAQs";
log_button2.innerHTML = " LogFAQs";
var butthead = document.querySelectorAll('.paginate.user');
butthead[0].lastChild.before(log_button1);
// Post page only has 1 button header
if(butthead.length>1) {
butthead[1].lastChild.before(log_button2);
}
}
// Board page
else {
target_url = target_url==8 ? "board.php?id=1" : (target_url==3 ? "board.php?id=2" : (target_url==400 ? "board.php?id=3" : "manual-board.php"));
var tlist1_button = document.createElement("li"), tlist2_button = document.createElement("li");
tlist1_button.innerHTML = " LogFAQs";
tlist2_button.innerHTML = " LogFAQs";
document.querySelectorAll('.paginate.user')[0].lastChild.before(tlist1_button);
document.querySelectorAll('.paginate.user')[1].lastChild.before(tlist2_button);
}
// Yeah! Count
//// Post Page
var msgbox,msgparse,yeahline;
if(url_parse[3]>0)
{
$.ajax ( {
type: 'GET',
url: 'https://logfaqs.com/get_likes.php?type=p&id='+url_parse[3],
crossDomain: true,
dataType: 'text',
success: function (data) {
yeahline = document.createElement('span');
yeahline.setAttribute('class', 'lfq_yeah');
yeahline.innerHTML = data + ' Yeah!';
msgbox = document.getElementsByClassName('message_num')[0].before(yeahline);
}
} );
}
//// Topic Page
else if (url_parse[2]>0)
{
$.ajax ( {
type: 'GET',
url: 'https://logfaqs.com/get_likes.php?type=t&id='+url_parse[2],
crossDomain: true,
dataType: 'text',
success: function (data) {
// Parse Data
var topicdata = /!(\d+)!#(\d+)#/.exec(data);
let dataset = [...data.matchAll(/(\d+):(\d+);/g)];
var datalist = {};
for(i=0;i1 ? (postdata[1] in datalist ? datalist[postdata[1]] : 0) : 0;
yeahline = document.createElement('span');
yeahline.setAttribute('class', 'lfq_yeah');
yeahline.innerHTML = yeahcount + ' Yeah!';
msgbox.before(yeahline);
}
}
} );
}
})();