Merge branch 'master' into release

This commit is contained in:
Jon Atkins 2014-05-10 01:13:09 +01:00
commit 16ee69f1ba
6 changed files with 217 additions and 37 deletions

View File

@ -79,7 +79,7 @@ window.chat.genPostData = function(isFaction, storageHash, getOlderMsgs) {
maxLngE6: Math.round(ne.lng*1E6),
minTimestampMs: -1,
maxTimestampMs: -1,
chatTab: isFaction ? 'faction' : 'all'
chatTabGet: isFaction ? 'faction' : 'all'
}
if(getOlderMsgs) {
@ -689,10 +689,10 @@ window.chat.postMsg = function() {
var publik = c === 'public';
var latlng = map.getCenter();
var data = {message: msg,
latE6: Math.round(latlng.lat*1E6),
lngE6: Math.round(latlng.lng*1E6),
chatTab: publik ? 'all' : 'faction'};
var data = {messageSendPlext: msg,
latE6SendPlext: Math.round(latlng.lat*1E6),
lngE6SendPlext: Math.round(latlng.lng*1E6),
chatTabSendPlext: publik ? 'all' : 'faction'};
var errMsg = 'Your message could not be delivered. You can copy&' +
'paste it here and try again if you want:\n\n' + msg;

View File

@ -84,8 +84,8 @@ function extractMungeFromStock() {
foundMunges['dashboard.getPaginatedPlexts'] = nemesis.dashboard.requests.MethodName.GET_PAGINATED_PLEXTS.toString();
foundMunges['dashboard.getThinnedEntities'] = nemesis.dashboard.requests.MethodName.GET_THINNED_ENTITIES.toString();
foundMunges['dashboard.getPortalDetails'] = nemesis.dashboard.requests.MethodName.GET_PORTAL_DETAILS.toString();
foundMunges['dashboard.redeemReward'] = nemesis.dashboard.requests.MethodName.REDEEM_REWARD.toString();
foundMunges['dashboard.sendInviteEmail'] = nemesis.dashboard.requests.MethodName.SEND_INVITE_EMAIL.toString();
// foundMunges['dashboard.redeemReward'] = nemesis.dashboard.requests.MethodName.REDEEM_REWARD.toString();
// foundMunges['dashboard.sendInviteEmail'] = nemesis.dashboard.requests.MethodName.SEND_INVITE_EMAIL.toString();
foundMunges['dashboard.sendPlext'] = nemesis.dashboard.requests.MethodName.SEND_PLEXT.toString();
// the rest are trickier - we need to parse the functions of the stock site. these break very often
@ -96,6 +96,9 @@ function extractMungeFromStock() {
// and one to match members of object literal initialisation - {abcdef123456wxyz: or {"123456abcdefwxyz":
var mungeRegExpLit = '(?:([a-z][a-z0-9]{15})|"([0-9][a-z0-9]{15})"):';
// some cases don't munge now?!?! odd!
var mungeRegExpLitOrUnmunged = '(?:((?:[a-z][a-z0-9]{15})|message|latE6|lngE6|tab)|"([0-9][a-z0-9]{15})"):';
// common parameters - method, version, version_parameter - currently found in the
// nemesis.dashboard.network.XhrController.prototype.doSendRequest_ function
// look for something like
@ -110,7 +113,8 @@ function extractMungeFromStock() {
foundMunges.version_parameter = result[5];
// GET_THINNED_ENTITIES parameters
var reg = new RegExp('GET_THINNED_ENTITIES, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'[a-z]');
var reg = new RegExp('GET_THINNED_ENTITIES, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'
+mungeRegExpLit+'[a-z]');
var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getGameEntities.toString());
foundMunges.quadKeys = result[1] || result[2];
@ -134,27 +138,31 @@ function extractMungeFromStock() {
foundMunges.maxLngE6 = result[9] || result[10];
foundMunges.minTimestampMs = result[11] || result[12];
foundMunges.maxTimestampMs = result[13] || result[14];
foundMunges.chatTab = result[15] || result[16]; //guessed parameter name - only seen munged
foundMunges.chatTabGet = result[15] || result[16]; //guessed parameter name - only seen munged
foundMunges.ascendingTimestampOrder = result[17] || result[18];
// SEND_PLEXT
var reg = new RegExp('SEND_PLEXT, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'[a-z], '+mungeRegExpLit+'[a-z], '+mungeRegExpLit+'[a-z], '+mungeRegExpLit+'[a-z]}');
var reg = new RegExp('SEND_PLEXT, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'
+mungeRegExpLitOrUnmunged+'[a-z], '
+mungeRegExpLitOrUnmunged+'[a-z], '
+mungeRegExpLitOrUnmunged+'[a-z], '
+mungeRegExpLitOrUnmunged+'[a-z]}');
var result = reg.exec(nemesis.dashboard.network.PlextStore.prototype.sendPlext.toString());
foundMunges.message = result[1] || result[2];
foundMunges.latE6 = result[3] || result[4];
foundMunges.lngE6 = result[5] || result[6];
var chatTab = result[7] || result[8];
if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab';
foundMunges.messageSendPlext = result[1] || result[2];
foundMunges.latE6SendPlext = result[3] || result[4];
foundMunges.lngE6SendPlext = result[5] || result[6];
foundMunges.chatTabSendPlext = result[7] || result[8];
// if (chatTab != foundMunges.chatTab) throw 'Error: inconsistent munge parsing for chatTab';
// GET_PORTAL_DETAILS
var reg = new RegExp('GET_PORTAL_DETAILS, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'a}');
var result = reg.exec(nemesis.dashboard.network.DataFetcher.prototype.getPortalDetails.toString());
foundMunges.guid = result[1] || result[2];
// SEND_INVITE_EMAIL
var reg = new RegExp('SEND_INVITE_EMAIL, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'b}');
foundMunges.inviteeEmailAddress = result[1] || result[2];
// // SEND_INVITE_EMAIL
// var reg = new RegExp('SEND_INVITE_EMAIL, nemesis.dashboard.network.XhrController.Priority.[A-Z]+, {'+mungeRegExpLit+'b}');
// foundMunges.inviteeEmailAddress = result[1] || result[2];
return foundMunges;
} catch(e) {

View File

@ -1,7 +1,7 @@
// ==UserScript==
// @id ingress-intel-total-conversion@jonatkins
// @name IITC: Ingress intel map total conversion
// @version 0.16.8.@@DATETIMEVERSION@@
// @version 0.16.9.@@DATETIMEVERSION@@
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
// @updateURL @@UPDATEURL@@
// @downloadURL @@DOWNLOADURL@@

View File

@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cradle.iitc_mobile"
android:installLocation="auto"
android:versionCode="69"
android:versionName="0.10.8">
android:versionCode="70"
android:versionName="0.10.9">
<uses-sdk
android:minSdkVersion="14"

View File

@ -2,7 +2,7 @@
// @id iitc-plugin-bookmarks@ZasoGD
// @name IITC plugin: Bookmarks for maps and portals
// @category Controls
// @version 0.2.8.@@DATETIMEVERSION@@
// @version 0.2.9.@@DATETIMEVERSION@@
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
// @updateURL @@UPDATEURL@@
// @downloadURL @@DOWNLOADURL@@
@ -219,7 +219,7 @@
// Create a label and a anchor for the sortable
var folderDelete = '<span class="folderLabel"><a class="bookmarksRemoveFrom" onclick="window.plugin.bookmarks.removeElement(this, \'folder\');return false;" title="Remove this folder">X</a>';
var folderName = '<a class="bookmarksAnchor" onclick="window.plugin.bookmarks.openFolder(this);return false"><span></span>'+folders['label']+'</a><span><span></span></span></span>';
var folderName = '<a class="bookmarksAnchor" onclick="window.plugin.bookmarks.openFolder(this);return false"><span></span>'+folders['label']+'</a></span>';//<span><span></span></span>';
var folderLabel = folderDelete+folderName;
if(folders['state']) { active = ' open'; }
@ -235,6 +235,12 @@
for(var idBkmrk in fold) {
var btn_link;
var btn_remove = '<a class="bookmarksRemoveFrom" onclick="window.plugin.bookmarks.removeElement(this, \''+typeList+'\');return false;" title="Remove from bookmarks">X</a>';
var btn_move = '';
if(window.plugin.bookmarks.isSmart) {
btn_move = '<a class="bookmarksMoveIn" onclick="window.plugin.bookmarks.dialogMobileSort(\''+typeList+'\', this);return false;">=</a>';
}
var bkmrk = fold[idBkmrk];
var label = bkmrk['label'];
var latlng = bkmrk['latlng'];
@ -250,7 +256,7 @@
var btn_link = '<a class="bookmarksLink" onclick="$(\'a.bookmarksLink.selected\').removeClass(\'selected\');'+returnToMap+'window.zoomToAndShowPortal(\''+guid+'\', ['+latlng+']);return false;">'+label+'</a>';
}
// Create the bookmark
elementTemp += '<li class="bkmrk" id="'+idBkmrk+'">'+btn_remove+btn_link+'</li>';
elementTemp += '<li class="bkmrk" id="'+idBkmrk+'">'+btn_remove+btn_move+btn_link+'</li>';
}
elementTemp += '</li></ul>';
@ -427,9 +433,47 @@
}
window.plugin.bookmarks.deleteMode = function() {
$('#bookmarksBox').toggleClass('deleteMode');
$('#bookmarksBox').removeClass('moveMode').toggleClass('deleteMode');
}
window.plugin.bookmarks.moveMode = function() {
$('#bookmarksBox').removeClass('deleteMode').toggleClass('moveMode');
}
window.plugin.bookmarks.mobileSortIDb = '';
window.plugin.bookmarks.mobileSortIDf = '';
window.plugin.bookmarks.dialogMobileSort = function(type, elem){
window.plugin.bookmarks.mobileSortIDb = $(elem).parent('li.bkmrk').attr('id');
window.plugin.bookmarks.mobileSortIDf = $(elem).parent('li.bkmrk').parent('ul').parent('li.bookmarkFolder').attr('id');
if(type === 'maps'){ type = 1; }
else if(type === 'portals'){ type = 2; }
dialog({
html: window.plugin.bookmarks.dialogLoadListFolders('bookmarksDialogMobileSort', 'window.plugin.bookmarks.mobileSort', true, type),
dialogClass: 'ui-dialog-bkmrksSet-copy',
title: 'Bookmarks - Move Bookmark'
});
}
window.plugin.bookmarks.mobileSort = function(elem){
var type = $(elem).data('type');
var idBkmrk = window.plugin.bookmarks.mobileSortIDb;
var newFold = $(elem).data('id');
var oldFold = window.plugin.bookmarks.mobileSortIDf;
var Bkmrk = window.plugin.bookmarks.bkmrksObj[type][oldFold].bkmrk[idBkmrk];
delete window.plugin.bookmarks.bkmrksObj[type][oldFold].bkmrk[idBkmrk];
window.plugin.bookmarks.bkmrksObj[type][newFold].bkmrk[idBkmrk] = Bkmrk;
window.plugin.bookmarks.saveStorage();
window.plugin.bookmarks.refreshBkmrks();
window.runHooks('pluginBkmrksEdit', {"target": "bookmarks", "action": "sort"});
window.plugin.bookmarks.mobileSortIDf = newFold;
console.log('Move Bookmarks '+type+' ID:'+idBkmrk+' from folder ID:'+oldFold+' to folder ID:'+newFold);
}
/***************************************************************************************************************************************************************/
@ -613,6 +657,77 @@
}
}
window.plugin.bookmarks.dialogLoadListFolders = function(idBox, clickAction, showOthersF, scanType/*0 = maps&portals; 1 = maps; 2 = portals*/) {
var list = JSON.parse(localStorage['plugin-bookmarks']);
var listHTML = '';
var foldHTML = '';
var elemGenericFolder = '';
// For each type and folder
for(var type in list){
if(scanType === 0 || (scanType === 1 && type === 'maps') || (scanType === 2 && type === 'portals')){
listHTML += '<h3>'+type+':</h3>';
for(var idFolders in list[type]) {
var label = list[type][idFolders]['label'];
// Create a folder
foldHTML = '<div class="bookmarkFolder" id="'+idFolders+'" data-type="'+type+'" data-id="'+idFolders+'" onclick="'+clickAction+'(this)";return false;">'+label+'</div>';
if(idFolders !== window.plugin.bookmarks.KEY_OTHER_BKMRK) {
listHTML += foldHTML;
} else {
if(showOthersF === true){
elemGenericFolder = foldHTML;
}
}
}
}
listHTML += elemGenericFolder;
elemGenericFolder = '';
}
// Append all folders
var r = '<div class="bookmarksDialog" id="'+idBox+'">'
+ listHTML
+ '</div>';
return r;
}
window.plugin.bookmarks.renameFolder = function(elem){
var type = $(elem).data('type');
var idFold = $(elem).data('id');
var promptAction = prompt('Insert a new name.', '');
if(promptAction !== null && promptAction !== '') {
try {
var newName = window.plugin.bookmarks.escapeHtml(promptAction);
window.plugin.bookmarks.bkmrksObj[type][idFold].label = newName;
$('#bookmarksDialogRenameF #'+idFold).text(newName);
window.plugin.bookmarks.saveStorage();
window.plugin.bookmarks.refreshBkmrks();
window.runHooks('pluginBkmrksEdit', {"target": "all", "action": "import"});
console.log('BOOKMARKS: renamed bookmarks folder');
window.plugin.bookmarks.optAlert('Successful. ');
} catch(e) {
console.warn('BOOKMARKS: failed to rename folder: '+e);
window.plugin.bookmarks.optAlert('<span style="color: #f88">Rename failed </span>');
return;
}
}
}
window.plugin.bookmarks.optRenameF = function() {
dialog({
html: window.plugin.bookmarks.dialogLoadListFolders('bookmarksDialogRenameF', 'window.plugin.bookmarks.renameFolder', false, 0),
dialogClass: 'ui-dialog-bkmrksSet-copy',
title: 'Bookmarks Rename Folder'
});
}
/***************************************************************************************************************************************************************/
/** AUTO DRAW **************************************************************************************************************************************************/
/***************************************************************************************************************************************************************/
@ -971,6 +1086,7 @@
plugin.bookmarks.htmlStar = '<a class="bkmrksStar" onclick="window.plugin.bookmarks.switchStarPortal();return false;" title="Save this portal in your bookmarks"><span></span></a>';
plugin.bookmarks.htmlCalldrawBox = '<a onclick="window.plugin.bookmarks.dialogDrawer();return false;" title="Draw lines/triangles between bookmarked portals">Auto draw</a>';
plugin.bookmarks.htmlCallSetBox = '<a onclick="window.plugin.bookmarks.manualOpt();return false;">Bookmarks Opt</a>';
plugin.bookmarks.htmlMoveBtn = '<a id="bookmarksMove" class="btn" onclick="window.plugin.bookmarks.moveMode();return false;">Show/Hide "Move" button</a>'
var actions = '';
actions += '<a onclick="window.plugin.bookmarks.optReset();return false;">Reset bookmarks</a>';
@ -980,7 +1096,9 @@
if(plugin.bookmarks.isAndroid()) {
actions += '<a onclick="window.plugin.bookmarks.optImport();return false;">Import bookmarks</a>';
actions += '<a onclick="window.plugin.bookmarks.optExport();return false;">Export bookmarks</a>';
} else {
}
actions += '<a onclick="window.plugin.bookmarks.optRenameF();return false;">Rename Folder</a>'
if(!plugin.bookmarks.isAndroid()) {
actions += '<a onclick="window.plugin.bookmarks.optBox(\'save\');return false;">Save box position</a>';
actions += '<a onclick="window.plugin.bookmarks.optBox(\'reset\');return false;">Reset box position</a>';
}
@ -1031,6 +1149,11 @@
}
$('#toolbox').append(window.plugin.bookmarks.htmlCallSetBox+window.plugin.bookmarks.htmlCalldrawBox);
if(window.plugin.bookmarks.isSmart) {
// $('#bookmarksBox.mobile #topBar').prepend(window.plugin.bookmarks.htmlCallSetBox+window.plugin.bookmarks.htmlCalldrawBox); // wonk in progress
$('#bookmarksBox.mobile #topBar').append(plugin.bookmarks.htmlMoveBtn);
}
window.plugin.bookmarks.loadList('maps');
window.plugin.bookmarks.loadList('portals');
window.plugin.bookmarks.jquerySortableScript();
@ -1059,4 +1182,4 @@
// PLUGIN END //////////////////////////////////////////////////////////
@@PLUGINEND@@
@@PLUGINEND@@

View File

@ -440,16 +440,6 @@
display:none !important;
}
#bookmarksBox.mobile #topBar #bookmarksDel{
width:100%;
height:34px !important;
font-size:13px;
color:#fff;
font-weight:normal;
padding-top:11px;
text-indent:0;
}
#bookmarksBox.mobile #bookmarksTypeBar h5{
cursor:pointer;
text-align:center;
@ -664,4 +654,63 @@
width:96%;
height:120px;
resize:vertical;
}
/*--- Other Opt css ---*/
#bookmarksBox.mobile a.bookmarksMoveIn{
display:none !important;
}
#bookmarksBox.mobile .bookmarkList ul li ul li.bkmrk a.bookmarksMoveIn{
background:none !important;
text-align:center;
color:#fff;
box-shadow: inset 0 1px 0 #20A8B1,inset -1px 0 0 #20A8B1 !important;
width:10%;
}
#bookmarksBox.mobile.moveMode a.bookmarksMoveIn{
display:block !important;
}
#bookmarksBox.moveMode ul .bookmarksLink,
#bookmarksBox.moveMode ul .othersBookmarks .bookmarksLink{
width:90% !important;
}
.bookmarksDialog h3{
text-transform:capitalize;margin-top:10px;
}
.bookmarksDialog .bookmarkFolder{
margin-bottom:4px;
border:1px solid #20a8b1;
background:#069;
padding:4px 10px;
color:#fff;
cursor:pointer;
}
.bookmarksDialog .bookmarkFolder:hover{
text-decoration:underline;
}
#bookmarksBox.mobile #topBar .btn{
width:100%;height:45px !important;
font-size:13px;
color:#fff;
font-weight:normal;
padding-top:17px;
text-indent:0 !important;
}
#bookmarksBox.mobile .btn{
width:50% !important;
background:#222;
}
#bookmarksBox.mobile .btn.left{
border-right:1px solid #20a8b1 !important;
}
#bookmarksBox.mobile .btn#bookmarksMove{
background:#B42E2E;
}
#bkmrksSetbox{
text-align:center;
}