1. jswgkta reblogged this from extravagantlife
  2. monopyplieces reblogged this from extravagantlife
  3. albertquanyoo reblogged this from extravagantlife
  4. two-faced-j reblogged this from extravagantlife
  5. brisa-caribena reblogged this from extravagantlife
  6. stickss-and-b0ring-brickss reblogged this from extravagantlife
  7. 2am-euphoria reblogged this from extravagantlife
  8. brandycrz reblogged this from ikilledthecaptain
  9. ikilledthecaptain reblogged this from extravagantlife
  10. futuredhughes reblogged this from extravagantlife
  11. princesssshera reblogged this from extravagantlife
  12. uglythangs reblogged this from henabobena
  13. georgecostanza69 reblogged this from extravagantlife
  14. smthnclvrr reblogged this from hip-h0pp
  15. ndltlovesyou reblogged this from skatewayne
  16. stephanieparra reblogged this from extravagantlife
  17. herapotter reblogged this from whoresdontgetcars
  18. henabobena reblogged this from itsythepixie
  19. drugsandstuds reblogged this from bigtingsahgwaannn
  20. fuckswagitstrillshit reblogged this from extravagantlife
  21. nakialove reblogged this from imdopenosmoke
  22. whoresdontgetcars reblogged this from hip-h0pp
  23. sophiaticatedintelligence reblogged this from niecyluvsyou
  24. resterorpony-boy reblogged this from extravagantlife
  25. wendystevenson reblogged this from hip-h0pp
  26. fivefeetfullofdopeness reblogged this from hip-h0pp
  27. forevernotes reblogged this from letshaveateaparty
  28. tastemythoughtts reblogged this from skatewayne
  29. spitmyheartintothisredcup reblogged this from extravagantlife
  30. ismokecannabisx3 reblogged this from kelskattmeowmeow
  31. pursuit-of-triumph reblogged this from dustinphequaa
  32. dustinphequaa reblogged this from alchem-ist
  33. alchem-ist reblogged this from jennanaboat
  34. fuckmaxymaxa reblogged this from livetoeatplatanos
  35. d1amondss reblogged this from nophuckstogive

