// ==UserScript== // @name dev_star_com // @namespace dev_star_com // @description keep an eye on selected comments! // @include http://*.deviantart.com/* // @version 1.38 // @grant GM_registerMenuCommand // @grant GM_deleteValue // @grant GM_getValue // @grant GM_setValue // @downloadURL https://update.greasyfork.icu/scripts/5777/dev_star_com.user.js // @updateURL https://update.greasyfork.icu/scripts/5777/dev_star_com.meta.js // ==/UserScript== // if(navigator.appName=="Opera"){ // var storage=window.opera.scriptStorage; // if(storage){ // GM_setValue=function(Name, Wert) { // storage.setItem(Name,Wert); // }; // GM_getValue=function(Name) { // return storage.getItem(Name); // } // }else{ // var hint = document.createElement('div'); // hint.setAttribute('style',"font:10pt Verdana,Arial,Helvetica,sans-serif!important;background-color:#FFF;left:"+ ((window.innerWidth - 600)/2 - 20) +"px;top:"+ ((window.innerHeight - 150)/2 - 20) +"px;width:600px;height:150px;padding:10px;border:1px double black;position:absolute;z-index:999;"); // hint.id="devhint"; // hint.innerHTML="If you want to use this script, you have to allow Script-Storage!
ScriptStorage is a way to save data within opera that is only available to the userscript that saved it
To enable it, please visit here and insert a bigger number than 0! (depends on how many comments you would like to save. a good value is about 5000)

Close

