// ==UserScript== // @author Zaso // @name Pocket Portal Details // @category Portal Info // @version 0.0.6.20200723.154151 // @description Append a pocket box containing some restricted details of the selected portal. // @id pocket-portal-details@Zaso // @namespace https://github.com/IITC-CE/ingress-intel-total-conversion // @downloadURL https://raw.githubusercontent.com/IITC-CE/Community-plugins/master/dist/Zaso/pocket-portal-details.user.js // @updateURL https://raw.githubusercontent.com/IITC-CE/Community-plugins/master/dist/Zaso/pocket-portal-details.meta.js // @match https://intel.ingress.com/* // @grant none // ==/UserScript== function wrapper(plugin_info) { // ensure plugin framework is there, even if iitc is not yet loaded if(typeof window.plugin !== 'function') window.plugin = function() {}; //PLUGIN AUTHORS: writing a plugin outside of the IITC build environment? if so, delete these lines!! //(leaving them in place might break the 'About IITC' page or break update checks) plugin_info.buildName = 'ZasoItems'; plugin_info.dateTimeVersion = '2020-07-23-154151'; plugin_info.pluginId = 'pocket-portal-details'; //END PLUGIN AUTHORS NOTE // PLUGIN START //////////////////////////////////////////////////////// // History // 0.0.6 fixing Aegis and escapeHTML (by Loskir) // 0.0.5 Headers changed. Ready for IITC-CE // 0.0.4 Original sript // use own namespace for plugin window.plugin.pocketPortalDetails = function(){}; window.plugin.pocketPortalDetails.obj = {}; window.plugin.pocketPortalDetails.data = {}; window.plugin.pocketPortalDetails.storage = {}; window.plugin.pocketPortalDetails.util = {}; window.plugin.pocketPortalDetails.obj = {status:true, position:'bottom-right'}; // ----------------------------------------------------------------- window.plugin.pocketPortalDetails.storage.NAME = 'plugin-pocketPortalDetails'; window.plugin.pocketPortalDetails.storage.save = function(){ window.localStorage[window.plugin.pocketPortalDetails.storage.NAME] = JSON.stringify(window.plugin.pocketPortalDetails.obj); } window.plugin.pocketPortalDetails.storage.load = function(){ window.plugin.pocketPortalDetails.obj = JSON.parse(window.localStorage[window.plugin.pocketPortalDetails.storage.NAME]); } window.plugin.pocketPortalDetails.storage.check = function(){ if(!window.localStorage[window.plugin.pocketPortalDetails.storage.NAME]){ window.plugin.pocketPortalDetails.storage.save(); }else{ window.plugin.pocketPortalDetails.storage.load(); } } // ----------------------------------------------------------------- window.plugin.pocketPortalDetails.util.getPortalColorTeam = function(data){ var d = data.portalDetails; var colorTeam; switch(window.TEAM_TO_CSS[window.getTeam(d)]){ case('enl'): colorTeam = window.COLORS[2]; break; case('res'): colorTeam = window.COLORS[1]; break; default: colorTeam = '#888'; break; } return colorTeam; }; window.plugin.pocketPortalDetails.util.escapeHTML = function(text){ return text .replace(/"/g, '"') .replace(//g, '>') .replace(/&/g, '&') }; window.plugin.pocketPortalDetails.util.getPortalColorLevel = function(data){ var lvl = window.plugin.pocketPortalDetails.util.getPortalLevel(data); var colorLevel = ''; if(lvl !== 0){ colorLevel = ' style="background-color:'+window.COLORS_LVL[lvl]+';"'; } return colorLevel; } window.plugin.pocketPortalDetails.util.getPortalLevel = function(data){ return Math.floor(getPortalLevel(data.portalDetails)); } window.plugin.pocketPortalDetails.util.getPortalLevelFloat = function(data){ return getPortalLevel(data.portalDetails); } window.plugin.pocketPortalDetails.util.getPortalEnergyPerc = function(data){ var d = data.portalDetails; var percentage = 0; var totalEnergy = getTotalPortalEnergy(d); if(getTotalPortalEnergy(d) > 0){ percentage = Math.floor((getCurrentPortalEnergy(d)/getTotalPortalEnergy(d) * 100)); } return percentage+'%'; } window.plugin.pocketPortalDetails.util.getPortalFaction = function(data){ var d = data.portalDetails; return window.TEAM_TO_CSS[window.getTeam(d)]; } window.plugin.pocketPortalDetails.util.getPortalOwner = function(data){ var d = data.portalDetails; var owner = '-'; if(d.owner){ owner = d.owner; } return owner; } window.plugin.pocketPortalDetails.util.getPortalTitle = function(data){ var d = data.portalDetails; var title = ''; if(d.title){ title = d.title; } return title; } window.plugin.pocketPortalDetails.util.generateHTMLTableTips = function(obj){ var titleTips = ''; var html = ''; for(key in obj){ html += '