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

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