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

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