"; // document.body.appendChild(hint); // } // } var favimg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAWCAYAAAArdgcFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjFBQjg0MUQwQUQzMTFFMDlGNEJBQTYxODAyODQ0Q0MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjFBQjg0MUUwQUQzMTFFMDlGNEJBQTYxODAyODQ0Q0MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MUFCODQxQjBBRDMxMUUwOUY0QkFBNjE4MDI4NDRDQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2MUFCODQxQzBBRDMxMUUwOUY0QkFBNjE4MDI4NDRDQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI%2FPsMpo20AAARhSURBVHjapFVbTxtHFD4zu%2Btdr23WNhhjG2QMIdTQUolIuajqA2qrJFKlKFJaNVUfKvUhvyB9qPLYp%2F6HPkSqqqip1ItUKRFPSIFWpEASCKSUSx0qIOAbNl6vd3dmOmNvm5JWgJSRj3Z9Lt85882cs3Lv6VHo2H4GR62edPsn2Wz8xtLSs883coUvj%2FLPd8UBwzGWEWuLBwLy1XRqLy2eRiwUP04cPkYFyAj6PuxN%2BzMfXGasN61nxH%2Bhf2nwyG6%2BIxiQL118S82EAhRdfFvJBAPKJaF%2FafBYxH8llVASo9kCACEwOlSEVFJJtoe1K0fFyocZz715Ypi57rXzY2pKlU0ACqAqAOfHtGR1v%2BMahfjE9NTa4lHgUS4DGKP2SFQ%2FaRj%2BXstykoi4g5lud%2FDMsOUDyriLEApnR%2Fb02Qe%2BV9Y30NfJlLEcDKprhUJtu1Q0lyllfIvwO5ci4lcRX%2BjW7qiq1JlORx3Or6875dcMQ4ZktNzTZeQ0VbG9Gjg4YoD4UVqOD21X0vXNQmSjXLbhz03L2q%2B5du6PktJouDt3N%2BwLonJFxvVgts%2Bf%2Bfh9FlIViwEtAGMMAS1xMwd2vdPhwEA5NxxdlWqQjq76e2LhkwwjrtJ4Qhlu3rIri781OIeSIsDR7IZ9vVqtfOEj26evvqtIqs8rVGLeCy9V0IIEMAaGCc8hbHVgDhfMoO5QuPU9dX%2F5VV5YKfk%2F5cFICqcSrApyuVKDJ2bZHtqvkK5sL8Yypq0qqWBDVEyafDMOyhht7YyrGWFg2Rz4B%2BZO3MczC3n9Rh5pD7mz1QTnL66F5ULVREtm2RkqFEl4ZAD5moWzJkIzUTMHbWYToEjsxnIJ3PwW9icf4IePC4HPypI2wx32uRABLmYLM4NBhyfI75bYAqmzQdtyIiP9TG3SwUS1rEkN8xJxJRL623egOjWvTE9vBq7XfNojAczxKMd73kRCIQx1XZ99tE5%2FatgqA9KiRVAhGojwpyiYcFpcToeQuqOSuWV2t6Gpi38DH7jnYoJ5SxjMuKFGTySZRjk4ETdE%2FLB4tDinghZMmgGpGPJHdMXYA6iJ%2BH9h%2FbdDz2ZjyF5pjLQpFSBOq3H%2BaR%2BJAsWt%2B97cDV9hv8UCWmj4WO1fXdmKGz4IhHRen6CF38KnuwBTC4jOr8ulV%2FtI5MxrFCc6WrtvC1EucmTYcroeO8rmoeCY0b6QjsOpCEXlKoV785I1Pidt7VSl1TrSZla3rVOTC27%2F2KiTeGOE%2BBMRigN%2BCFct1s%2FDDwVHioQGOg2I%2FvgzakzMK1tFU17bsvTbOdDHub0BEFTTJfOdvUnzvYk5t%2B%2Fc6yTaEUbt%2BT0Y4PZ7HoP%2FD44kVDZrJpt6Iq%2FvkuBX9y3tO64Xc0AcmDhFKcf0b3J1ffyUz7o8vVj9SJJqEZCC5VYrPwcXg%2BsAOJcQl04B4oFWWgMG6AvfATEk2sT3xEu6I47ssMpbAwNgy3u3vUD2gh9tUQRFrxuR53vA7y8BBgAmTyJY%2F3idRQAAAABJRU5ErkJggg%3D%3D"; var notfavimg="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAWCAYAAAArdgcFAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOASURBVEhLpZVJSJtBFMeT2NLS0gqFttD2ZIOixQ3FqDWuuFVxibig4pIiNiJSMQH14K5xN64Igoh46qE99SIKuSiCh8ajhSBpjz3YVDEW9Zv%2B%2Fx%2BJBNuagMKfycz33m%2FevHnzDFD4%2BZecnPw2NTX1Y2Bg4LHD4fjip5tvM41G8zQ7O3ujsbFR4si5by%2F%2FLJSIuLWystI%2BMzNzUVVVZU9JSWmFq9I%2F92us1Gr145ycHGt%2Ff7%2B0uLgo9fX1SZxz%2FcbwuLg4Q0VFxT6ilhYWFiSOmH%2BNjY013AheWlr6SqfT2Xp6eo7n5%2BdlONXd3X3M9eLi4jCfG4SFhT0KDg7WhIaGvkGk79PT0y1JSUkfSkpK9urr60%2Fn5uYkwin%2BpriO7zbaZWZmDtOP%2FuSQ59lUVVRUtF5WVmZraWnZNZlMe8PDw0zDPqI8mZ2dvQTyt5cENjuh3dDQ0L7RaNxrbm7exWlthYWF64CrFLiYOwUFBdsGg8G5uroqra2tXSwvL1NypMyxt6anp%2BU5RoETiKWlJVkrKysCPqKhocGZn5%2B%2FTa4iMjLybnR09GuU21Ztbe3Z5OTkJYwgL5hksVjkOcepqSlBwV5MTEwInFagTM%2Fw2LbII1eB%2FARAgREREen4sFNTU3MGYxngLYAIlMXvBF4FI%2F875JBHrpz3qxsggqPx8fFLGE%2FjEdfdEhiF2WwW5eXlR%2F8Ee5WSKjw8%2FCE2wgNMsSJFPz1ARuqBjo6OSm4JjAIn%2FYWUbqBSNPSXL%2FI%2Ff6qoqKgHISEhprq6ukNCuQHBY2NjMnRkZERCtBJzTFVXVx%2FSnn7XgS9ThJo1t7W1uTxADxQwGTw4OEgJqqmp6RQXOOATTDpScgsX%2Bxn17mKUFKEU6lkGDwwMUILC23DFx8d%2F8guu1Wqf44VaOzs7XYySam9vl3D8c7TbH7jsc2ws9fb2CgqPx5WWlmZFUM98tgLcujY3N9cG6GlXV5ek1%2BtPcGF2RLeOPm6G1gGyY7OTjo4OgT7zG12SbUDrC66Eox5P%2BBt6hxMnOEhMTNyMiYl5h0t7iWp4wZHzhISETWx6gJM40cS%2BI5V6Xz1eBQddXl6eIysry4aNjISxEfE58z44cs51AI0ZGRk22DrwTecr70rWKqQGIATjE%2FkZ%2F127Kq7zu9tO7a7x6%2F874ci3g4KC7qN13mOk1xyVKbxFO9rT72rO%2FwAJ2DoMsxrvMwAAAABJRU5ErkJggg%3D%3D"; var favmessid=new Array(); var favmessparam=new Array(); var topclick=false; var onc=0; init(); function resets(){ if(GM_getValue("dev_star_com_username_starid")){ favmessid=GM_getValue("dev_star_com_username_starid").split(String.fromCharCode(13)); for(var i in favmessid){ GM_deleteValue("star_"+favmessid[i]); } GM_deleteValue("dev_star_com_username_starid"); GM_deleteValue("dev_star_com_username_starpar"); favmessid=""; init(); } } function init(){ GM_registerMenuCommand("reset dev_star_com", resets,"r"); favbutinsert(); if(document.getElementsByClassName("page2")[0]){//Message-Center-Pages var cont = document.getElementsByClassName("page2")[0]; var clickbut=document.createElement("a"); clickbut.className="f"; clickbut.id="def_star_com_menu"; clickbut.setAttribute("style","cursor: pointer;"); clickbut.innerHTML="Starred Comments"; // var notelink=document.getElementsByClassName("page2")[0].getElementsByClassName("f"); // for(var lin in notelink){ // if(notelink[lin].getAttribute("mcuid")=="notes"){notelink=notelink[lin];break;} // } notelink=document.getElementsByClassName("messages-folder-zone")[0]; cont.insertBefore(clickbut,notelink.nextSibling); clickbut.addEventListener('click',anzeige,false); cont.addEventListener('click',raumer,false); // var $=unsafeWindow.jQuery,holder,query,offset,fPage,pPage,lPage; // $("#overhead .oh-l").click(raumer); document.getElementById("overhead").addEventListener('click',function(){topclick=true;raumer();},false); } if(location.href.match(/.*#view=starrCom.*/)){anzeige();} } function favbutinsert(){ if(!(location.href.match(/.*?\.deviantart\.com(\/#\/.*)?/)||location.href.match(/.*?\.deviantart\.com\/art\/.*/)||location.href.match(/.*?\.deviantart\.com\/gallery\/.*/))){return;} var arr=document.getElementsByClassName('cc-meta'); if(location.href.match(/.*?\.deviantart\.com(\/#\/.*)?/)&&onc==0){onc=1;setTimeout(favbutinsert,2000);return;} if(arr[0]){ //page contains comments if(GM_getValue("dev_star_com_username_starid")){favmessid=GM_getValue("dev_star_com_username_starid").split(String.fromCharCode(13));} for(var i in arr){ if(arr[i].tagName=="DIV"){ var favbut = document.createElement("img"); favbut.className="dev_favbut"; var gmid=arr[i].parentNode.parentNode.parentNode.parentNode.getAttribute("gmi-commentid") if(favmessid.indexOf(gmid)==-1){ favbut.src=notfavimg; favbut.setAttribute("akt","1"); }else{ favbut.src=favimg; favbut.setAttribute("akt","0"); } favbut.setAttribute("style","position: absolute;right: 70px;"); arr[i].appendChild(favbut); favbut.addEventListener('click',umschalt,false); } } }else{ if(onc<10){ onc++; setTimeout(favbutinsert,2000); } } } function raumer(){ var aktiv=document.getElementsByClassName("f selected"); if(typeof aktiv[0] == "undefined" || aktiv[0].id!="def_star_com_menu" || topclick){ topclick=false; var inh=document.getElementsByClassName("mczone dev_star_com"); if(inh.length==0){return;} inh[0].parentNode.removeChild(inh[0]); } } function parget(obj){ var ausgabe=new Array(); var parname=new Array("gmi-splitid","gmi-private","gmi-typeid","gmi-itemid"); for(var i in parname){ ausgabe.push(obj.getAttribute(parname[i])); } return ausgabe.join(String.fromCharCode(12)); } function parpush(obj,idd){ var parname=new Array("gmi-splitid","gmi-private","gmi-typeid","gmi-itemid"); for(var i in parname){ obj.setAttribute(parname[i],favmessparam[idd].split(String.fromCharCode(12))[i]); } } function umschalt(){ if(this.getAttribute("akt")=="1"){ this.setAttribute("akt","0"); this.src=favimg; if(GM_getValue("dev_star_com_username_starid")){favmessid=GM_getValue("dev_star_com_username_starid").split(String.fromCharCode(13));} if(GM_getValue("dev_star_com_username_starpar")){favmessparam=GM_getValue("dev_star_com_username_starpar").split(String.fromCharCode(13));} var gmi_id=this.parentNode.parentNode.parentNode.parentNode.parentNode.getAttribute("gmi-commentid"); favmessid.push(gmi_id); favmessparam.push(parget(this.parentNode.parentNode.parentNode.parentNode.parentNode)); GM_setValue("star_"+gmi_id,this.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML); GM_setValue("dev_star_com_username_starid",favmessid.join(String.fromCharCode(13))) GM_setValue("dev_star_com_username_starpar",favmessparam.join(String.fromCharCode(13))) }else{ this.setAttribute("akt","1");this.src=notfavimg; var gmi_id=this.parentNode.parentNode.parentNode.parentNode.parentNode.getAttribute("gmi-commentid") if(GM_getValue("dev_star_com_username_starid")){favmessid=GM_getValue("dev_star_com_username_starid").split(String.fromCharCode(13));} if(GM_getValue("dev_star_com_username_starpar")){favmessparam=GM_getValue("dev_star_com_username_starpar").split(String.fromCharCode(13));} favmessparam.splice(favmessid.indexOf(gmi_id),1); favmessid.splice(favmessid.indexOf(gmi_id),1); GM_setValue("star_"+gmi_id,""); GM_setValue("dev_star_com_username_starid",favmessid.join(String.fromCharCode(13))) GM_setValue("dev_star_com_username_starpar",favmessparam.join(String.fromCharCode(13))) } } function anzeige(){ var offset=0; var patt=/.*deviantart\.com\/notifications\/.*#view=starrCom.*-0*(\d+).*/; if(location.href.match(patt)){offset=parseInt(location.href.match(patt)[1]);} if(GM_getValue("dev_star_com_username_starid")){favmessid=GM_getValue("dev_star_com_username_starid").split(String.fromCharCode(13));} if(GM_getValue("dev_star_com_username_starpar")){favmessparam=GM_getValue("dev_star_com_username_starpar").split(String.fromCharCode(13));} var aktiv=document.getElementsByClassName("f selected"); if(aktiv[0]){aktiv[0].className="f";} document.getElementById("def_star_com_menu").className="f selected"; var inh=document.getElementsByClassName("messages-right")[0]; inh.innerHTML=""; var divcont=document.createElement("div"); divcont.className="mczone dev_star_com"; divcont.innerHTML="

"+ favmessid.length + " starred Comments

"; inh.appendChild(divcont); for(var i=offset;i=favmessid.length){bbtext+='disabled';}else{bbtext+='away';} bbtext+="' id='dev_star_com_next'>Next"; var navi=document.createElement("div"); navi.innerHTML=bbtext; navi.className="pagination-wrapper"; divcont.appendChild(navi); if(!location.href.match(/#view=starrCom/)){location.href=location.href.replace(/#.*/,"")+"#view=starrCom-0";} if(offset!=0){ document.getElementById("dev_star_com_prev").addEventListener('click', function(){ location.href=location.href.replace(/#.*/,"")+"#view=starrCom-"+(offset-10); anzeige(); }); } if(offset+10