NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Demigrant Script v2 // @namespace http://plataformalol.tk/demigrantScript/ // @version 0.3 // @description Script para mejorar la experiencia en forocoches creado por cerdosaurio y actualizado por Kolter para añadir la funcionalidad de citas // @author cerdosaurio y Kolter // @include http://www.forocoches.com* // @include http://forocoches.com* // @grant GM_log // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_xmlhttpRequest // @grant GM_registerMenuCommand // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_getResourceURL // @grant GM_getMetadata // @require http://code.jquery.com/jquery-latest.js // @require http://plataformalol.tk/resources/jquery.cookie.js // @resource fontawesome http://fonts.googleapis.com/css?family=Fjalla+One // @require http://plataformalol.tk/resources/uri/src/URI.js // @resource carme //fonts.googleapis.com/css?family=Carme // ==/UserScript== var newCSS = GM_getResourceText ("fontawesome"); GM_addStyle (newCSS); var url = null; var hilo = new URI (location.href); hilo = URI.parseQuery(hilo.query()); hilo = hilo.t; var pagina = 1; var botonNuevosPosts = null; var numNuevosPosts = 0; var hrefOp = null; var op = null; var user= ''; var tema=[]; var autor=[]; var cita=null; var pagina=null; function pintaPostsOp() { if(hrefOp) { $("a.bigusername").each(function() { if($(this).attr("href") == hrefOp) { $(this).parents("table").first().css("border", "solid 2px #f20").css("border-top-width", "3px"); } }); } if(op) { $("td.alt2").each(function() { if($(this).attr("style") == "border:1px inset") { var div = $(this).children().first(); if(div.is("div") && $.trim(div.text()) == "Originalmente Escrito por " + op) $(this).css("border", "solid 2px #f20").css("border-top-width", "3px"); } }); } } function omitirAcentos(text) { 2 var acentos = "ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÑñÇç"; 3 var original = "AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunncc"; 4 for (var i=0; i<acentos.length; i++) { 5 text = text.replace(acentos.charAt(i), original.charAt(i)); 6 } 7 return text; 8 } function procesaPrimeraPagina(html) { var enlace = $("a.bigusername", html).first(); hrefOp = enlace.attr("href"); op = enlace.text(); pintaPostsOp(); } function despliegaNuevosPosts() { $(".postInvisible").show(); botonNuevosPosts.remove(); botonNuevosPosts = null; numNuevosPosts = 0; if(document.title.charAt(0) == "*") document.title = document.title.substr(2); pintaPostsOp(); } function buscaNuevosPosts() { $.get(document.URL, function(data) { var html = $.parseHTML(data); var nuevos = []; $("table.tborder[id^=post]", html).each(function() { if(!$("table#" + $(this).attr("id")).length) { numNuevosPosts++; nuevos.push($(this).parent().parent().parent().addClass("postInvisible").hide()); } }); if(numNuevosPosts) { if(document.title.charAt(0) != "*") document.title = "* " + document.title; var mensajeNuevos = "Hay " + numNuevosPosts + (numNuevosPosts == 1 ? " post nuevo" : " posts nuevos"); if(!botonNuevosPosts) { botonNuevosPosts = $("<div></div>").attr("style", "cursor:pointer;color:#fff;font-weight:bold;font-size:18px;background-color:#2b4;margin:16px 0;padding:8px;text-align:center"); $("div#posts").append(botonNuevosPosts); botonNuevosPosts.click(despliegaNuevosPosts); } botonNuevosPosts.text(mensajeNuevos); $("div#posts").append(nuevos); } if($(".pagenav a[href$='&page=" + (pagina + 1) + "']", html).length) { if(document.title.charAt(0) != "*") document.title = "* " + document.title; botonNuevaPagina = $("<div></div>").attr("style", "cursor:pointer;color:#fff;font-weight:bold;font-size:18px;background-color:#2b4;margin:16px 0;padding:8px;text-align:center"). text("Hay una nueva página") if(botonNuevosPosts) botonNuevaPagina.addClass("postInvisible").hide(); botonNuevaPagina.click(function() { window.location.href = url + "?t=" + hilo + "&page=" + (pagina + 1); }); $("div#posts").append(botonNuevaPagina); } else setTimeout(buscaNuevosPosts, 60000); }); } function linkPlataformaLol(){ $.get("search.php?do=process&query=Plataforma+League+of+Legends&titleonly=1&showposts=1",function(data){ var tempDom2 = $('<output>').append($.parseHTML(data)); var limit3=0; var appContainer3 = $('.inlineimg', tempDom2).each(function(){ if (limit3==2){ tema0=$(this).parent('div').children('a'); } limit3++; }); href = "http://forocoches.com/foro/"+tema0.attr('href'); $('body').find('.vbmenu_control').first().after("<td class='vbmenu_control'><a href='"+href+"'>Plataforma League of legends</a></td>"); }); } function obtenerUrlTemaMencionado(tempDom){ var limit3 = 0; var appContainer3 = $('.inlineimg', tempDom).each(function(){ if (limit3<22 && limit3>0){ if (limit3%2==0){ tema.push($(this).parent('div').children('a')); } } ++limit3; }); } function obtenerAutorCita(tempDom,n,n2){ var limitador = 7; var limit2=0; if (n2==-1){ limitador=6; } if (n==-1){ limitador=5; } var appContainer2 = $('.smallfont', tempDom).each(function(){ if (limit2>(limitador-1) && limit2<45){ if (limit2==limitador || (limit2>limitador && (limit2-limitador)%4==0)){ autor.push($(this).find('a')); } } ++limit2; }); } function obtenerCitas(data){ // Dependiendo de los resultados la búsqueda del autor de la mención cambia por eso Si no hay paginación se añaden -2 al resultado y si hay paginación pero no todas las páginas se añaden -2 var n = data.indexOf('Pág 1 de'); var n2 = data.indexOf('Último <strong>»</strong>'); var limit=0; var tempDom = $('<output>').append($.parseHTML(data)); var limit2 = 0; obtenerUrlTemaMencionado(tempDom); obtenerAutorCita(tempDom,n,n2); arrayIDs=[]; var appContainer = $('em', tempDom).each(function(){ if (limit<10){ var cita = "cita"+limit; autorC=autor[limit]; var str = "http://www.forocoches.com/foro/"+$(this).children('a').attr('href'); var res = str.match(/\d{9,}/g); var urlResponder = "http://www.forocoches.com/foro/newreply.php?do=newreply&p="+res[0].toString(); arrayIDs.push(res[0]); temaCita=tema[limit]; href = "http://www.forocoches.com/foro/"+$(this).children('a').attr('href'); href2 = "http://www.forocoches.com/foro/"+temaCita.attr('href'); $(this).children('a').remove(); usuariohref="http://www.forocoches.com/foro/"+autorC.attr('href'); $("#citasInterior").append("<div id='W"+cita+"' class='citas' style='background-color:#EEE;border-radius:5px;padding:5px;'> <span style='font-size:1.2em'>Mencionado por: <span style='color:red'><a href='"+ usuariohref+"'>"+autorC.html()+"</a></span> en <a target='_blank' href='"+href2+"'>"+temaCita.html()+"</a></span><br><div id='"+cita+"'>"+$(this).html()+"</div><br><a target='_blank' href='"+href+"' style='padding:5px;background-color:#F00;color:#FFF;max-width:30%;border-radius:5px;'>ver cita</a> <a style='padding:5px;background-color:#F00;color:#FFF;max-width:30%;border-radius:5px;' href='"+urlResponder+"' target='_blank'>Responder</a></div></div><br>"); if ($.cookie('Citas'+user)){ var storedAry = JSON.parse($.cookie('Citas'+user)); if (storedAry.indexOf(res[0])==-1){ $("#W"+cita).css({'border':'1px solid #F00'}); } } ++limit; } }); if ($.cookie('Citas'+user)){ var storedAry = JSON.parse($.cookie('Citas'+user)); result = 0; for(var i=0;i<11;i++){ if (storedAry[0]!=arrayIDs[i]){ ++result; }else{ break; } } }else{ result = 10; } $("#numCitas").html(result+" cita/s nuevas"); if (result!=0){ $("#numCitas").css('color','#F00'); }else{ $("#numCitas").css('color','#000'); } $.cookie('Citas'+user, JSON.stringify(arrayIDs),"../"); } function getHilo(){ var urlTema = null; var limite=0; $('body').find('.alt1').each(function(){ if (limite==2){ urlTema =$(this).children('a').attr('href'); urlTema=urlTema.replace('&highlight='+user.toLowerCase(),''); urlTema=urlTema.replace('showthread.php?t=',''); } ++limite; }) return urlTema; } $(document).ready(function() { var array=0; $('strong').each(function(){ if (array===1){ var pepe = $(this); pepe.parent('div').append("<div id='cajaCitas'><a href='#' id='abrirCitas'>Citas</a><a href='#' id='actualizarCitas' style='float:right'>Actualizar citas</a></div>"); $("#abrirCitas").after(" <span id='numCitas'></span>"); user = $(this).children('a').html(); } array++; }) user = omitirAcentos(user); console.log("Tu nombre de usuario es"+ user); $("#cajaCitas").append("<div id='citas' style='z-index:100;position:absolute;overflow:scroll;max-height:75%;text-overflow:hidden;left:10%;top:10%;padding:5px;border:1px solid #000;width:80%;background-color:#FFF;display:none'><a href='#' style='float:right' id='cerrarCitas'>Cerrar</a><div id='citasInt' style='font-size:1.2em;position:relative; font-family: Fjalla One, sans-serif;'><h1>Menciones</h1><div id='citasInterior'></div></div></div>"); $.get("search.php?do=process&query="+user+"&titleonly=0&showposts=1",function(data){ obtenerCitas(data); }); $("#actualizarCitas").click(function (e){ $('body').append('<div id="overlay" style="top:0;left:0;width:100%;height:100%;position:fixed;background-color:#000;opacity:0.8;z-index:50;"></div>'); $("<div id=\"actualizando\" style=\"position:absolute;z-index:500;top:25%;left:35%;font-size:3em;color:#FFF;color:#000;padding:15px;background-color:#FFF;font-family: Fjalla One, sans-serif;\">Actualizando</div>").appendTo('body'); $.get("search.php?do=process&query="+user+"&titleonly=0&showposts=1",function(data){ $("#citasInterior").html(''); autor=[]; tema=[]; obtenerCitas(data); $("#overlay").remove(); $('#actualizando').remove(); }); }); $("#abrirCitas").click(function(e){ e.preventDefault(); $("#citas").show(); $("#numCitas").html("0 cita/s nuevas"); $("#numCitas").css('color','#000'); $('body').append('<div id="overlay" style="top:0;left:0;width:100%;height:100%;position:fixed;background-color:#000;opacity:0.8;z-index:50;"></div>'); }) $("#cerrarCitas").click(function(e){ e.preventDefault(); $("#citas").hide(); $("#overlay").remove(); }) $("#overlay").click(function(e){ e.preventDefault(); $("#citas").hide(); $("#overlay").remove(); }) linkPlataformaLol(); $("div[id*='HOTWordsTxt']").each(function(){ $(this).find('img').each(function(){ $(this).css('max-width','100%'); }) }) var trozosURL = document.URL.split("?", 2); if(trozosURL.length == 2 && (trozosURL[0] == "http://www.forocoches.com/foro/showthread.php" || trozosURL[0] == "http://forocoches.com/foro/showthread.php")) { url = trozosURL[0]; var trozosGET = trozosURL[1].split("&"); var varsGET = {}; for(var indice in trozosGET) { var varGET = trozosGET[indice].split("="); if(varGET.length == 2) varsGET[varGET[0]] = varGET[1]; } if(varsGET["page"] !== undefined){ pagina = Number(varsGET["page"]); } if(!$(".pagenav a[href$='&page=" + (pagina + 1) + "']").length){ setTimeout(buscaNuevosPosts, 1000); } $("table[class*='tborder-author']").css({"border":"3px solid #F00"}); } });