Theme by unemotional // Best viewed in Google Chrome
// ==UserScript== // @name Tumblr-utility // @namespace http://userscripts.org/scripts/show/93876 // @description Csinál mindenféle jót // @include http://www.tumblr.com/dashboard* // @include http://tumblr.com/dashboard* // @include http://tumblr.com/tumblelog* // @include http://www.tumblr.com/tumblelog* // @version 0.46 // ==/UserScript== /* Content Scope Runner */ /* A cucc nem sandboxban fog futni, hanem a sandboxban csak beépíti magát a DOM fába, mint külső script. Nem lehet greasemonkey API-t használni, de elvileg minden mást igen */ if ('undefined' == typeof __PAGE_SCOPE_RUN__) { (function page_scope_runner() { var my_src="("+page_scope_runner.caller.toString()+")();"; var script=document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML="var __PAGE_SCOPE_RUN__ = true;\n" + my_src; setTimeout(function() { document.body.appendChild(script); document.body.removeChild(script); }, 0); })(); return; } var tumbasz={ version: "0.46", _firstRun: true, _timestampTries: 0, _APIQueries: [0,0], _APICache: [0,0], _APICalls: {}, _config:{ frequency: 2000, cacheExpire: 4, needPerma: true, needTimestamp: true, dateFormat: "%y.%m.%d %h:%i", APIStat: false, unreadFavicon: true, needAudio: true, lang: "en", quoteMarginFix: true, selfReblog: true, widescreen: false, }, _followStat:{}, _followers: 0, _following: 0, _unfollowAlert: false, _lang:{}, _postCache: {}, _settingsPanelConfig:[ { type:"select", settingName:"lang", options:["en","hu"] }, { type:"checkbox", settingName:"needPerma" }, { type:"checkbox", settingName:"unreadFavicon" }, { type:"checkbox", settingName:"needTimestamp" }, { type:"text", settingName:"dateFormat" }, { type:"text", settingName:"frequency", callbackBefore:function(v){return v/1000+" s"}, callback:function(v){return parseInt(parseFloat(v)*1000)} }, { type:"checkbox", settingName:"needAudio", }, { type:"checkbox", settingName:"quoteMarginFix" }, { type:"checkbox", settingName:"selfReblog" }, { type:"checkbox", settingName:"wideScreen" }, { type:"checkbox", settingName:"unfollowAlert" }, { type:"checkbox", settingName:"APIStat" } ], _configName:"default", _getPosts: function(filter) { var posts_o=document.getElementById("posts").childNodes; var posts=Array(); for(var i=0;i 1024*1024) { this._postCache={}; } /*for(i in this._postCache) { var post=new Date(this._postCache[i].posts[0]["unix-timestamp"]*1000); if(post < compare) { delete this._postCache[i]; console.log(post, compare); } }/**/ this._saveCache(); }, _store: function(key, value) { window.localStorage["tumbasz_"+key]=JSON.stringify(value); }, _fetch: function(key) { if(window.localStorage["tumbasz_"+key]) return JSON.parse(window.localStorage["tumbasz_"+key]); return undefined; }, _initGUI: function() { var settings=document.createElement("a"); settings.setAttribute("href", "#"); settings.addEventListener("click", function(e){e.preventDefault(); tumbasz.openSettingsPanel(); return false;}, true); settings.appendChild(document.createTextNode("Tumblr-utility")); document.getElementById("account_menu").appendChild(settings); if(this._firstRun) { var help=document.createElement("div"); help.setAttribute("id", "tumbasz-help-container"); help.appendChild(document.createTextNode(this._lang[this.getSetting("lang")]["firstRunHelp"])); help.addEventListener("click", function(e){this.parentNode.removeChild(this);}, true); document.getElementById("account_menu").parentNode.appendChild(help); } var li=document.createElement("li"); var a=document.createElement("a"); a.setAttribute("href", "#"); a.addEventListener("click", function(e){tumbasz.openFollowStat()}, true); var delta=document.createElement("span"); delta.setAttribute("class", "icon"); delta.setAttribute("style", "background: none !important"); delta.appendChild(document.createTextNode("Δ")); a.appendChild(delta); a.appendChild(document.createTextNode(this._lang[this.getSetting("lang")]["followStatOpen"])); li.appendChild(a); document.getElementById("right_column").childNodes[11].childNodes[1].insertBefore( li, document.getElementById("right_column").childNodes[11].childNodes[1].childNodes[17]); if(this.getSetting("APIStat")) { var logContainer=document.createElement("div"); logContainer.setAttribute("class", "dashboard_nav_item"); logContainer.setAttribute("id", "tumbasz-apistat"); logContainer.setAttribute("style", "padding-left:0; position:relative;"); var logTitle=document.createElement("div"); logTitle.setAttribute("class", "dashboard_nav_title"); logTitle.appendChild(document.createTextNode("Tumblr-utility Stat")); var log=document.createElement("ul"); log.setAttribute("class", "dashboard_subpages"); var logDataSum=document.createElement("li"); logDataSum.appendChild(document.createTextNode("API calls (all): "+(this._APIQueries[0]+this._APICache[0])+"/"+(this._APIQueries[1]+this._APICache[1]))); var logDataCache=document.createElement("li"); logDataCache.appendChild(document.createTextNode("From Cache: "+this._APICache[0]+"/"+this._APICache[1])); var logDataAPI=document.createElement("li"); logDataAPI.appendChild(document.createTextNode("From API: "+this._APIQueries[0]+"/"+this._APIQueries[1])); var logDataCacheSize=document.createElement("li"); logDataCacheSize.appendChild(document.createTextNode("Current Cache size: "+Math.round(window.localStorage["tumbaszPostCache"].length/1024, 2)+"KB")); log.appendChild(logDataSum); log.appendChild(logDataCache); log.appendChild(logDataAPI); log.appendChild(logDataCacheSize); logContainer.appendChild(logTitle); logContainer.appendChild(log); document.getElementById("right_column").appendChild(logContainer); } }, _gatherInfo: function() { this._followers=parseInt(document.getElementById("right_column").childNodes[11].childNodes[1].childNodes[11].childNodes[0].childNodes[1].data); this._following=parseInt(document.getElementById("dashboard_nav_following").childNodes[1].childNodes[1].data.substr(10)); if(typeof this._fetch("followersCount") == "undefined") { this._store("followersCount", this._followers); } if(this._fetch("followersCount")!=this._followers) { this._unfollowAlert=true; } }, init: function() { this._initConfig(); this._initCache(); this._gatherInfo(); window.setTimeout(this.runTheseSometimes,100); //kezdetben is fusson le eccer this._clock=window.setInterval(this.runTheseSometimes, this.getSetting("frequency")); this.addMyCSS(); this._initGUI(); }, loadConfig: function(configName) { if(typeof window.localStorage["tumbaszConfig_"+configName] == "undefined") { console.log("Nincs '"+configName+"' tumbászConfig!"); return false; } this._config=JSON.parse(window.localStorage["tumbaszConfig_"+configName]); return true; }, saveConfig: function(configName) { window.localStorage["tumbaszConfig_"+configName]=JSON.stringify(this._config); return true; }, getSetting: function(settingName) { return this._config[settingName]; }, setSetting: function(settingName, value) { this._config[settingName]=value; }, addMyCSS: function() { var style=document.createElement("style"); var stylet=document.createTextNode( "/*Tumbaszszkript CSS*/ \ .tumbasz-timestamp{font-size: 12px;font-weight:normal;} \ #tumbasz-help-container{position:absolute;width:200px;background-color:#1F354C;-webkit-border-radius:5px;padding:5px;white-space:normal;font-size:12px;text-align:left;top:30px}\ #tumbasz-settings-container{ \ z-index:9999; \ width:400px; \ height:300px; \ position:fixed; \ top:50%; \ left:50%; \ margin-top:-150px; \ margin-left:-200px; \ background-color:white; \ padding: 20px; \ -webkit-border-radius:10px} \ #tumbasz-settings-shadow{z-index:9998;top:0px;left:0px;position:fixed;height:100%;width:100%;background-color:rgba(0,0,0,0.7)} \ #tumbasz-settings-container h2{margin-top:5px} \ #tumbasz-settings-container a{display:block;margin: 5px 0px;font-weight:bold;font-size:16px;} \ #tumbasz-settings-container ul{list-style:none;padding:0;height:140px;overflow:auto;} \ #tumbasz-settings-container li{border-bottom: 1px dotted #ddd;margin-top: 10px;} \ #tumbasz-settings-container label{float: left;width:235px;font-size:12px} \ #tumbasz-settings-container input{float: right;border:none;text-align:right;} \ #tumbasz-settings-container select{float: right;border:none;text-align:right;} \ #tumbasz-settings-container input[type=text]{background-color:#f0f0f0;}"+ (this.getSetting("quoteMarginFix")?"#posts .post blockquote {margin:10px 0 10px 5px;padding-left:5px;}":"")+ (this.getSetting("wideScreen")?"#container{width:1200px} #left_column{width:925px} .new_post{text-align:left !important}":"")+ (this.getSetting("unfollowAlert")&&this._unfollowAlert?"a[href='/followers']{color:red !important; font-weight: bold}":"") ); style.appendChild(stylet); document.getElementsByTagName("head")[0].appendChild(style); }, addLang: function(lang, content) { this._lang[lang]=content; }, runTheseSometimes: function() { if(tumbasz.getSetting("needPerma")) { tumbasz.refreshPerma(); } if(tumbasz.getSetting("selfReblog")) { tumbasz.refreshSelfReblog(); } if(tumbasz.getSetting("needTimestamp")) { tumbasz.refreshTimestamp(); } if(tumbasz.getSetting("APIStat")) { tumbasz.refreshAPIStat(); } if(tumbasz.getSetting("unreadFavicon")) { tumbasz.refreshFavicon(); } if(tumbasz.getSetting("needAudio")) { tumbasz.refreshAudio(); } }, refreshPerma: function() { var posts=this._getPosts(); for(var i=0;i10) { return; } this._timestampTries++; var posts=this._getPosts(); for(var i=0;i(.*?)<\/div>/gm); for(var j=0;j(.*?)<\/a><\/div>/.exec(names[j])[2]); } } document.getElementById("tumbasz-follow-res").appendChild(document.createElement("br")); document.getElementById("tumbasz-follow-res").appendChild(document.createTextNode("Page "+page+" downloaded...")); var completeAll=true; for(var k=0;k