' + 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 = '';
+ };
+ 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 += ''
- + 'Portal | '
- + 'Level | '
- + 'T | '
- + 'R1 | '
- + 'R2 | '
- + 'R3 | '
- + 'R4 | '
- + 'R5 | '
- + 'R6 | '
- + 'R7 | '
- + 'R8 | '
- + 'Energy | '
- + 'S1 | '
- + 'S2 | '
- + 'S3 | '
- + 'S4 | '
- + 'AP Gain | '
- + 'E/AP |
';
-
-
- $.each(portals, function(ind, portal) {
-
- if (filter === 0 || filter === portal.team){
- html += ''
- + '' + window.plugin.portalslist.getPortalLink(portal.portal, portal.guid) + ' | '
- + '' + portal.level + ' | '
- + '' + portal.team + ' | ';
-
- $.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 += '' + portal.resonators[slot][0] + ' | ';
-
- });
-
- html += '' + portal.energyratio + '% | '
- + '' + portal.shields[0][0] + ' | '
- + '' + portal.shields[1][0] + ' | '
- + '' + portal.shields[2][0] + ' | '
- + '' + portal.shields[3][0] + ' | '
- + '' + portal.APgain + ' | '
- + '' + portal.EAP + ' | ';
-
- html+= '
';
- }
- });
- html += '
';
-
- //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 += ''
+ + 'Portal | '
+ + 'Level | '
+ + 'T | '
+ + 'R1 | '
+ + 'R2 | '
+ + 'R3 | '
+ + 'R4 | '
+ + 'R5 | '
+ + 'R6 | '
+ + 'R7 | '
+ + 'R8 | '
+ + 'Energy | '
+ + '% | '
+ + 'Links | '
+ + 'S1 | '
+ + 'S2 | '
+ + 'S3 | '
+ + 'S4 | '
+ + 'AP Gain | '
+ + 'E/AP |
';
+
+
+ $.each(portals, function(ind, portal) {
+
+ if (filter === 0 || filter === portal.team) {
+ html += ''
+ + '' + window.plugin.portalslist.getPortalLink(portal.portal, portal.guid) + ' | '
+ + '' + portal.level + ' | '
+ + '' + portal.team + ' | ';
+
+ 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 += '' + portal.resonators[slot][0] + ' | ';
+
+ });
+
+ html += '' + 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+= '
';
+ }
+ });
+ html += '
';
+
+ 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 = ''
- + ']]>';
-
- 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!
-
+
+
+
+
-
-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+ 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
+
+
+
+
NOTE: the $path build is currently selected. Return to main build.";
-?>
+$pages = Array (
+ 'home' => ' Home',
+ 'news' => ' News',
+ 'faq' => ' FAQ',
+ 'desktop' => ' Desktop',
+ 'mobile' => ' Mobile',
+ 'developer' => ' Developers',
+ 'about' => ' About',
+);
-
-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.
-
+$page = $_REQUEST['page'];
+if ( ! array_key_exists ( $page, $pages ) )
+ $page = "home";
-
-NOTE: The first release available here 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).
-
-
-
-
-IITC main script - version .
-
-
-Plugins
-
-
-
- $name )
{
- $name = basename ( $path, ".user.js" );
+ # before 'desktop', add a nav-header
+ if ( $key == 'desktop' )
+ print "";
- $details = loadUserScriptHeader ( $path );
+ if ( $key == "home" )
+ $url = "./";
+ else
+ $url = "?page=$key";
- print "- \n";
+ print "
- $name
\n";
- print "".$details['@name']." $name - version ".$details['@version'].":
\n";
- print $details['@description'];
-
- print "\n";
+ # after 'mobile', add a horizontal seperator
+ if ( $key == 'mobile' )
+ print "";
}
?>
-
-
-Installation
-
-Installation varies depending on browser.
-
-
-Chrome:
-Tampermonkey
-is highly recommended. (Userscripts can be installed directly within the 'extensions' settings, but will not auto update.)
-
-
-
-Firefox:
-The Greasemonkey add-on can be used.
-
-
-
-Opera:
-There is a setting for a userscripts folder.
-
-
-IITC - mobile
-
-
-A proper version of mobile will be available in the future. Until then, here's the last build
-available from the original IITC page.
-
-
-
-Download.
-
-
-
-This is likely to have some issues, but should work well enough for now.
-
+
+
+
-
Credits
+
+
+
-
-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.
+
+
+
+
+
+ Name |
+ ID / Version |
+ Description |
+ Download |
+
+
+
+
+\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 "$name | ";
+ print "$basename $version | ";
+ print "$description | ";
+ print "Download | ";
+
+# print "".$details['@name']." $name - version ".$details['@version'].":
\n";
+# print $details['@description'];
+
+ print "\n";
+}
+
+?>
+
+
+
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
+
+
+
+-
+
Will Google/Niantic penalise me for using IITC?
+There have been rumours that Niantic/Google have been asking people to stop using IITC, and penalising users
+with a loss of points for doing so. This, as far as we can tell, is a hoax. Consider the following:
+
+- Before penalising users, they would request that this site is taken down. This has not happened.
+- Any such request would come via email, not via a Google+ message. Ingress is not closely tied into the Google
+account system unlike, for example, Gmail; an email, like they already use for portal submissions, is the only
+communication method available.
+- The message I've seen talks about "points" - when they should be talking about "AP".
+
+Some notes from a Hangout available here
+with further details.
+
+
+-
+
No portals are displayed on the map!
+Please update to the latest IITC to fix the map. If you use Chrome+Tampermonkey, or Firefox+Greasemonkey,
+just triggering a manual update should do this. Alternatively, re-download and install from the
+download page.
+
+
+-
+
What happened to the nice blue map?
+Unfortunately this is no longer available, as IITC far exceeds the free quota offered by Cloudmade, the map tile provider.
+You can use the layer selection menu to choose "Default Ingress Map", but this doesn't work as smoothly as we'd like.
+Options to allow users to register their own free accounts for this are being considered - watch this space.
+
+
+-
+
Isn't using IITC cheating/an unfair advantage?
+IITC only uses data that is sent from the Ingress servers to the browser - it just displays it in an easy to use format.
+There were, and continue to be, other browser add-ons that display this data - just not widely available.
+Having a good quality, feature rich add-on, available to all - Enlightened and Resistance - ensures one side does not
+have an unfair advantage.
+
+
+-
+
Can you add an export feature?
+No. As it stands IITC is tolerated, but not officially accepted, by Niantic/Google. Adding in features that
+allow exporting of data outside the browser environment, or break additional Ingress terms of service
+is likely to trigger a takedown request from Google.
+
+
+-
+
I used another {ingress mod/IITC plugin} and it's broken - can you fix it?
+Probably not, no. If the plugin is not listed on this site, it's not part of my IITC distribution.
+I do accept new plugins (see the Developer page for links to Github), but I do not accept any that
+allow export of Ingress data outside of the browser or make use of data not retrieved by the standard intel website.
+
+
+
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:
+
+- The layer chooser selects the first map layer every time it's opened.
+- Some plugins do not work well, or at all, at this time.
+- Serious issues exist on Android 4.0 devices.
+details.
+
+
+
+
+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.
+