diff --git a/assets/IITC.png b/assets/IITC.png new file mode 100644 index 00000000..d4c6ac5d Binary files /dev/null and b/assets/IITC.png differ diff --git a/assets/IITC.svg b/assets/IITC.svg new file mode 100644 index 00000000..ca2653f8 --- /dev/null +++ b/assets/IITC.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/boot.js b/code/boot.js index caaad95f..2982bd34 100644 --- a/code/boot.js +++ b/code/boot.js @@ -119,7 +119,7 @@ window.setupMap = function() { //their usage policy has no limits (except required notification above 4000 tiles/sec - we're perhaps at 50 tiles/sec based on CloudMade stats) var mqSubdomains = [ 'otile1','otile2', 'otile3', 'otile4' ]; var mqTileUrlPrefix = window.location.protocol !== 'https:' ? 'http://{s}.mqcdn.com' : 'https://{s}-s.mqcdn.com'; - var mqMapOpt = {attribution: osmAttribution+', Tiles Courtesy of MapQuest', mazZoom: 18, detectRetena: true, subdomains: mqSubdomains}; + var mqMapOpt = {attribution: osmAttribution+', Tiles Courtesy of MapQuest', maxZoom: 18, detectRetena: true, subdomains: mqSubdomains}; var mqMap = new L.TileLayer(mqTileUrlPrefix+'/tiles/1.0.0/map/{z}/{x}/{y}.jpg',mqMapOpt); //MapQuest satellite coverage outside of the US is rather limited - so not really worth having as we have google as an option //var mqSatOpt = {attribution: 'Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency', mazZoom: 18, detectRetena: true, subdomains: mqSubdomains}; @@ -127,10 +127,11 @@ window.setupMap = function() { var views = [ /*0*/ mqMap, - /*1*/ new L.Google('INGRESS'), - /*2*/ new L.Google('ROADMAP'), + /*1*/ new L.Google('INGRESS',{maxZoom:20}), + /*2*/ new L.Google('ROADMAP',{maxZoom:20}), /*3*/ new L.Google('SATELLITE',{maxZoom:20}), - /*4*/ new L.Google('HYBRID',{maxZoom:20}) + /*4*/ new L.Google('HYBRID',{maxZoom:20}), + /*5*/ new L.Google('TERRAIN',{maxZoom:15}) ]; @@ -161,7 +162,8 @@ window.setupMap = function() { 'Default Ingress Map': views[1], 'Google Roads': views[2], 'Google Satellite': views[3], - 'Google Hybrid': views[4] + 'Google Hybrid': views[4], + 'Google Terrain': views[5] }, addLayers); map.addControl(window.layerChooser); diff --git a/code/utils_misc.js b/code/utils_misc.js index 267a1c06..bd5c32c1 100644 --- a/code/utils_misc.js +++ b/code/utils_misc.js @@ -136,7 +136,7 @@ window.showPortalPosLinks = function(lat, lng, name) { portal_name = encodeURIComponent(' (' + name + ')'); } if (typeof android !== 'undefined' && android && android.intentPosLink) { - android.intentPosLink(window.location.protocol + '//maps.google.com/?q='+lat+','+lng); + android.intentPosLink(lat, lng, portal_name); } else { var qrcode = '
'; var script = ''; @@ -232,6 +232,7 @@ window.getTypeByGuid = function(guid) { // portals end in “.11” or “.12“, links in “.9", fields in “.b” // .11 == portals // .12 == portals + // .16 == portals // .9 == links // .b == fields // .c == player/creator @@ -245,6 +246,7 @@ window.getTypeByGuid = function(guid) { switch(guid.slice(33)) { case '11': case '12': + case '16': return TYPE_PORTAL; case '9': diff --git a/mobile/AndroidManifest.xml b/mobile/AndroidManifest.xml index 844d7462..472be5e6 100644 --- a/mobile/AndroidManifest.xml +++ b/mobile/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="12" + android:versionName="0.3.1" > ' + html + '', true, function() {$(".ui-dialog").removeClass('ui-dialog-portalslist');}); - $(".ui-dialog").addClass('ui-dialog-portalslist'); + var html = ''; + window.plugin.portalslist.sortOrder=-1; + window.plugin.portalslist.enlP = 0; + window.plugin.portalslist.resP = 0; + + if (window.plugin.portalslist.getPortals()) { + html += window.plugin.portalslist.portalTable('level', window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter); + } else { + html = '
Nothing to Show !
'; + }; + alert('
' + html + '
', true, function() { + $(".ui-dialog").removeClass('ui-dialog-portalslist'); + $(document).off('.portalslist'); + }); + $(".ui-dialog").addClass('ui-dialog-portalslist'); + + // Setup sorting + $(document).on('click.portalslist', '#portalslist table th', function() { + $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter)); + }); + $(document).on('click.portalslist', '#portalslist .filterAll', function() { + $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,0)); + }); + $(document).on('click.portalslist', '#portalslist .filterRes', function() { + $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,1)); + }); + $(document).on('click.portalslist', '#portalslist .filterEnl', function() { + $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,2)); + }); - // Setup sorting - $(document).on('click', '#portalslist table th', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,window.plugin.portalslist.filter)); - }); - $(document).on('click', '#portalslist .filterAll', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,0)); - }); - $(document).on('click', '#portalslist .filterRes', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,1)); - }); - $(document).on('click', '#portalslist .filterEnl', function() { - $('#portalslist').html(window.plugin.portalslist.portalTable($(this).data('sort'),window.plugin.portalslist.sortOrder,2)); - }); - - //debug tools - //end = new Date().getTime(); - //console.log('***** end : ' + end + ' and Elapse : ' + (end - start)); + //debug tools + //end = new Date().getTime(); + //console.log('***** end : ' + end + ' and Elapse : ' + (end - start)); } window.plugin.portalslist.portalTable = function(sortBy, sortOrder, filter) { - // sortOrder <0 ==> desc, >0 ==> asc, i use sortOrder * -1 to change the state - window.plugin.portalslist.filter=filter; - var portals=window.plugin.portalslist.listPortals; - - //Array sort - window.plugin.portalslist.listPortals.sort(function(a, b) { - var retVal = 0; - switch (sortBy) { - case 'names': - retVal = a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; - break; - case 'r1': - retVal = b.resonators[0][0] - a.resonators[0][0]; - break; - case 'r2': - retVal = b.resonators[1][0] - a.resonators[1][0]; - break; - case 'r3': - retVal = b.resonators[2][0] - a.resonators[2][0]; - break; - case 'r4': - retVal = b.resonators[3][0] - a.resonators[3][0]; - break; - case 'r5': - retVal = b.resonators[4][0] - a.resonators[4][0]; - break; - case 'r6': - retVal = b.resonators[5][0] - a.resonators[5][0]; - break; - case 'r7': - retVal = b.resonators[6][0] - a.resonators[6][0]; - break; - case 'r8': - retVal = b.resonators[7][0] - a.resonators[7][0]; - break; - case 's1': - retVal = a.shields[0].toLowerCase() > b.shields[0].toLowerCase() ? -1 : 1; - break; - case 's2': - retVal = a.shields[1].toLowerCase() > b.shields[1].toLowerCase() ? -1 : 1; - break; - case 's3': - retVal = a.shields[2].toLowerCase() > b.shields[2].toLowerCase() ? -1 : 1; - break; - case 's4': - retVal = a.shields[3].toLowerCase() > b.shields[3].toLowerCase() ? -1 : 1; - break; - default: - retVal = b[sortBy] - a[sortBy]; - break; - } - if (sortOrder > 0) { retVal = -retVal} //thx @jonatkins - return retVal; - }); - - var sort = window.plugin.portalslist.portalTableSort; - var html = window.plugin.portalslist.stats(); - html += '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + '' - + ''; - - - $.each(portals, function(ind, portal) { - - if (filter === 0 || filter === portal.team){ - html += '' - + '' - + '' - + ''; - - $.each([0, 1, 2, 3 ,4 ,5 ,6 ,7], function(ind, slot) { - - var title = 'title="owner: ' + portal.resonators[slot][1] + '
' - + 'energy: ' + portal.resonators[slot][3] + ' / ' + portal.resonators[slot][4] + ' (' + Math.floor(portal.resonators[slot][3]/portal.resonators[slot][4]*100) + '%)
' - + 'distance: ' + portal.resonators[slot][2] + 'm'; - - html += ''; - - }); - - html += '' - + '' - + '' - + '' - + '' - + '' - + ''; - - html+= ''; - } - }); - html += '
PortalLevelTR1R2R3R4R5R6R7R8EnergyS1S2S3S4AP GainE/AP
' + window.plugin.portalslist.getPortalLink(portal.portal, portal.guid) + '' + portal.level + '' + portal.team + '' + portal.resonators[slot][0] + '' + portal.energyratio + '%' + portal.shields[0][0] + '' + portal.shields[1][0] + '' + portal.shields[2][0] + '' + portal.shields[3][0] + '' + portal.APgain + '' + portal.EAP + '
'; - - //html += window.plugin.portalslist.exportLinks(); - - html += '
Click on portals table headers to sort by that column. ' - + 'Click on All Portals, Resistant Portals, Enlightened Portals to filter
' - + 'Thanks to @vita10gy & @xelio for their IITC plugins who inspired me. A @teo96 production. Vive la Résistance !
'; + // sortOrder <0 ==> desc, >0 ==> asc, i use sortOrder * -1 to change the state + window.plugin.portalslist.filter=filter; + var portals=window.plugin.portalslist.listPortals; - window.plugin.portalslist.sortOrder = window.plugin.portalslist.sortOrder*-1; - return html; + //Array sort + window.plugin.portalslist.listPortals.sort(function(a, b) { + var retVal = 0; + switch (sortBy) { + case 'names': + retVal = a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; + break; + case 'r1': + retVal = b.resonators[0][0] - a.resonators[0][0]; + break; + case 'r2': + retVal = b.resonators[1][0] - a.resonators[1][0]; + break; + case 'r3': + retVal = b.resonators[2][0] - a.resonators[2][0]; + break; + case 'r4': + retVal = b.resonators[3][0] - a.resonators[3][0]; + break; + case 'r5': + retVal = b.resonators[4][0] - a.resonators[4][0]; + break; + case 'r6': + retVal = b.resonators[5][0] - a.resonators[5][0]; + break; + case 'r7': + retVal = b.resonators[6][0] - a.resonators[6][0]; + break; + case 'r8': + retVal = b.resonators[7][0] - a.resonators[7][0]; + break; + case 's1': + retVal = a.shields[0].toLowerCase() > b.shields[0].toLowerCase() ? -1 : 1; + break; + case 's2': + retVal = a.shields[1].toLowerCase() > b.shields[1].toLowerCase() ? -1 : 1; + break; + case 's3': + retVal = a.shields[2].toLowerCase() > b.shields[2].toLowerCase() ? -1 : 1; + break; + case 's4': + retVal = a.shields[3].toLowerCase() > b.shields[3].toLowerCase() ? -1 : 1; + break; + default: + retVal = b[sortBy] - a[sortBy]; + break; + } + if (sortOrder > 0) retVal = -retVal; //thx @jonatkins + return retVal; + }); + + var sort = window.plugin.portalslist.portalTableSort; + var html = window.plugin.portalslist.stats(); + html += '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + ''; + + + $.each(portals, function(ind, portal) { + + if (filter === 0 || filter === portal.team) { + html += '' + + '' + + '' + + ''; + + var title; + var percent; + $.each([0, 1, 2, 3 ,4 ,5 ,6 ,7], function(ind, slot) { + percent = portal.resonators[slot][4] ? Math.floor(portal.resonators[slot][3]/portal.resonators[slot][4]*100) : 0; + title = 'title="owner: ' + portal.resonators[slot][1] + '
' + + 'energy: ' + portal.resonators[slot][3] + ' / ' + portal.resonators[slot][4] + ' (' + percent + '%)
' + + 'distance: ' + portal.resonators[slot][2] + 'm'; + + html += ''; + + }); + + html += '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + ''; + + html+= ''; + } + }); + html += '
PortalLevelTR1R2R3R4R5R6R7R8Energy%LinksS1S2S3S4AP GainE/AP
' + window.plugin.portalslist.getPortalLink(portal.portal, portal.guid) + '' + portal.level + '' + portal.team + '' + portal.resonators[slot][0] + '' + prettyEnergy(portal.energy) + '' + portal.energyratio + '%' + portal.links + '' + portal.shields[0][0] + '' + portal.shields[1][0] + '' + portal.shields[2][0] + '' + portal.shields[3][0] + '' + portal.APgain + '' + portal.EAP + '
'; + + html += '
Click on portals table headers to sort by that column. ' + + 'Click on All Portals, Resistant Portals, Enlightened Portals to filter
' + + 'Thanks to @vita10gy & @xelio for their IITC plugins who inspired me. A @teo96 production. Vive la Résistance !
'; + + window.plugin.portalslist.sortOrder = window.plugin.portalslist.sortOrder*-1; + return html; } window.plugin.portalslist.stats = function(sortBy) { - //console.log('** stats'); - var html = '' - + '' - + '' - + '' - + '' - + '
All Portals : (click to filter)' + window.plugin.portalslist.listPortals.length + 'Resistant Portals : ' + window.plugin.portalslist.resP +' (' + Math.floor(window.plugin.portalslist.resP/window.plugin.portalslist.listPortals.length*100) + '%)Enlightened Portals : '+ window.plugin.portalslist.enlP +' (' + Math.floor(window.plugin.portalslist.enlP/window.plugin.portalslist.listPortals.length*100) + '%)
'; - return html; -} - -//return Html generated to export links -window.plugin.portalslist.exportLinks = function(){ - var html=''; - var stamp = new Date().getTime(); - - html+='
' - + '' - + '
'; - return html; -} - -window.plugin.portalslist.export = function(fileformat){ - //alert('format :' + fileformat); - var file = ''; - var uri = ''; - - switch (fileformat) { - case 'csv': - file = window.plugin.portalslist.exportCSV(); - break; - case 'kml': - file = window.plugin.portalslist.exportKML(); - break; - } - - if (file !== '') { - //http://stackoverflow.com/questions/4639372/export-to-csv-in-jquery - var uri = 'data:application/' + fileformat + 'csv;charset=UTF-8,' + encodeURIComponent(file); - //window.open(uri); - } - return uri; -} -window.plugin.portalslist.exportCSV = function(){ - var csv = ''; - var filter = window.plugin.portalslist.filter; - var portals = window.plugin.portalslist.listPortals; - - //headers - csv += 'Portal\tLevel\tTeam\tR1\tR2\tR3\tR4\tR5\tR6\tR7\tR8\tEnergy\tS1\tS2\tS3\tS4\tAP Gain\tE/AP\tlat\tlong\n'; - - $.each(portals, function(ind, portal) { - - if (filter === 0 || filter === portal.team){ - csv += portal.name + '\t' - + portal.level + '\t' - + portal.team + '\t'; - - $.each([0, 1, 2, 3 ,4 ,5 ,6 ,7], function(ind, slot) { - csv += portal.resonators[slot][0] + '\t'; - }); - - csv += portal.energyratio + '\t' + portal.shields[0][0] + '\t' + portal.shields[1][0] + '\t' + portal.shields[2][0] + '\t' + portal.shields[3][0] + '\t' + portal.APgain + '\t' + portal.EAP + '\t'; - csv += portal.lat + '\t' + portal.lng; - csv += '\n'; - } - }); - - return csv; -} - -window.plugin.portalslist.exportKML = function(){ - var kml = ''; - var filter = window.plugin.portalslist.filter; - // all portals informations are avalaible in the listPortals array - var portals = window.plugin.portalslist.listPortals; - - //headers - kml = '\n' - + 'Ingress Export'; - - // define colored markers as style0 (neutral), style1 (Resistance), style2 (Enlight) - kml += '' - + '' - + '\n'; - - $.each(portals, function(ind, portal) { - // add the portal in the kml file only if part of the filter choice - if (filter === 0 || filter === portal.team){ - // description contain picture of the portal, address and link to the Intel map - var description = '
' + portal.address - + '
Link to Intel Map
' - + ']]>'; - - kml += 'L' + Math.floor(portal.level) + ' - ' + portal.name + '' - + '' + description + '' - + '#style' + portal.team + ''; - - //coordinates - kml += '' + portal.lng + ',' + portal.lat + ',0'; - kml += '\n'; - } - }); - kml += '
'; - return kml; + //console.log('** stats'); + var html = '' + + '' + + '' + + '' + + '' + + '
All Portals : (click to filter)' + window.plugin.portalslist.listPortals.length + 'Resistant Portals : ' + window.plugin.portalslist.resP +' (' + Math.floor(window.plugin.portalslist.resP/window.plugin.portalslist.listPortals.length*100) + '%)Enlightened Portals : '+ window.plugin.portalslist.enlP +' (' + Math.floor(window.plugin.portalslist.enlP/window.plugin.portalslist.listPortals.length*100) + '%)
'; + return html; } // A little helper functon so the above isn't so messy @@ -383,29 +296,29 @@ window.plugin.portalslist.portalTableSort = function(name, by) { // hover: show address // code from getPortalLink function by xelio from iitc: AP List - https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/ap-list.user.js window.plugin.portalslist.getPortalLink = function(portal,guid) { - - var latlng = [portal.locationE6.latE6/1E6, portal.locationE6.lngE6/1E6].join(); - var jsSingleClick = 'window.renderPortalDetails(\''+guid+'\');return false'; - var jsDoubleClick = 'window.zoomToAndShowPortal(\''+guid+'\', ['+latlng+']);return false'; - var perma = '/intel?latE6='+portal.locationE6.latE6+'&lngE6='+portal.locationE6.lngE6+'&z=17&pguid='+guid; - - //Use Jquery to create the link, which escape characters in TITLE and ADDRESS of portal - var a = $('',{ - "class": 'help', - text: portal.portalV2.descriptiveText.TITLE, - title: portal.portalV2.descriptiveText.ADDRESS, - href: perma, - onClick: jsSingleClick, - onDblClick: jsDoubleClick - })[0].outerHTML; - var div = '
'+a+'
'; - return div; + + var latlng = [portal.locationE6.latE6/1E6, portal.locationE6.lngE6/1E6].join(); + var jsSingleClick = 'window.renderPortalDetails(\''+guid+'\');return false'; + var jsDoubleClick = 'window.zoomToAndShowPortal(\''+guid+'\', ['+latlng+']);return false'; + var perma = '/intel?latE6='+portal.locationE6.latE6+'&lngE6='+portal.locationE6.lngE6+'&z=17&pguid='+guid; + + //Use Jquery to create the link, which escape characters in TITLE and ADDRESS of portal + var a = $('
',{ + "class": 'help', + text: portal.portalV2.descriptiveText.TITLE, + title: portal.portalV2.descriptiveText.ADDRESS, + href: perma, + onClick: jsSingleClick, + onDblClick: jsDoubleClick + })[0].outerHTML; + var div = '
'+a+'
'; + return div; } var setup = function() { - $('#toolbox').append('
Portals list'); - $('head').append(' - + + -

Ingress Intel Total Conversion

+
-

-IITC is dead - long live IITC! -

+ +
+
+
+ + IITC Logo + +
+

Ingress Intel Total Conversion

+ +
+
+
+
-

-The IITC mod is an open source project. Since the original closed, I resurrected it and will try to continue development. -

-

-If you're interested in further development, come on over to -the github page. If you just want to install -and use it, read on. -

+ +
+ IITC now has a + Google+ Google+ page. + Follow this to keep up to date on the latest news. +
-

-Note: This site and the scripts are not officially affiliated with Ingress or Niantic Labs at Google. -Using these scripts is likely to be considered against the Ingress Terms of Service. You do this at your own risk. -

+ -

Downloads

- -

IITC - browser addon

+
+ +
+ +
+ -

Credits

+ +
-

-Nearly all the work here is by others. -Stefan Breunig was the main driving force. See the -github commit log -for full details. -

+ -

License

+
+ -
-Copyright © 2013 Stefan Breunig
+ 
-Permission to use, copy, modify, and/or distribute this software for -any purpose with or without fee is hereby granted, provided that the -above copyright notice and this permission notice appear in all -copies. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA -OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - + +
+ This site and the scripts are not officially affiliated with Ingress or Niantic Labs at Google. + Using these scripts is likely to be considered against the Ingress Terms of Service. Any use is at your own risk. +
+ + +
+ + + + + diff --git a/website/page/about.php b/website/page/about.php new file mode 100644 index 00000000..7c06c41f --- /dev/null +++ b/website/page/about.php @@ -0,0 +1,42 @@ +

About IITC

+ +

+Ingress Intel Total Conversion (IITC) is a browser modification to the Ingress +intel map. +

+ +

+IITC is an open source project. New developers are welcome - see the developers page +for details. +

+ + +

Credits

+ +

+Nearly all the work here is by others. +Stefan Breunig was the main driving force. See the +Github commit log +for full details. +

+ + +

License

+ +
+Copyright © 2013 Stefan Breunig, Jon Atkins and others
+
+Permission to use, copy, modify, and/or distribute this software for
+any purpose with or without fee is hereby granted, provided that the
+above copyright notice and this permission notice appear in all
+copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
+OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/website/page/desktop.php b/website/page/desktop.php new file mode 100644 index 00000000..b6ffa30d --- /dev/null +++ b/website/page/desktop.php @@ -0,0 +1,117 @@ +

IITC Browser Addon

+ +NOTE: the $path build is currently selected. Return to the standard build."; +?> + +
+

+IMPORTANT!: You must uninstall the original IITC before installing this version. Failure to do this +will result in multiple copes installed which I expect will cause a LOT of issues. +

+

+NOTE: The first release available on this web site was not configured correctly for auto updates. +If you installed before this note appeared (22nd March 2013) you will need to +manually uninstall IITC and all plugins, then reinstall from below. Going forward, updates will work correctly +(for Chrome + Tampermoneky and Firefox + Greasemonkey users). +

+
+ +

Requirements

+ +

+IITC will work in the Chrome or Firefox browsers. It should also work with Opera and other browsers supporting +userscripts, but these are far less tested. For Android phones, please see the mobile page. +

+ +

Chrome

+ +

+Although it is possible to install userscripts directly as extensions, the recommended method is to use +Tampermonkey. +Once Tampermonkey is installed, click on the "Download" button below and click "OK" on the two dialogs to install. +

+ +

Firefox

+ +

+Install the Greasemonkey Firefox add-on. +Once installed, click the "Download" then "Install" on the dialog. +

+ +

Other browsers

+ +

+Check your browser documentation for details on installing userscripts. +

+ + +

Download

+ +.\2', $iitc_details['@version'] ); +?> + +

+IITC version +

+ +Download + +
+ + +

Plugins

+ +

+Plugins extend/modify the IITC experience. You do not need to install all plugins. Some are only useful to +a minority of users. +

+ + + + + + + + + + + + +\n"; + + # remove 'IITC Plugin: ' prefix if it's there, for neatness + $name = preg_replace ( '/^IITC plugin: /i', '', $details['@name'] ); + + # format extended version info in less prominant font + $version = preg_replace ( '/^(\d+\.\d+\.\d+)\.(\d{8}\.\d{6})/', '\1.\2', $details['@version'] ); + + # remove unneeded prefix from description + $description = preg_replace ( '/^\[[^]]*\] */', '', $details['@description'] ); + + print ""; + print ""; + print ""; + print ""; + +# print "".$details['@name']."$name - version ".$details['@version'].":
\n"; +# print $details['@description']; + + print "\n"; +} + +?> + +
NameID / VersionDescriptionDownload
$name$basename
$version
$descriptionDownload
+ diff --git a/website/page/developer.php b/website/page/developer.php new file mode 100644 index 00000000..e7279ee2 --- /dev/null +++ b/website/page/developer.php @@ -0,0 +1,6 @@ +

Developers

+ +

+If you would like to contribute, please visit our +Github page. +

diff --git a/website/page/faq.php b/website/page/faq.php new file mode 100644 index 00000000..81572886 --- /dev/null +++ b/website/page/faq.php @@ -0,0 +1,56 @@ +

Frequently Asked Questions

+ + diff --git a/website/page/home.php b/website/page/home.php new file mode 100644 index 00000000..a4870c5f --- /dev/null +++ b/website/page/home.php @@ -0,0 +1,27 @@ +

Welcome

+ +

+Welcome to the home page of IITC. +

+ +

+IITC is a browser add-on that modifies the Ingress intel map. It is faster than the standard site, and +offers many more features. It is available for +desktop browsers, such as Chrome and Firefox, and as a +mobile application. +

+ +

Latest news

+ +

28th April 2013

+

+New website launched! A major revamp of the website has been made. Thanks to the various users who contributed +logos and site templates. +

+ +

26th April 2013

+

+IITC 0.11.2 released. This has a minor fix relating to portal visibility at different zoom levels. We now have to +match the standard intel site. This does, unfortunately, mean you need to zoom even closer to see unclaimed portals. +Also, an update to the scoreboard plugin has been released that should make it work again. +

diff --git a/website/page/mobile.php b/website/page/mobile.php new file mode 100644 index 00000000..86128735 --- /dev/null +++ b/website/page/mobile.php @@ -0,0 +1,44 @@ + +

IITC Mobile

+ +

+IITC Mobile is an Android application. It works as a simple web browser, with the IITC browser add-on +embedded within it. +

+ +

Requirements

+ +

+Android 4.0 (Ice Cream Sandwich) at a minimum. Android 4.1+ (Jellybean) is highly recommended at this time due to bugs. +

+ + +

Installation

+ +

+You need to enable applications installed from unknown sources in your phone settings. Once done, download and +install from the link below. +

+ + +

Known issues

+ +

+IITC Mobile is still in the early stages of development. Many things do not yet work right. Major known issues are: +

    +
  1. The layer chooser selects the first map layer every time it's opened.
  2. +
  3. Some plugins do not work well, or at all, at this time.
  4. +
  5. Serious issues exist on Android 4.0 devices. +details.
  6. +
+

+ + +

Download

+ +

+IITC Mobile version 0.3 (with IITC version 0.11.2). +

+ +Download + diff --git a/website/page/news.php b/website/page/news.php new file mode 100644 index 00000000..6a64dfc9 --- /dev/null +++ b/website/page/news.php @@ -0,0 +1,74 @@ +

News

+ +

28th April 2013

+

+New website launched! A major revamp of the website has been made. Thanks to the various users who contributed +logos and site templates. +

+ +

26th April 2013

+

+IITC 0.11.2 released. This has a minor fix relating to portal visibility at different zoom levels. We now have to +match the standard intel site. This does, unfortunately, mean you need to zoom even closer to see unclaimed portals. +Also, an update to the scoreboard plugin has been released that should make it work again. +

+ +

24th April 2013

+

+IITC 0.11.0 is a critical release that fixes the display of portals on the map. Niantic/Google have changed +the way portals are retrieved from the servers and this broke the old IITC. There are reports of some issues +with failure to display links/fields in some areas - we're working on it. +

+

+Also, IITC Mobile 0.3 has been released. As well as including the above 0.11.0 IITC build, it also contains +experimental support for plugins. This is still in the early stages of development - not all plugins work +well (or at all) for mobile. +Plugins are disabled by default - you need to choose which plugins to enable in the app settings. +

+

+Update IITC 0.11.1 has been released. This fixes issues where not all links displayed in some areas, and +some bugs in the changed code. An updated IITC Mobile 0.3 includes this new version too. +

+ +

12th April 2013

+

+IITC 0.10.5, an urgent release that (unfortunately) removes the default CloudMade map tiles. This is required because +IITC is popular enough to exceed their free quota significantly. Also, IITC Mobile 0.2.8 has been released, with +the same change. (0.10.4 was available for a short while, without the MapQuest map layer. This had zoom-related issues +on IITC Mobile) +

+ +

4th April 2013

+

+IITC 0.10.3 released. This is a minor update that prevents certain types of system messages from appearing in the +faction chat window. No plugin changes. (A 0.10.2 was released a few hours earlier, but this was found to have issues +in certain situations). +

+ + +

1st April 2013

+

+No fooling - new 0.10.1 IITC released. Changes include improved chat display for "@player" messages, and +improvements to the 'poslinks' window. Also, updates to several plugins, including ap-list, player-tracker, +portals-list and show-linked-portals. Also, new plugins include +keys and keys-on-map (for MANUAL tracking of your keys), portal-counts and privacy-view. +

+

+Also, IITC Mobile 0.2.4 is available. This includes the 0.10.1 IITC, plus new settings. One to choose between mobile +and desktop versions of the site, and another developer-only option to load IITC from an external web server. This +will make it easier for others to work on improving the IITC Mobile experience without knowledge of building Android +applications. +

+ +

28th March 2013

+

+IITC Mobile 0.2.3 released. This has new icons, should improve stability, and includes the latest IITC 0.10.0. Users of older versions will have to +uninstall before you can install this build. It can be found below in the mobile section. +

+ +

25th March 2013

+

+IITC 0.10.0 released. The major change in this version is that all external resources (icons, external scripts) +have now been embedded within the scripts themselves. Several plugins have been updated in the same way. Other plugin +updates, and a new plugin, are also included. +