// ==UserScript== // @name Eksi++ // @description Turlu cinliklerle Eksi Sozluk'u guzellestirme aparati. Donuz dusmani! // @namespace http://userscripts.org/users/ntpl // @version 0.6.0 // @author ntpl // @license GPL v3 or later; http://www.gnu.org/licenses/gpl.html // @include http://sozluk.sourtimes.org/* // @include http://www.eksisozluk.com/* // @include http://eksisozluk.com/* // ==/UserScript== /** * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ function EksiPlusPlus() { //--// META DATA //--// var meta = { id : "75945", //Eksi++ USO:ID //id : "77516", //EppDev USO:ID version : "0.6.0", branch : "eksi++", }; //--// AYARLAR //--// // Kullanici Ayarlari var Ayarlar = { // Ayar Surumu version : meta.version, // Eksi++ Mesaj Kutusu eppMesajKutusu: 1, // Donuz Sistemi Ayarlari donuzGirdileriniGizle : 1, donuzBasliklariniGizle : 1, donuzListesi : ["-liste bos kalmasin donuzu-"], // EksiFavori Ayarlari eksiFavori : 1, favoriEntryListesi : [{title: "eksi++", entryid: "18956600"}], // Senkronizasyon eppDonuzSyncID: 0, // Baslik Filtresi Ayarlari yasakliBasliklariGizle : 1, yasakliRegexListesi : ["-liste bos kalmasin yasaklisi-"], // Spoiler Ayarlari spoilerGizle : 1, dilBilgisi : { spoilerAcma : 'göster', spoilerKapama : 'kapat', }, // Ozel Tema Ayarlari ozelTema : '', ozelTemaListesi : {}, // Diger Ayarlar hepFrameliSozluk : 0, sekmeDostuBaslik : 1, youtubeGomme : 1, resimGomme : 1, tweetGomme : 1, swfGomme : 1, bkzGomme : 1, bitmeyenEntryler : 1, bitmeyenEntrylerAuto : 1, yariOtomatikDonBebegim : 1, baslikSabitleme : 1, sagPanelSabitleme : 1, entryOnizleme : 1, nickBasligiKontrolu : 1, kisaUrlKontrolu : 1, kimdirNedirPopup : 1, benPopup : 1, modTarihiPopup: 1, ucNoktayiGeriGetir : 0, ucNoktayiTersineCevir : 0, solFrameMenusu: 1, canliBasliklar: 0, iframeGoster: 1, tezgetirGoster: 1, konuluEntryIsaretle: 1, konuluEntryHizala: 1, turkiyeSaatiniKullan: 1, }; var System = { storage : { ayarKaydi : "EPP_Ayarlar", //Icisleri Demirbaslari donBebegimGunu : "EPP_DonBebegimGunu", okunmusMesajListesi : "epp_okunmusMesajlar", solFrameReload : "epp_solFrameReload", runOnce : "epp_runOnce", //Guncelleme/Surum verisi sonKontrolGunu: "epp_lastUpdateCheckDay", isUpToDate : "epp_versionUpToDate", latestVersion : "epp_latestVersion", }, hazirTemaListesi : { 'her zamanki (ssg & clairvoyant)' : '', 'beslenir ki bu (nihavent uvertur)' : 'http://static.eksisozluk.com/css/bkb.css', 'cok pis (carmilla)' : 'http://static.eksisozluk.com/css/cokpis.css', 'her zamanki enhanced (rotten)' : 'http://static.eksisozluk.com/css/he.css', 'absolut (soulforge)' : 'http://static.eksisozluk.com/css/absolut.css', 'obsessed with blue (clairvoyant)' : 'http://static.eksisozluk.com/css/cressidablue.css', 'diet coke (clairvoyant)' : 'http://static.eksisozluk.com/css/dietcoke.css', 'yesil limon eksiliginde sozluk (carmilla)' : 'http://static.eksisozluk.com/css/yles.css', 'ssg\'nin rengi (clairvoyant)' : 'http://static.eksisozluk.com/css/ssg.css', 'yigit ozgur de mi (pipican ve kukucan)' : 'http://static.eksisozluk.com/css/yigitozgurdemi.css', }, } // Program Degiskenleri var debug = 0; var kacKisiyiz = 0; var neredeKaldik = 0; var ayarMessageBoxes; var embedTemplates = { youtube : { width : 640, height : 360, html : '<object style="width:__EMBED-W__; height:__EMBED-H__">'+ '<param name="movie" value="http://www.youtube.com/v/__EMBED-ID__"></param>'+ '<param name="allowFullScreen" value="true"></param>'+ '<param name="allowscriptaccess" value="always"></param>'+ '<embed src="http://www.youtube.com/v/__EMBED-ID__" '+ 'type="application/x-shockwave-flash" allowscriptaccess="always" '+ 'allowfullscreen="true" width="__EMBED-W__" height="__EMBED-H__">'+ '</embed>'+ '</object>' }, swf : { width : 480, height : 360, html : '<iframe width="__EMBED-W__" height="__EMBED-H__" src="__EMBED-SRC__" scrolling="no" frameborder="0"></iframe>' }, }; var shortUrlPattern = new RegExp( "(0rz\\.tw|1link\\.in|1url\\.com|2\\.gp|2big\\.at|2tu\\.us|3\\.ly|307\\.to|4ms\\.me|4sq\\.com|\ 4url\\.cc|6url\\.com|7\\.ly|a\\.gg|a\\.nf|aa\\.cx|abcurl\\.net|ad\\.vu|adf\\.ly|adjix\\.com|afx\\.cc|all\\.fuseurl\\.com|\ alturl\\.com|amzn\\.to|ar\\.gy|arst\\.ch|atu\\.ca|azc\\.cc|b23\\.ru|b2l\\.me|bacn\\.me|bcool\\.bz|binged\\.it|bit\\.ly|\ bizj\\.us|bloat\\.me|bravo\\.ly|bsa\\.ly|budurl\\.com|canurl\\.com|chilp\\.it|chzb\\.gr|cl\\.lk|cl\\.ly|clck\\.ru|cli\\.gs|\ cliccami\\.info|clickthru\\.ca|clop\\.in|conta\\.cc|cort\\.as|cot\\.ag|crks\\.me|ctvr\\.us|cutt\\.us|dai\\.ly|decenturl\\.com|\ dfl8\\.me|digbig\\.com|digg\\.com|disq\\.us|dld\\.bz|dlvr\\.it|do\\.my|doiop\\.com|dopen\\.us|easyuri\\.com|easyurl\\.net|\ eepurl\\.com|eweri\\.com|fa\\.by|fav\\.me|fb\\.me|fbshare\\.me|ff\\.im|fff\\.to|fire\\.to|firsturl\\.de|firsturl\\.net|\ flic\\.kr|flq\\.us|fly2\\.ws|fon\\.gs|freak\\.to|fuseurl\\.com|fuzzy\\.to|fwd4\\.me|fwib\\.net|g\\.ro\\.lt|getir\\.net|gizmo\\.do|gl\\.am|\ go\\.9nl\\.com|go\\.ign\\.com|go\\.usa\\.gov|goo\\.gl|goshrink\\.com|gurl\\.es|hex\\.io|hiderefer\\.com|hmm\\.ph|href\\.in|\ hsblinks\\.com|htxt\\.it|huff\\.to|hulu\\.com|hurl\\.me|hurl\\.ws|icanhaz\\.com|idek\\.net|ilix\\.in|is\\.gd|its\\.my|ix\\.lt|\ j\\.mp|jijr\\.com|kl\\.am|klck\\.me|korta\\.nu|krunchd\\.com|l9k\\.net|lat\\.ms|liip\\.to|liltext\\.com|linkbee\\.com|linkbun\\.ch|\ liurl\\.cn|ln-s\\.net|ln-s\\.ru|lnk\\.gd|lnk\\.ms|lnkd\\.in|lnkurl\\.com|lru\\.jp|lt\\.tl|lurl\\.no|macte\\.ch|mash\\.to|\ merky\\.de|migre\\.me|miniurl\\.com|minurl\\.fr|mke\\.me|moby\\.to|moourl\\.com|mrte\\.ch|myloc\\.me|myurl\\.in|n\\.pr|\ nn\\.nf|not\\.my|notlong\\.com|nsfw\\.in|nutshellurl\\.com|nxy\\.in|nyti\\.ms|o-x\\.fr|oc1\\.us|om\\.ly|omf\\.gd|\ omoikane\\.net|on\\.cnn\\.com|on\\.mktw\\.net|onforb\\.es|orz\\.se|ow\\.ly|ping\\.fm|pli\\.gs|pnt\\.me|politi\\.co|post\\.ly|pp\\.gg|\ profile\\.to|ptiturl\\.com|pub\\.vitrue\\.com|qlnk\\.net|qte\\.me|qu\\.tc|qy\\.fi|r\\.im|rb6\\.me|read\\.bi|readthis\\.ca|\ reallytinyurl\\.com|redir\\.ec|redirects\\.ca|redirx\\.com|retwt\\.me|ri\\.ms|rickroll\\.it|riz\\.gd|rt\\.nu|ru\\.ly|\ rubyurl\\.com|rurl\\.org|rww\\.tw|s4c\\.in|s7y\\.us|safe\\.mn|sameurl\\.com|sdut\\.us|shar\\.es|shink\\.de|shorl\\.com|\ short\\.ie|short\\.to|shortlinks\\.co\\.uk|shorturl\\.com|shout\\.to|show\\.my|shrinkify\\.com|shrinkr\\.com|shrt\\.fr|\ shrt\\.st|shrten\\.com|shrunkin\\.com|simurl\\.com|slate\\.me|smallr\\.com|smsh\\.me|smurl\\.name|sn\\.im|snipr\\.com|\ snipurl\\.com|snurl\\.com|sp2\\.ro|spedr\\.com|srnk\\.net|srs\\.li|starturl\\.com|su\\.pr|surl\\.co\\.uk|surl\\.hu|t\\.cn|\ t\\.co|t\\.lh\\.com|ta\\.gd|tbd\\.ly|tcrn\\.ch|tgr\\.me|tgr\\.ph|tighturl\\.com|tiniuri\\.com|tiny\\.cc|tiny\\.ly|tiny\\.pl|\ tinylink\\.in|tinyuri\\.ca|tinyurl\\.com|tk\\.|tl\\.gd|tmi\\.me|tnij\\.org|tnw\\.to|tny\\.com|to\\.ly|togoto\\.us|\ totc\\.us|toysr\\.us|tpm\\.ly|tr\\.im|tra\\.kz|trunc\\.it|twhub\\.com|twirl\\.at|twitclicks\\.com|twitterurl\\.net|\ twitterurl\\.org|twiturl\\.de|twurl\\.cc|twurl\\.nl|u\\.mavrev\\.com|u\\.nu|u76\\.org|ub0\\.cc|ulu\\.lu|updating\\.me|\ ur1\\.ca|url\\.az|url\\.co\\.uk|url\\.ie|url360\\.me|url4\\.eu|urlborg\\.com|urlbrief\\.com|urlcover\\.com|urlcut\\.com|\ urlenco\\.de|urli\\.nl|urls\\.im|urlshorteningservicefortwitter\\.com|urlx\\.ie|urlzen\\.com|usat\\.ly|use\\.my|\ vgn\\.am|vl\\.am|vm\\.lc|w55\\.de|wapo\\.st|wapurl\\.co\\.uk|wipi\\.es|wp\\.me|x\\.vu|xr\\.com|xrl\\.in|xrl\\.us|xurl\\.es|\ xurl\\.jp|y\\.ahoo\\.it|yatuc\\.com|ye\\.pe|yep\\.it|yfrog\\.com|yhoo\\.it|yiyd\\.com|youtu\\.be|yuarel\\.com|z0p\\.de|zi\\.ma|\ zi\\.mu|zipmyurl\\.com|zud\\.me|zurl\\.ws|zz\\.gd|zzang\\.kr|\u203a\\.ws|\u2729\\.ws|\u273f\\.ws|\u2765\\.ws|\u2794\\.ws|\ \u279e\\.ws|\u27a1\\.ws|\u27a8\\.ws|\u27af\\.ws|\u27b9\\.ws|\u27bd\\.ws)" ); //--// CROSS-BROWSER API //--// // Supported: Firefox, Chrome var browser = detectBrowser(); var logPrefix = "Eksi++ >> "; var localStoragePrefix = "__eksiplusplus_"; var unsafeWindow = (browser == "firefox")?unsafeWindow:window; var topDocument = (browser == "firefox")?window.top.document:document; function detectBrowser() { if (navigator.userAgent.match(/firefox/i)) return "firefox"; else if (navigator.userAgent.match(/(chrome|opera)/i)) return "chrome/opera"; else return "unknown"; } function EppAPI_log(str) { if (browser == "firefox") GM_log(str); else if (browser == "chrome/opera") console.log(logPrefix + str); } function EppAPI_addStyle(cssStr) { if (browser == "firefox") { GM_addStyle(cssStr); } else if (browser == "chrome/opera") { var newStyleElem = newElem("style"); var head = document.getElementsByTagName('head')[0]; if (!head) return; newStyleElem.type = 'text/css'; try { newStyleElem.innerHTML = cssStr; } catch(x) { style.innerText = cssStr; } head.appendChild(newStyleElem); } } function EppAPI_setValue(name, value) { if (browser == "firefox") { GM_setValue(name, value); } else if (browser == "chrome/opera") { localStorage.setItem(localStoragePrefix + name, value); } } function EppAPI_getValue(name, defval) { if (browser == "firefox") { return GM_getValue(name, defval); } else if (browser == "chrome/opera") { var ret = localStorage.getItem(localStoragePrefix + name); return ((ret != null)?ret:defval); } } function EppAPI_runOnce(func, name) { //EppAPI_setValue(System.storage.runOnce, '{}'); var runOnceList = JSON.parse(EppAPI_getValue(System.storage.runOnce, '{}')); //alert(JSON.stringify(runOnceList)); if (!runOnceList[name]) { //Daha once cagrilmamis func(); runOnceList[name] = 1; EppAPI_setValue(System.storage.runOnce, JSON.stringify(runOnceList)); } } function EppAPI_JSONRequest(params) { // This function is specifically for cross-domain JSON requests if (browser == "firefox") { // Firefox if (debug) EppAPI_log("Request: URL: " + params.url + " || DATA: " + "json="+params.data); GM_xmlhttpRequest({ url: params.url, method: params.method, data: "json="+params.data, headers: params.headers, onload: function(resp) { if (debug) EppAPI_log("JSON Resp: " + resp.responseText); params.onload(JSON.parse(resp.responseText)); } }); } else if (browser == "chrome/opera") { // Chrome (and possibly others) // Be Warned: Ugly Hack Ahead! // (Thanks to Chrome since it: // - Prevents cross-domain XHR for user scripts // - Prevents user scripts from accessing to *page's* window object) var reqId = Math.floor(Math.random()*99); var callbackFuncName = "epp_jsonCallback" + reqId; var respDivId = "epp_jsonRespDiv" + reqId; var url = params.url; if (params.data) url += "&json=" + params.data; url += "&callback=" + callbackFuncName; //EppAPI_log("JSON Data >> Data: " + params.data); //EppAPI_log("JSON Requesti >> URL: " + url); var reqScript = document.createElement('script'); reqScript.setAttribute('src', url); var callbackScript = document.createElement('script'); callbackScript.innerHTML = "function "+callbackFuncName+"(jsonStr) {"+ //"console.log('RAW RESPONSE: ' + jsonStr);"+ "if(typeof jsonStr == 'object') jsonStr = JSON.stringify(jsonStr);"+ "document.getElementById('"+respDivId+"').innerHTML = encodeURIComponent(jsonStr);"+ "}"; var jsonRespDiv = document.createElement("div"); jsonRespDiv.id = respDivId; jsonRespDiv.style.display = "none"; jsonRespDiv.addEventListener ("DOMNodeInserted", (function(respDiv,reqScr,cbackScr){ return function() { if(this.innerHTML == "") return; //EppAPI_log("JSON Response >> JSON: " + this.innerHTML); params.onload(JSON.parse(decodeURIComponent(this.innerHTML))); document.getElementsByTagName('body')[0].removeChild(respDiv); document.getElementsByTagName('head')[0].removeChild(reqScr); document.getElementsByTagName('head')[0].removeChild(cbackScr); }})(jsonRespDiv, reqScript, callbackScript), true); document.getElementsByTagName('head')[0].appendChild(callbackScript); document.getElementsByTagName('head')[0].appendChild(reqScript); document.getElementsByTagName('body')[0].appendChild(jsonRespDiv); } } //--// FONKSIYONLAR, ISLEMLER, EMEKCILER //-// // XPath wrapper function xpath(xpath, element) { if (!element) element = document; return document.evaluate(xpath, element, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); } function isInList(what, list){ for (var elem in list) if (list[elem] == what) return parseInt(elem); return -1; } function validate(input, type) { if (!type) type = "yazar"; if (type == "yazar") { if (input.match(/^\s*$/)) return false; else return input.match(/^[a-z0-9 ]{0,40}$/); } else if (type == "css") { return input.match(/^\S+\.css$/i); } } function idGet(id) { return document.getElementById(id); } //Finds y value of given object function findYPos(elem) { var top = 0; if (elem.offsetParent) { do { top += elem.offsetTop; } while (elem = elem.offsetParent); } return top; } function isCurrentVersionOlderThan(targetVersion) { var currentAyarlar = EppAPI_getValue(System.storage.ayarKaydi, 0); if (!currentAyarlar) { return false; } else { currentAyarlar = JSON.parse(currentAyarlar); var cur_parts = currentAyarlar["version"].split('.'); var tar_parts = targetVersion.split('.'); var cur_len = cur_parts.length; var tar_len = tar_parts.length; var tar = cur = 0; for(var i = 0, len = (cur_len > tar_len ? cur_len : tar_len); i < len && tar == cur; ++i) { cur = +(cur_parts[i] || '0'); tar = +(tar_parts[i] || '0'); } return (tar !== cur) ? tar > cur : false; } } function newElem(type) { return document.createElement(type); } function newText(text) { return document.createTextNode(text); } function donuzDropDownListesi() { var list = ""; for (var donuz in Ayarlar.donuzListesi) { list += "<option value='"+Ayarlar.donuzListesi[donuz]+"'>"+Ayarlar.donuzListesi[donuz]+"</option>"; } return list; } function yasakliBaslikDropDownListesi() { var list = ""; for (var i in Ayarlar.yasakliRegexListesi) { list += "<option value='"+escape(Ayarlar.yasakliRegexListesi[i])+"'>"+Ayarlar.yasakliRegexListesi[i]+"</option>"; } return list; } function hazirTemaDropDownListesi() { var list = ""; for (tema in Ayarlar.ozelTemaListesi) { list += "<option value='"+Ayarlar.ozelTemaListesi[tema]+"' "+((Ayarlar.ozelTemaListesi[tema] == Ayarlar.ozelTema)?"selected='selected'":"")+">"+tema+"</option>"; } for (tema in System.hazirTemaListesi) { list += "<option value='"+System.hazirTemaListesi[tema]+"' "+((System.hazirTemaListesi[tema] == Ayarlar.ozelTema)?"selected='selected'":"")+">"+tema+"</option>"; } return list; } function seciliTemaIsmi() { for (tema in Ayarlar.ozelTemaListesi) { if (Ayarlar.ozelTemaListesi[tema] == Ayarlar.ozelTema) return tema; } for (tema in System.hazirTemaListesi) { if (System.hazirTemaListesi[tema] == Ayarlar.ozelTema) return tema; } } function ayarKaynastir(asil, yeni) { var kaynasik = asil || {}; for (var elem in yeni) { if (typeof asil[elem] != "undefined") { if (typeof asil[elem] == "object" && asil[elem] != null) kaynasik[elem] = ayarKaynastir(asil[elem],yeni[elem]); else kaynasik[elem] = asil[elem]; } else { kaynasik[elem] = yeni[elem]; } } return kaynasik; } function tumAyarlariKaydet() { var ayarlarJson = JSON.stringify(Ayarlar); EppAPI_setValue(System.storage.ayarKaydi, ayarlarJson); if (debug) EppAPI_log("Tum ayarlar kaydedildi. JSON > " + ayarlarJson); } function tumAyarlariSifirla() { EppAPI_setValue(System.storage.ayarKaydi, 0); if (debug) EppAPI_log("Tum ayarlar Sifirlandi"); } function tumAyarlariYukle() { var ayarlarJson = EppAPI_getValue(System.storage.ayarKaydi, 0); if (ayarlarJson) { var kayitliAyarlar = JSON.parse(ayarlarJson); if (!kayitliAyarlar.version || (Ayarlar.version != kayitliAyarlar.version)) { Ayarlar = ayarKaynastir(kayitliAyarlar, Ayarlar); Ayarlar.version = meta.version; tumAyarlariKaydet(); EppAPI_log("Eski Ayarlar Yenileriyle Birlestirildi! Son JSON > " + JSON.stringify(Ayarlar)); } else { Ayarlar = kayitliAyarlar; if (debug) EppAPI_log("Tum ayarlar yuklendi. JSON > " + ayarlarJson); } } else { if (debug) EppAPI_log("Ayar kaydi bulunamadi. Ayarlar aynen kaldi."); } } // Donuz mu dedim function isDonuz(suser) { for (var i = 0; i < Ayarlar.donuzListesi.length; i++) { if (Ayarlar.donuzListesi[i].toLowerCase() == suser.toLowerCase()) return true; // donuz dedi... } return false; // manda cikti! } function donuzCikar(eskiDonuz) { tumAyarlariYukle(); var yeniDonuzlar = new Array(); var j = 0; for (var i = 0; i < Ayarlar.donuzListesi.length; i++) { if (Ayarlar.donuzListesi[i] != eskiDonuz) { yeniDonuzlar[j++] = Ayarlar.donuzListesi[i]; } } Ayarlar.donuzListesi = yeniDonuzlar; donuzlariKaydet(); if (debug) EppAPI_log("Yazar '" + eskiDonuz + "' Artik Donuz Degil!"); return yeniDonuzlar; } function donuzlariKaydet() { tumAyarlariKaydet(); if (debug) EppAPI_log("Kaydedilecek Donuz Listesi: " + Ayarlar.donuzListesi); } function donuzEkle(yeniDonuz) { tumAyarlariYukle(); for (var i=0; i<Ayarlar.donuzListesi.length; i++) { if (Ayarlar.donuzListesi[i] == yeniDonuz) { return false; // Donuz oldugu biliniyormus zaten... } } Ayarlar.donuzListesi.push(yeniDonuz); donuzlariKaydet(); if (debug) EppAPI_log("Yazar '" + yeniDonuz + "' Donuzlara Eklendi!"); return true; } function importDonuzList(jsonTxt) { var list = JSON.parse(jsonTxt); var added = new Array(); for (var i in list) { if (donuzEkle(list[i])) { added.push(list[i]); } } return added; } function exportDonuzList() { return JSON.stringify(Ayarlar.donuzListesi); } function importYasakBaslikList(jsonTxt) { var list = JSON.parse(jsonTxt); var added = new Array(); for (var i in list) { if (yasakliRegexEkle(list[i])) { added.push(list[i]); } } return added; } function exportYasakBaslikList() { return JSON.stringify(Ayarlar.yasakliRegexListesi); } function printEppDonuzSyncID() { if (Ayarlar.eppDonuzSyncID) { return "(Donuz SyncID: <b>"+Ayarlar.eppDonuzSyncID+"</b>)"; } else { return ""; } } function senkronEyle() { alert("senkron olmus say!"); } function yasakliRegexCikar(eskiRegex) { tumAyarlariYukle(); var yeniListe = new Array(); var j = 0; for (var i = 0; i < Ayarlar.yasakliRegexListesi.length; i++) { if (Ayarlar.yasakliRegexListesi[i] != eskiRegex) { yeniListe[j++] = Ayarlar.yasakliRegexListesi[i]; } } Ayarlar.yasakliRegexListesi = yeniListe; yasakliRegexleriKaydet(); if (debug) EppAPI_log("Regex '" + eskiRegex + "' artik yasakli degil!"); return yeniListe; } function yasakliRegexleriKaydet() { tumAyarlariKaydet(); if (debug) EppAPI_log("Kaydedilecek Yasakli Regex Listesi: " + Ayarlar.yasakliRegexListesi); } function yasakliRegexEkle(yeniRegex) { tumAyarlariYukle(); for (var i=0; i<Ayarlar.yasakliRegexListesi.length; i++) { if (Ayarlar.yasakliRegexListesi[i] == yeniRegex) { return false; // varmis onceden } } Ayarlar.yasakliRegexListesi.push(yeniRegex); yasakliRegexleriKaydet(); if (debug) EppAPI_log("Regex '" + yeniRegex + "' artik yasakli!"); return true; } function ayarMenusuDerki(msg,box) { if (!ayarMessageBoxes) { ayarMessageBoxes = new Array(); ayarMessageBoxes[0] = idGet("epp_messageBox0"); ayarMessageBoxes[1] = idGet("epp_messageBox1"); ayarMessageBoxes[2] = idGet("epp_messageBox2"); ayarMessageBoxes[3] = idGet("epp_messageBox3"); ayarMessageBoxes[4] = idGet("epp_messageBox4"); ayarMessageBoxes[5] = idGet("epp_messageBox5"); } ayarMessageBoxes[(typeof box != "undefined")?box:1].innerHTML = msg; } // EKSI++ AYAR MENUSU function ayarMenusunuGoster() { tumAyarlariYukle(); var panelKutusu = idGet("epp_ayarPaneli"); if (panelKutusu) { if (idGet("epp_sabitBaslik")) idGet("epp_sabitBaslik").style.position = "relative"; panelKutusu.style.display = ""; //Sayfayi basa cekelim en azindan window.scrollTo(0,0); return; } panelKutusu = document.createElement("div"); panelKutusu.id = "epp_ayarPaneli"; panelKutusu.style.display = "none"; panelKutusu.style.position = "relative"; panelKutusu.style.top = "0"; panelKutusu.style.left = "0"; panelKutusu.style.width = "100%"; panelKutusu.style.height = "100%"; panelKutusu.style.backgroundAttachment = window.getComputedStyle(document.body, null).getPropertyValue("background-attachment"); panelKutusu.style.backgroundColor = window.getComputedStyle(document.body, null).getPropertyValue("background-color"); panelKutusu.style.backgroundImage = window.getComputedStyle(document.body, null).getPropertyValue("background-image"); panelKutusu.innerHTML = ""+ "<h1 class='title' style='text-align:center;'><a><b>Eksi++ Ayar Paneli</b></a></h1>"+ "<div style='padding: 2em;'>"+ "<div id='epp_messageBox0' style='text-align:center;' tabindex='-1'>"+ "Yapilan degisiklikler <b>aninda</b> kaydedildiginden <i>hepsini kaydet</i> tusu aranmasi luzumsuzdur!"+ "</div><br/>"+ "<fieldset style='padding-left:1em;'>"+ "<legend><b>| Guncelleme Islemleri |</b></legend>"+ "<br/>"+ "Elinizdeki surum: <b>Eksi++ v"+meta.version+"</b><br/><br/>"+ "(Not: Guncelleme kontrolleri <b>otomatik</b> olarak yapilmaktadir. Bir guncelleme oldugu zaman ust framede kucuk bir ibareyle haberlendirileceksiniz.)<br/><br/>"+ "<button class='but' id='epp_guncellemeKontrolBut'>Yeni Eksi++ cikmis mi?</button> (<b>Simdi</b> kontrol etmek isteyenlere)<br/><br/>"+ "</fieldset><br/><div id='epp_messageBox1' style='text-align:center;' tabindex='-1'> </div>"+ "<fieldset style='padding-left:1em;'>"+ "<legend><b>| Donuz Cobani |</b></legend>"+ "<br/>"+ "<input id='epp_donuzEntryGizleCB' type='checkbox'> Donuz <b>entry</b>lerini gizle (Sag Frame)<br/><br/>"+ "<input id='epp_donuzBaslikGizleCB' type='checkbox'> Donuz <b>baslik</b>larini gizle (Sol Frame)<br/><br/>"+ "Donuzlara <b>ekle</b> <input id='epp_donuzEkleVal' type='text' style='min-width: 20em;'> <button class='but' id='epp_donuzEkleBut'>Ekle</button><br/><br/>"+ "Donuzlardan <b>sil</b> <select id='epp_donuzSilDD' style='min-width: 20em;'>"+donuzDropDownListesi()+"</select> <button class='but' id='epp_donuzSilBut'>Sil</button><br/><br/>"+ "<textarea id='epp_donuzImportExportTA' rows='5' cols='50' style='display:none;'></textarea>"+ "Donuz listesi <b>aktarim</b> islemleri: <button class='but' id='epp_donuzExportBut'>ihrac et</button> <button class='but' id='epp_donuzImportBut'>ithal et</button><br/><br/>"+ "</fieldset><br/><div id='epp_messageBox5' style='text-align:center;' tabindex='-1'> </div>"+ "<fieldset style='padding-left:1em;'>"+ "<legend><b>| Istenmeyen Baslik Filtresi | "+"</b></legend>"+ "<br/>"+ "<input id='epp_yasakBaslikGizleCB' type='checkbox'> <b>Yasakli kelimeleri</b> iceren basliklari gizle<br/><br/>"+ "Yasakli kelimelere <b>ekle</b> <input id='epp_yasakBaslikEkleVal' type='text' style='min-width: 20em;'> <button class='but' id='epp_yasakBaslikEkleBut'>Ekle</button> (<a href='show.asp?t=regular+expression'>regular expression</a>'dir aslen, kullaniniz)<br/><br/>"+ "Yasakli kelimelerden <b>sil</b> <select id='epp_yasakBaslikSilDD' style='min-width: 20em;'>"+yasakliBaslikDropDownListesi()+"</select> <button class='but' id='epp_yasakBaslikSilBut'>Sil</button><br/><br/>"+ "<textarea id='epp_yasakBaslikImportExportTA' rows='5' cols='50' style='display:none;'></textarea>"+ "Yasakli kelimeler <b>aktarim</b> islemleri: <button class='but' id='epp_yasakBaslikExportBut'>ihrac et</button> <button class='but' id='epp_yasakBaslikImportBut'>ithal et</button><br/><br/>"+ "</fieldset><br/><div id='epp_messageBox2' style='text-align:center;' tabindex='-1'> </div>"+ "<fieldset style='padding-left:1em;'>"+ "<legend><b>| Spoiler Terbiyecisi |</b></legend>"+ "<br/>"+ "<input id='epp_spoilerGizleCB' type='checkbox'>Spoilerlari otomatik gizle (Butun spoilerlar once gizlenir ki kullanici istedigi zaman istedigini acabilsin, di mi?)<br/><br/>"+ "Spoiler <b>acma</b> ibaresini belirle <input id='epp_spoilerAcText' type='text' style='min-width: 20em;' value='"+Ayarlar.dilBilgisi.spoilerAcma+"'> <button class='but' id='epp_spoilerAcBut'>Oldu Bu</button><br/><br/>"+ "Spoiler <b>kapatma</b> ibaresini belirle <input id='epp_spoilerKapaText' type='text' style='min-width: 20em;' value='"+Ayarlar.dilBilgisi.spoilerKapama+"'> <button class='but' id='epp_spoilerKapaBut'>Evet Boyle</button><br/><br/>"+ "</fieldset><br/><div id='epp_messageBox3' style='text-align:center;' tabindex='-1'> </div>"+ "<fieldset style='padding-left:1em;'>"+ "<legend><b>| Tema++ |</b></legend>"+ "<br/>"+ "<b>Hazir tema</b>lar: <select id='epp_hazirTemaDD' style='min-width: 20em;'>"+hazirTemaDropDownListesi()+"</select> <button class='but' id='epp_hazirTemaBut'>Kullan</button><br/><br/>"+ "Bambaska bir tema kullanmak icin:<br/>"+ "Yeni tema icin <b>isim</b> <input id='epp_yeniTemaText' type='text' style='min-width: 20em;'/> Tema <b>CSS</b>'i (url) <input id='epp_yeniTemaCSS' type='text' style='min-width: 30em;'/> <button class='but' id='epp_yeniTemaBut'>Kaydet ve Kullan</button><br/><br/>"+ "</fieldset><br/><div id='epp_messageBox4' style='text-align:center;' tabindex='-1'> </div>"+ "<fieldset style='padding-left:1em;'>"+ "<legend><b>| Diger Cinlikler |</b></legend>"+ "<br/>"+ "<input id='epp_solFrameMenusuCB' type='checkbox'> <b>Sol frame menusunu (o_0)</b> goster (neler donmus serhat, gunun onemi ve otomatik yenileme menusu) "+"<br/><br/>"+ //"<input id='epp_canliBasliklarCB' type='checkbox'> <b>Canli basliklar</b> sistemini kullan (sol frame'de basliklari oldugu yerde gunceller, gundemi yakalatir) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_hepFrameliSozlukCB' type='checkbox'> <b>Ust ve sol frameleri</b> her sayfada goster (baslik sayfalarinda dahi sol ve ust frameleri her zaman gosterir, ortami bozmaz) "+"<br/><br/>"+ "<input id='epp_tabDostuBaslikCB' type='checkbox'> <b>Sekme(tab) dostu</b> basliklari kullan (Ayni anda bir cok sekme acinca gorulen 'eksi sozluk -...' isimli sekme karmasasina son verir, basligi one alarak sekmeleri daha ayird edilebilir kilar) "+"<br/><br/>"+ "<input id='epp_bakinizGommeCB' type='checkbox'> <b>Entry bakiniz</b>larini oldugu yerde acilabilir yap (bkz verilen entry tiklaninca oldugu yerde gosterilir, ayri pencere/sekme israfi yapmaz, zaman kazandirir) "+"<br/><br/>"+ "<input id='epp_youtubeGommeCB' type='checkbox'> <b>Youtube</b> linklerini oldugu yerde (gomulu) oynatilabilir yap (linke tiklaninca oracikta oynatir videoyu) "+"<br/><br/>"+ "<input id='epp_resimGommeCB' type='checkbox'> <b>Resim</b> linklerini oldugu yerde (gomulu) gosterilebilir yap (linke tiklaninca oracikta gosterir resmi) "+"<br/><br/>"+ "<input id='epp_tweetGommeCB' type='checkbox'> <b>Twitter</b> status linklerini oldugu yerde (gomulu) gosterilebilir yap (linke tiklaninca oracikta gosterir tweet'i) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_swfGommeCB' type='checkbox'> <b>Swf</b> linklerini oldugu yerde (gomulu) gosterilebilir yap (linke tiklaninca oracikta gosterir swf'i) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_donBebegimCB' type='checkbox'> Yari-otomatik <b>don bebegim</b> (Ayni gun icinde ilk alin teri don bebegimden sonrasini otomatik yapar, 5 dakikada bir 'don bebegim' yaptirmaz) "+"<br/><br/>"+ "<input id='epp_bitmeyenEntrylerCB' type='checkbox'> <b>Bitmeyen entry'ler</b> sistemini kullan (sayfa sayfa gezdirmeden sonraki sayfanin entyr'lerini okutur, kafayi rahatlatir) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_bitmeyenEntrylerAutoCB' type='checkbox' style='margin-left:25px;'> <b>Otomatik</b> olsun (sayfa sonuna gelindiginde otomatik olarak sonraki entry'leri yukler) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_sabitBaslikCB' type='checkbox'> Basliklari <b>sabitle</b> (Basliklari sayfayla beraber kayabilir yapar, uzun basliklarda kolaylik saglar) "+"<br/><br/>"+ "<input id='epp_sabitSagPanelCB' type='checkbox'> Sag paneli <b>sabitle</b> (Sag paneli sayfayla beraber kayabilir yapar, uzun basliklarda erisim kolayligi saglar) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_entryOnizlemeCB' type='checkbox'> <b>Entry onizleme</b> sistemini kullan (Entry girerken, ayni anda entry'nin sayfadaki halini gosterir) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_nickBasligiKontroluCB' type='checkbox'> <b>Nick basliklari</b>na kimdir nedir linki ekle (Basligin hemen yanina nick sahibinin kimdir nedir linkini ekler) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_kisaUrlKontroluCB' type='checkbox'> <b>Kisaltilmis linkleri</b> acmadan kontrol et (Kisaltilmis bir linke tiklaninca, linkin yonlenecegi sayfayi onceden gosterir) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_ucnoktaCB' type='checkbox'> <b>Uc nokta</b>li basliklar (Sol framedeki baslik listesini eski 'uc nokta' sistemine cevirir, nostalji yaratir) "+"<br/><br/>"+ "<input id='epp_ucnoktaTersCB' type='checkbox' style='margin-left:25px;'> <b>Ters olsun</b> (Uc nokta ve baslik link'leri birbirleriyle yer degistirir) "+"<br/><br/>"+ "<input id='epp_kimdirnedirPopupCB' type='checkbox'> <b>'Kimdir Nedir'</b> pop-up olsun (Entry altlarindaki 'kimdir nedir'leri eskisi gibi pop-up olarak gosterir, sac bas yoldurmaz) "+"<br/><br/>"+ "<input id='epp_benPopupCB' type='checkbox'> <b>'Ben'</b> pop-up olsun ('Ben' bilgilerinin pop-up olarak acilmasini saglar) "+"<br/><br/>"+ "<input id='epp_modTarihiPopupCB' type='checkbox'> <b>'Moderasyon tarihcesi'</b> pop-up olsun (Moderasyon tarihcesinin pop-up olarak acilmasini saglar) "+"<br/><br/>"+ "<input id='epp_eppMesajKutusuCB' type='checkbox'> <b>Eksi++ Mesaj Kutusu</b>nu kullan (mesajlari alici bazli gruplar, bunyede gmail havasi yaratir) "+" (<b>ONEMLI:</b> zeytinyagi modu kapali olmali!) "+"<br/><br/>"+ "<input id='epp_eksiFavoriCB' type='checkbox'> <b>EksiFavori</b>'yi kullan (entry'leri favorilere ekleme ozelligini getirir) "+"<b style='color:red'>Yeni!</b>"+"<br/><br/>"+ "<input id='epp_iframeGosterCB' type='checkbox'> <b>iFrame tusu</b>nu goster (duz basliklara sol ve ust frame'leri ekler) "+"<br/><br/>"+ "<input id='epp_tezgetirGosterCB' type='checkbox'> <b>Tez getir</b> sistemini kullan (baslik sayfasindan baslik aramaya izin verir) "+"<br/><br/>"+ "<input id='epp_konuluEntryIsaretleCB' type='checkbox'> Konulu entry'leri <b>isaretle</b> (kit veya tumunu goster ile gelinen sayfalarda, asil entry'yi isaretler) "+"<br/><br/>"+ "<input id='epp_konuluEntryHizalaCB' type='checkbox'> Konulu entry'leri <b>basa hizala</b> (kit veya tumunu goster ile gelinen sayfalarda, ekrani asil entry'ye kadar kaydirir) "+"<br/><br/>"+ "<input id='epp_turkiyeSaatiniKullanCB' type='checkbox'> Tarih/saat islemleri icin <b>Turkiye saatini kullan</b> (Serhat ve gunun onemi fonksiyonlari icin anlamli) "+"<br/><br/>"+ "</fieldset><br/><br/>"+ "<div style='text-align:center;'><button class='but' id='epp_ayarlariKapatBut'>çok iyi de oldu, çok güzel iyi oldu tamam mi</button></div>"+ "</div>"+ "<br/>"+ "<hr/>"; document.body.insertBefore(panelKutusu, document.body.firstChild); var ayarlariKapatBut = idGet("epp_ayarlariKapatBut"); ayarlariKapatBut.addEventListener("click", function(){ window.location.reload(); }, true); var guncellemeBut = idGet("epp_guncellemeKontrolBut"); var donuzEntryGizleCB = idGet("epp_donuzEntryGizleCB"); var donuzBaslikGizleCB = idGet("epp_donuzBaslikGizleCB"); var donuzEkleVal = idGet("epp_donuzEkleVal"); var donuzEkleBut = idGet("epp_donuzEkleBut"); var donuzSilDD = idGet("epp_donuzSilDD"); var donuzSilBut = idGet("epp_donuzSilBut"); var donuzImportBut = idGet("epp_donuzImportBut"); var donuzExportBut = idGet("epp_donuzExportBut"); var spoilerGizleCB = idGet("epp_spoilerGizleCB"); var spoilerAcText = idGet("epp_spoilerAcText"); var spoilerAcBut = idGet("epp_spoilerAcBut"); var spoilerKapaText = idGet("epp_spoilerKapaText"); var spoilerKapaBut = idGet("epp_spoilerKapaBut"); var hazirTemaDD = idGet("epp_hazirTemaDD"); var hazirTemaBut = idGet("epp_hazirTemaBut"); var yeniTemaText = idGet("epp_yeniTemaText"); var yeniTemaCSS = idGet("epp_yeniTemaCSS"); var yeniTemaBut = idGet("epp_yeniTemaBut"); var tabDostuBaslikCB = idGet("epp_tabDostuBaslikCB"); var youtubeGommeCB = idGet("epp_youtubeGommeCB"); var resimGommeCB = idGet("epp_resimGommeCB"); var tweetGommeCB = idGet("epp_tweetGommeCB"); var swfGommeCB = idGet("epp_swfGommeCB"); var bakinizGommeCB = idGet("epp_bakinizGommeCB"); var donBebegimCB = idGet("epp_donBebegimCB"); var sabitBaslikCB = idGet("epp_sabitBaslikCB"); var sabitSagPanelCB = idGet("epp_sabitSagPanelCB"); var entryOnizlemeCB = idGet("epp_entryOnizlemeCB"); var nickBasligiKontroluCB = idGet("epp_nickBasligiKontroluCB"); var kisaUrlKontroluCB = idGet("epp_kisaUrlKontroluCB"); var ucnoktaCB = idGet("epp_ucnoktaCB"); var ucnoktaTersCB = idGet("epp_ucnoktaTersCB"); var kimdirnedirPopupCB = idGet("epp_kimdirnedirPopupCB"); var benPopupCB = idGet("epp_benPopupCB"); var modTarihiPopupCB = idGet("epp_modTarihiPopupCB"); var yasakliBaslikGizleCB = idGet("epp_yasakBaslikGizleCB"); var yasakBaslikEkleVal = idGet("epp_yasakBaslikEkleVal"); var yasakBaslikEkleBut = idGet("epp_yasakBaslikEkleBut"); var yasakBaslikSilDD = idGet("epp_yasakBaslikSilDD"); var yasakBaslikSilBut = idGet("epp_yasakBaslikSilBut"); var yasakBaslikImportBut = idGet("epp_yasakBaslikImportBut"); var yasakBaslikExportBut = idGet("epp_yasakBaslikExportBut"); var eppMesajKutusuCB = idGet("epp_eppMesajKutusuCB"); var eksiFavoriCB = idGet("epp_eksiFavoriCB"); var hepFrameliSozlukCB = idGet("epp_hepFrameliSozlukCB"); var solFrameMenusuCB = idGet("epp_solFrameMenusuCB"); var iframeGosterCB = idGet("epp_iframeGosterCB"); var tezgetirGosterCB = idGet("epp_tezgetirGosterCB"); var konuluEntryIsaretleCB = idGet("epp_konuluEntryIsaretleCB"); var konuluEntryHizalaCB = idGet("epp_konuluEntryHizalaCB"); var turkiyeSaatiniKullanCB = idGet("epp_turkiyeSaatiniKullanCB"); var bitmeyenEntrylerCB = idGet("epp_bitmeyenEntrylerCB"); var bitmeyenEntrylerAutoCB = idGet("epp_bitmeyenEntrylerAutoCB"); //var canliBasliklarCB = idGet("epp_canliBasliklarCB"); donuzEntryGizleCB.checked = Ayarlar.donuzGirdileriniGizle; donuzBaslikGizleCB.checked = Ayarlar.donuzBasliklariniGizle; spoilerGizleCB.checked = Ayarlar.spoilerGizle; tabDostuBaslikCB.checked = Ayarlar.sekmeDostuBaslik; youtubeGommeCB.checked = Ayarlar.youtubeGomme; bakinizGommeCB.checked = Ayarlar.bkzGomme; donBebegimCB.checked = Ayarlar.yariOtomatikDonBebegim; sabitBaslikCB.checked = Ayarlar.baslikSabitleme; sabitSagPanelCB.checked = Ayarlar.sagPanelSabitleme; entryOnizlemeCB.checked = Ayarlar.entryOnizleme; nickBasligiKontroluCB.checked = Ayarlar.nickBasligiKontrolu; kisaUrlKontroluCB.checked = Ayarlar.kisaUrlKontrolu; ucnoktaCB.checked = Ayarlar.ucNoktayiGeriGetir; ucnoktaTersCB.checked = Ayarlar.ucNoktayiTersineCevir; kimdirnedirPopupCB.checked = Ayarlar.kimdirNedirPopup; benPopupCB.checked = Ayarlar.benPopup; modTarihiPopupCB.checked = Ayarlar.modTarihiPopup; resimGommeCB.checked = Ayarlar.resimGomme; tweetGommeCB.checked = Ayarlar.tweetGomme; swfGommeCB.checked = Ayarlar.swfGomme; yasakliBaslikGizleCB.checked = Ayarlar.yasakliBasliklariGizle; eppMesajKutusuCB.checked = Ayarlar.eppMesajKutusu; eksiFavoriCB.checked = Ayarlar.eksiFavori; hepFrameliSozlukCB.checked = Ayarlar.hepFrameliSozluk; solFrameMenusuCB.checked = Ayarlar.solFrameMenusu; iframeGosterCB.checked = Ayarlar.iframeGoster; tezgetirGosterCB.checked = Ayarlar.tezgetirGoster; konuluEntryIsaretleCB.checked = Ayarlar.konuluEntryIsaretle; konuluEntryHizalaCB.checked = Ayarlar.konuluEntryHizala; turkiyeSaatiniKullanCB.checked = Ayarlar.turkiyeSaatiniKullan; bitmeyenEntrylerCB.checked = Ayarlar.bitmeyenEntryler; bitmeyenEntrylerAutoCB.checked = Ayarlar.bitmeyenEntrylerAuto; //canliBasliklarCB.checked = Ayarlar.canliBasliklar; guncellemeBut.title = "Ustunde bekleyerek degil de tusa basarak kontrol edersek daha makbule gecer"; guncellemeBut.addEventListener("click",function(){ EppAPI_JSONRequest({ url: "http://mekan.dreamhosters.com/eksi++/version.php?id="+meta.id+"&v="+meta.version+"&r="+((new Date()).getTime()), method: "GET", data: "", onload: function(json){ try { if (json.uptodate == "no") { if (confirm("Yeni surum cikmis: Eksi++ v"+json.latest+"\n\nGuncellemek ister misin?")) { window.open("http://userscripts.org/scripts/source/"+meta.id+".user.js"); } } else { alert("Eldeki surum gayet guncel"); } } catch (e) { alert("Eksi++ Hata: Guncelleme sorgusunda bir gariplik oldu, bilemedim."); } }, }); },true); donuzEntryGizleCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.donuzGirdileriniGizle = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Donuz <b>entry</b>leri <b>"+(this.checked?"gorunmez":"gorunur")+"</b> kilindi!", 1); }, true); donuzBaslikGizleCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.donuzBasliklariniGizle = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Donuz <b>baslik</b>lari <b>"+(this.checked?"gorunmez":"gorunur")+"</b> kilindi!", 1); }, true); donuzEkleBut.addEventListener("click", function(){ tumAyarlariYukle(); if (!validate(donuzEkleVal.value, 'yazar')) { alert('"' + donuzEkleVal.value + '"\n\nIsimde bi gariplik var sanki?'); return; } donuzEkle(donuzEkleVal.value); ayarMenusuDerki("<b>"+donuzEkleVal.value+"</b> donuzlara <b>eklendi</b>!", 1); donuzEkleVal.value = ''; donuzSilDD.innerHTML = donuzDropDownListesi(); }, true); donuzSilBut.addEventListener("click", function(){ tumAyarlariYukle(); if (donuzSilDD.value) { donuzCikar(donuzSilDD.value); ayarMenusuDerki("<b>"+donuzSilDD.value+"</b> donuzlardan <b>cikarildi</b>!", 1); donuzSilDD.innerHTML = donuzDropDownListesi(); } else { alert("Hangi donuz?"); } }, true); donuzImportBut.addEventListener("click", function(){ var dataTA = idGet("epp_donuzImportExportTA"); if (dataTA.style.display == "none") { //Once kutuyu acalim... dataTA.style.display = ""; alert("Lutfen daha onceden ihrac ederek kaydetmis oldugunuz listeyi acilan alana yapistirip, bir kere daha 'ithal' tusuna basin"); } else { try { EppAPI_log("Ithal edilecek veri: " + dataTA.value); var list = importDonuzList(dataTA.value); if (!list) return alert("Eklenecek bir sey bulunamadi gibi sanki belki..."); ayarMenusuDerki("<b>"+list.join(", ")+"</b> donuzlara <b>eklendi</b>!", 1); donuzSilDD.innerHTML = donuzDropDownListesi(); } catch (err) { alert("Ithalat basarisiz oldu. Listede bir gariplik olmasin?"); } } }, true); donuzExportBut.addEventListener("click", function(){ var dataTA = idGet("epp_donuzImportExportTA"); dataTA.style.display = ""; dataTA.value = exportDonuzList(); alert("Donuz listenizi ihrac etmek icin acilan kutudaki verinin tamamini aynen kopyalayin ve kaydedin"); }, true); spoilerGizleCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.spoilerGizle = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Spoiler korumasi <b>"+(this.checked?"acildi":"kapandi")+"</b>!", 2); }, true); spoilerAcBut.addEventListener("click", function(){ tumAyarlariYukle(); Ayarlar.dilBilgisi.spoilerAcma = spoilerAcText.value; tumAyarlariKaydet(); ayarMenusuDerki("Spoiler <b>acma</b> ibaresi <i>"+spoilerAcText.value+"</i> olarak kaydedildi!", 2); }, true); spoilerKapaBut.addEventListener("click", function(){ tumAyarlariYukle(); Ayarlar.dilBilgisi.spoilerKapama = spoilerKapaText.value; tumAyarlariKaydet(); ayarMenusuDerki("Spoiler <b>kapatma</b> ibaresi <i>"+spoilerKapaText.value+"</i> olarak kaydedildi!", 2); }, true); hazirTemaBut.addEventListener("click", function(){ tumAyarlariYukle(); Ayarlar.ozelTema = hazirTemaDD.value; tumAyarlariKaydet(); ayarMenusuDerki("Tema <b>"+seciliTemaIsmi()+"</b> olarak ayarlandi! Degisikligi gorebilmek icin lutfen sayfayi yenileyin.", 3); }, true); yeniTemaBut.addEventListener("click", function(){ tumAyarlariYukle(); if (!validate(yeniTemaCSS.value, 'css')) { if(!confirm('"' + yeniTemaCSS.value + '"\n\nBunun gecerli bir CSS dosyasi olduguna emin misin?')) return; } Ayarlar.ozelTemaListesi[yeniTemaText.value] = yeniTemaCSS.value; Ayarlar.ozelTema = yeniTemaCSS.value; tumAyarlariKaydet(); ayarMenusuDerki("Hakikaten <b>"+yeniTemaText.value+"</b> bambaskaymis! Degisikligi gorebilmek icin lutfen sayfayi yenileyin.", 3); yeniTemaText.value = ''; yeniTemaCSS.value = ''; hazirTemaDD.innerHTML = hazirTemaDropDownListesi(); }, true); eppMesajKutusuCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.eppMesajKutusu = this.checked; tumAyarlariKaydet(); ayarMenusuDerki((this.checked?"<b>Eksi++ Mesaj Kutusu</b>":"<b>Klasik</b> mesaj kutusu")+" aktif", 4); }, true); eksiFavoriCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.eksiFavori = this.checked; tumAyarlariKaydet(); ayarMenusuDerki((this.checked?"<b>EksiFavori ozelligi aktif</b>":"<b>EksiFavori ozelligi kapatildi</b>"), 4); }, true); hepFrameliSozlukCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.hepFrameliSozluk = this.checked; tumAyarlariKaydet(); ayarMenusuDerki((this.checked?"Basliklar <b>hep frameli</b> olacak!":"Basliklar <b>oldugu gibi</b> kalacak!"), 4); }, true); tabDostuBaslikCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.sekmeDostuBaslik = this.checked; tumAyarlariKaydet(); ayarMenusuDerki((this.checked?"Yasasin <b>sekme dostu</b> basliklar!":"Sekme dostu basl..."), 4); }, true); youtubeGommeCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.youtubeGomme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Youtube linkleri <b>"+(this.checked?"gomulebilir olacak":"ellenmeyecek")+"</b>!", 4); }, true); resimGommeCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.resimGomme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Resim linkleri <b>"+(this.checked?"gomulebilir olacak":"ellenmeyecek")+"</b>!", 4); }, true); tweetGommeCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.tweetGomme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Twitter status linkleri <b>"+(this.checked?"gomulebilir olacak":"ellenmeyecek")+"</b>!", 4); }, true); swfGommeCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.swfGomme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Swf linkleri <b>"+(this.checked?"gomulebilir olacak":"ellenmeyecek")+"</b>!", 4); }, true); bakinizGommeCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.bkzGomme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Entry bakinizlari <b>"+(this.checked?"oldugu yerde":"ayri sayfada")+"</b> acilacak!", 4); }, true); bitmeyenEntrylerCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.bitmeyenEntryler = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Entry'ler <b>"+(this.checked?"hic bitmeyecek":"yer yer bitecek")+"</b>", 4); }, true); bitmeyenEntrylerAutoCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.bitmeyenEntrylerAuto = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Sonraki sayfa entry'leri <b>"+(this.checked?"otomatik olarak":"istenildiginde")+"</b> yuklenecek", 4); }, true); /* canliBasliklarCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.canliBasliklar = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Basliklar <b>"+(this.checked?"oldugu yerde":"yeniden yuklenerek")+"</b> guncellenecek", 4); }, true); */ donBebegimCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.yariOtomatikDonBebegim = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Yari-otomatik 'don bebegim' <b>"+(this.checked?"emrinize amade":"devre disi")+"</b>!", 4); }, true); sabitBaslikCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.baslikSabitleme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Basligin yeri <b>"+(this.checked?"pencerenin":"sayfanin")+"</b> tepesi olarak belirlendi!", 4); }, true); sabitSagPanelCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.sagPanelSabitleme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Sag panelin yeri <b>"+(this.checked?"pencerenin":"sayfanin")+"</b> sagi olarak belirlendi!", 4); }, true); entryOnizlemeCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.entryOnizleme = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Entry onizleme' sistemi <b>"+(this.checked?"aktif":"devre disi")+"</b>!", 4); }, true); nickBasligiKontroluCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.nickBasligiKontrolu = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Nick basliklarina' kimdir nedir baglantisi <b>"+(this.checked?"eklenecek":"eklenmeyecek")+"</b>!", 4); }, true); kisaUrlKontroluCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.kisaUrlKontrolu = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Kisaltilmis linklere' tiklanildiginda yonlenilecek link<b>"+(this.checked?"gosterilecek":"gosterilmeyecek")+"</b>!", 4); }, true); ucnoktaCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.ucNoktayiGeriGetir = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Basliklar <b>"+(this.checked?"uc noktali":"her zamanki gibi")+"</b> olacak!", 4); }, true); ucnoktaTersCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.ucNoktayiTersineCevir = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Uc nokta ozelligi <b>"+(this.checked?"ters":"her zamanki gibi")+"</b> olacak!", 4); }, true); kimdirnedirPopupCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.kimdirNedirPopup = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Kimdir nedirler <b>"+(this.checked?"pop-up olarak":"ana sayfada")+"</b> gosterilecek!", 4); }, true); benPopupCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.benPopup = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Ben' bilgileri <b>"+(this.checked?"pop-up olarak":"ana sayfada")+"</b> gosterilecek!", 4); }, true); modTarihiPopupCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.modTarihiPopup = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Mod tarihcesi' bilgileri <b>"+(this.checked?"pop-up olarak":"ana sayfada")+"</b> gosterilecek!", 4); }, true); solFrameMenusuCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.solFrameMenusu = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Sol frame menusu' <b>"+(this.checked?"aktif":"devre disi")+"</b>!", 4); }, true); iframeGosterCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.iframeGoster = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'iFrame tusu' <b>"+(this.checked?"gorunur":"gorunmez")+"</b> kilindi!", 4); }, true); tezgetirGosterCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.tezgetirGoster = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("'Tez getir' fonksiyonu <b>"+(this.checked?"aktif":"devre disi")+"</b>!", 4); }, true); konuluEntryIsaretleCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.konuluEntryIsaretle = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Konulu entry'ler <b>"+(this.checked?"isaretlenecek":"isaretlenmeyecek")+"</b>!", 4); }, true); konuluEntryHizalaCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.konuluEntryHizala = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Konulu entry'ler <b>"+(this.checked?"hizalanacak":"hizalanmayacak")+"</b>!", 4); }, true); turkiyeSaatiniKullanCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.turkiyeSaatiniKullan = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Tarih islemlerinde <b>"+(this.checked?"Turkiye saati":"lokal saat")+"</b> kullanilacak!", 4); }, true); yasakliBaslikGizleCB.addEventListener("change", function(){ tumAyarlariYukle(); Ayarlar.yasakliBasliklariGizle = this.checked; tumAyarlariKaydet(); ayarMenusuDerki("Yasakli baslik korumasi <b>"+(this.checked?"aktif":"devre disi")+"</b>!", 5); }, true); yasakBaslikEkleBut.addEventListener("click", function(){ if (yasakBaslikEkleVal.value.match(/^\s*$/)) { alert("Neyi?"); return; } tumAyarlariYukle(); yasakliRegexEkle(yasakBaslikEkleVal.value); ayarMenusuDerki("'<b>"+yasakBaslikEkleVal.value+"</b>' yasakli kelimelere <b>eklendi</b>!", 5); yasakBaslikEkleVal.value = ''; yasakBaslikSilDD.innerHTML = yasakliBaslikDropDownListesi(); }, true); yasakBaslikSilBut.addEventListener("click", function(){ tumAyarlariYukle(); yasakliRegexCikar(unescape(yasakBaslikSilDD.value)); ayarMenusuDerki("'<b>"+unescape(yasakBaslikSilDD.value)+"</b>' yasakli kelimelerden <b>cikarildi</b>!", 5); yasakBaslikSilDD.innerHTML = yasakliBaslikDropDownListesi(); }, true); yasakBaslikImportBut.addEventListener("click", function(){ var dataTA = idGet("epp_yasakBaslikImportExportTA"); if (dataTA.style.display == "none") { //Once kutuyu acalim... dataTA.style.display = ""; alert("Daha onceden ihrac ederek kaydetmis oldugunuz listeyi acilan alana yapistirip, bir kere daha 'ithal' tusuna basin"); } else { try { EppAPI_log("Ithal edilecek veri: " + dataTA.value); var list = importYasakBaslikList(dataTA.value); if (!list) return alert("Eklenecek bir sey bulunamadi gibi sanki belki..."); ayarMenusuDerki("<b>"+list.length+" yeni baslik</b> yasakli basliklara <b>eklendi</b>!", 5); yasakBaslikSilDD.innerHTML = yasakliBaslikDropDownListesi(); } catch (err) { alert("Ithalat basarisiz oldu. Listede bir gariplik olmasin?"); } } }, true); yasakBaslikExportBut.addEventListener("click", function(){ var dataTA = idGet("epp_yasakBaslikImportExportTA"); dataTA.style.display = ""; dataTA.value = exportYasakBaslikList(); alert("Yasakli baslik listenizi ihrac etmek icin acilan kutudaki verinin tamamini aynen kopyalayin ve kaydedin"); }, true); //Panel tuslarini eksi tuslarina benzetelim, yabancilik olmasin var panelTuslari = xpath(".//button", panelKutusu); for (var i = 0; i < panelTuslari.snapshotLength; i++) { var panelTusu = panelTuslari.snapshotItem(i); panelTusu.className = "but"; panelTusu.setAttribute("onmouseover","ov(this)"); panelTusu.setAttribute("onmouseout","bn(this)"); panelTusu.setAttribute("onmousedown","md(this)"); panelTusu.setAttribute("onmouseup","bn(this)"); } if (idGet("epp_sabitBaslik")) { idGet("epp_sabitBaslik").style.position = "relative"; document.body.style.paddingTop = "0"; } // Ayar menusunu gosterelim artik panelKutusu.style.display = ""; // Sayfayi da basa cekelim window.scrollTo(0,0); } function donBebegimTiklandi() { var bugun = (new Date()).getDay(); EppAPI_setValue(System.storage.donBebegimGunu, bugun); } function kimdirNedirFix() { if (!Ayarlar.kimdirNedirPopup && !Ayarlar.benPopup) return; if (Ayarlar.kimdirNedirPopup) { var knTuslari = xpath("//a[starts-with(@title,'yazar hak')]"); for(var i=0; i<knTuslari.snapshotLength; i++) { var tus = knTuslari.snapshotItem(i); var knUrl = tus.href.replace(/info\.asp/,'info2.asp'); tus.href = "javascript:od('"+knUrl+"'," +800+"," +400+")"; } } if (Ayarlar.benPopup) { var benTusu = xpath("//a[@title='evet sen']").snapshotItem(0); if (!benTusu) return; benTusu.target = ""; var bennUrl = benTusu.href.replace(/info\.asp/,'info2.asp'); benTusu.href = "javascript:var benWindow = window.open('"+bennUrl+"','benWindow','resizable=yes,scrollbars=yes,width=800,height=400');"; } } function gunlukDonBebegim() { var cssler = xpath("//head/link[@rel='stylesheet']"); var reklamCss; for(var i=0; i<cssler.snapshotLength; i++) { if (cssler.snapshotItem(i).href.match(/com\/adcss\//)) { EppAPI_log("Reklam CSS'i aktif"); reklamCss = cssler.snapshotItem(i); break; } } if (!reklamCss) { if (cssler.snapshotLength < 2) { // Reklam yok ama halihazirda ozel tema da yok // Secilmis ozel tema varsa, onu ekleyelim... EppAPI_log("Normal CSS aktif"); if (Ayarlar.ozelTema) { // Ozel tema secilmis, uygulayalim var yeniCss = document.createElement("link"); yeniCss.id = "epp_ozelCss"; yeniCss.rel = "stylesheet"; yeniCss.type = "text/css"; yeniCss.href = Ayarlar.ozelTema; document.getElementsByTagName("head")[0].appendChild(yeniCss) } } else { // Reklam yok ve ozel bir tema aktif // Burada isimiz yok EppAPI_log("Ozel CSS aktif"); return; } } else { var bugun = (new Date()).getDay(); var enSon = EppAPI_getValue(System.storage.donBebegimGunu, -1); var donBebegimTusu = xpath(".//button[contains(@onclick,'dogenerictheme')]").snapshotItem(0); if (bugun != enSon) { EppAPI_log("Bugun (" + bugun + ") henuz donulmemis bebegim"); if (donBebegimTusu) { donBebegimTusu.addEventListener("click", donBebegimTiklandi, false); } } else if (Ayarlar.yariOtomatikDonBebegim) { if (Ayarlar.ozelTema) { // Ozel tema secilmis, uygulayalim reklamCss.id = "epp_ozelCss"; reklamCss.href = Ayarlar.ozelTema; } else { reklamCss.parentNode.removeChild(reklamCss); } if (donBebegimTusu) { var donBebegimAdresi = (donBebegimTusu.parentNode.innerHTML.match(/onclick=["']location\.href=["']([^"']+)["']["']/))[1]; donBebegimAdresi = donBebegimAdresi.replace("&","&") donBebegimAdresi = window.location.protocol + "//" + window.location.hostname + "/" + donBebegimAdresi; var req = new XMLHttpRequest(); req.open("HEAD", donBebegimAdresi, true); req.send(null); /*/ GM_xmlhttpRequest({ url: donBebegimAdresi, method: "HEAD", onload: function(response) { return; } }); //*/ donBebegimTusu.parentNode.innerHTML = "<b>Eksi++:</b><br/> Bugun daha once 'don bebegim' yapanlara ikinci 'don bebegim' bizden!<br/> Iyi seyirler!<br/><br/>"; } EppAPI_log("Bugun (" + bugun + ") donmusuz bebegim daha once, otomatik donuse gecilsin!"); } } } function yeniEksiTusu(element,id) { if (!element) element = "span"; var yeniTus = document.createElement(element); if (element == "input") yeniTus.type = "button"; if (id) yeniTus.id = id; yeniTus.className = "but"; yeniTus.setAttribute("onmouseover","ov(this)"); yeniTus.setAttribute("onmouseout","bn(this)"); yeniTus.setAttribute("onmousedown","md(this)"); yeniTus.setAttribute("onmouseup","bn(this)"); return yeniTus; } function yeniEksiLinki(tip, nereye, yazi, title, acma, kapama, wrapper) { tip = (tip) ? tip : "but"; nereye = (nereye) ? nereye : "javascript:void(null)"; yazi = (typeof(yazi) != "undefined") ? yazi : "Eksi++"; title = (typeof(title) != "undefined") ? title : 0; acma = (acma) ? acma : ""; kapama = (kapama) ? kapama : ""; wrapper = (wrapper) ? wrapper : "span"; var yeniWrap = document.createElement(wrapper); //yeniWrap.style.backgroundImage = "url(" + transbg10UrlData + ")"; yeniWrap.innerHTML = acma + "<a></a>" + kapama; var yeniLink = yeniWrap.childNodes[1]; yeniLink.className = (tip == "click")? "gp" : "url"; yeniLink.href = nereye; yeniLink.innerHTML = yazi; yeniLink.style.textDecoration = "underline"; if (title) yeniLink.title = title; return { wrap : yeniWrap, link : yeniLink }; } function alalimArkadasi(arkadas) { if (debug) { arkadas.style.textDecoration = "line-through"; arkadas.style.display = ""; } else { arkadas.style.display = "none"; } } function alinmismiArkadas(arkadas) { if (debug) { return (arkadas.style.textDecoration == "line-through"); } else { return (arkadas.style.display == "none"); } } function cikaralimArkadasi(arkadas) { if (debug) { arkadas.style.textDecoration = "none"; } else { arkadas.style.display = ""; } } function youtubeGomucu(link) { if (link.getAttribute("epp_status") == "youtube_open") { link.parentNode.removeChild(link.nextSibling); link.setAttribute("epp_status","youtube_closed"); } else { var bw = 8; var videoId = (link.href.match(/watch\?v=([^#&]+)/))[1]; videoId += "?fs=1"; if (link.href.match(/[#&]t=.+$/)) { var time = (link.href.match(/[#&]t=(.+)$/))[1]; var timeInSec = parseInt(time.match(/\d+m/))*60; timeInSec += parseInt(time.match(/\d+s/)); videoId += "&start="+timeInSec; } videoId += "&version=3"; var embedHtml = embedTemplates.youtube.html.replace(/__EMBED-ID__/g, videoId); embedHtml = embedHtml.replace(/__EMBED-W__/g, embedTemplates.youtube.width); embedHtml = embedHtml.replace(/__EMBED-H__/g, embedTemplates.youtube.height); var videoKutusu = document.createElement("div"); videoKutusu.style.marginTop = "0.5em"; videoKutusu.style.marginBottom = "1em"; videoKutusu.style.width = embedTemplates.youtube.width +"px"; videoKutusu.style.height = embedTemplates.youtube.height +"px"; videoKutusu.style.padding = bw+"px"; //videoKutusu.style.backgroundImage = "url(" + transbg50UrlData + ")"; videoKutusu.style.backgroundColor = "rgba(0,0,0,.5)"; videoKutusu.innerHTML = embedHtml; link.parentNode.insertBefore(videoKutusu, link.nextSibling); link.setAttribute("epp_status","youtube_open"); } } function resimGomucu(link) { if (link.getAttribute("epp_status") == "image_open") { link.parentNode.removeChild(link.nextSibling); link.setAttribute("epp_status","image_closed"); } else { var bw = 5; var size = 400; var zoomStep = 1.2; var embImg = document.createElement("img"); embImg.src = link.href; embImg.title = link.innerHTML; embImg.style.cursor = "pointer"; embImg.style.maxWidth = size+"px"; embImg.style.maxHeight = size+"px"; embImg.style.padding = bw+"px"; embImg.style.marginLeft = "1.9em"; //embImg.style.backgroundImage = "url(" + transbg50UrlData + ")"; embImg.style.backgroundColor = "rgba(0,0,0,.5)"; var imgLink = document.createElement("a"); imgLink.href = link.href; imgLink.target = "_blank"; /*/ embImg.addEventListener("click", function() { if (browser == "firefox") { window.open(this.src); } else if (browser == "chrome/opera") { var newWin = window.open(); newWin.opener = null; newWin.document.location = this.src; } }, true); //*/ imgZoomIn = document.createElement("div"); imgZoomIn.innerHTML = "+"; imgZoomIn.style.cursor = "pointer"; imgZoomIn.style.position = "absolute"; imgZoomIn.style.fontWeight = "bold"; imgZoomIn.style.color = "white"; imgZoomIn.style.width = "1.7em"; imgZoomIn.style.height = "1.5em"; imgZoomIn.style.textAlign = "center"; //imgZoomIn.style.padding = "0.1em 0.5em"; imgZoomIn.style.backgroundColor = "rgba(0,0,0,.5)"; imgZoomIn.style.left = "0"; imgZoomIn.style.top = "0"; imgZoomIn.addEventListener("click", function() { size *= zoomStep; embImg.style.maxWidth = size+"px"; embImg.style.maxHeight = size+"px"; embImg.width *= zoomStep; }, true); imgZoomOut = document.createElement("div"); imgZoomOut.innerHTML = "-"; imgZoomOut.style.cursor = "pointer"; imgZoomOut.style.position = "absolute"; imgZoomOut.style.fontWeight = "bold"; imgZoomOut.style.color = "white"; imgZoomOut.style.width = "1.7em"; imgZoomOut.style.height = "1.5em"; imgZoomOut.style.textAlign = "center"; //imgZoomOut.style.padding = "0.1em 0.5em"; imgZoomOut.style.backgroundColor = "rgba(0,0,0,.5)"; imgZoomOut.style.left = "0"; imgZoomOut.style.top = "1.6em"; imgZoomOut.addEventListener("click", function() { size /= zoomStep; embImg.style.maxWidth = size+"px"; embImg.style.maxHeight = size+"px"; embImg.width /= zoomStep; }, true); var resimKutusu = document.createElement("div"); resimKutusu.style.marginTop = "0.5em"; resimKutusu.style.marginBottom = "1em"; resimKutusu.style.position = "relative"; imgLink.appendChild(embImg); resimKutusu.appendChild(imgLink); resimKutusu.appendChild(imgZoomIn); resimKutusu.appendChild(imgZoomOut); link.parentNode.insertBefore(resimKutusu, link.nextSibling); link.setAttribute("epp_status","image_open"); } } function tweetGomucu(link) { if (link.getAttribute("epp_status") == "tweet_open") { link.parentNode.removeChild(link.nextSibling); link.setAttribute("epp_status","tweet_closed"); } else if (link.getAttribute("epp_status") == "tweet_closed") { link.setAttribute("epp_status","tweet_loading"); var tweetId = (link.href.match(/status\/([^.]+)/))[1]; var tweetUrl = "https://api.twitter.com/1/statuses/oembed.json?suppress_response_codes=true&id="+tweetId; EppAPI_JSONRequest({ url: tweetUrl, method: "GET", data: "", onload: function(json) { try { var tweetKutusu = newElem("div"); tweetKutusu.style.marginTop = "0.5em"; tweetKutusu.style.marginBottom = "1em"; tweetKutusu.style.position = "relative"; link.setAttribute("epp_status","tweet_open"); if (!json.error) { tweetKutusu.innerHTML = json.html; var tweetScript = idGet("tweetScript"); if(tweetScript) { tweetScript.parentNode.removeChild(tweetScript); } tweetScript = newElem("script"); tweetScript.id = "tweetScript"; tweetScript.src = "http://platform.twitter.com/widgets.js"; document.getElementsByTagName("head")[0].appendChild(tweetScript); tweetKutusu.addEventListener ("DOMSubtreeModified", function(){ var tweetUrls = xpath(".//a[@class='url' or @class='screen-name' or @class='view-details']",this); if(tweetUrls.snapshotLength > 0) { for(var i=0; i < tweetUrls.snapshotLength; i++) { tweetUrls.snapshotItem(i).target = "_blank"; } } },true); } else if (json.error.match(/no status found/i)) { tweetKutusu.innerHTML = "-- Boyle bir tweet yok artik, silinmis olabilir! --"; } else if (json.error.match(/you are not authorized/i)) { tweetKutusu.innerHTML = "-- Tweet sahibi twitter hesabini gizlemis! --"; } else { tweetKutusu.innerHTML = "-- " + json.error + " --"; } link.parentNode.insertBefore(tweetKutusu, link.nextSibling); } catch(e) { } }, }); } } function swfGomucu(link) { if (link.getAttribute("epp_status") == "swf_open") { link.parentNode.removeChild(link.nextSibling); link.setAttribute("epp_status","swf_closed"); } else { var bw = 8; var embedHtml = embedTemplates.swf.html.replace(/__EMBED-SRC__/g, link.href); embedHtml = embedHtml.replace(/__EMBED-W__/g, embedTemplates.swf.width); embedHtml = embedHtml.replace(/__EMBED-H__/g, embedTemplates.swf.height); var swfKutusu = document.createElement("div"); swfKutusu.style.marginTop = "0.5em"; swfKutusu.style.marginBottom = "1em"; swfKutusu.style.width = embedTemplates.swf.width +"px"; swfKutusu.style.height = embedTemplates.swf.height +"px"; swfKutusu.style.padding = bw+"px"; swfKutusu.style.backgroundColor = "rgba(0,0,0,.5)"; swfKutusu.innerHTML = embedHtml; link.parentNode.insertBefore(swfKutusu, link.nextSibling); link.setAttribute("epp_status","swf_open"); } } function kisaUrlKontrolu(link) { var shortUrlWindow; if (link.getAttribute("epp_status") == "url_expanded") { shortUrlWindow = window.open(link.href,'_blank'); } else if(link.getAttribute("epp_status") == "url_shortened") { var loadingImg = newElem("img"); loadingImg.style.paddingLeft = "5px"; loadingImg.src = "http://i.imgur.com/oInr7.gif";//"http://i.imgur.com/MD7jO.gif"; link.parentNode.insertBefore(loadingImg, link.nextSibling); link.setAttribute("epp_status","url_expanding"); EppAPI_JSONRequest({ url: "http://api.longurl.org/v2/expand?format=json&user-agent="+ encodeURIComponent("Eksi++ - User Script") +"&title=1&url="+encodeURIComponent(link.href), method: "GET", data: "", onload: function(json){ try { if (json["long-url"] && (json["long-url"] != link.href)) { link.href = json["long-url"]; link.innerHTML = json["long-url"]; link.title = json["title"]; link.style.textDecoration = "none"; } else { shortUrlWindow = window.open(link.href,'_blank'); } } catch (e) { shortUrlWindow = window.open(link.href,'_blank'); } link.parentNode.removeChild(link.nextSibling); link.setAttribute("epp_status","url_expanded"); }, }); } } function gomulebilirLinkDuzenle() { var linkler = xpath("//a[@class='url']"); for (var i=0; i<linkler.snapshotLength; i++) { var link = linkler.snapshotItem(i); if (link.getAttribute("epp_processed") == "true") continue; if(Ayarlar.youtubeGomme && link.href.match(/youtube\.com\/watch\?v=/)) { link.setAttribute("epp_status","youtube_closed"); link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { youtubeGomucu(pLink); e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } else if (Ayarlar.resimGomme && link.href.match(/\.(jpe?g|gif|png)$/i)) { link.setAttribute("epp_status","image_closed"); link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { resimGomucu(pLink); e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } else if (Ayarlar.tweetGomme && link.href.match(/twitter\.com\/.*\/status\//)) { link.setAttribute("epp_status","tweet_closed"); link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { tweetGomucu(pLink); e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } else if (Ayarlar.swfGomme && link.href.match(/\.(swf)$/i)) { link.setAttribute("epp_status","swf_closed"); link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { swfGomucu(pLink); e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } else if (Ayarlar.kisaUrlKontrolu && shortUrlPattern.test(link.href)) { link.setAttribute("epp_status","url_shortened"); link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { kisaUrlKontrolu(pLink); e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } //else if (xxx) // xxxGomme() // yani digerleri... mesela bobiler? } } function entryGetir(entryUrl) { var req = new XMLHttpRequest(); var result = ""; req.open("GET", entryUrl, false); req.send(null); var tempDom = document.createElement("div"); tempDom.innerHTML = req.responseText; if (!tempDom.getElementsByTagName("ol").length) return 0; var baslik = (tempDom.getElementsByTagName("h1"))[0]; var entryler = tempDom.getElementsByTagName("li"); var gomEntryLi = 0; for (var i=0; i<entryler.length; i++) { liItem = entryler[i]; if (liItem.value) { gomEntryLi = liItem; break; } } if (gomEntryLi) { var entryID = gomEntryLi.id.replace(/\D/g,''); var entrySira = gomEntryLi.value; if (gomEntryLi.firstChild.nodeName == "input") gomEntryLi.removeChild(gomEntryLi.firstChild); //gomEntryLi.lastChild.removeChild(gomEntryLi.lastChild.lastChild); var scriptler = xpath(".//script", gomEntryLi) for (var i=0; i< scriptler.snapshotLength; i++) { var script = scriptler.snapshotItem(i); script.parentNode.removeChild(script); } var yazarID = xpath("./a",gomEntryLi.lastChild).snapshotItem(0).innerHTML; gomEntryLi.insertBefore(document.createElement("br"), gomEntryLi.lastChild); var eksiTuslari = '<table style="float: right; margin-top: 0.5em;"><tbody><tr><td style="white-space: nowrap;" id="vst__ENTRY-ID__" class="ei"> </td>\ <td><span class="but" onclick="mpr(__ENTRY-ID__,1)" title="şükela!" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> :) </span></td>\ <td><span class="but" onclick="mpr(__ENTRY-ID__,0)" title="öeehh" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> :O </span></td>\ <td><span class="but" onclick="mpr(__ENTRY-ID__,-1)" title="çok kötü" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> :( </span></td>\ <td> </td>\ <td><span class="but" onclick="od(\'msg.asp?to=__YAZAR-ID__&re=__ENTRY-ID__\')" title="mesaj at" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> /msg </span></td>\ <td><a class="but" href="javascript:od(\'http://www.eksisozluk.com/info2.asp?n=__YAZAR-ID__\',800,400)" title="yazar hakkında" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)"> ? </a></td>\ </tr></tbody></table>'; eksiTuslari = eksiTuslari.replace(/__ENTRY-ID__/g, entryID); eksiTuslari = eksiTuslari.replace(/__YAZAR-ID__/g, yazarID); result = "<h2 class='title'>" + baslik.innerHTML + " "+ "<sup><a href='show.asp?t="+encodeURIComponent(baslik.textContent).replace(/[']/g,"%27")+"' target='sozmain' title='basliga git' target='_blank' style='text-decoration:underline;'>git</a></sup>"+ "<sup><a href='show.asp?t="+encodeURIComponent(baslik.textContent).replace(/[']/g,"%27")+"&i="+entryID+"' target='sozmain' title='konulu git' target='_blank' style='text-decoration:underline; margin-left:.5em;'>kit</a></sup>"+ "</h2>"; result += "<ol style='white-space: normal;'><li value='"+entrySira+"' style='margin-left:0;'>"; result += gomEntryLi.innerHTML; result += eksiTuslari; result += "<br/>"; result += "</li></ol>"; } else { result = "<b>Eksi++</b> Sozluk cok acayip bir seyler dondu, bilemedim!"; } return result; } function entryGomucu(entryLinki) { if (!entryLinki.getAttribute("entryGomulu")) { //var entryUrl = entryLinki.innerHTML.replace(/\D/g,''); var entryUrl = entryLinki.href; entryUrl = entryUrl.replace("sozluk.sourtimes.org","www.eksisozluk.com"); //Domain degisikligi onlemi var entryBox = document.createElement("div"); var entryBoxWrap = document.createElement("div"); var kapatTusu = yeniEksiTusu("input"); var kapatTusu2 = yeniEksiTusu("input"); entryBoxWrap.style.zIndex = "99"; entryBoxWrap.style.maxWidth = (window.innerWidth-130)+"px"; entryBoxWrap.style.padding = "6px"; entryBoxWrap.style.marginRight = "130px"; //entryBoxWrap.style.backgroundImage = "url(" + transbg50UrlData + ")"; entryBoxWrap.style.backgroundColor = "rgb(0,0,0)"; //fallback entryBoxWrap.style.backgroundColor = "rgba(0,0,0,.5)"; entryBoxWrap.style.position = "absolute"; entryBox.position = "relative"; entryBox.style.padding = "1em"; entryBox.style.minWidth = "35em"; entryBox.style.backgroundColor = window.getComputedStyle(document.body, null).getPropertyValue("background-color"); entryBox.style.backgroundImage = window.getComputedStyle(document.body, null).getPropertyValue("background-image"); entryBox.style.border = "1px solid rgb(255,255,255)"; //fallback entryBox.style.border = "1px solid rgba(255,255,255,0.5)"; entryBox.innerHTML = "<b>Eksi++</b> Bir seyler geliyor... "; kapatTusu.value = "X"; kapatTusu.style.position = "absolute"; kapatTusu.style.top = "7px"; kapatTusu.style.right = "7px"; kapatTusu.addEventListener("click", function(){ this.parentNode.parentNode.style.display = "none"; this.parentNode.parentNode.previousSibling.setAttribute("entryGomulu", 2); }, true); kapatTusu2.value = "X"; kapatTusu2.style.position = "absolute"; kapatTusu2.style.bottom = "7px"; kapatTusu2.style.left = "7px"; kapatTusu2.addEventListener("click", function(){ this.parentNode.parentNode.style.display = "none"; this.parentNode.parentNode.previousSibling.setAttribute("entryGomulu", 2); }, true); entryBoxWrap.appendChild(entryBox); entryLinki.parentNode.insertBefore(entryBoxWrap, entryLinki.nextSibling); var entryHTML = entryGetir(entryUrl); if (entryHTML) { entryBox.innerHTML = entryHTML; } else { entryBox.innerHTML = "<b>Eksi++</b> Yokmus ki boyle bir entry!"; kapatTusu2.style.display = "none"; } entryBox.appendChild(kapatTusu); entryBox.appendChild(kapatTusu2); entryLinki.setAttribute("entryGomulu", 1); // Gomulu uzun entry'lerin gorunmesi engellenemez! var divTopic = idGet("topic"); if (divTopic) { divTopic.style.overflow = "visible"; } } else if (entryLinki.getAttribute("entryGomulu") == 2) { entryLinki.nextSibling.style.display = ""; entryLinki.setAttribute("entryGomulu", 1); } else { entryLinki.nextSibling.style.display = "none"; entryLinki.setAttribute("entryGomulu", 2); } } function gomulebilirEntryleriDuzenle() { if (!Ayarlar.bkzGomme) return; if (window.location.href.match(/(info2left|index)\.asp/)) return; var linkList = document.getElementsByTagName("a"); var length = linkList.length; for (var i=0; i<length; i++) { var link = linkList[i]; if (link.getAttribute("epp_processed") == "true") continue; if (link.className.match(/(gb|id|b)/) && link.innerHTML.match(/(#|\/)\d+$/)) { link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { entryGomucu(pLink); //e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } else if (link.href.match(/(^http:\/\/(sozluk\.sourtimes\.org|www\.eksisozluk\.com)\/)?show\.asp\?(id=|t=.+%23)\d+$/)) { link.style.textDecoration = "underline"; link.addEventListener("click", (function(pLink) { return function(e){ if (!e.ctrlKey && e.which != 2) { entryGomucu(pLink); //e.stopPropagation(); e.preventDefault(); return false; } }; })(link), true); link.setAttribute("epp_processed", "true"); } } } //Migration Functions function migrateToV05() { if (isCurrentVersionOlderThan("0.5")) { //if (!confirm("Migrate to v0.5?")) return; if (debug) EppAPI_log("Migrating Settings to v0.5"); var curAyarlar = JSON.parse(EppAPI_getValue(System.storage.ayarKaydi, '{}')); if (!curAyarlar.temaListesi) return; //yokmus ki eski kayitlar... for (var tema in curAyarlar.temaListesi) { EppAPI_log("Eldeki tema: "+ tema); if (typeof System.hazirTemaListesi[tema] == "undefined") { if (debug) EppAPI_log("Listede yokmus!: "+ tema); if (!curAyarlar.ozelTemaListesi) curAyarlar.ozelTemaListesi = {}; curAyarlar.ozelTemaListesi[tema] = curAyarlar.temaListesi[tema]; } } if (debug) EppAPI_log("Migrated Tema List: "+ JSON.stringify(curAyarlar.ozelTemaListesi)); delete curAyarlar.temaListesi; //Eski listeyi silelim EppAPI_setValue(System.storage.ayarKaydi, JSON.stringify(curAyarlar)); //Yeni hali kaydedelim } } //// "SOZLUK AYAR MERKEZI" ENGINE //// function AyarMerkeziEngine() { var mallar = xpath("/html/body/table/tbody/tr/td/form/table/tbody/tr/td/label"); var ozAyarMenusuMesaj; function mesajlariDuzenle() { if (!Ayarlar.eppMesajKutusu) return; var anaListe = xpath("/html/body/table/tbody/tr/td/form/ul").snapshotItem(0); var mesajlar = xpath("/html/body/table/tbody/tr/td/form/ul/li"); var mesajSirasi = new Array(); var sira = 0; var toplamOkunmamis = 0; var mesajListesi = {}; var eskiOkunmusMesajlar = EppAPI_getValue(System.storage.okunmusMesajListesi, 0); //var eskiOkunmusMesajlar = 0; var yeniOkunmusMesajlar = {}; var okunmusListesiBos = (eskiOkunmusMesajlar == 0); if (okunmusListesiBos) { eskiOkunmusMesajlar = {}; } else { //eskiOkunmusMesajlar = {}; eskiOkunmusMesajlar = JSON.parse(eskiOkunmusMesajlar); } //EppAPI_log("Okunmus Mesaj Listesi - Loaded >> Bos: "+okunmusListesiBos+" | Liste: " + JSON.stringify(eskiOkunmusMesajlar)); // Su anki mesaj listesini gruplayalim for (var i=0; i<mesajlar.snapshotLength; i++) { var mesaj = mesajlar.snapshotItem(i); var matches = mesaj.innerHTML.match(/(\<b\>([^<]+)\<\/b\>|->\s([^:]+):)/); var eleman = (matches)?((matches[2] != null)?matches[2]:matches[3]):"prof. dr. ahmet sourtimes"; mesaj.setAttribute("epp_msgthread","thr-"+eleman.replace(/\s/g,'_')); //EppAPI_log("Incelenen mesaj: " + mesaj.id); if (typeof mesajListesi[eleman] == "undefined") { mesajListesi[eleman] = new Array(); if (!eskiOkunmusMesajlar[mesaj.id] && !okunmusListesiBos) { //EppAPI_log("OKUNMAMIS mesaj: " + mesaj.id); mesaj.setAttribute("epp_unread","yes"); mesaj.addEventListener("click", function(){ var okunmusMesajlar = JSON.parse(EppAPI_getValue(System.storage.okunmusMesajListesi, '{}')); okunmusMesajlar[this.id] = 1; this.style.borderColor = ""; EppAPI_setValue(System.storage.okunmusMesajListesi, JSON.stringify(okunmusMesajlar)); }, false); } else { mesaj.setAttribute("epp_unread","no"); yeniOkunmusMesajlar[mesaj.id] = 1; } //yeniOkunmusMesajlar[mesaj.id] = 1; mesajSirasi.unshift(eleman); } else { if (!eskiOkunmusMesajlar[mesaj.id] && !okunmusListesiBos) { //EppAPI_log("OKUNMAMIS mesaj: " + mesaj.id); mesaj.setAttribute("epp_unread","yes"); mesaj.addEventListener("click", function(){ var okunmusMesajlar = JSON.parse(EppAPI_getValue(System.storage.okunmusMesajListesi, '{}')); okunmusMesajlar[this.id] = 1; this.style.borderColor = ""; EppAPI_setValue(System.storage.okunmusMesajListesi, JSON.stringify(okunmusMesajlar)); }, false); } else { mesaj.setAttribute("epp_unread","no"); yeniOkunmusMesajlar[mesaj.id] = 1; } //yeniOkunmusMesajlar[mesaj.id] = 1; mesajSirasi.splice(isInList(eleman, mesajSirasi), 1); mesajSirasi.unshift(eleman); } mesajListesi[eleman].push(mesaj); } // Okunmus mesajlari kaydedelim //EppAPI_log("Okunmus Mesaj Listesi - To SAVE: " + JSON.stringify(yeniOkunmusMesajlar)); EppAPI_setValue(System.storage.okunmusMesajListesi, JSON.stringify(yeniOkunmusMesajlar)); // Gelismis mesaj listesini olusturalim for (var kimle in mesajSirasi) { var padded = 0; var highlight = 0; var yeniMesajSayisi = 0; var toplamMesajSayisi = 0; var kimleNoSpace = mesajSirasi[kimle].replace(/\s/g,'_'); for (var ileti in mesajListesi[mesajSirasi[kimle]]) { var yeniKutu = mesajListesi[mesajSirasi[kimle]][ileti];//.cloneNode(true); anaListe.removeChild(mesajListesi[mesajSirasi[kimle]][ileti]); var cevapTusu = xpath(".//span/table/tbody/tr/td[2]/span",yeniKutu).snapshotItem(0); if (cevapTusu.title.match(/mesaj yazma/)) cevapTusu.setAttribute("onclick", "document.getElementById('composeBox_"+kimleNoSpace+"').style.display = ''; setmsg(G('to_"+kimleNoSpace+"'),G('d_"+kimleNoSpace+"'),'"+mesajSirasi[kimle]+"')"); yeniKutu.style.padding = "0.5em"; yeniKutu.style.margin = "2px"; yeniKutu.style.display = "none"; //if ((kimle + ileti) == 0) yeniKutu.style.marginRight = "145px"; if (padded == 0) { var threadTitle = newElem("li"); threadTitle.style.textAlign = "left"; threadTitle.style.borderWidth = "1px"; threadTitle.style.borderStyle = "solid"; threadTitle.style.margin = "2px"; threadTitle.style.padding = "4px"; threadTitle.style.marginTop = "0.2em"; //Thread aralarina biraz bosluk //if ((kimle + ileti) == 0) threadTitle.style.marginRight = "145px"; threadTitle.setAttribute("epp_headOfThread","thr-"+mesajSirasi[kimle].replace(/\s/g,'_')); threadTitle.setAttribute("epp_collapseStatus", 0); threadTitle.addEventListener("click",function(e){ if (e.target != this) return; this.style.borderColor = ""; var thr = this.getAttribute("epp_headOfThread"); var colStatus = this.getAttribute("epp_collapseStatus"); var unrStatus = (this.getAttribute("epp_unreadStatus") != 0)?1:0; var unrCount = parseInt(this.getAttribute("epp_unreadcount")); var thrMsgList = xpath("//li[@epp_msgthread='"+thr+"']"); for (var i=0; i<thrMsgList.snapshotLength; i++) { var msg = thrMsgList.snapshotItem(i); if (colStatus == 0) { this.setAttribute("epp_collapseStatus", 1); if (msg.getAttribute("epp_unread")) //Sadece mesajlar, 'yeni mesaj' kutusu degil msg.style.display = ""; } else { this.setAttribute("epp_collapseStatus", 0); msg.style.display = "none"; } } }, false); anaListe.appendChild(threadTitle); //yeniKutu.insertBefore(threadTitle, yeniKutu.firstChild) //if (kimle > 0) yeniKutu.style.marginTop = "2em"; //Thread aralarina biraz bosluk } else if (padded > 0) { yeniKutu.style.marginLeft = "5em"; } if ((highlight++)%2) { yeniKutu.className = ""; yeniKutu.style.borderWidth = "1px"; yeniKutu.style.borderStyle = "solid"; } else { yeniKutu.className = "highlight"; yeniKutu.style.borderWidth = "1px"; yeniKutu.style.borderStyle = "solid"; } if (yeniKutu.getAttribute("epp_unread") == "yes") { //EppAPI_log("Threadde yeni mesaj var >> Thread: " + mesajSirasi[kimle] +" | Mesaj: " + mesajListesi[mesajSirasi[kimle]][ileti].id); yeniMesajSayisi++; yeniKutu.style.borderColor = "#DB0028"; yeniKutu.style.borderWidth = "1px"; } anaListe.appendChild(yeniKutu); padded++; toplamMesajSayisi++; } toplamOkunmamis += yeniMesajSayisi; threadTitle.style.position = "relative"; threadTitle.setAttribute("epp_unreadcount", yeniMesajSayisi); if (yeniMesajSayisi) threadTitle.innerHTML = "<b>(<a class='gb' style='color:#DB0028; font-weight:bold;'>"+yeniMesajSayisi+"</a> yeni | <a class='gb'>"+toplamMesajSayisi+"</a> toplam) <a href='show.asp?t="+encodeURIComponent(mesajSirasi[kimle])+"'>"+mesajSirasi[kimle]+"</a></b>"; else threadTitle.innerHTML = "<b>(<a class='gb'>"+yeniMesajSayisi+"</a> yeni | <a class='gb'>"+toplamMesajSayisi+"</a> toplam) <a href='show.asp?t="+encodeURIComponent(mesajSirasi[kimle])+"'>"+mesajSirasi[kimle]+"</a></b>"; var okunduBut = newElem("a"); okunduBut.innerHTML = "✔ ✔ ..."; okunduBut.title = "tum grubu okundu olarak isaretle"; okunduBut.style.position = "absolute"; okunduBut.style.right = "10px"; okunduBut.style.cursor = "pointer"; okunduBut.addEventListener("click",function(e){ var parent = this.parentNode; var thr = parent.getAttribute("epp_headOfThread"); var thrMsgList = xpath("//li[@epp_msgthread='"+thr+"']"); var okunmusMesajlar = JSON.parse(EppAPI_getValue(System.storage.okunmusMesajListesi, '{}')); for (var i=0; i<thrMsgList.snapshotLength; i++) { var msg = thrMsgList.snapshotItem(i); okunmusMesajlar[msg.id] = 1; msg.style.borderColor = ""; } EppAPI_setValue(System.storage.okunmusMesajListesi, JSON.stringify(okunmusMesajlar)); parent.setAttribute("epp_unreadStatus", 1); parent.style.borderColor = ""; e.stopPropagation(); }, false); threadTitle.appendChild(okunduBut); var selectGroupCB = newElem("input"); selectGroupCB.type = "checkbox"; selectGroupCB.title = "tum grubu sec/temizle"; selectGroupCB.addEventListener("change", function(e){ //Tum grubun isaretle veya isaretleri kaldir var parent = this.parentNode; var thr = parent.getAttribute("epp_headofthread"); var thrMsgList = xpath("//li[@epp_msgthread='"+thr+"']"); for (var i=0; i<thrMsgList.snapshotLength; i++) { var msg = thrMsgList.snapshotItem(i); var msgCB = xpath(".//input[@name='dmsg']", msg).snapshotItem(0); if (msgCB) msgCB.checked = this.checked; //check or uncheck } }, false); threadTitle.insertBefore(selectGroupCB, threadTitle.firstChild); threadTitle.setAttribute("epp_unreadStatus", (yeniMesajSayisi?1:0)); var yeniMesajPaneli = idGet("ssg").cloneNode(true); var toField = xpath(".//*[@id='to']",yeniMesajPaneli).snapshotItem(0); var mesajField = xpath(".//*[@id='d']",yeniMesajPaneli).snapshotItem(0); yeniMesajPaneli.id = "ssg_"+kimleNoSpace; toField.id = "to_"+kimleNoSpace; toField.value = mesajSirasi[kimle]; mesajField.id = "d_"+kimleNoSpace; xpath(".//input[@type='submit']",yeniMesajPaneli).snapshotItem(0).setAttribute("onclick", "nof(window);if (nada(G('"+"to_"+kimleNoSpace+"').value)) {alert('kime?');return false;}"); var tuslar = xpath(".//div/input",yeniMesajPaneli); for (var i=0; i<tuslar.snapshotLength; i++) { var tus = tuslar.snapshotItem(i); var onclickStr = tus.getAttribute("onclick"); onclickStr = onclickStr.replace(/hen\('d'/,"hen('"+"d_"+kimleNoSpace+"'"); tus.setAttribute("onclick", onclickStr); } var yeniMesajKutusu = yeniKutu.cloneNode(false); yeniMesajKutusu.setAttribute("epp_unread", '') if ((highlight++)%2) { yeniMesajKutusu.className = ""; } else { yeniMesajKutusu.className = "highlight"; } yeniMesajKutusu.style.borderColor = ""; yeniMesajKutusu.style.marginLeft = "5em"; yeniMesajKutusu.innerHTML = ""; yeniMesajKutusu.id = "composeBox_"+kimleNoSpace; yeniMesajKutusu.style.display = "none"; yeniMesajKutusu.appendChild(yeniMesajPaneli); anaListe.appendChild(yeniMesajKutusu); } var topluIslemKutusu = newElem("li"); topluIslemKutusu.style.textAlign = "left"; topluIslemKutusu.style.borderWidth = "1px"; topluIslemKutusu.style.borderStyle = "solid"; topluIslemKutusu.style.margin = "2px"; topluIslemKutusu.style.padding = "4px"; topluIslemKutusu.style.marginTop = "0.2em"; topluIslemKutusu.style.position = "relative"; var selectallCB = newElem("input"); selectallCB.type = "checkbox"; selectallCB.title = "tum mesaj gruplarini sec/temizle"; selectallCB.addEventListener("change", function(e){ //Her seyi ya isaretleyelim ya da temizleyelim var groupHeads = xpath("//li[@epp_headofthread]"); for (var i = 0; i < groupHeads.snapshotLength; i++) { var head = groupHeads.snapshotItem(i); xpath(".//input[@type='checkbox']", head).snapshotItem(0).checked = this.checked; } var allMsgList = xpath("//li[@epp_msgthread]"); for (var i = 0; i < allMsgList.snapshotLength; i++) { var msg = allMsgList.snapshotItem(i); var cb = xpath(".//input[@type='checkbox']", msg).snapshotItem(0); if (cb) cb.checked = this.checked; } }, false); topluIslemKutusu.appendChild(selectallCB); var cokluOkunduBtn = newElem("a"); cokluOkunduBtn.innerHTML = "✔ ✔ ..."; cokluOkunduBtn.title = "tum secili mesajlari okundu olarak isaretle"; cokluOkunduBtn.style.cursor = "pointer"; cokluOkunduBtn.style.fontWeight = "bold"; cokluOkunduBtn.style.marginLeft = "5px"; cokluOkunduBtn.addEventListener("click",function(e){ var allMsgList = xpath("//li[@epp_msgthread]"); var okunmusMesajlar = JSON.parse(EppAPI_getValue(System.storage.okunmusMesajListesi, '{}')); for (var i=0; i<allMsgList.snapshotLength; i++) { var msg = allMsgList.snapshotItem(i); var msgCB = xpath(".//input[@name='dmsg']", msg).snapshotItem(0); if (msgCB && msgCB.checked) { okunmusMesajlar[msg.id] = 1; msg.style.borderColor = ""; } } EppAPI_setValue(System.storage.okunmusMesajListesi, JSON.stringify(okunmusMesajlar)); e.stopPropagation(); }, false); topluIslemKutusu.appendChild(cokluOkunduBtn); // DIKKAT: Opera arsivleme sorunu icin absurd HACK!! // "submit()" fonksiyonu sansimiza sadece Opera'da replace edilebiliyor // Chrome ve Firefox bu girisimi gozardi ediyor sadece... var mainForm = idGet("dmsgfrm"); var origSubmit = mainForm.submit; mainForm.submit = function() { // Form'un icine kacmis olan mesaj kutulari ile ilgili field'lari "disable" yapalim var inputList = xpath(".//li//input[@name='to'] | .//li//input[@name='x_equals_5'] | .//li//textarea[@name='d']", this); //alert("# of input's to disable: " + inputList.snapshotLength); for (var i=0; i<inputList.snapshotLength; i++) { inputList.snapshotItem(i).setAttribute("disabled","disabled"); } origSubmit.call(this); } // HACK bitti anaListe.insertBefore(topluIslemKutusu, anaListe.firstChild); topDocument.title = "("+toplamOkunmamis+") Mesaj Kutusu"; } function tumMallariAktar() { var ctr = 0; for (var i=0; i < mallar.snapshotLength; i++) { if (donuzEkle(mallar.snapshotItem(i).innerHTML)) { ctr++; } } ozAyarMenusuMesaj.innerHTML = "<i>" + ctr + " yeni donuz eklendi!</i><br/><br/><b>Guncel Donuz Listesi:</b><br/>" + Ayarlar.donuzListesi.join("<br/>") + "<br/>"; } function seciliMallariAktar() { var ctr = 0; for (var i=0; i < mallar.snapshotLength; i++) { if (mallar.snapshotItem(i).previousSibling.previousSibling.checked) { if (donuzEkle(mallar.snapshotItem(i).innerHTML)) { ctr++; } } } ozAyarMenusuMesaj.innerHTML = "<i>" + ctr + " yeni donuz eklendi!</i><br/><br/><b>Guncel Donuz Listesi:</b><br/>" + Ayarlar.donuzListesi.join("<br/>"); } function seciliMallariSil() { for (var i=0; i < mallar.snapshotLength; i++) { if (mallar.snapshotItem(i).previousSibling.previousSibling.checked) donuzCikar(mallar.snapshotItem(i).innerHTML); } ozAyarMenusuMesaj.innerHTML = "<i>Secili kisiler donuzlardan silindi!</i><br/><br/><b>Guncel Donuz Listesi:</b><br/>" + Ayarlar.donuzListesi.join("<br/>"); } function malSevkiyatiSistemiKur() { var sayfa = xpath("/html/body/table/tbody/tr/td/form").snapshotItem(0).parentNode; var ozAyarMenusu = document.createElement("fieldset"); var ozAyarMenusuBaslik = document.createElement("legend"); ozAyarMenusuMesaj = document.createElement("div"); ozAyarMenusuMesaj.style.marginTop = "2em"; ozAyarMenusuMesaj.innerHTML = "<br/><br/><b>Guncel Donuz Listesi:</b><br/>" + Ayarlar.donuzListesi.join("<br/>"); ozAyarMenusuBaslik.innerHTML = "<b>Eksi++ Donuz Listesi Islemleri</b>"; ozAyarMenusu.appendChild(ozAyarMenusuBaslik); ozAyarMenusu.style.width = "45em"; ozAyarMenusu.style.marginTop = "2em"; ozAyarMenusu.style.padding = "5px"; ozAyarMenusu.style.paddingRight = "0"; var tusHepsiniEkle = yeniEksiTusu("input"); var tusSecilenleriEkle = yeniEksiTusu("input"); var tusSecilenleriSil = yeniEksiTusu("input"); tusHepsiniEkle.value = "Hepsini Donuzlara Ekle"; tusHepsiniEkle.title = "Butun mallar listesini donuz listesine aktarir, zamandan kazandirir"; tusHepsiniEkle.style.marginRight = "2em"; tusHepsiniEkle.addEventListener("click", function() { tumMallariAktar(); }, false); tusSecilenleriEkle.value = "Secilenleri Donuzlara Ekle"; tusSecilenleriEkle.title = "Secilen mallari donuz listesine aktarir (seckin donuz modu)"; tusSecilenleriEkle.style.marginRight = "2em"; tusSecilenleriEkle.addEventListener("click", seciliMallariAktar, false); tusSecilenleriSil.value = "Secilenleri Donuzlardan Sil"; tusSecilenleriSil.title = "Secilen mallari donuz listesinden cikarir (Pollyanna modu)"; tusSecilenleriSil.addEventListener("click", seciliMallariSil, false); ozAyarMenusu.appendChild(tusHepsiniEkle); ozAyarMenusu.appendChild(tusSecilenleriEkle); ozAyarMenusu.appendChild(tusSecilenleriSil); sayfa.appendChild(ozAyarMenusu); sayfa.appendChild(ozAyarMenusuMesaj); } this.basla = function() { if (debug) EppAPI_log("AYAR MERKEZI BASLADI"); //pencere basligini duzenleyelim topDocument.title = "kontrol merkezi - ekşi sözlük - kutsal bilgi kaynağı"; if (window.location.href.match(/cc.asp\?sec=ml/)) { try { malSevkiyatiSistemiKur(); } catch (err) { EppAPI_log("HATA: 'malSevkiyatiSistemiKur()' patladi! >> " + err); } } else if (window.location.href.match(/cc.asp(\?sec=ma[^&]*)?$/)) { try { mesajlariDuzenle(); } catch (err) { EppAPI_log("HATA: 'mesajlariDuzenle()' patladi! >> " + err); } } else { if (debug) EppAPI_log("Bu ayar menusu bizi ilgilendirmiyor: " + window.location.href); } } } //// UST FRAME ENGINE //// function UstFrameEngine() { function guncellemePaneli(yeniSurum) { var bugun = (new Date()).getDay(); if ((meta.branch != "eppdev") && EppAPI_getValue(System.storage.sonKontrolGunu, -1) == bugun) { //Bugun uyari vermisiz zaten EppAPI_log("Guncelleme uyarisi bugun daha once yapilmis. Rahatsiz etmeyelim fazla."); return; } // Bugun uyari verdigimizi not edelim EppAPI_setValue(System.storage.sonKontrolGunu, bugun); EppAPI_log("Guncelleme uyarisi bugun daha once yapilmamis. Uyaralim."); var anaPanel = newElem("div"); anaPanel.style.cssFloat = "right"; anaPanel.style.width = "500px"; anaPanel.style.height = "40px"; anaPanel.style.textAlign = "right"; anaPanel.style.verticalAllign = "middle"; anaPanel.style.padding = "1em 0"; anaPanel.innerHTML = ""+ "<b>yeni <a href='show.asp?t=eksi%2B%2B' target='sozmain'>eksi++</a> cikmis: <a class='url' href='http://userscripts.org/scripts/show/"+meta.id+"'>v"+yeniSurum+"</a></b>"+ '<a style="padding:2px 1em; margin:0 2em 0 1em;" class="but" href="http://userscripts.org/scripts/source/'+meta.id+'.user.js" target="_blank" title="Hanim kos guncelleme olmus!" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id="">guncelli-yorum!</a>'+ ""; document.body.insertBefore(anaPanel, document.body.firstChild); } function guncellemeKontrolu() { EppAPI_log("Guncelleme kontrolu basladi!"); // Elimizdeki surum guncel mi bir bilene soralim EppAPI_JSONRequest({ url: "http://mekan.dreamhosters.com/eksi++/version.php?id="+meta.id+"&v="+meta.version+"&r="+((new Date()).getTime()), method: "GET", data: "", onload: function(json){ try { if (json.uptodate == "no") { EppAPI_log("Guncelleme VAR >> Yeni Surum: " + json.latest); EppAPI_setValue(System.storage.isUpToDate, 0); EppAPI_setValue(System.storage.latestVersion, json.latest); //guncellemePaneli(json.latest); setTimeout(function(){ guncellemePaneli(json.latest) }, 1000); } else { EppAPI_log("Guncelleme yok >> Eldeki Surum: " + meta.version); EppAPI_setValue(System.storage.isUpToDate, 1); EppAPI_setValue(System.storage.latestVersion, meta.version); //Guncelleme yok, 30dk sonra bir daha bakalim setTimeout(guncellemeKontrolu, 1000*60*30); } } catch (e) { // Himm, bir sorun var... En yakin zamanda yine deneyelim (15 dk.) setTimeout(guncellemeKontrolu, 1000*60*15); } }, }); } this.basla = function() { EppAPI_log("UST FRAME BASLADI"); //Guncelleme kontrolu baslasin try { guncellemeKontrolu(); } catch (err) { EppAPI_log("HATA: 'guncellemeKontrolu()' patladi! >> " + err); } } } //// SOL FRAME ENGINE //// function SolFrameEngine() { // Basliklarin XPath listesi var basliklar; var solFrameReloadTO; var minReloadSuresi = 10; var sonGuncellenenBaslik = 0; var baslikListConversionDone = 0; function baslikFiltrelemeBitti() { if (debug) EppAPI_log("Baslik Filtreleme Tamamlandi"); } // Proxy'de olmayan basliklari bizzat request edip // yazarini bulmak function baslikFiltresi(baslik) { var baslikRef = baslik; this.basla = function () { var adres = baslikRef.href; var oldInnerHtml = baslikRef.innerHTML; //baslikRef.innerHTML += " <b>++</b>"; // Easter Egg :) adres = adres.replace(/&.*/i, ""); adres += "&nr=y"; // Baslik yonlendirmeye hayir! var req = new XMLHttpRequest(); req.open("GET", adres, true); req.onreadystatechange = function () { if (this.readyState == 4) { var baslikDoc = document.createElement("div"); baslikDoc.innerHTML = req.responseText; var girdiler = xpath(".//ol/li/div/a", baslikDoc); if (girdiler.snapshotLength > 0) { var ilkSuser = girdiler.snapshotItem(0).innerHTML; if (isDonuz(ilkSuser)) { EppAPI_log("Islenen Baslik Adresi: " + adres + " @ Sonuc: Donuz, Acan: " + ilkSuser); alalimArkadasi(baslikRef.parentNode); baslikRef.parentNode.setAttribute("epp_donuz", ilkSuser); } else { EppAPI_log("Islenen Baslik Adresi: " + adres + " @ Sonuc: Temiz, Acan: " + ilkSuser); } } else { //Boyle bir baslik hic olmamis ki! if (debug) EppAPI_log("Baslik Bos Cikti: " + adres); } kacKisiyiz--; baslikRef.innerHTML = oldInnerHtml; if (debug) EppAPI_log("Baslik Talepleri, Kac Kisiyiz: " + kacKisiyiz); if (kacKisiyiz <= 0) baslikFiltrelemeBitti(); } }; req.send(null); }; } // Proxy'den gelen cevaba gore basliklari filtreleme function proxyBasliklariFiltrele(proxyResp) { EppAPI_log("Proxy cevabi : " + JSON.stringify(proxyResp)); for (var i = 0; i < basliklar.snapshotLength; i++) { var baslik = basliklar.snapshotItem(i); if (proxyResp) { for (var proxyBaslik in proxyResp) { if (baslik.innerHTML == proxyBaslik) { kacKisiyiz++; neredeKaldik++; if (proxyResp[proxyBaslik]) { var acan = proxyResp[proxyBaslik]; if (isDonuz(acan)) { alalimArkadasi(baslik.parentNode); baslik.parentNode.setAttribute("epp_donuz", acan); if (debug) EppAPI_log("Baslik Proxy'den Bulundu: Sonuc: DONUZ! | Acan: " + proxyResp[proxyBaslik] + " | Baslik: '" + baslik.innerHTML + "'"); } else { baslik.setAttribute("donuz", 0); if (debug) EppAPI_log("Baslik Proxy'den Bulundu: Sonuc: Normal | Acan: " + proxyResp[proxyBaslik] + " | Baslik: '" + baslik.innerHTML + "'"); } kacKisiyiz--; } else { if (debug) EppAPI_log("Baslik Proxy'de Yok: " + baslik.innerHTML); // Proxy'de olmayan basliklari bizzat request edip // yazarini bulmak var filtre = new baslikFiltresi(baslik); filtre.basla(); } } } } else { if (debug) EppAPI_log("Baslik Proxy'de Yok: " + baslik.innerHTML); // Proxy'de olmayan basliklari bizzat request edip // yazarini bulmak kacKisiyiz++; var filtre = new baslikFiltresi(baslik); filtre.basla(); } } if (kacKisiyiz == 0) { // Hersey proxy'de varmis! Hayat ne guzel... baslikFiltrelemeBitti(); } } // Bir sonraki baslik grubunu filtreleme function donuzFiltrele() { if (!Ayarlar.donuzBasliklariniGizle) return; var surdan = neredeKaldik; var suraya = basliklar.snapshotLength; if (debug) EppAPI_log("Basliklar: " + surdan + " -> " + suraya + "" ); var baslikList = new Array(); for (var i = surdan; i < suraya; i++) { var baslik = basliklar.snapshotItem(i); baslikList.push(baslik.innerHTML); } var proxyUrl = "http://mekan.dreamhosters.com/eksi++/proxy.php?r=" + ((new Date()).getTime()); var proxyJsonData = JSON.stringify(baslikList); var proxyResp; EppAPI_log("Proxy requesti | URL: " + proxyUrl + " | Data: " + proxyJsonData); EppAPI_JSONRequest({ url: proxyUrl, method: "POST", data: encodeURIComponent(proxyJsonData), headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: proxyBasliklariFiltrele, }); } function regexFiltrele() { if (!Ayarlar.yasakliBasliklariGizle) return; for (var i=0; i<basliklar.snapshotLength; i++) { var baslik = basliklar.snapshotItem(i); var baslikStr = baslik.textContent; //if (debug) EppAPI_log("Baslik inceleniyor: "+baslikStr); for (var j in Ayarlar.yasakliRegexListesi) { var re = new RegExp(Ayarlar.yasakliRegexListesi[j],"i"); if (re.test(baslikStr)) { alalimArkadasi(baslik.parentNode); baslik.parentNode.setAttribute("epp_yasakli", "true"); if (debug) EppAPI_log("Baslik YASAKLI cikti: " + baslikStr + " | RE='"+Ayarlar.yasakliRegexListesi[j]+"'"); } } } } function ucNoktaEkle() { if (!Ayarlar.ucNoktayiGeriGetir) return; for (var i = 0; i < basliklar.snapshotLength; i++) { var baslik = basliklar.snapshotItem(i); if (baslik.href.match(/&(a=(td|yd|fv|sr)|d=\d\d\.\d\d\.\d\d\d\d)/)) { var ucnokta = document.createElement("a"); ucnokta.target = baslik.target; ucnokta.innerHTML = "..."; ucnokta.style.visibility = "hidden"; ucnokta.style.marginLeft = "0.2em"; baslik.parentNode.addEventListener("mouseover", (function(pUcnokta){ return function(){ pUcnokta.style.visibility = "visible"; }; })(ucnokta), true); baslik.parentNode.addEventListener("mouseout", (function(pUcnokta){ return function(){ pUcnokta.style.visibility = "hidden"; }; })(ucnokta), true); var eskiHref = baslik.href; var eskiTitle = baslik.title; var yeniHref = baslik.href.replace(/&(a=(td|yd|fv|sr)|d=\d\d\.\d\d\.\d\d\d\d)/,''); var yeniTitle = baslik.title.replace(/\((\d+)\/(\d+)\)/, "($2)"); //Tesekkurler vape@eksisozluk if (!Ayarlar.ucNoktayiTersineCevir) { //Tesekkurler soba@eksisozluk ucnokta.href = eskiHref; ucnokta.title = eskiTitle; baslik.href = yeniHref; baslik.title = yeniTitle; } else { ucnokta.href = yeniHref; ucnokta.title = yeniTitle; } //baslik.title = baslik.innerHTML; baslik.parentNode.appendChild(ucnokta); } } } function dogrudanBaslikYasakla() { if (!Ayarlar.yasakliBasliklariGizle) return; for (var i = 0; i < basliklar.snapshotLength; i++) { var baslik = basliklar.snapshotItem(i); baslik.addEventListener("click", function(e){ if(e.altKey) { /* shift + leftClick ile başlığı doğrudan yasakliRegex'e ekliyoruz */ alalimArkadasi(this.parentNode); yasakliRegexEkle(this.innerHTML); e.preventDefault(); } }, true); } } // Baslik filtreleme baslangic noktasi function basliklariDuzenle() { baslikListesi = xpath("/html/body/ul", document).snapshotItem(0); if (!baslikListesi) return; basliklar = xpath("//ul/li/a"); if (debug) EppAPI_log("SOL FRAME BASLADI"); regexFiltrele(); donuzFiltrele(); dogrudanBaslikYasakla(); ucNoktaEkle(); } function basligiGuncelle(currBasliklar, yeniBaslik) { var baslikYeni = 1; for (var i = 0; i < currBasliklar.snapshotLength; i++) { var currBaslik = currBasliklar.snapshotItem(i); var baslikListesi = xpath(".//ul").snapshotItem(0); if (currBaslik.childNodes[0].innerHTML == yeniBaslik.childNodes[0].innerHTML) { var currBaslikText = currBaslik.childNodes[0].innerHTML+(currBaslik.childNodes[1]?currBaslik.childNodes[1].textContent:''); var yeniBaslikText = yeniBaslik.childNodes[0].innerHTML+(yeniBaslik.childNodes[1]?yeniBaslik.childNodes[1].textContent:''); var currBaslikCount = 1; if (currBaslik.getAttribute("epp_currEntryCount")) currBaslikCount = parseInt(currBaslik.getAttribute("epp_currEntryCount")); else if (currBaslik.childNodes[1]) currBaslikCount = parseInt(currBaslik.childNodes[1].textContent.replace(/[\s()]/g,'')); var yeniBaslikCount = (yeniBaslik.childNodes[1]?parseInt(yeniBaslik.childNodes[1].textContent.replace(/[\s()]/g,'')):1); if (yeniBaslikCount > currBaslikCount) { EppAPI_log("Baslik '"+currBaslikText+"' yerine '"+yeniBaslikText+"' bulundu..."); EppAPI_log(" "+(yeniBaslikCount - currBaslikCount)+" yeni entry"); if (currBaslik.getAttribute("epp_baseEntryCount")) { // daha once de guncellemisiz bunu EppAPI_log(" Bir daha guncelliyoruz, bir daha, bir daha..."); var baseCount = parseInt(currBaslik.getAttribute("epp_baseEntryCount")); currBaslik.childNodes[1].innerHTML = " ("+yeniBaslikCount+"/"+(yeniBaslikCount - baseCount)+")"; currBaslik.setAttribute("epp_currEntryCount", yeniBaslikCount); } else { // ilk guncellememiz EppAPI_log(" Ilk defa guncelliyoruz bunu. Hadi bakalim..."); var baseCount = (currBaslik.childNodes[1]?parseInt(currBaslik.childNodes[1].textContent.replace(/[\s()]/g,'')):1); currBaslik.childNodes[1].innerHTML = " ("+yeniBaslikCount+"/"+(yeniBaslikCount - baseCount)+")"; currBaslik.setAttribute("epp_baseEntryCount", baseCount); currBaslik.setAttribute("epp_currEntryCount", yeniBaslikCount); } baslikListesi.removeChild(currBaslik); if (sonGuncellenenBaslik) { baslikListesi.insertBefore(currBaslik, sonGuncellenenBaslik.nextSibling); } else { baslikListesi.insertBefore(currBaslik, baslikListesi.firstChild); } sonGuncellenenBaslik = currBaslik; } baslikYeni = 0; break; } } if (baslikYeni) { // yeni bir baslikmis var yeniBaslikText = yeniBaslik.childNodes[0].innerHTML+(yeniBaslik.childNodes[1]?yeniBaslik.childNodes[1].textContent:''); var yeniBaslikCount = (yeniBaslik.childNodes[1]?parseInt(yeniBaslik.childNodes[1].textContent.replace(/[\s()]/g,'')):1); EppAPI_log("Yepisyeni bir baslik bulundu: '"+yeniBaslikText+"'"); if (yeniBaslik.childNodes[1]) yeniBaslik.childNodes[1].textContent = " ("+yeniBaslikCount+"/"+yeniBaslikCount+")"; else yeniBaslik.innerHTML += " ("+yeniBaslikCount+"/"+yeniBaslikCount+")"; yeniBaslik.setAttribute("epp_baseEntryCount", 0); yeniBaslik.setAttribute("epp_currEntryCount", yeniBaslikCount); if (sonGuncellenenBaslik) { baslikListesi.insertBefore(yeniBaslik, sonGuncellenenBaslik.nextSibling); } else { baslikListesi.insertBefore(yeniBaslik, baslikListesi.firstChild); } sonGuncellenenBaslik = yeniBaslik; } } function basliklariCanlandir() { EppAPI_log(">> Baslik canlandirma basladi!"); // Some loading indicator is needed. "loading" gif maybe?? if (!baslikListConversionDone) { EppAPI_log("Basliklari duzenliyoruz... (text -> span)"); var currBasliklar = xpath(".//ul/li"); for (var i = 0; i < currBasliklar.snapshotLength; i++) { var baslik = currBasliklar.snapshotItem(i); if (baslik.textContent.match(/\(\d+\)/)) { //Eger basligin entry sayisi hali hazirda varsa //bu textNode element'i span'e cevirelim var text = baslik.childNodes[1].textContent; baslik.removeChild(baslik.childNodes[1]); var span = newElem("span"); span.innerHTML = text; baslik.insertBefore(span, baslik.firstChild.nextSibling); } } baslikListConversionDone = 1; } var sonrakiSayfaUrl = document.URL; var req = new XMLHttpRequest(); var result = ""; req.open("GET", sonrakiSayfaUrl, false); req.send(null); var tempDom = document.createElement("div"); tempDom.innerHTML = req.responseText; if (!tempDom.getElementsByTagName("ul").length) return 0; var yeniBasliklar = xpath(".//ul/li", tempDom); var currBasliklar = xpath(".//ul/li"); if (currBasliklar.snapshotLength > 500) { clearInterval(solFrameReloadTO); // 500 basligi gectigimiz icin uyari ve reload iptali } sonGuncellenenBaslik = 0; for (var i = 0; i < yeniBasliklar.snapshotLength; i++) { var yeniBaslik = yeniBasliklar.snapshotItem(i); basligiGuncelle(currBasliklar, yeniBaslik); } EppAPI_log(">> Baslik canlandirma bitti..."); } function yenilemeSuresiniBul() { //Dokuman adresinden yenileme suresini bulup cikartir, yoksa 0 doner var match = document.location.href.match(/#epp_reload=(\d+)$/i); if (match && match[1]) { EppAPI_log("Yenileme suresi bulundu: "+match[1]+" saniye"); return parseInt(match[1]); } else { return 0; } } function yenilemeSuresiniKaydet(saniye) { //Dokuman adresine yenileme suresini yerlestirir var urlOrig = document.location.href.replace(/#epp_reload=(\d+)$/i,""); if (saniye) document.location.href = urlOrig + "#epp_reload=" + saniye; else document.location.href = urlOrig; } function otomatikYenilemeyiDuzenle() { var sure = yenilemeSuresiniBul(); if (sure) { solFrameReloadTO = setInterval(function(){ if (Ayarlar.canliBasliklar) basliklariCanlandir(); else window.location.reload(); }, (sure*1000)); } } function otomatikYenilemeyiBaslatBitir(tus,oySaniyesi) { if (tus.value == "yenile") { var seconds = parseInt(oySaniyesi.value); if (seconds >= minReloadSuresi) { solFrameReloadTO = setInterval(function(){ if (Ayarlar.canliBasliklar) basliklariCanlandir(); else window.location.reload(); }, (seconds*1000)); yenilemeSuresiniKaydet(seconds); oySaniyesi.setAttribute("disabled","true"); tus.value = "iptal"; tus.title = "Yenilemeyi bitir!"; } else { alert("oyle zaman araligi mi olur... en az "+minReloadSuresi+" saniye olsa neyse"); } } else { clearInterval(solFrameReloadTO); //yenilemeSuresiniKaydet(0); oySaniyesi.removeAttribute("disabled"); tus.value = "yenile"; tus.title = "verilen aralikta sol frame'i surekli yenile"; } } function arayuzElemanlariniEkle() { if (Ayarlar.solFrameMenusu) { var acKapaBut = yeniEksiTusu("input"); var solFrameKonsol = newElem("div"); //En alta bir bosluk... document.body.appendChild(newElem("br")); acKapaBut.value = "o_0"; acKapaBut.style.position = "fixed"; acKapaBut.style.bottom = "0"; acKapaBut.style.left = "0"; acKapaBut.style.width = "100%"; acKapaBut.style.height = "20px"; acKapaBut.style.borderWidth = "1px"; acKapaBut.addEventListener("click",function(){ if (solFrameKonsol.style.display == "none") { solFrameKonsol.style.display = ""; this.value = "x"; } else { solFrameKonsol.style.display = "none"; this.value = "o_0"; } },false); document.body.appendChild(acKapaBut); solFrameKonsol.style.width = "100%"; solFrameKonsol.style.display = "none"; solFrameKonsol.style.position = "fixed"; solFrameKonsol.style.bottom = "20px"; solFrameKonsol.style.left = "0"; solFrameKonsol.style.border = "2px solid"; solFrameKonsol.style.borderWidth = "2px 0 0 0"; solFrameKonsol.style.borderColor = "rgba(0,0,0,.5)"; solFrameKonsol.style.padding = "6px"; solFrameKonsol.style.backgroundColor = window.getComputedStyle(document.body, null).getPropertyValue("background-color"); //solFrameKonsol.style.lineHeight = "120%"; setTimeout(function(){ solFrameKonsol.style.backgroundImage = window.getComputedStyle(document.body, null).getPropertyValue("background-image"); solFrameKonsol.style.backgroundColor = window.getComputedStyle(document.body, null).getPropertyValue("background-color"); }, 2000); solFrameKonsol.style.display = "none"; document.body.insertBefore(solFrameKonsol, document.body.firstChild); // Otomatik yenileme var oyDiv = newElem("div"); oyDiv.style.marginBottom = "5px"; var oySaniyesi = newElem("input"); var reloadInt = yenilemeSuresiniBul(); oySaniyesi.type = "text"; oySaniyesi.style.width = "3em"; oySaniyesi.style.marginRight = "0.5em"; oySaniyesi.value = parseInt(reloadInt) || "60"; if (reloadInt) oySaniyesi.setAttribute("disabled","true"); else oySaniyesi.removeAttribute("disabled"); var oyAcKapaBut = yeniEksiTusu("input"); oyAcKapaBut.value = reloadInt?"iptal":"yenile"; oyAcKapaBut.title = "verilen aralikta sol frame'i surekli yenile"; oyAcKapaBut.style.width = "120px"; oyAcKapaBut.addEventListener("click",function(){ otomatikYenilemeyiBaslatBitir(this, oySaniyesi); },false); //Gunun Onemi ve Serhat hesaplamalari //// Contributor: armish //// var currentURL = window.location.href; var turkeyTime = new Date(); if (Ayarlar.turkiyeSaatiniKullan) { var localTime = new Date(); var UTC = localTime.getTime() + (localTime.getTimezoneOffset()*60000); //turkeyTime = new Date(UTC + (3*60*60000)); // Yaz saati turkeyTime = new Date(UTC + (2*60*60000)); // Kis saati } //alert("Baz zaman: " + turkeyTime.toLocaleString()); if (currentURL.match(/&fd=(\d+)/)) { turkeyTime.setDate((currentURL.match(/&fd=(\d+)/))[1]); turkeyTime.setMonth((currentURL.match(/&fm=(\d+)/))[1]-1); turkeyTime.setFullYear((currentURL.match(/&fy=(\d+)/))[1]); } else if (currentURL.indexOf("a=yd") > 0 ) { turkeyTime.setTime( turkeyTime.getTime() - 1000*60*60*24 ); } else if (currentURL.indexOf("a=ly") > 0 ) { turkeyTime.setFullYear( turkeyTime.getFullYear() - 1 ); } else if (currentURL.indexOf("a=rd") > 0 ) { var divElements = document.getElementsByTagName("div"); var pagiDiv; for(var i=0; i < divElements.length; i++) if( divElements[i].className == "pagi" ) pagiDiv = divElements[i]; var pagiWords = pagiDiv.innerHTML.split(" "); var months = ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran", "Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"]; var randMonth = 0; for(var i=0; i < months.length; i++) { if( months[i].toLowerCase() == pagiWords[1].toLowerCase() ) { randMonth = i; break; } } turkeyTime.setDate( pagiWords[0] ); turkeyTime.setMonth( randMonth ); turkeyTime.setFullYear( pagiWords[2] ); } //Serhat var serhatDiv = newElem("div"); serhatDiv.style.marginBottom = "5px"; var gundemTusu = yeniEksiTusu("input"); gundemTusu.value = "neler donmus serhat?"; gundemTusu.title = "bugun en cok entry girilen, en populer basliklari getir"; gundemTusu.style.width = "220px"; gundemTusu.addEventListener("click",function(){ var month = turkeyTime.getMonth() + 1; var day = turkeyTime.getDate(); var year = turkeyTime.getFullYear(); window.location.href = 'index.asp?a=sr&kw=&au=&so=g&fd='+day+'&fm='+month+'&fy='+year; },false); //Gunun Onemi var gununOnemiDiv = newElem("div"); gununOnemiDiv.style.marginBottom = "5px"; var gununOnemiTusu = yeniEksiTusu("input"); gununOnemiTusu.value = "gunun anlam ve onemi"; gununOnemiTusu.title = "bugun ile alakali basliklari getir"; gununOnemiTusu.style.width = "220px"; gununOnemiTusu.addEventListener("click",function(){ var months = ["ocak","subat","mart","nisan","mayis","haziran", "temmuz","agustos","eylul","ekim","kasim","aralik"]; var month = months[turkeyTime.getMonth()]; var day = turkeyTime.getDate(); var year = turkeyTime.getFullYear(); window.location.href = "index.asp?a=sr&kw="+day+"+"+month+"+"+year+"&au=&so=g&fd=&fm=&fy="; },false); oyDiv.appendChild(oySaniyesi); oyDiv.appendChild(newText("sn'de bir ")); oyDiv.appendChild(oyAcKapaBut); solFrameKonsol.appendChild(oyDiv); serhatDiv.appendChild(gundemTusu); solFrameKonsol.appendChild(serhatDiv); gununOnemiDiv.appendChild(gununOnemiTusu); solFrameKonsol.appendChild(gununOnemiDiv); } } //--// Sol Frame Engine - GIRIS //--// this.basla = function () { if (Ayarlar.canliBasliklar) { tumAyarlariYukle(); Ayarlar.canliBasliklar = 0; //Canli basliklari simdilik devre disi birakalim... tumAyarlariKaydet(); } try { arayuzElemanlariniEkle(); } catch (err) { EppAPI_log("HATA: 'arayuzElemanlariniEkle()' patladi! >> " + err); } try { otomatikYenilemeyiDuzenle(); } catch (err) { EppAPI_log("HATA: 'otomatikYenilemeyiDuzenle()' patladi! >> " + err); } try { basliklariDuzenle(); } catch (err) { EppAPI_log("HATA: 'basliklariDuzenle()' patladi! >> " + err); } } } //// SAG FRAME ENGINE function SagFrameEngine() { var spoilerVar = 0; var baslikKontrol = 10; var aramaKutusu; var hangiArama = 0; var aktifAramalar = 0; var oncekiArama; var oncekiDeger = ''; var baslikListesi = {karisik:0, liste:{}}; var intervalRef; var sabitBaslik; var sonrakiSayfaUrl = 0; var sonEntryId = "d0"; var scrollChecker = 0; var bitmeyenEntrylerLock = 0; var dahada = 0; //"daha da..." linki referansi function henti(s, a, b) { var ts = s.replace(/(^\s+|\s+$)/,''); var ps = s.indexOf(ts); return s.substring(0, ps) + a + ts + b + s.substring(ps + ts.length, s.length); } function bkzHazirla(konu, bas, son) { var box = idGet("d"); box.focus(); var selText = box.value.substring(box.selectionStart, box.selectionEnd); //alert(selText); if (selText && (selText.length <= 50 || (selText.length > 50 && confirm("Emma Watson: 50 karakteri asiyorsunuz!\n\nYine de "+konu+" yapilsin mi?")))) { var f = true; var s = box.value; var start = box.selectionStart; var end = box.selectionEnd; if (end && s.length > 0) { box.value = s.substring(0, start) + henti(s.substring(start, end), bas, son) + s.substring(end); end += bas.length + son.length; box.setSelectionRange(end, end); f = false; } } else if (!selText) { var s = prompt("hangi basliga "+konu+" verilesi?", "") || ""; if ((s.length > 0 && s.length <= 50) || (s.length > 50 && confirm("Emma Watson: 50 karakteri asiyorsunuz!\n\nYine de "+konu+" yapilsin mi?"))) { box.value += ' ' + bas + s.replace(/(^\s+|\s+$)/,'') + son; } } } function entryKutusunuGelistir() { var bkzTusu = xpath("//input[@value='(bkz: )']").snapshotItem(0); var gizliBkzTusu = xpath("//input[@value='``']").snapshotItem(0); if (bkzTusu) { bkzTusu.setAttribute("onclick",""); bkzTusu.addEventListener("click",function(e){ bkzHazirla("bkz","(bkz: ",")"); },true); } if (gizliBkzTusu) { gizliBkzTusu.setAttribute("onclick",""); gizliBkzTusu.addEventListener("click",function(e){ bkzHazirla("gizli bkz","`","`"); },true); } } function spoilerAcKapa(tus, spoiler) { if (alinmismiArkadas(spoiler)) { if (tus.nodeName == "A") tus.innerHTML = Ayarlar.dilBilgisi.spoilerKapama; if (tus.nodeName == "INPUT") tus.value = Ayarlar.dilBilgisi.spoilerKapama; tus.title = "Spoiler'i Gizle"; tus.setAttribute("epp_status", "spoiler_open"); cikaralimArkadasi(spoiler); } else { if (tus.nodeName == "A") tus.innerHTML = Ayarlar.dilBilgisi.spoilerAcma; if (tus.nodeName == "INPUT") tus.value = Ayarlar.dilBilgisi.spoilerAcma; tus.title = "Spoiler'i Goster"; tus.setAttribute("epp_status", "spoiler_closed"); alalimArkadasi(spoiler); } } function tumSpoilerlariAc() { var spoilerTuslari = xpath("//a[@epp_status='spoiler_closed']"); var clickEvt = document.createEvent("MouseEvents"); clickEvt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); for (var k=0; k<spoilerTuslari.snapshotLength; k++) { var cur = spoilerTuslari.snapshotItem(k); cur.dispatchEvent(clickEvt); } this.removeEventListener("click",tumSpoilerlariAc,true); this.addEventListener("click",tumSpoilerlariKapa,true); this.value = "tum spoilerlari kapa!"; } function tumSpoilerlariKapa() { var spoilerTuslari = xpath("//a[@epp_status='spoiler_open']"); var clickEvt = document.createEvent("MouseEvents"); clickEvt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); for (var k=0; k<spoilerTuslari.snapshotLength; k++) { var cur = spoilerTuslari.snapshotItem(k); cur.dispatchEvent(clickEvt); } this.removeEventListener("click",tumSpoilerlariKapa,true); this.addEventListener("click",tumSpoilerlariAc,true); this.value = "tum spoilerlari ac!"; } function spoilerHazirla(nodes, spBas, spSon) { var spoilerIcerigi = new Array(); var parent = nodes[spBas].parentNode; // Asil spoiler ifadesini bulalim var asilSpoiler; if (nodes[spBas].textContent.match(/spoiler/)) { asilSpoiler = nodes[spBas].textContent.replace(/-/g,''); } else if (nodes[spBas].nextSibling.textContent.match(/spoiler/)) { asilSpoiler = nodes[spBas].nextSibling.textContent.replace(/-/g,''); } var spoilerSpan = document.createElement("span"); var spoilerWrapper = document.createElement("span"); var acKapaWrapper = document.createElement("span"); var acKapaTusu = document.createElement("a"); spoilerSpan.innerHTML = "<br/>"; spoilerSpan.setAttribute("epp_type", "spoiler_kutu"); for (var i=spBas; i<=spSon; i++) spoilerSpan.appendChild(nodes[i].cloneNode(true)); alalimArkadasi(spoilerSpan); acKapaTusu.innerHTML = Ayarlar.dilBilgisi.spoilerAcma; acKapaTusu.setAttribute("epp_type", "spoiler_tus"); acKapaTusu.setAttribute("epp_status", "spoiler_closed"); acKapaTusu.className = "gb"; acKapaTusu.title = "Spoiler'i Goster"; acKapaTusu.href = "javascript:void(0)"; acKapaTusu.style.textDecoration = "underline"; acKapaWrapper.appendChild(acKapaTusu); //acKapaWrapper.style.backgroundImage = "url(" + transbg10UrlData + ")"; // Eger asil spoiler ibaresinde ekstra bilgi varsa ekleyelim if (!(asilSpoiler.match(/^\s*spoiler\s*$/))) { var asilSpoilerSpan = document.createElement("span"); asilSpoilerSpan.innerHTML = "(Spoiler aslen diyor ki: <b>"+asilSpoiler+"</b>)"; asilSpoilerSpan.style.display = "none"; asilSpoilerSpan.style.marginLeft = "1em"; asilSpoilerSpan.style.textDecoration = "none"; asilSpoilerSpan.setAttribute("epp_type","spoiler_asilspoiler"); acKapaWrapper.insertBefore(asilSpoilerSpan, acKapaTusu.nextSibling); } spoilerWrapper.innerHTML = "(( <a class='gb' href='show.asp?t=spoiler'>spoiler</a>! )) "; spoilerWrapper.appendChild(acKapaWrapper); spoilerWrapper.appendChild(spoilerSpan); return spoilerWrapper; } function isNodeSpoilerAlert(pNode) { if (pNode.nodeName == "A") { if (pNode.textContent.match(/(-|- )+.*spoiler.*(-|- )+/)) { return true; } else if (pNode.previousSibling) { //if (debug) EppAPI_log("Anchor Node Bulundu: " + pNode.innerHTML + " " + pNode.previousSibling.nodeName + " " + pNode.previousSibling.nodeValue ); if (pNode.innerHTML.match(/spoiler/) && pNode.previousSibling.nodeName == "#text" && pNode.previousSibling.nodeValue.match(/[-]+/)){ //if (debug) EppAPI_log("Link Spoiler Ibaresi Bulundu: " + pNode.textContent); return true; } } else { return false; } } else if (pNode.nodeName == "#text") { if (pNode.textContent.match(/(-|- )+.*spoiler.*(-|- )+/)){ //if (debug) EppAPI_log("Text Spoiler Ibaresi Bulundu: " + pNode.textContent); return true; } } //if (debug) EppAPI_log("Spoiler Degil | Tip: "+pNode.nodeName+" | " + pNode); return false; } function spoilerFiltrele(pGirdi) { if (!Ayarlar.spoilerGizle) return; var newGirdi = pGirdi.cloneNode(true); newGirdi.innerHTML = ""; var nodes = pGirdi.childNodes; for (var i=0; i<nodes.length; i++) { if (isNodeSpoilerAlert(nodes[i])) { var yaziVar = 0; for (var j=i+1; j<nodes.length; j++) { if (isNodeSpoilerAlert(nodes[j])) { if (yaziVar) { spoilerVar = 1; var kapanis = 0; if (!(nodes[j].textContent.match(/[-]+\s*/))) { while (nodes[j + kapanis] && !(nodes[j + kapanis].textContent.match(/[-]+\s*/))) kapanis++; } if (newGirdi.lastChild && newGirdi.lastChild.nodeName == "#text") { newGirdi.removeChild(newGirdi.lastChild); newGirdi.appendChild(spoilerHazirla(nodes, i-1, j + kapanis)); } else { newGirdi.appendChild(spoilerHazirla(nodes, i, j + kapanis)); } i = j+kapanis; break; } else { if (newGirdi.lastChild && newGirdi.lastChild.nodeName == "#text") newGirdi.removeChild(newGirdi.lastChild); i = j-2; break; } } else if ((nodes[j].nodeName == "#text" || nodes[j].nodeName == "A") && nodes[j].textContent.match(/\w+/)) { yaziVar = 1; } } if (j == nodes.length) { if (newGirdi.lastChild) newGirdi.removeChild(newGirdi.lastChild); if (nodes[i+1].textContent.match(/[-]+\s*$/)) i++; } } else { newGirdi.appendChild(nodes[i].cloneNode(true)); } } pGirdi.innerHTML = newGirdi.innerHTML; var spoilerKutulari = xpath(".//span[@epp_type='spoiler_kutu']",pGirdi); var spoilerTuslari = xpath(".//a[@epp_type='spoiler_tus']",pGirdi); for (var k=0; k<spoilerTuslari.snapshotLength; k++) { var spoilerKutusu = spoilerKutulari.snapshotItem(k); var spoilerTusu = spoilerTuslari.snapshotItem(k); if (spoilerTusu.getAttribute("epp_handled") != "true") { spoilerTusu.setAttribute("epp_handled", "true"); spoilerTusu.addEventListener("click", (function(pTus, pSpoiler) { return (function() { spoilerAcKapa(pTus, pSpoiler); return false; } ); })(spoilerTusu, spoilerKutusu), true); spoilerTusu.addEventListener("mouseover", (function(pTus) { return (function() { if (pTus.nextSibling && pTus.nextSibling.getAttribute("epp_type") == "spoiler_asilspoiler") pTus.nextSibling.style.display = ""; } ); })(spoilerTusu), true); spoilerTusu.addEventListener("mouseout", (function(pTus) { return (function() { if (pTus.nextSibling && pTus.nextSibling.getAttribute("epp_type") == "spoiler_asilspoiler") pTus.nextSibling.style.display = "none"; } ); })(spoilerTusu), true); } } } function isThisSearchResults() { return window.location.href.match(/&*kw=[^&]+&*/); } function donuzGirdisiFiltrele(pGirdi, pYazar) { if (!isThisSearchResults() && isDonuz(pYazar) && Ayarlar.donuzGirdileriniGizle) { alalimArkadasi(pGirdi); return true; } else { return false; } } function donuzTusuEkle(pGirdi, pYazar) { var tusRow = xpath(".//ul", pGirdi).snapshotItem(0); if (!tusRow) return; //Entry menusu olmayan yerde tusun ne isi var? var tusCell = newElem("li"); if (xpath(".//a[@title='sil']",pGirdi).snapshotLength) return; //Adamin kendi entrysinde 'donuz' tusunun ne isi var, di mi? var donuzTusu = yeniEksiTusu("a"); donuzTusu.title = "Donuzlara ekle"; donuzTusu.innerHTML = "donuz?"; //donuzTusu.style.cssFloat = "right"; donuzTusu.style.marginLeft = "0.7em"; //donuzTusu.style.marginTop = "1px"; donuzTusu.style.paddingLeft = "0.5em"; donuzTusu.style.paddingRight = "0.3em"; donuzTusu.addEventListener("click", (function(pYazar) { return function() { if (confirm("Belki '" + pYazar + "' iyidir de, cevresi kotudur.\n\nYine de donuzlara eklensin mi?")) donuzEkle(pYazar); } })(pYazar),true); tusCell.appendChild(donuzTusu); tusRow.appendChild(tusCell); } function modTarihcesiFix() { if (!Ayarlar.modTarihiPopup) return; var mtTuslari = xpath(".//a[contains(@title,'moderasyon')]"); for(var i=0; i<mtTuslari.snapshotLength; i++) { var tus = mtTuslari.snapshotItem(i); var mtUrl = tus.href; tus.href = "javascript:od('"+mtUrl+"'," +700+"," +400+")"; } } function girdileriDuzenle() { var girdiler = xpath("//ol/li", document); //if (debug) EppAPI_log(girdiler.snapshotLength + " Tane Girdi Bulundu"); for (var i = 0; i < girdiler.snapshotLength; i++) { var girdi = girdiler.snapshotItem(i); if (girdi.id == "nextEntriesBox") continue; if (girdi.getAttribute("epp_processed") == "true") continue; var girdiSirasi = girdi.value; var yazar = xpath(".//div[@class='aul']/a", girdi).snapshotItem(0).innerHTML; //if (debug) EppAPI_log("Girdi #" + girdiSirasi + " yazari: " + yazar); if (!donuzGirdisiFiltrele(girdi, yazar)) { if(girdi.innerHTML.match(/spoiler.*spoiler/)) spoilerFiltrele(girdi); donuzTusuEkle(girdi, yazar); girdi.setAttribute("epp_processed", "true"); } } } function onerileriSirala() { var yeniListe = {}; var tempArray = []; for (var baslik in baslikListesi.liste) { tempArray.push({key: baslik, obj: baslikListesi.liste[baslik]}); } tempArray.sort(function(a,b){ return (b.obj.girdiSayisi - a.obj.girdiSayisi); }); for (var i in tempArray) { yeniListe[tempArray[i].key] = tempArray[i].obj; } baslikListesi.liste = yeniListe; } function onerileriSun(kelimeler) { if (baslikListesi.karisik) onerileriSirala(); var kacTane = 0; var aramaKutusu = idGet("epp_aramaKutusu"); var sonucKutusu = idGet("epp_aramaOneriKutusu"); var sonucKutusuListe = idGet("epp_aramaOneriKutusuListe"); var sonucKutusuBaslik = idGet("epp_aramaOneriKutusuBaslik"); sonucKutusuListe.innerHTML = ""; sonucKutusuBaslik.innerHTML = "<b style='color: #ffffff'>Arama: "+kelimeler.join(" ")+"</b>"; for (var baslik in baslikListesi.liste) { kacTane++; var oneri = newElem("div"); var gosterilen = baslik; for (var i in kelimeler) { if (!kelimeler[i]) break; //Chrome Fix var safKelime = kelimeler[i].replace(/[*]/g,''); var regexp = "("+safKelime+")"; regexp = regexp.replace(/[çc]/g,'[çc]'); regexp = regexp.replace(/[öo]/g,'[öo]'); regexp = regexp.replace(/[ğg]/g,'[ğg]'); regexp = regexp.replace(/[üu]/g,'[üu]'); regexp = regexp.replace(/[şs]/g,'[şs]'); regexp = regexp.replace(/[ıi]/g,'[ıi]'); //EppAPI_log("RE: "+regexp); regexp = new RegExp(regexp,"g"); gosterilen = gosterilen.replace(regexp,"<strong style=''>$1</strong>"); } //var link = newElem("a"); oneri.style.margin = "5px 0"; oneri.innerHTML = "<a href='"+baslikListesi.liste[baslik].url+"' target='_blank' style='color: #ffffff'>"+gosterilen+"</a> ("+baslikListesi.liste[baslik].girdiSayisi+")"; sonucKutusuListe.appendChild(oneri); } if (!kacTane) { var oneri = newElem("div"); oneri.innerHTML = "<b>"+kelimeler.join(" ")+"</b> ne yahu?"; // veya "Bu sefer guldurmedi 8(" sonucKutusuListe.appendChild(oneri); } } function onerileriBul() { var aramaKutusu = idGet("epp_aramaKutusu"); var sonucKutusu = idGet("epp_aramaOneriKutusu"); var sonucKutusuBaslik = idGet("epp_aramaOneriKutusuBaslik"); sonucKutusuBaslik.innerHTML = "<b>Bir saniye...</b>"; sonucKutusu.style.display = ""; if (oncekiArama && oncekiArama == aramaKutusu.value) return; oncekiArama = aramaKutusu.value.replace(/(^\s+|\s+$)/, ''); var kelimeler = aramaKutusu.value.replace(/(^\s+|\s+$)/, '').split(/\s+/); if (!kelimeler[0] || kelimeler[0].match(/^\s*$/)) { //sonucKutusu.innerHTML = ""; //sonucKutusu.style.display = "none"; return; } baslikListesi = {sayi:0, liste:{}}; EppAPI_log("Aranan Kelimeler: '"+ kelimeler[0] + "' @ " + kelimeler.length); var adresSablon = "index.asp?a=sr&kw=__KW__&au=&so=g&fd=&fm=&fy="; if (kelimeler.length == 1 && kelimeler[0].match(/^[*].+[*]$/)) var adres = adresSablon.replace("__KW__", encodeURIComponent(kelimeler[0].replace(/^[*]/,''))); else var adres = adresSablon.replace("__KW__", encodeURIComponent(kelimeler.join(" "))); EppAPI_log("Adres: " + adres); var req = new XMLHttpRequest(); req.open("GET", adres, true); req.onreadystatechange = (function (pArama) { return function() { if (this.readyState == 4) { if (this.status == 200) { if (oncekiArama != pArama) { aktifAramalar--; //EppAPI_log("'"+oncekiArama + "' != '" + pArama + "'"); return; //Biz sonuc alana kadar baska arama olmus arada! } //EppAPI_log("Arama Sonucu: " + this.responseText); var tempDiv = newElem("div"); tempDiv.innerHTML = this.responseText; var basliklar = xpath(".//li", tempDiv); for (var i = 0; i < basliklar.snapshotLength; i++) { var baslik = basliklar.snapshotItem(i); var baslikAdi = baslik.childNodes[0].innerHTML; var baslikAdresi = baslik.childNodes[0].href; var girdiSayisi = (baslik.childNodes[1])?parseInt(baslik.childNodes[1].textContent.replace(/\D/g,'')):0; baslikListesi.liste[baslikAdi] = {"girdiSayisi":(girdiSayisi|1), url:baslikAdresi}; //if (debug) EppAPI_log("Baslik: " + JSON.stringify(baslikListesi.liste[baslikAdi])); } aktifAramalar--; if (aktifAramalar == 0) onerileriSun(kelimeler); } else { // Hatalar hatalar hatalar } } }})(oncekiArama); aktifAramalar++; if (kelimeler.length == 1 && kelimeler[0].match(/^[*].+[*]$/)) { adres = adresSablon.replace("__KW__", encodeURIComponent(kelimeler[0].replace(/[*]$/,''))); EppAPI_log("Adres2: " + adres); var req2 = new XMLHttpRequest(); req2.open("GET", adres, true); req2.onreadystatechange = (function (pArama) { return function() { if (this.readyState == 4) { if (this.status == 200) { if (oncekiArama != pArama) { aktifAramalar--; //EppAPI_log("'"+oncekiArama + "' != '" + pArama + "'"); return; //Biz sonuc alana kadar baska arama olmus arada! } baslikListesi.karisik = 1; //EppAPI_log("Arama Sonucu: " + this.responseText); var tempDiv = newElem("div"); tempDiv.innerHTML = this.responseText; var basliklar = xpath(".//li", tempDiv); for (var i = 0; i < basliklar.snapshotLength; i++) { var baslik = basliklar.snapshotItem(i); var baslikAdi = baslik.childNodes[0].innerHTML; var baslikAdresi = baslik.childNodes[0].href; var girdiSayisi = (baslik.childNodes[1])?parseInt(baslik.childNodes[1].textContent.replace(/\D/g,'')):0; baslikListesi.liste[baslikAdi] = {"girdiSayisi":(girdiSayisi|1), url:baslikAdresi}; //if (debug) EppAPI_log("Baslik2: " + JSON.stringify(baslikListesi.liste[baslikAdi])); } aktifAramalar--; if (aktifAramalar == 0) onerileriSun(kelimeler); } else { // Hatalar hatalar hatalar } } }})(oncekiArama); aktifAramalar++; req.send(null); req2.send(null); } else { req.send(null); } } function initArama(event) { if (event.keyCode == 13) { EppAPI_log("Kutudaki deger: " + aramaKutusu.value); if (aramaKutusu.value && aramaKutusu.value.match(/\w/) && oncekiDeger != aramaKutusu.value.replace(/(^\s+|\s+$)/g,'')) { EppAPI_log("Deger yeni. Ara!"); oncekiDeger = aramaKutusu.value.replace(/(^\s+|\s+$)/g,''); onerileriBul(); } else if (!aramaKutusu.value || aramaKutusu.value.match(/^\s*$/)) { var aramaOneriKutusu = idGet("epp_aramaOneriKutusu"); aramaOneriKutusu.style.display = "none"; } } } function frameSirinle() { var topFrame = newElem("iframe"); var leftFrame = newElem("iframe"); var rightFrame = newElem("iframe"); topFrame.src = "top.asp"; topFrame.id = "sozbar"; topFrame.name = "sozbar"; topFrame.style.position = "absolute"; topFrame.style.left = "0"; topFrame.style.top = "0"; topFrame.style.height = "50px"; topFrame.style.width = "100%"; leftFrame.src = "index.asp"; leftFrame.id = "sozindex"; leftFrame.name = "sozindex"; leftFrame.style.position = "absolute"; leftFrame.style.left = "0"; leftFrame.style.top = "50px"; leftFrame.style.height = (window.innerHeight-50)+"px"; leftFrame.style.width = "250px"; rightFrame.src = window.location.href.replace(/http:\/\/[^\/]+\//,"") + "&epp=epp"; rightFrame.id = "sozmain"; rightFrame.name = "sozmain"; rightFrame.style.position = "absolute"; rightFrame.style.left = "250px"; rightFrame.style.top = "50px"; rightFrame.style.height = (window.innerHeight-50)+"px"; rightFrame.style.width = (window.innerWidth-250)+"px"; setInterval(function(){ leftFrame.style.height = (window.innerHeight-50)+"px"; rightFrame.style.height = (window.innerHeight-50)+"px"; rightFrame.style.width = (window.innerWidth-250)+"px"; }, 1000); /* document.body.style.padding = "50px 0 0 250px"; sabitBaslik.style.width = (window.innerWidth-260)+"px"; sabitBaslik.style.margin = "50px 0 0 250px"; sabitBaslik.style.position = "absolute"; //*/ //* var allBody = xpath("/html/body/*"); for (var i=0; i<allBody.snapshotLength; i++) { if (allBody.snapshotItem(i).style) allBody.snapshotItem(i).style.display = "none"; } //*/ document.body.appendChild(topFrame); document.body.appendChild(leftFrame); document.body.appendChild(rightFrame); } function arayuzElemanlariniEkle() { var ayarTusu = yeniEksiTusu("input"); ayarTusu.type = "button"; ayarTusu.className = "but"; ayarTusu.value = "eksi++ ayarlari"; ayarTusu.addEventListener("click", ayarMenusunuGoster, true); ayarTusu.style.width = "95%"; ayarTusu.style.marginBottom = "20px"; var donBebegimBox = xpath(".//*[@id='panel']/tbody").snapshotItem(0); if (!donBebegimBox) { // Giris yapmamis olabilir, halktan biri galiba bu donBebegimBox = xpath(".//div[@class='rightcol']").snapshotItem(0); var ayarCell = document.createElement("div"); ayarCell.appendChild(document.createElement("br")); ayarCell.appendChild(ayarTusu); ayarCell.appendChild(document.createElement("br")) ayarCell.style.width = "100%"; donBebegimBox.insertBefore(ayarCell,donBebegimBox.firstChild); } else { // Giris yapmis, bildigin kullanici var ayarCell = document.createElement("td"); ayarCell.appendChild(document.createElement("br")); ayarCell.appendChild(ayarTusu); ayarCell.appendChild(document.createElement("br")) var ayarRow = document.createElement("tr"); ayarRow.appendChild(ayarCell); donBebegimBox.insertBefore(ayarRow, donBebegimBox.firstChild); } var baslikAltiBar = newElem("div"); baslikAltiBar.id = "epp_baslikAltiBar"; baslikAltiBar.style.marginRight = "120px"; //Sagdaki eksi tuslarina girmeyelim baslikAltiBar.style.width = "100%"; //baslikAltiBar.style.cssFloat = "left"; var baslik = xpath("//h1[@class='title']").snapshotItem(0); baslik.parentNode.insertBefore(baslikAltiBar, baslik.nextSibling); // Tez Getir if (Ayarlar.tezgetirGoster) { //var yazi = "Eksi++ ile ari-yorum"; var yazi = "aramayi baslatmak icin enter'a basila!"; var aramaTusu = yeniEksiTusu("input"); aramaKutusu = newElem("input"); var aramaOneriKutusu = newElem("div"); var aramaOneriKutusuBaslik = newElem("div"); var aramaOneriKutusuListe = newElem("div"); aramaTusu.value = "tez getir!"; aramaTusu.style.marginRight = "1em"; aramaTusu.addEventListener("click", function() { if (aramaKutusu.style.display == "none") { //this.style.display = "none"; this.value = "X"; this.style.width = "30px"; this.style.borderWidth = "1px" this.style.borderStyle = "solid"; this.style.borderColor = "black"; this.style.borderLeft = "0"; this.style.marginTop = "-2px"; this.style.padding = "0 5px 1px"; this.style.verticalAllign = "top"; aramaKutusu.style.display = ""; if (aramaOneriKutusu.textContent) aramaOneriKutusu.style.display = ""; //aramaKutusu.focus(); } else { this.style.width = ""; this.style.marginTop = ""; this.style.borderLeft = ""; this.style.borderWidth = "" this.style.borderStyle = ""; this.style.borderColor = ""; this.style.padding = ""; this.style.verticalAllign = ""; this.value = "tez getir!"; aramaKutusu.style.display = "none"; aramaOneriKutusu.style.display = "none"; } }, true); aramaKutusu.id = "epp_aramaKutusu"; aramaKutusu.type = "text"; aramaKutusu.value = yazi; aramaKutusu.style.padding = "2px 5px"; //aramaKutusu.style.marginRight = "1em"; aramaKutusu.style.color = "grey"; aramaKutusu.style.width = "450px"; aramaKutusu.style.display = "none"; aramaKutusu.style.border = "1px solid #000000"; aramaKutusu.addEventListener("focus", function(){ if (this.value == yazi) this.value = ""; this.style.color = "#000000"; if (aramaOneriKutusu.textContent) aramaOneriKutusu.style.display = ""; this.addEventListener("keyup", initArama, true); }, true); aramaKutusu.addEventListener("blur", function(){ if (this.value.match(/^\s*$/)) this.value = yazi; this.style.color = "grey"; this.removeEventListener("keyup", initArama, true); }, true); aramaOneriKutusu.id = "epp_aramaOneriKutusu"; aramaOneriKutusu.style.position = "absolute"; //aramaOneriKutusu.style.display = "none"; //aramaOneriKutusu.style.marginRight = "1em"; aramaOneriKutusu.style.padding = "0"; aramaOneriKutusu.style.paddingTop = "0.5em"; aramaOneriKutusu.style.width = "490px"; aramaOneriKutusu.style.border = "1px solid #000000"; aramaOneriKutusu.style.borderTop = "0px solid #000000"; aramaOneriKutusu.style.left = window.getComputedStyle(aramaKutusu, null).getPropertyValue("background-color"); aramaOneriKutusu.style.color = "white"; //aramaOneriKutusu.style.backgroundImage = "url(" + transbg50UrlData + ")"; aramaOneriKutusu.style.backgroundColor = "rgba(0,0,0,.7)"; aramaOneriKutusu.style.display = "none"; //aramaOneriKutusu.style.overflow = "auto"; //aramaOneriKutusu.innerHTML = "<b><div>aaa (10)</div><div>bbb (20)</div></b>"; aramaOneriKutusuBaslik.id = "epp_aramaOneriKutusuBaslik"; aramaOneriKutusuBaslik.style.paddingBottom = "5px"; aramaOneriKutusuBaslik.style.borderBottom = "1px solid #ffffff"; aramaOneriKutusuBaslik.style.textAlign = "center"; aramaOneriKutusuListe.id = "epp_aramaOneriKutusuListe"; aramaOneriKutusuListe.style.overflow = "auto"; aramaOneriKutusuListe.style.padding = "0.5em"; //aramaOneriKutusuListe.style.minWidth = "35em"; //aramaOneriKutusuListe.style.maxWidth = "60em"; aramaOneriKutusuListe.style.minHeight = "2em"; aramaOneriKutusuListe.style.maxHeight = "20em"; aramaOneriKutusu.appendChild(aramaOneriKutusuBaslik); aramaOneriKutusu.appendChild(aramaOneriKutusuListe); baslikAltiBar.appendChild(aramaKutusu); baslikAltiBar.appendChild(aramaTusu); baslikAltiBar.appendChild(aramaOneriKutusu); } if (spoilerVar) { //var spoilerlariAcKutusu = yeniEksiLinki("click", "", "tum spoilerlari ac!", "Gecici olarak sadece bu sayfadakilerin tumunu goster.", "| ", " |", "span"); var spoilerlariAcTusu = yeniEksiTusu("input"); spoilerlariAcTusu.value = "tum spoilerlari ac!"; spoilerlariAcTusu.style.marginRight = "1em"; spoilerlariAcTusu.addEventListener("click", tumSpoilerlariAc, true); //spoilerlariAcKutusu.link.addEventListener("click", function() { tumSpoilerlariAc(spoilerlariAcKutusu.link) }, true); //baslikAltiBar.appendChild(spoilerlariAcKutusu.wrap); baslikAltiBar.appendChild(spoilerlariAcTusu); } /* //En bastan goster tusu var tumunuGoster = 0; var buttons = xpath("/html/body/div[@id='topic']/div/button"); for (var i=0; i < buttons.snapshotLength; i++) { var cur = buttons.snapshotItem(i); if (cur.innerHTML.match(/t.m.n. g.ster/)) { tumunuGoster = cur; break; } } if (tumunuGoster) { var bastanGoster = yeniEksiTusu("input"); bastanGoster.value = "en bastan goster"; bastanGoster.setAttribute("onclick", tumunuGoster.getAttribute("onclick").replace(/&.+(['"])$/,'$1')); bastanGoster.style.marginLeft = "1em"; tumunuGoster.parentNode.insertBefore(bastanGoster, tumunuGoster.nextSibling); } */ //Frame ekleme tusu if (window.top == window.self && Ayarlar.iframeGoster) { var sirinleTusu = yeniEksiTusu("input"); sirinleTusu.value = "iFrame"; sirinleTusu.style.marginLeft = "0.5em"; sirinleTusu.addEventListener("click", frameSirinle, true); baslikAltiBar.appendChild(sirinleTusu); } } function pencereBasligiDuzenle() { if (!Ayarlar.sekmeDostuBaslik) return; //EppAPI_log("Pencere basligi: " + topDocument.title); if (topDocument.title.match(/^ek.i s.zl.k - kutsal [^-]+- [^-]/)) { //if (debug) EppAPI_log("Baslik yamuk!"); topDocument.title = topDocument.title.replace(/(^ek.i s.zl.k - [^-]+)-\s+(.+)\s*/, "$2 - $1"); setTimeout(pencereBasligiDuzenle, 2000); } else if ((--baslikKontrol) > 0) { //if (debug) EppAPI_log("Baslik henuz yamulmamis!"); setTimeout(pencereBasligiDuzenle, 2000); } } function basligiSabitle() { if (!Ayarlar.baslikSabitleme) return; var baslik = xpath("//h1[@class='title']").snapshotItem(0); sabitBaslik = baslik; var usttenBosluk = parseInt(baslik.offsetTop) + parseInt(baslik.offsetHeight); sabitBaslik.id = "epp_sabitBaslik"; sabitBaslik.style.position = "fixed"; sabitBaslik.style.zIndex = "98"; sabitBaslik.style.top = "0"; sabitBaslik.style.left = "0"; sabitBaslik.style.margin = "0"; sabitBaslik.style.paddingTop = "0.5em"; sabitBaslik.style.paddingRight = "0.5em"; sabitBaslik.style.paddingBottom = "0.5em"; //sabitBaslik.style.paddingLeft = "10px"; document.body.style.paddingTop = (usttenBosluk+5)+"px"; var bg = window.getComputedStyle(baslik, null).getPropertyValue("background-color"); if (bg.match(/(transparent|rgba)/i)) { setTimeout(function() { sabitBaslik.style.backgroundColor = window.getComputedStyle(document.body, null).getPropertyValue("background-color"); }, 2000); } setTimeout(function() { var asilPadLeft = window.getComputedStyle(baslik, null).getPropertyValue("padding-left"); if (asilPadLeft.match(/^0(px|em|pt)$/)) sabitBaslik.style.paddingLeft = "8px"; else sabitBaslik.style.paddingLeft = asilPadLeft; }, 2000); //sayfalandirmayi da sabit basliga ekliyoruz var pagis = xpath("//div[@class='pagi']"); if(pagis.snapshotLength > 0) { var rightcol = xpath("//div[@class='rightcol']").snapshotItem(0); //sağ panel var pagi = pagis.snapshotItem(0); var sabitPagi = pagi.cloneNode(true); sabitPagi.style.position = "absolute"; sabitPagi.style.fontWeight = "normal"; sabitPagi.style.top = "5px"; sabitPagi.style.right = "0"; sabitPagi.style.marginBottom = "0"; sabitPagi.style.marginRight = (parseInt(rightcol.offsetWidth) +45)+"px"; //sağ panelden kurtarıyoruz sabitBaslik.appendChild(sabitPagi); pagi.parentNode.parentNode.removeChild(pagi.parentNode); //var olan sayfalandırmayı kaldırıyoruz } } function sagPaneliSabitle() { if (!Ayarlar.sagPanelSabitleme) return; var rightcol = xpath("//div[@class='rightcol']").snapshotItem(0); //sağ panel rightcol.style.position = "fixed"; } function entryOnizleme() { if(!Ayarlar.entryOnizleme) return; var box = idGet("d"); if(box) { box.addEventListener("keyup", function() { function bkzconvert(str, p1, offset, s) { return "(bkz: <a class=\"b\" href=\"show.asp?t="+encodeURIComponent(p1)+"\">"+p1+"</a>)"; } function gbkzconvert(str, p1, offset, s) { var splitted = p1.split(":"); if(splitted.length == 1) return "<a class=\"gb\" href=\"show.asp?t="+encodeURIComponent(p1)+"\">"+p1+"</a>"; if(splitted.length == 2 && splitted[1] != "") return splitted[0]+"<sup class=\"ab\"><a href=\"show.asp?t="+encodeURIComponent(splitted[1])+"\" title=\"(bkz: "+p1+"\")>*</a></sup>"; return "`"+p1+"`"; } function araconvert(str, p1, offset, s) { return "(ara: <a target=\"sozindex\" href=\"index.asp?a=sr&kw="+encodeURIComponent(p1)+"\">"+p1+"</a>)"; } var entryText = this.value; entryText = entryText.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); //tag'lardan kurtarma entryText = entryText.replace(/\(bkz: (.{1,50}?)\)/g, bkzconvert); // (bkz: ) entryText = entryText.replace(/\`(.{1,50}?)\`/g, gbkzconvert); // `gizlibkz` entryText = entryText.replace(/\(ara: (.{1,50}?)\)/g, araconvert ); // (ara: ) entryText = entryText.replace(/\[(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]) (.{1,50}?)\]/ig, "<a class=\"url\" target=\"_blank\" href=\"$1\">$3</a>"); //[url word] entryText = entryText.replace(/[^(href="](\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, " <a target=\"_blank\" href=\"$1\">$1</a>"); // url entryText = entryText.replace(/^\s+|\s+$/g, ""); //trim entryText = entryText.replace(/\n/g,"<br />"); //satir atlama entryText = entryText.toLowerCase(); //kucuk harf var entryler = xpath("//ol[@class='eol']"); if(entryler.snapshotLength > 0) { var entryOl = entryler.snapshotItem(0); } else { var ampul = xpath("//ul/li[@class='ampul']").snapshotItem(0).parentNode; var entryOl = document.createElement("ol"); entryOl.id = "el"; entryOl.className = "eol"; ampul.parentNode.insertBefore(entryOl,ampul); } var epp_entryPreview = idGet("epp_entryPreview"); if(!epp_entryPreview){ epp_entryPreview = document.createElement("li"); epp_entryPreview.id = "epp_entryPreview"; epp_entryPreview.style.marginBottom = "2em"; var lastEntry = xpath("(.//ol/li[starts-with(@id,'d')])[last()]").snapshotItem(0); entryOl.insertBefore(epp_entryPreview, lastEntry.nextSibling); } var ampuls = xpath("//ul/li[@class='ampul']"); var mesela = xpath("//blockquote"); if(entryText) { epp_entryPreview.innerHTML = entryText; epp_entryPreview.style.display = ""; for(var i=0;i<ampuls.snapshotLength;i++) { ampuls.snapshotItem(i).style.display = "none"; } if(mesela.snapshotLength > 0) mesela.snapshotItem(0).style.display = "none"; } else { epp_entryPreview.style.display = "none"; for(var i=0;i<ampuls.snapshotLength;i++) { ampuls.snapshotItem(i).style.display = ""; } if(mesela.snapshotLength > 0) mesela.snapshotItem(0).style.display = ""; } },true); } } function konuluEntry() { if (window.location.href.match(/show\.asp\?.*&?i=(\d+)&?/)) { // Cok heyecanli ile mu gelinmis? var cokHeyecanli = window.location.href.match(/show\.asp\?.*&?epp_ch=1&?/); // Konulu entry nedir? var entryId = window.location.href.match(/show\.asp\?.*&?i=(\d+)&?/)[1]; var entry = idGet("d"+entryId); if (entry) { if (cokHeyecanli || Ayarlar.konuluEntryIsaretle) { var marker = document.createElement("img"); marker.src = "http://i.imgur.com/aSbzo.png"; marker.style.position = "absolute"; marker.style.top = "1.2em"; marker.style.left = "-35px"; entry.style.position = "relative"; entry.insertBefore(marker, entry.firstChild); } if (cokHeyecanli || Ayarlar.konuluEntryHizala) { setTimeout(function(){ window.scroll(0, findYPos(entry)-50); }, 1000); } } } } function compareEntryIds(ent1, ent2) { // Return values: // 1: ent2 is newer // 0: equal // -1: ent1 is newer ent1 = parseInt(ent1.replace(/^d/,'')); ent2 = parseInt(ent2.replace(/^d/,'')); if (ent1 < ent2) { return 1; } else if (ent1 > ent2) { return -1; } else { return 0; } } function sonrakiEntryleriParseEt(responseText) { var tempDom = document.createElement("div"); tempDom.innerHTML = responseText; if (!tempDom.getElementsByTagName("ol").length) return 0; var entryler = xpath(".//ol/li", tempDom); var gomEntryLi = 0; var sonrakiSonrakiSayfa = sonrakiSayfaUrl; try { sonrakiSonrakiSayfa = xpath(".//a[@rel='next']", tempDom).snapshotItem(0).href; sonrakiSayfaUrl = sonrakiSonrakiSayfa; EppAPI_log("Sonraki sonraki sayfa bulundu: " + sonrakiSonrakiSayfa); } catch (err) { // sonraki sayfa sonmus zaten (gibi) EppAPI_log("Sonraki sayfa son sayfaymis!"); } entryList = []; EppAPI_log("Sonraki sayfadaki entry sayisi: " + entryler.snapshotLength); EppAPI_log("Son gomulmus Entry IDsi: " + sonEntryId); tempSonEntryId = sonEntryId; for (var i=0; i<entryler.snapshotLength; i++) { liItem = entryler.snapshotItem(i); //EppAPI_log("compareEntryIds("+sonEntryId+","+liItem.id+") -> " + compareEntryIds(sonEntryId, liItem.id)); if (liItem.id && (compareEntryIds(sonEntryId, liItem.id) > 0)) { entryList.push(liItem); tempSonEntryId = liItem.id; } } sonEntryId = tempSonEntryId; EppAPI_log("Gomulecek sonraki entryler sayisi: " + entryList.length); EppAPI_log("Yeni gomulecek en son Entry IDsi: " + sonEntryId); return entryList; } function sonrakiEntryleriGetir(callback, auto) { if (sonrakiSayfaUrl == 0) { try { sonrakiSayfaUrl = xpath(".//a[@rel='next']").snapshotItem(0).href; } catch (err) { // son sayfada olabiliriz sonrakiSayfaUrl = document.URL; // document.location.href ? sonEntryId = xpath(".//ol/li[last()]").snapshotItem(0).previousSibling.id; } } EppAPI_log("Sonraki sayfa su gibi: " + sonrakiSayfaUrl); var req = new XMLHttpRequest(); var result = ""; req.open("GET", sonrakiSayfaUrl, true); req.onreadystatechange = function (e) { if (req.readyState === 4) { if (req.status === 200) { var nextEntries = sonrakiEntryleriParseEt(req.responseText); callback(nextEntries, auto, false); } else { EppAPI_log("Sonraki entry'ler gelirken bir sey oldu... : " + req.statusText); callback(0, auto, true); } } }; req.send(null); } function yeniEntryDuzenle(gomEntryLi) { var newLi = newElem("li"); newLi.id = gomEntryLi.id; newLi.value = gomEntryLi.value; newLiHTML = ""; var entryID = gomEntryLi.id.replace(/\D/g,''); var entrySira = gomEntryLi.value; if (gomEntryLi.firstChild.nodeName == "input") gomEntryLi.removeChild(gomEntryLi.firstChild); //gomEntryLi.lastChild.removeChild(gomEntryLi.lastChild.lastChild); var scriptler = xpath(".//script", gomEntryLi) for (var i=0; i< scriptler.snapshotLength; i++) { var script = scriptler.snapshotItem(i); script.parentNode.removeChild(script); } var yazarID = xpath("./a",gomEntryLi.lastChild).snapshotItem(0).innerHTML; //gomEntryLi.insertBefore(document.createElement("br"), gomEntryLi.lastChild); var entryMenu = xpath(".//div[@class='entrymenu']", gomEntryLi).snapshotItem(0); var aulDiv = entryMenu.parentNode; aulDiv.style.marginBottom = "2px"; var eksiTuslari = '<div name="epp_gizliTuslar" class="entrymenu" style="position: relative; visibility: hidden; height: 2em;">' + '<ul style="float:right;">'+ '<li style="vertical-align:top;"><span id="vst__ENTRY-ID__" class="ei"></span></li>'+ '<li class="ei" style="vertical-align:top;"><a href="javascript:void(0)" onclick="copyid(__ENTRY-ID__,1107);">#__ENTRY-ID__</a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" title="şükela!" onclick="mpr(__ENTRY-ID__,1)" id="">:)</a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" title="öeehh" onclick="mpr(__ENTRY-ID__,0)" id="">:O</a></li>'+ '<li style="margin-right:7px;"><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" title="çok kötü" onclick="mpr(__ENTRY-ID__,-1)">:(</a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" title="mesaj at" onclick="od(\'msg.asp?to=__YAZAR-ID__&re=__ENTRY-ID__\')">/msg</a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" href="javascript:od(\'http://www.eksisozluk.com/info2.asp?n=__YAZAR-ID__\',800,400)" title="yazar hakkında">?</a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" title="ispiyonla" onclick="od(\'gammaz.asp?id=__ENTRY-ID__\',430,160)">:P</a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" title="taşı" onclick="ci(__ENTRY-ID__)">></a></li>'+ '<li><a onmousedown="md(this)" onmouseup="bn(this)" onmouseover="ov(this)" onmouseout="bn(this)" class="but" href="javascript:od(\'http://www.eksisozluk.com/showmodhistory.asp?id=__ENTRY-ID__\',700,400)" title="moderasyon tarihçesi">!</a></li>'+ '</ul></div>'; eksiTuslari = eksiTuslari.replace(/__ENTRY-ID__/g, entryID); eksiTuslari = eksiTuslari.replace(/__YAZAR-ID__/g, yazarID); //result += "<ol style='white-space: normal;'><li value='"+entrySira+"' style='margin-left:0;'>"; aulDiv.removeChild(entryMenu); aulDiv.innerHTML += eksiTuslari; newLiHTML += gomEntryLi.innerHTML; newLi.innerHTML = newLiHTML; newLi.style.marginBottom = "10px"; newLi.addEventListener("mouseover", function(){ this.getElementsByTagName('ul')[0].style.visibility = 'visible'; }); newLi.addEventListener("mouseout", function(){ this.getElementsByTagName('ul')[0].style.visibility = 'hidden'; }); //donuzTusuEkle(newLi, yazarID); return newLi; } function yeniEntryleriGom(yeniEntryler) { var entryOrdList = idGet("el"); var nextEntriesBox = idGet("nextEntriesBox"); var entryPreview = idGet("epp_entryPreview"); if (entryPreview) // entry onizleme bolumu varsa onu da alta alalim entryOrdList.removeChild(entryPreview); entryOrdList.removeChild(nextEntriesBox); for (var i=0; i<yeniEntryler.length; i++) { liItem = yeniEntryler[i]; entryOrdList.appendChild(yeniEntryDuzenle(liItem)); } if (entryPreview) // entry onizleme bolumu varsa tekrar ekleyelim entryOrdList.appendChild(entryPreview); entryOrdList.appendChild(nextEntriesBox); } function bitmeyenEntrylerIsle(nextEntries, auto, error) { if (!nextEntries || !nextEntries.length) { if (error) { dahada.innerHTML = "bir sorun oldu... tekrar?"; } else { if (scrollChecker) clearInterval(scrollChecker); //Yeni entry yoksa surekli uyari anlamsiz dahada.innerHTML = "daha yok gibi... tekrar?"; } } else { yeniEntryleriGom(nextEntries); girdileriDuzenle(); //donuz ve spoiler filtresi gomulebilirEntryleriDuzenle(); //entry gomucu gomulebilirLinkDuzenle(); //link gomucu dahada.innerHTML = "daha da..."; } bitmeyenEntrylerLock = 0; } function bitmeyenEntrylerBasla(dahada, auto) { if (bitmeyenEntrylerLock) { if (debug) EppAPI_log("Simdi mesgul sonra deneyelim..."); return; //halihazirda islenen bir request var } bitmeyenEntrylerLock = 1; dahada.innerHTML = "geliyor <img src='http://i.imgur.com/oInr7.gif' style='margin-left:5px;' />"; sonrakiEntryleriGetir(bitmeyenEntrylerIsle, auto); } function bitmeyenEntryler() { if (!Ayarlar.bitmeyenEntryler) return; if (xpath(".//ol/li").snapshotLength == 1) return; //tek entry icin degmez... var moreBox = newElem("li"); moreBox.id = "nextEntriesBox"; var bold = newElem("b"); dahada = newElem("a"); bold.style.textAlign = "center"; bold.style.display = "inline-block"; bold.style.width = "100%"; dahada.className = "gb"; dahada.href = "javascript:void(0)"; dahada.innerHTML = "daha da..."; dahada.title = "sonraki entry'leri getir (varsa tabi)"; dahada.addEventListener("click", function(){ bitmeyenEntrylerBasla(dahada, false); }); if (Ayarlar.bitmeyenEntrylerAuto) { scrollChecker = setInterval(function(){ var scrollH = window.scrollY; var viewH = window.innerHeight; var scrolledTo = scrollH + viewH; var dahadaBoxY = findYPos(dahada); if (scrolledTo > dahadaBoxY) { if (debug) EppAPI_log("Sayfa sonuna gelinmis > ScrollH:"+scrollH+" ViewH:"+viewH+" BoxY:"+dahadaBoxY); bitmeyenEntrylerBasla(dahada, true); } }, (250)); } bold.appendChild(dahada) moreBox.appendChild(bold); moreBox.style.border = "1px solid"; moreBox.style.borderRadius = "3px"; idGet("el").appendChild(moreBox); } function nickBasligiKontrolu() { if (!Ayarlar.nickBasligiKontrolu) return; var baslik = xpath("//h1[@class='title']").snapshotItem(0); var baslikText = xpath(".//a",baslik).snapshotItem(0).innerHTML; if (baslikText.match(/[^A-Za-z0-9 ]/g)) return; //nick'te olmamasi gereken karakter(ler) var, aramak gereksiz. var kimdirNedirUrl = "http://www.eksisozluk.com/info2.asp?n="+encodeURIComponent(baslikText); var req = new XMLHttpRequest(); var result = ""; req.open("GET", kimdirNedirUrl, false); req.send(null); var tempDom = document.createElement("div"); tempDom.innerHTML = req.responseText; var yazarYok = xpath(".//li[@class='ampul']",tempDom).snapshotItem(0); //boyle bir yazar yok var entryYok = (xpath(".//div[@id='inf_le']/table/tbody/tr/td[2]/a",tempDom).snapshotLength == 0); if (entryYok) EppAPI_log("Yazar var ama entry yok, neyleyem ben boyle yazari?!"); var girisYapmamis = xpath(".//form[@class='loginbox']",tempDom).snapshotItem(0); //giris yapmadigi icin sonuc alamadik if (girisYapmamis || entryYok || (yazarYok && yazarYok.innerHTML.match(/yazar kayd. mevcut de.il/))) return; var kimdirNedirPopupHref = kimdirNedirUrl; if (Ayarlar.kimdirNedirPopup) kimdirNedirPopupHref = "javascript:od('"+kimdirNedirUrl+"',800,400)"; baslik.innerHTML += '<a style="padding-left:4px;" href="'+kimdirNedirPopupHref+'"><img src="http://i.imgur.com/qQZcW.png"></a>'; } //--// Sag Frame Engine - GIRIS //--// this.basla = function() { //if (debug) EppAPI_log("SAG FRAME BASLADI"); if (Ayarlar.hepFrameliSozluk && window.top == window.self) { //Madem hep frameli olsun denmis, frameleri ekleyip kacalim //(frameler zaten kendi scriptlerini calistiracaklar...) setTimeout(frameSirinle, 1000); return; } try { konuluEntry(); } catch (err) { EppAPI_log("HATA: 'Konulu Entry' patladi! >> " + err); } try { pencereBasligiDuzenle(); } catch (err) { EppAPI_log("HATA: 'pencereBasligiDuzenle()' patladi! >> " + err); } try { girdileriDuzenle(); } catch (err) { EppAPI_log("HATA: 'girdileriDuzenle()' patladi! >> " + err); } try { arayuzElemanlariniEkle(); } catch (err) { EppAPI_log("HATA: 'arayuzElemanlariniEkle()' patladi!: " + err); } try { nickBasligiKontrolu(); } catch (err) { EppAPI_log("HATA: 'nickBasligiKontrolu()' patladi! >> " + err); } try { basligiSabitle(); } catch (err) { EppAPI_log("HATA: 'basligiSabitle()' patladi! >> " + err); } try { sagPaneliSabitle(); } catch (err) { EppAPI_log("HATA: 'sagPaneliSabitle()' patladi! >> " + err); } try { entryOnizleme(); } catch (err) { EppAPI_log("HATA: 'entryOnizle()' patladi! >> " + err); } try { entryKutusunuGelistir(); } catch (err) { EppAPI_log("HATA: 'entryKutusunuGelistir()' patladi! >> " + err); } try { modTarihcesiFix(); } catch (err) { EppAPI_log("HATA: 'modTarihcesiFix()' patladi! >> " + err); } try { bitmeyenEntryler(); } catch (err) { EppAPI_log("HATA: 'bitmeyenEntryler()' patladi! >> " + err); } } } //// KIMDIR NEDIR ENGINE function KimdirNedirEngine() { function paneliKaldir() { var panel = xpath("//td[@class='panel']").snapshotItem(0); panel.parentNode.removeChild(panel); } //--// Kimdir Nedir Engine - GIRIS //--// this.basla = function() { //if (debug) EppAPI_log("KIMDIR NEDIR BASLADI"); try { paneliKaldir(); } catch (err) { EppAPI_log("HATA: 'paneliKaldir()' patladi! >> " + err); } } } //// EKSIFAVORI EGINE function EksiFavoriEngine() { var elementPrefix = "eksifavori_"; var patt_Favori_Page = /\/index\.asp\?a=sr&so=y&kw=\*$/; var link_Favori_Page = "index.asp?a=sr&so=y&kw=*"; /* ekşi sözlük top.js functions */ function EksiFavori_ods(n, s, f) { var tempods = ' <select name="' + n + '"><option></option>'; for (var n = 1; n <= 31; n++) tempods += "<option " + (n == f ? "selected='selected'" : "") + ">" + n + "</option>"; if (s) for (n = 2; n <= 12; n++) tempods += "<option value=" + (n * 30) + ">" + n + " ay</option>"; tempods += '</select>'; return tempods; } function EksiFavori_oms(n, f) { var mo = new Array("ocak", "subat", "mart", "nisan", "mayıs", "haziran", "temmuz", "agustos", "eylul", "ekim", "kasim", "aralik"); var tempoms =' <select name="' + n + '"><option></option>'; for (var n = 1; n <= 12; n++) tempoms +="<option " + (n == f ? "selected='selected'" : "") + " value='" + n + "'>" + mo[n - 1] + "</option>"; tempoms +='</select>'; return tempoms; } function EksiFavori_oys(n, f) { var tempoys = ' <select name="' + n + '"><option></option>'; with (new Date()) for (var n = getFullYear(); n >= 1999; n--) tempoys += "<option " + (n == f ? "selected='selected'" : "") + ">" + n + "</option>"; tempoys += '</select>'; return tempoys; } /* Specical Functions For EksiFavori */ function isInFavouriteList(eid) { //control by entry if entry exist in database tumAyarlariYukle(); for (var i = 0; i < Ayarlar.favoriEntryListesi.length; i++) { if (Ayarlar.favoriEntryListesi[i].entryid == eid) { //EksiFavori_log("Evet var, entryid: "+eid); return true; } } //EksiFavori_log("Hayır yok, entryid: "+eid); return false; } function showMessage(elem,message) { if (!elem) return; elem.innerHTML = message; var t = setTimeout(function() { elem.innerHTML =""},4000,elem); } function addToFavourites(etitle,eid) { //insert entry into database var resultel = idGet('vst'+eid); tumAyarlariYukle(); for (var i = 0; i < Ayarlar.favoriEntryListesi.length; i++) { if (Ayarlar.favoriEntryListesi[i].entryid == eid) { //EksiFavori_log("Zaten var, {baslik: "+etitle+", entryid: "+eid+"}"); return false; } } Ayarlar.favoriEntryListesi.push({title: etitle, entryid: eid}); showMessage(resultel,"favorilere eklendi!"); //EksiFavori_log("Ekleme islemi basarili, {baslik: "+etitle+", entryid: "+eid+"}"); tumAyarlariKaydet(); return true; } function removeFromFavourites(eid) { //remove entry from database var resultel = idGet('vst'+eid); tumAyarlariYukle(); var tempentryList = new Array(); var j = 0; for (var i = 0; i < Ayarlar.favoriEntryListesi.length; i++) { if (Ayarlar.favoriEntryListesi[i].entryid != eid) { tempentryList[j++] = Ayarlar.favoriEntryListesi[i]; } } Ayarlar.favoriEntryListesi = tempentryList; tumAyarlariKaydet(); showMessage(resultel,"favorilerden cikarildi!"); //EksiFavori_log("Silme islemi basarili, entryid: "+eid); } function removeAllFromFavourites() { tumAyarlariYukle(); var tempentryList = new Array(); Ayarlar.favoriEntryListesi = tempentryList; tumAyarlariKaydet(); } /* Editing Entries for EksiFavori Buttons */ function FavoriEditor() { var pageTitle = getPageTitle(); function getPageTitle() { return xpath("//h1[@class='title']/a").snapshotItem(0).innerHTML; } function getEntryId(entry) { var entry_id = xpath(".//div[@class='entrymenu']",entry).snapshotItem(0).id; return entry_id.replace(/m/g,""); } function addFavouriteButton(entry, isFavour) { var entry_id = getEntryId(entry); var hidden_ul = xpath(".//div[@class='entrymenu']/ul",entry).snapshotItem(0); var containerLi = newElem("li"); var favoributton = yeniEksiTusu("a",elementPrefix+entry_id); if (isFavour) { favoributton.title = "Favorilere Ekle"; favoributton.innerHTML = "+"; } else { favoributton.title = "Favorilerden Cikar"; favoributton.innerHTML = "-"; } favoributton.addEventListener("click", (function(etitle,eid) { return function() { if (this.innerHTML == "-") { removeFromFavourites(eid); this.innerHTML = "+"; this.title = "Favorilere Ekle"; } else { addToFavourites(etitle,eid); this.innerHTML = "-"; this.title = "Favorilerden Cikar"; } }})(pageTitle,entry_id),true); containerLi.appendChild(favoributton); hidden_ul.appendChild(containerLi); } function editEntryMenus() { var entryList = xpath("//ol[@class='eol']/li"); for (var i = 0; i < entryList.snapshotLength; i++) { var entry = entryList.snapshotItem(i); if (isInFavouriteList(getEntryId(entry))) { addFavouriteButton(entry,false); } else { addFavouriteButton(entry,true); } } } this.basla = function() { editEntryMenus(); } } /* List Favourite Entries */ function FavoriList() { var maxEntry = 50; var bodyel = xpath("//body").snapshotItem(0); var EksiFavoriListDiv = newElem('div'); var EksiFavoriFooter = newElem('div'); EksiFavoriFooter.setAttribute("align","center"); var statusDiv = newElem("div"); EksiFavoriFooter.appendChild(statusDiv); function clearPage() { /* clearing innerHTML and setting class for body */ var hayvanarahtml = ''+ '<div id="a" class="adiv" style="top:44px"><form action="index.asp" id="sr" method="get">'+ '<table border="0" cellpadding="0" cellspacing="0" style="width:200px">'+ '<tr><td class="aup"> </td>'+ '<td id="amain" rowspan="3" class="amain">'+ '<input type="hidden" name="a" value="sr" />'+ '<table class="msg" border="0" cellpadding="0" cellspacing="0">'+ '<tr><td>şey</td><td><input type="text" id="kw" name="kw" size="19" maxlength="100" value=""/></td></tr>'+ '<tr><td>yazarı</td><td><input type="text" name="au" size="19" maxlength="50" value="" /></td></tr>'+ '</table>'+ '<fieldset><legend>sıra şekli</legend>'+ '<table class="msg"><tr>'+ '<td style="white-space:nowrap"><input id="ra" type="radio" class="radio" name="so" value="a" onclick="sch(\'a\')" />'+ '<label accesskey="a" for="ra"><span style="text-decoration:underline">a</span>lfa-beta</label></td>'+ '<td style="white-space:nowrap"><input id="rr" type="radio" class="radio" name="so" value="r" onclick="sch(\'r\')" />'+ '<label accesskey="r" for="rr"><span style="text-decoration:underline">r</span>'; for (var n = 1;n < 7;n++) hayvanarahtml += String.fromCharCode(Math.round(Math.random()*25)+97); hayvanarahtml += ''+ '</label></td></tr>'+ '<tr>'+ '<td style="white-space:nowrap"><input id="ry" type="radio" class="radio" name="so" value="y" checked=\'checked\' onclick="sch(\'y\')" />'+ '<label accesskey="y" for="ry"><span style="text-decoration:underline">y</span>eni-eski</label></td>'+ '<td style="white-space:nowrap"><input id="rg" type="radio" class="radio" name="so" value="g" onclick="sch(\'g\')" />'+ '<label accesskey="u" for="rg">g<span style="text-decoration:underline">u</span>dik</label></td>'+ '</tr></table>'+ '</fieldset>'+ '<fieldset style="white-space:nowrap;text-align:center"><legend>şu gün</legend>'+ EksiFavori_ods('fd',0,0) + EksiFavori_oms('fm',0) + EksiFavori_oys('fy',0)+ '</fieldset>'+ '<fieldset><legend>tercihler</legend>'+ '<input id="cr" accesskey="g" type="checkbox" class="checkbox" name="cr" value="y" /> '+ '<label for="cr"><span style="text-decoration:underline">g</span>üzelinden olsun</label>'+ '</fieldset><br />'+ '<div style="text-align:center">'+ '<input type="submit" class="but" value="hayvanlar gibi ara" /></div>'+ '</td></tr>'+ '<tr><td class="amid" onmouseup="pp()">h<br />a<br />y<br />v<br />a<br />n<br /><br />a<br />r<br />a</td></tr>'+ '<tr><td class="abot"> </td></tr>'+ '</table></form></div>'; bodyel.innerHTML = hayvanarahtml; var osrscript = newElem("script"); osrscript.innerHTML += "osr();"; document.getElementsByTagName('head')[0].appendChild(osrscript); bodyel.className = "bgleft"; bodyel.appendChild(EksiFavoriListDiv); bodyel.appendChild(EksiFavoriFooter); } function createPager(p,maxp) { var divPagi = newElem("div"); divPagi.className= "pagi"; if (Ayarlar.favoriEntryListesi.length > 0) { var hepsiniokubut = newElem("a"); hepsiniokubut.style.padding = "3px"; hepsiniokubut.style.margin = "5px"; hepsiniokubut.style.cursor = "pointer"; hepsiniokubut.innerHTML = "hepsini okumak istiyorum >>"; hepsiniokubut.setAttribute("onclick","top.sozmain.location.href='show.asp?t=__eksifavori_listesi__'"); divPagi.appendChild(hepsiniokubut); divPagi.appendChild(newElem("br")); divPagi.appendChild(newElem("br")); } divPagi.innerHTML += 'favori entry\'lerim.. ('+Ayarlar.favoriEntryListesi.length+' entry)<br />'; if (maxp > 1) { var spanPagi = newElem("span"); if (p > 1) { var preva = newElem("a"); preva.id = elementPrefix + "prev"; preva.className = "link"; preva.innerHTML = "<< "; preva.title = "onceki sayfa"; spanPagi.appendChild(preva); } spanPagi.innerHTML +="sayfa"; var tempsel = newElem("select"); tempsel.id = elementPrefix+"pager"; tempsel.className = "pagis"; for (var i = 0; i < maxp; i++) { if ((i+1) == p) tempsel.options[i] = new Option((i+1),(i+1),true,true); else tempsel.options[i] = new Option((i+1),(i+1)); } spanPagi.appendChild(tempsel); spanPagi.innerHTML +=" / "; var thispage = newElem("a"); thispage.id = elementPrefix + "thispage"; thispage.className = "link"; thispage.style.fontSize = "x-small"; thispage.innerHTML = maxp; thispage.title = maxp; spanPagi.appendChild(thispage); if (p < maxp) { var nexta = newElem("a"); nexta.id = elementPrefix + "next"; nexta.className = "link"; nexta.innerHTML = " >>"; nexta.title = "sonraki sayfa"; spanPagi.appendChild(nexta); } divPagi.appendChild(spanPagi); EksiFavoriListDiv.appendChild(divPagi); var EksiFavoriPager = idGet(elementPrefix+"pager"); if (EksiFavoriPager) { EksiFavoriPager.addEventListener("change", function(){ fillPageByEntrylist((this.selectedIndex+1)); //EksiFavori_log("Sayfa değişim isteği: p="+(this.selectedIndex+1)); }, true); } var EksiFavoriPager_prev = idGet(elementPrefix+"prev"); if (EksiFavoriPager_prev) { EksiFavoriPager_prev.addEventListener("click", function(){ fillPageByEntrylist((EksiFavoriPager.selectedIndex)); //EksiFavori_log("Sayfa değişim isteği: p="+(EksiFavoriPager.selectedIndex)); }, true); } var EksiFavoriPager_next = idGet(elementPrefix+"next"); if (EksiFavoriPager_next) { EksiFavoriPager_next.addEventListener("click", function(){ fillPageByEntrylist((EksiFavoriPager.selectedIndex+2)); //EksiFavori_log("Sayfa değişim isteği: p="+(EksiFavoriPager.selectedIndex+2)); }, true); } var EksiFavoriPager_thispage = idGet(elementPrefix+"thispage"); if (EksiFavoriPager_thispage) { EksiFavoriPager_thispage.addEventListener("click", function(){ fillPageByEntrylist(this.title); //EksiFavori_log("Sayfa değişim isteği: p="+this.title); }, true); } } else { EksiFavoriListDiv.appendChild(divPagi); } } function createEntryList(p) { EksiFavoriListDiv.appendChild(newElem("br")); var ultemp = newElem("ul"); ultemp.className = "index"; var maxp = Math.ceil(Ayarlar.favoriEntryListesi.length/maxEntry); if (p <= 0) { p = 1; } else if(p > maxp) p = maxp; var maxlimit = (Ayarlar.favoriEntryListesi.length-1)-((p-1)*maxEntry); var limiter = maxEntry; for (var i = maxlimit; i >= 0; i--) { if (limiter > 0) { if (Ayarlar.favoriEntryListesi[i]) { var tempLi = newElem("li"); var tempLink = newElem("a"); tempLink.target = "sozmain"; tempLink.href = "show.asp?t=%23"+Ayarlar.favoriEntryListesi[i].entryid; tempLink.innerHTML = Ayarlar.favoriEntryListesi[i].title+"/#"+Ayarlar.favoriEntryListesi[i].entryid; tempLink.addEventListener("click", function(entryID) { return function(e){ if (e.altKey) { removeFromFavourites(entryID); this.parentNode.style.display = "none"; e.preventDefault(); } }}(Ayarlar.favoriEntryListesi[i].entryid), true); tempLi.appendChild(tempLink); ultemp.appendChild(tempLi); } } limiter--; } EksiFavoriListDiv.appendChild(ultemp); } function fillPageByEntrylist(p) { tumAyarlariYukle(); EksiFavoriListDiv.innerHTML = ""; var maxp = Math.ceil(Ayarlar.favoriEntryListesi.length/maxEntry); if (p <= 0) { p = 1; } else if (p > maxp) { p = maxp; } createPager(p,maxp); createEntryList(p); } function createRemoveAllButton() { if (Ayarlar.favoriEntryListesi.length > 0) { var removebutton = yeniEksiTusu(); removebutton.innerHTML = "Bosalt"; removebutton.style.padding = "3px"; removebutton.style.margin = "3px"; removebutton.addEventListener("click",function(){ if (confirm("Liste tamamen bosaltilacak, emin misin?")) { removeAllFromFavourites(); this.style.display = "none"; fillPageByEntrylist(0); } },true); EksiFavoriFooter.innerHTML = "<br />"; EksiFavoriFooter.appendChild(removebutton); } } function createExportImportButtons() { var exportBut = yeniEksiTusu(); exportBut.innerHTML = "Disari aktar"; exportBut.style.padding = "3px"; exportBut.style.margin = "3px"; var importBut = yeniEksiTusu(); importBut.innerHTML = "Iceri aktar"; importBut.style.padding = "3px"; importBut.style.margin = "3px"; exportBut.addEventListener("click", function() { prompt("Favori entry listesini almak icin kopyalayip bir yerlere kaydedin:",JSON.stringify(Ayarlar.favoriEntryListesi)); },true); importBut.addEventListener("click", function() { try { var importList = JSON.parse(prompt("Daha once kaydettiginiz favori entryler listenizi yapistirin:",'[{"title": "-baslik-", "entryid": "-2323-"}]')); for (var i = 0;i < importList.length;i++) { addToFavourites(importList[i].title,importList[i].entryid); } statusDiv.innerHTML = "<br />(Favori listeniz guncellendi!)"; fillPageByEntrylist(0); } catch(e) { //EksiFavori_log("import listesinde bir sorun var gibi:"+e); statusDiv.innerHTML = "<br />(Listede bir sorun var gibi!)"; } },true); EksiFavoriFooter.appendChild(exportBut); EksiFavoriFooter.appendChild(importBut); } this.basla = function() { clearPage(); fillPageByEntrylist(0); createRemoveAllButton(); createExportImportButtons(); } } function TopFrame() { this.basla = function() { var fbutton = yeniEksiTusu("td"); fbutton.setAttribute("onclick","top.sozindex.location.href='"+link_Favori_Page+"'"); fbutton.innerHTML = "<a title='favori listem' target='sozindex'>f</a>"; fbutton.style.paddingLeft = "1em"; fbutton.style.paddingRight = "1em"; var sukelabutton_a = xpath("//table[@class='nav']/tbody/tr/td/a[contains(@title,'ela') or contains(@title,'ortamlara')]").snapshotItem(0); var sukelabutton_td = sukelabutton_a.parentNode; var statbutton_a = xpath("//table[@class='nav']/tbody/tr/td/a[@title='rakamlar ve getirdikleri']").snapshotItem(0); var statbutton_td = statbutton_a.parentNode; var newcolspan = "2"; if (statbutton_td.getAttribute("colSpan") == "1") newcolspan = "2"; else if(statbutton_td.getAttribute("colSpan") == "2") newcolspan = "3"; else if(statbutton_td.getAttribute("colSpan") == "3") newcolspan = "4"; statbutton_td.setAttribute("colSpan",newcolspan); sukelabutton_td.parentNode.insertBefore(fbutton,sukelabutton_td); } } function FavoriShow() { var lastIndex = Ayarlar.favoriEntryListesi.length-1; function favoriEntryGetir(entryUrl,pStatus) { var olTags = idGet("oltags"); var loaderImg = idGet("loaderImg"); var showmorebut = idGet("showmore"); var req = new XMLHttpRequest(); var result = ""; req.open("GET", entryUrl, true); req.onreadystatechange = (function (PStatus) { return function() { if (this.readyState == 4) { var tempDom = newElem("div"); tempDom.innerHTML = req.responseText; if (!tempDom.getElementsByTagName("ol").length) { olTags.innerHTML += "Bu entry'de bir sorun var gibi!" return 0; } var baslik = (tempDom.getElementsByTagName("h1"))[0]; var entryler = tempDom.getElementsByTagName("li"); var gomEntryLi = 0; for (var i = 0; i < entryler.length; i++) { liItem = entryler[i]; if (liItem.value) { gomEntryLi = liItem; break; } } if (gomEntryLi) { var entryID = gomEntryLi.id.replace(/\D/g,''); var entrySira = gomEntryLi.value; if (gomEntryLi.firstChild.nodeName == "input") gomEntryLi.removeChild(gomEntryLi.firstChild); //gomEntryLi.lastChild.removeChild(gomEntryLi.lastChild.lastChild); var scriptler = xpath(".//script", gomEntryLi) for (var i = 0; i < scriptler.snapshotLength; i++) { var script = scriptler.snapshotItem(i); script.parentNode.removeChild(script); } var yazarID = xpath("./a",gomEntryLi.lastChild).snapshotItem(0).innerHTML; gomEntryLi.insertBefore(newElem("br"), gomEntryLi.lastChild); var eksiTuslari = '<table style="float: right; margin-top: 0.5em;"><tbody><tr><td style="white-space: nowrap;" id="vst__ENTRY-ID__" class="ei"> </td>\ <td><span class="but" onclick="mpr(__ENTRY-ID__,1)" title="şükela!" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> :) </span></td>\ <td><span class="but" onclick="mpr(__ENTRY-ID__,0)" title="öeehh" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> :O </span></td>\ <td><span class="but" onclick="mpr(__ENTRY-ID__,-1)" title="çok kötü" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> :( </span></td>\ <td> </td>\ <td><span class="but" onclick="od(\'msg.asp?to=__YAZAR-ID__&re=__ENTRY-ID__\')" title="mesaj at" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)" id=""> /msg </span></td>\ <td><a class="but" href="javascript:od(\'http://www.eksisozluk.com/info2.asp?n=__YAZAR-ID__\',800,400)" title="yazar hakkında" onmouseout="bn(this)" onmouseover="ov(this)" onmouseup="bn(this)" onmousedown="md(this)"> ? </a></td>\ </tr></tbody></table>'; eksiTuslari = eksiTuslari.replace(/__ENTRY-ID__/g, entryID); eksiTuslari = eksiTuslari.replace(/__YAZAR-ID__/g, yazarID); result = "<h2 class='title'>" + baslik.innerHTML + " "+ "<sup><a href='show.asp?t="+encodeURIComponent(baslik.textContent).replace(/[']/g,"%27")+"' title='basliga git' target='_blank' style='text-decoration:underline;'>git</a></sup>"+ "<sup><a href='show.asp?t="+encodeURIComponent(baslik.textContent).replace(/[']/g,"%27")+"&i="+entryID+"' title='konulu git' target='_blank' style='text-decoration:underline; margin-left:.5em;'>kit</a></sup>"+ "</h2>"; result += "<ol style='white-space: normal;'><li value='"+entrySira+"' style='margin-left:0;'>"; result += gomEntryLi.innerHTML; result += eksiTuslari; result += "<br/>"; result += "</li></ol>"; } else { result = "Bu entry'de bir sorun var gibi!"; } olTags.innerHTML += result; if (pStatus) loaderImg.style.display = "none"; } };})(pStatus); req.send(null); } function showList() { var olTags = idGet("oltags"); if (!olTags) { olTags = newElem("div"); olTags.id = "oltags"; document.body.innerHTML = "<div align='center'><h1 class='title'><a href='show.asp?t=favori entry%27'lerim>Favori Entry'lerim</a></h1></div>"; document.body.style.padding = "50px"; document.body.appendChild(olTags); } var wrappershowbut = idGet("showmore"); if (!wrappershowbut) { var showmorebutton = yeniEksiTusu("div"); showmorebutton.style.width = "100%"; showmorebutton.style.paddingTop = "10px"; showmorebutton.style.paddingBottom = "10px"; showmorebutton.style.fontSize = "15px"; showmorebutton.style.textAlign = "center"; showmorebutton.innerHTML = "daha fazla getir, oh yeah"; showmorebutton.addEventListener("click", function(){ showList(); },true); var wrappershowbut = newElem("div"); wrappershowbut.id = "showmore"; wrappershowbut.style.display = "none"; wrappershowbut.appendChild(showmorebutton); showmorebutton.setAttribute("align","center"); //olTags.parentNode.innerHTML += "<br /><br />"; olTags.parentNode.appendChild(wrappershowbut); } var loaderImg = idGet("loaderImg"); if (!loaderImg) { loaderImg = newElem("div"); loaderImg.setAttribute("align","center"); loaderImg.id = "loaderImg"; loaderImg.innerHTML = "<img src='http://i.imgur.com/VkzIw.gif' />"; olTags.parentNode.appendChild(loaderImg); } loaderImg.style.display = ""; if (lastIndex > 10) var entrylimiter = lastIndex - 10; else var entrylimiter = 0; for (var i = lastIndex; i >= entrylimiter ;i--) { var senderStatus = false; try { if (i-1 <= entrylimiter) senderStatus = true; favoriEntryGetir("show.asp?t=%23"+Ayarlar.favoriEntryListesi[i].entryid,senderStatus); } catch(e) { alert(e); } lastIndex--; } if (lastIndex > 0) { wrappershowbut.style.display = ""; } else { wrappershowbut.style.display = "none"; } } this.basla = function() { showList(); } } this.basla = function() { if (!Ayarlar.eksiFavori) return; var aktifEksiFavoriEngine = 0; if (window.location.href.match(/show.asp\?t=__eksifavori_listesi__$/)) { aktifEksiFavoriEngine = new FavoriShow(); } else if (window.location.href.match(/\/show\.asp/)) { aktifEksiFavoriEngine = new FavoriEditor(); } else if(window.location.href.match(patt_Favori_Page)) { aktifEksiFavoriEngine = new FavoriList(); } else if(window.location.href.match(/\/top\.asp/)) { aktifEksiFavoriEngine = new TopFrame(); } if (aktifEksiFavoriEngine) aktifEksiFavoriEngine.basla(); } } // Hersey burada basliyor this.basla = function () { var aktifEngine = 0; /*/ EppAPI_setValue(System.storage.okunmusMesajListesi, 0); tumAyarlariSifirla(); return; //*/ //Migration islemleri EppAPI_runOnce(migrateToV05, "migrateToV05"); // Tum framelere ortak islemler try { tumAyarlariYukle(); } catch (err) { EppAPI_log("HATA: 'tumAyarlariYukle()' patladi! >> " + err); } try { gunlukDonBebegim(); } catch (err) { EppAPI_log("HATA: 'gunlukDonBebegim()' patladi! >> " + err); } // Gereksiz 'don bebegim' olmasin try { kimdirNedirFix(); } catch (err) { EppAPI_log("HATA: 'kimdirNedirFix()' patladi! >> " + err); } try { (new EksiFavoriEngine).basla(); } catch (err) { EppAPI_log("HATA: '(new EksiFavoriEngine).basla();' patladi! >> " + err); } // Hangi sayfa/frame icindeyiz if (window.location.href.match(/\/top\.asp/)) { aktifEngine = new UstFrameEngine(); } else if (window.location.href.match(/\/index\.asp/)) { aktifEngine = new SolFrameEngine(); } else if (window.location.href.match(/\/show\.asp/)) { aktifEngine = new SagFrameEngine(); } else if (window.location.href.match(/\/cc\.asp/)) { aktifEngine = new AyarMerkeziEngine(); } else if (window.location.href.match(/\/info2\.asp/)) { aktifEngine = new KimdirNedirEngine(); } // Secilen Frame Engine baslasin if (aktifEngine) aktifEngine.basla(); // Hersey duzenlendikten sonra gomulebilir icerikleri duzenle try { gomulebilirLinkDuzenle(); } catch (err) { EppAPI_log("HATA: 'gomulebilirLinkDuzenle()' patladi! >> " + err); } try { gomulebilirEntryleriDuzenle(); } catch (err) { EppAPI_log("HATA: 'gomulebilirEntryleriDuzenle()' patladi! >> " + err); } } } (new EksiPlusPlus).basla();
Mozilla add on,User script,Grease Monkey Script, greasemonkey userscripts, updater userscripts mafia wars userscripts mafia wars autoplayer userscripts mafia wars wall userscripts scripts userscripts travian greasemonkey greasemonkey download greasemonkey facebook greasemonkey tutorial greasemonkey youtube greasemonkey travian greasemonkey chrome greasemonkey mafia wars greasemonkey mafia wars autoplayer
Sunday, February 26, 2012
Eksi++
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment