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

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