// ==UserScript== // @name TempZee // @namespace none // @version 2019.12.19.1223 // @description Give a warning when you have undeployed temporary virtual Munzees, so they don't expire before deployed // @supportURL https://discord.me/TheShoeStore // @author technical13 // @match https://www.munzee.com/* // @exclude https://www.munzee.com/print/ // @grant none // @downloadURL https://update.greasyfork.org/scripts/387965/TempZee.user.js // @updateURL https://update.greasyfork.org/scripts/387965/TempZee.meta.js // ==/UserScript== // jshint esversion: 6 const ver = '2019.12.19.1223'; var isDebug = false; var intVerbosity = 0; const scriptName = 'TempZee v' + ver; function toBoolean( val ) { const arrTrue = [ undefined, null, '', true, 'true', 1, '1', 'on', 'yes' ]; val = ( typeof( val ) === 'string' ? val.toLowerCase() : val ); log( 4, 'log', 'toBoolean() is returning: %o', ( arrTrue.indexOf( val ) !== -1 ? true : false ) ); return ( arrTrue.indexOf( val ) !== -1 ? true : false ); } function log( intV, strConsole, strLog, ...arrArgs ) { if ( strConsole === undefined ) { strConsole = 'log'; } if ( strLog === undefined ) { strLog = '%o'; } if ( intVerbosity >= intV && ( strConsole === 'groupEnd' ) ) { console[ strConsole ](); } if ( intV === 0 || ( isDebug && intVerbosity >= intV ) ) { console[ strConsole ]( '[%i]: %s: ' + strLog, intV, scriptName, ...arrArgs ); } } var address = document.URL.replace( /https?:\/\/www\.munzee\.com\/?/i, '' ).split( '/' ); var isUserPage = false; if ( address[ 0 ] === 'm' ) { isUserPage = true; address = address.slice( 1 ); } const pageUserName = ( address[ 0 ] || undefined ); const subPage = ( address[ 1 ] || undefined ); const subSubPage = ( address[ 2 ] || undefined ); log( 0, 'info', 'pageUserName = %s\tsubPage = %s\tsubSubPage = %s', pageUserName, subPage, subSubPage ); const intParamsStart = ( document.URL.indexOf( '?' ) + 1 ); const strParams = document.URL.substr( intParamsStart ); const arrParamSets = strParams.split( '&' ); var objParams = { unknownParams: [] }; arrParamSets.forEach( function( strParam ) { let arrParam = strParam.split( '=' ); let strParamName = ( arrParam[ 0 ].toLowerCase() || '' ); if ( strParamName === 'verbosity' ) { isDebug = true; intVerbosity = ( arrParam[ 1 ] ? ( parseInt( arrParam[ 1 ] ) < 0 ? 0 : ( parseInt( arrParam[ 1 ] ) > 9 ? 9 : parseInt( arrParam[ 1 ] ) ) ) : 9 ); } else if ( strParamName === 'debug' ) { isDebug = toBoolean( arrParam[ 1 ] ); intVerbosity = 1; } else if ( strParamName === 'report' ) { objParams.report = decodeURIComponent( arrParam[ 1 ] ); } } ); log( 1, 'warn', 'Debug mode is on with verbosity level: %o', intVerbosity ); log( 1, 'groupCollapsed', 'Verbosity options: (click to expand)' ); log( 1, 'log', '1) Summary\n2) Parameters retrieved from URL\n3) Variables set to objParams\n4) Function returns\n9) ALL debugging info and this notice.' ); log( 1, 'groupEnd' ); const bypassCORsURL = 'https://cors-anywhere.herokuapp.com/'; function createLoader( intTemporaries ) { $( 'head' ).append( '' ); var objLoading = document.createElement( 'div' ); objLoading.setAttribute( 'id', 'loader' ); var objPulse = document.createElement( 'div' ); objPulse.setAttribute( 'id', 'pulse' ); var objImage = document.createElement( 'img' ); objImage.setAttribute( 'src', 'http://munzee.global.ssl.fastly.net/images/pins/eventindicator.png' ); objImage.setAttribute( 'style', 'width: 50px; height: 50px;' ); objPulse.append( objImage ); objLoading.append( objPulse ); $( 'ul.pager:last()' ).after( objLoading ); } ( function() { 'use strict'; log( 0, 'info', 'Script loaded.' ); var username = '', isPremium = false, isLoggedIn = false; try { isLoggedIn = ( user_id ? true : false ); } catch ( isNotLoggedIn ) { isLoggedIn = false; } try { if ( pageUserName === 'flows' && objParams.report ) { $( 'textarea#message' ).val( objParams.report ); } else if ( isLoggedIn ) { username = $( 'li.user > ul.user-menu > li > a' )[ 0 ].href.split( '/' )[ 4 ]; isPremium = ( $( 'div.premium' )[0].outerText === 'Become Premium' ? false : true ); if ( isPremium ) { var undeployedTemporariesURL = 'https://www.munzee.com/m/' + username + '/undeploys/0/type/1245'; $.ajax( { url: undeployedTemporariesURL, success: function( data ) { var intTemporaries = $( data ).find( '#munzee-holder' ).children().length;console.log('createLoader( %i );',intTemporaries);createLoader( intTemporaries ); if ( intTemporaries > 0 && document.URL !== undeployedTemporariesURL ) { $( 'div.navbar-fixed-top' ).after( '
Date | Title | Location | Attendants |
---|---|---|---|
' + start.toLocaleDateString( 'en-US', { year: 'numeric', month: 'short', day: 'numeric' } ) + ' | ' + '' + event.title + ' | ' + '' + event.location + ' | ' + '' + attendants + ' | ' + '