mirror of
http://git.whoc.org.uk/git/password-manager.git
synced 2024-11-13 09:09:02 +01:00
Integration of PHP backend with /beta and /gamma front ends
Fixed PHP backend and /beta code to handle request and data format compatible with /gamma. At the moment adding/deleting/editing records seem to work fine.
This commit is contained in:
parent
b312e037eb
commit
67455b069c
@ -16,10 +16,10 @@ $configuration['db_encoding'] = 0;
|
||||
|
||||
// edit the information below to match your database settings
|
||||
|
||||
$configuration['db'] = 'clipperz'; // database name
|
||||
$configuration['db'] = 'clipperz'; // database name
|
||||
$configuration['host'] = 'localhost'; // database host
|
||||
$configuration['user'] = 'root'; // database user
|
||||
$configuration['pass'] = 'pass'; // database password
|
||||
$configuration['user'] = 'clipperz'; // database user
|
||||
$configuration['pass'] = 'clipperz'; // database password
|
||||
$configuration['port'] = '3306'; // database port
|
||||
|
||||
|
||||
|
@ -140,7 +140,9 @@ function updateUserData($parameters, &$user) {
|
||||
$user->header = $parameters["header"];
|
||||
$user->statistics = $parameters["statistics"];
|
||||
$user->version = $parameters["version"];
|
||||
$user->lock = $parameters["lock"];
|
||||
if (array_key_exists("lock", $parameters)) {
|
||||
$user->lock = $parameters["lock"];
|
||||
}
|
||||
}
|
||||
|
||||
function updateRecordData($parameters, &$record, &$recordVersion) {
|
||||
@ -153,7 +155,9 @@ function updateRecordData($parameters, &$record, &$recordVersion) {
|
||||
$recordVersion->reference = $recordVersionData ["reference"];
|
||||
$recordVersion->data = $recordVersionData ["data"];
|
||||
$recordVersion->version = $recordVersionData ["version"];
|
||||
$recordVersion->previous_version_id = $recordVersionData ["previousVersion"];
|
||||
if (array_key_exists("previousVersion", $recordVersionData)) {
|
||||
$recordVersion->previous_version_id = $recordVersionData ["previousVersion"];
|
||||
}
|
||||
$recordVersion->previous_version_key = $recordVersionData ["previousVersionKey"];
|
||||
}
|
||||
|
||||
@ -365,6 +369,7 @@ error_log("oneTimePassword");
|
||||
|
||||
case "message":
|
||||
error_log("message");
|
||||
//error_log("message: ".json_encode($parameters));
|
||||
if ($parameters["srpSharedSecret"] == $_SESSION["K"]) {
|
||||
$message = $parameters["message"];
|
||||
|
||||
@ -446,6 +451,88 @@ error_log("message");
|
||||
$result["lock"] = $user->lock;
|
||||
$result["result"] = "done";
|
||||
|
||||
//=============================================================
|
||||
} else if ($message == "saveChanges") {
|
||||
|
||||
//{
|
||||
// "message":"saveChanges",
|
||||
// "srpSharedSecret":"edc78508907c942173818f7247fa64869ba80672a7aa8d27b8fa6bfe524fb9c8",
|
||||
// "parameters":{
|
||||
// "records":{
|
||||
// "updated":[
|
||||
// {
|
||||
// "currentRecordVersion":{
|
||||
// "previousVersionKey":"####",
|
||||
// "reference":"08c8eb7ec528fbf987bbfb84fe2e960cf9ae937b19fbb5f05d8d90a7039fac6a",
|
||||
// "data":"WYQ16AjodjsmyZDXa4MKxOju0F…beD/zXlbVb0Zj0ZI/N55bZ",
|
||||
// "version":"0.3"
|
||||
// },
|
||||
// "record":{
|
||||
// "reference":"83de5304f60a808e48a815c6203d7d3f24874d3f40faba420bbc60b376fcc356",
|
||||
// "data":"B6uBuBE Aly0knvgrUppodDTGZQC…guizL9QvHCWyM bQQBGBVvHZ6LfA==",
|
||||
// "version":"0.3"
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
// "deleted":[
|
||||
//
|
||||
// ]
|
||||
// },
|
||||
// "user":{
|
||||
// "header":"{\"rec…sion\":\"0.1\"}",
|
||||
// "statistics":"e6iXVEM4i8ZatPZFCCads/9F",
|
||||
// "version":"0.3"
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
$user = new user();
|
||||
$user = $user->Get($_SESSION["userId"]);
|
||||
updateUserData($parameters["parameters"]["user"], $user);
|
||||
|
||||
$recordToUpdateParameterList = $parameters["parameters"]["records"]["updated"];
|
||||
$c = count($recordToUpdateParameterList);
|
||||
for ($i=0; $i<$c; $i++) {
|
||||
$recordList = $user->GetRecordList(array(array("reference", "=", $recordToUpdateParameterList [$i]["record"]["reference"])));
|
||||
if (count($recordList) == 0) {
|
||||
$currentRecord = new record();
|
||||
$currentVersion = new recordversion();
|
||||
$isNewRecord = true;
|
||||
} else {
|
||||
$currentRecord = $recordList[0];
|
||||
$currentRecordVersions = $currentRecord->GetRecordversionList();
|
||||
$currentVersion = $currentRecordVersions[0];
|
||||
$isNewRecord = false;
|
||||
}
|
||||
|
||||
updateRecordData($recordToUpdateParameterList[$i], $currentRecord, $currentVersion);
|
||||
|
||||
if ($isNewRecord == true) {
|
||||
$currentRecord->SaveNew();
|
||||
$currentVersion->SaveNew();
|
||||
|
||||
$currentRecord->AddRecordversion($currentVersion);
|
||||
$user->AddRecord($currentRecord);
|
||||
}
|
||||
|
||||
$currentRecord->Save();
|
||||
$currentVersion->Save();
|
||||
}
|
||||
|
||||
$user->Save();
|
||||
|
||||
$recordToDeleteReferenceList = $parameters["parameters"]["records"]["deleted"];
|
||||
$recordList = array();
|
||||
$c = count($recordToDeleteReferenceList);
|
||||
for ($i=0; $i<$c; $i++) {
|
||||
array_push($recordList, array("reference", "=", $recordToDeleteReferenceList[$i]));
|
||||
}
|
||||
|
||||
$record = new record();
|
||||
$record->DeleteList($recordList, true);
|
||||
|
||||
$result["lock"] = $user->lock;
|
||||
$result["result"] = "done";
|
||||
|
||||
//=============================================================
|
||||
} else if ($message == "getRecordDetail") {
|
||||
//{
|
||||
@ -474,21 +561,94 @@ error_log("message");
|
||||
// updatedDate:"Tue, 17 April 2007 17:17:52 UTC",
|
||||
// data:"0/BjzyY6jeh71h...pAw2++NEyylGhMC5C5f5m8pBApYziN84s4O3JQ3khW/1UttQl4="
|
||||
// }
|
||||
|
||||
|
||||
// # Actual result (causing error in /gamma)
|
||||
// {
|
||||
// "result" : {
|
||||
// "currentVersion" : {
|
||||
// "reference" : "cb05177f96a832062c6b936d24323cb74a64e2ef1d97ee026cd1003755af7495",
|
||||
// "data" : "RAnoHmikp7RmiZ2WVyEMW+Ia",
|
||||
// "header" : "",
|
||||
// "version" : "0.3",
|
||||
// "creationDate" : "0000-00-00 00:00:00",
|
||||
// "updateDate" : "2011-10-09 19:49:11",
|
||||
// "accessDate" : "2011-10-09 19:49:11"
|
||||
// },
|
||||
// "reference" : "b07e2afa2ba782b9f379649b36ded6de0452b43c27e6b887c7ce4f2a93f44346",
|
||||
// "data" : "NtK1nkLUabbJQx5uO8ept...ZJ5dkJYYkyh3VQ==",
|
||||
// "version" : "0.3",
|
||||
// "creationDate" : "2011-10-09 19:49:11",
|
||||
// "updateDate" : "Tue, 30 Nov 1999 00:00:00 +0000",
|
||||
// "accessDate" : "0000-00-00 00:00:00",
|
||||
// "oldestUsedEncryptedVersion" : "---"
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// # Response from the online /gamma version
|
||||
// {
|
||||
// "result" : {
|
||||
// "versions" : {
|
||||
// "e2c193f017ad4f6babf51de59f7550a40596afc0c27373b6a360e426b5bc06de" : {
|
||||
// "reference" : "e2c193f017ad4f6babf51de59f7550a40596afc0c27373b6a360e426b5bc06de",
|
||||
// "data" : "s\/3ClggH4uCcf+BkIMqQ...+W0PVt\/MJ3t7s1g0g",
|
||||
// "creationDate" : "Mon, 10 October 2011 14:42:42 UTC",
|
||||
// "header" : "####",
|
||||
// "updateDate" : "Mon, 10 October 2011 14:42:42 UTC",
|
||||
// "previousVersion" : "a96a6d8b9ac73fcdf874d8a8534ffb2d43da8f5222e96a4a29bd2ae437619463",
|
||||
// "version" : "0.3",
|
||||
// "accessDate" : "Mon, 10 October 2011 14:42:42 UTC",
|
||||
// "previousVersionKey" : "####"
|
||||
// },
|
||||
// [...]
|
||||
// "a96a6d8b9ac73fcdf874d8a8534ffb2d43da8f5222e96a4a29bd2ae437619463" : {
|
||||
// "reference" : "a96a6d8b9ac73fcdf874d8a8534ffb2d43da8f5222e96a4a29bd2ae437619463",
|
||||
// "accessDate" : "Mon, 10 October 2011 14:41:17 UTC",
|
||||
// "creationDate" : "Mon, 27 October 2008 08:16:14 UTC",
|
||||
// "version" : "0.3",
|
||||
// "data" : "m3yhZu81UAjCY6U2Kn...IUCb9suV0fldGOg=",
|
||||
// "updateDate" : "Mon, 27 October 2008 08:16:14 UTC",
|
||||
// "header" : "####"
|
||||
// }
|
||||
// },
|
||||
// "oldestUsedEncryptedVersion" : "0.2",
|
||||
// "reference" : "36ec1a41118813ced3553534fa2607d781cba687768db305beed368a8e06e113",
|
||||
// "data" : "frlUkTbaOWD9j2ROat...ruWioCK0Mss27oHjPg==",
|
||||
// "creationDate" : "Wed, 14 March 2007 17:39:35 UTC",
|
||||
// "version" : "0.3",
|
||||
// "accessDate" : "Mon, 10 October 2011 14:45:12 UTC",
|
||||
// "currentVersion" : "e2c193f017ad4f6babf51de59f7550a40596afc0c27373b6a360e426b5bc06de",
|
||||
// "updatedDate" : "Mon, 10 October 2011 14:45:12 UTC"
|
||||
// },
|
||||
// "toll" : {
|
||||
// "requestType" : "MESSAGE",
|
||||
// "targetValue" : "a516c942a3792cc620775a41f8870a6c7b51796d9a94da978a75da6a52eb1e10",
|
||||
// "cost" : 2
|
||||
// }
|
||||
// }
|
||||
|
||||
$record = new record();
|
||||
|
||||
$recordList = $record->GetList(array(array("reference", "=", $parameters["parameters"]["reference"])));
|
||||
$currentRecord = $recordList[0];
|
||||
$currentRecordVersions = $currentRecord->GetRecordversionList();
|
||||
$currentVersion = $currentRecordVersions[0];
|
||||
|
||||
$result["currentVersion"] = array();
|
||||
$result["currentVersion"]["reference"] = $currentVersion->reference;
|
||||
$result["currentVersion"]["data"] = $currentVersion->data;
|
||||
$result["currentVersion"]["header"] = $currentVersion->header;
|
||||
$result["currentVersion"]["version"] = $currentVersion->version;
|
||||
$result["currentVersion"]["creationDate"] = $currentVersion->creation_date;
|
||||
$result["currentVersion"]["updateDate"] = $currentVersion->update_date;
|
||||
$result["currentVersion"]["accessDate"] = $currentVersion->access_date;
|
||||
|
||||
$result["versions"] = array();
|
||||
// foreach ($currentRecordVersions as $currentVersion) {
|
||||
$result["versions"][$currentVersion->reference] = array();
|
||||
$result["versions"][$currentVersion->reference]["reference"] = $currentVersion->reference;
|
||||
$result["versions"][$currentVersion->reference]["data"] = $currentVersion->data;
|
||||
$result["versions"][$currentVersion->reference]["header"] = $currentVersion->header;
|
||||
$result["versions"][$currentVersion->reference]["version"] = $currentVersion->version;
|
||||
$result["versions"][$currentVersion->reference]["creationDate"] = $currentVersion->creation_date;
|
||||
$result["versions"][$currentVersion->reference]["updateDate"] = $currentVersion->update_date;
|
||||
$result["versions"][$currentVersion->reference]["accessDate"] = $currentVersion->access_date;
|
||||
|
||||
// }
|
||||
$result["currentVersion"] = $currentVersion->reference;
|
||||
// $result["currentVersion"] = $currentRecord->currentVersion; // ????
|
||||
|
||||
$result["reference"] = $currentRecord->reference;
|
||||
$result["data"] = $currentRecord->data;
|
||||
@ -749,7 +909,10 @@ error_log("default");
|
||||
}
|
||||
|
||||
session_write_close();
|
||||
|
||||
$finalResult = Array();
|
||||
$finalResult["result"] = $result;
|
||||
|
||||
echo(json_encode($result));
|
||||
error_log("result: ".json_encode($result));
|
||||
echo(json_encode($finalResult));
|
||||
error_log("result: ".json_encode($finalResult));
|
||||
?>
|
||||
|
@ -279,18 +279,23 @@ Clipperz.PM.DataModel.Record.prototype = MochiKit.Base.update(null, {
|
||||
if (this.shouldProcessData()) {
|
||||
var currentVersionParameters;
|
||||
|
||||
console.log("Record.processData", someValues);
|
||||
this.processDataToExtractLegacyValues(someValues['data']);
|
||||
|
||||
if (typeof(someValues['data']['notes']) != 'undefined') {
|
||||
this.setNotes(someValues['data']['notes']);
|
||||
}
|
||||
|
||||
if (someValues['data']['currentVersionKey'] != null) {
|
||||
this.setCurrentVersionKey(someValues['data']['currentVersionKey']);
|
||||
} else {
|
||||
this.setCurrentVersionKey(this.key());
|
||||
}
|
||||
|
||||
currentVersionParameters = someValues['currentVersion'];
|
||||
// currentVersionParameters = someValues['currentVersion'];
|
||||
currentVersionParameters = someValues['versions'][someValues['currentVersion']];
|
||||
console.log("Record.processData - this.currentVersionKey()", this.currentVersionKey());
|
||||
console.log("Record.processData - currentVersionParameters", currentVersionParameters);
|
||||
currentVersionParameters['key'] = this.currentVersionKey();
|
||||
this.setCurrentVersion(new Clipperz.PM.DataModel.RecordVersion(this, currentVersionParameters));
|
||||
|
||||
|
@ -116,8 +116,7 @@ Clipperz.PM.Proxy.prototype = MochiKit.Base.update(null, {
|
||||
this.addToll(new Clipperz.PM.Toll(someParameters['toll']));
|
||||
}
|
||||
//console.log("<<< Proxy.setTallCallback", someParameters['result']);
|
||||
//return someParameters['result'];
|
||||
return someParameters;
|
||||
return someParameters['result'];
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
@ -1,262 +0,0 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz Community Edition.
|
||||
Clipperz Community Edition is an online password manager.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com.
|
||||
|
||||
* Clipperz Community Edition is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Clipperz Community Edition is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Clipperz Community Edition. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
|
||||
if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
|
||||
|
||||
//=============================================================================
|
||||
|
||||
Clipperz.PM.Proxy.PHP = function(args) {
|
||||
Clipperz.PM.Proxy.PHP.superclass.constructor.call(this, args);
|
||||
/*
|
||||
this._tolls = {
|
||||
'CONNECT': [],
|
||||
'REGISTER': [],
|
||||
'MESSAGE': []
|
||||
};
|
||||
*/
|
||||
return this;
|
||||
}
|
||||
|
||||
YAHOO.extendX(Clipperz.PM.Proxy.PHP, Clipperz.PM.Proxy, {
|
||||
|
||||
'toString': function() {
|
||||
return "Clipperz.PM.Proxy.PHP - " + this.args();
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
/*
|
||||
'tolls': function() {
|
||||
return this._tolls;
|
||||
},
|
||||
*/
|
||||
//-------------------------------------------------------------------------
|
||||
/*
|
||||
'payToll': function(aRequestType, someParameters) {
|
||||
var deferredResult;
|
||||
|
||||
//MochiKit.Logging.logDebug(">>> Proxy.DWR.payToll: " + aRequestType);
|
||||
if (this.tolls()[aRequestType].length > 0) {
|
||||
deferredResult = MochiKit.Async.succeed(this.tolls()[aRequestType].pop());
|
||||
} else {
|
||||
//MochiKit.Logging.logDebug("### " + aRequestType + " toll NOT immediately available; request queued.");
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
deferredResult.addCallback(function(someParameters) {
|
||||
return new Clipperz.PM.Toll(someParameters['toll']);
|
||||
})
|
||||
com_clipperz_pm_Proxy.knock(Clipperz.Base.serializeJSON({requestType:aRequestType}), {
|
||||
callback:MochiKit.Base.method(deferredResult, 'callback'),
|
||||
errorHandler:MochiKit.Base.method(deferredResult, 'errback')
|
||||
});
|
||||
}
|
||||
|
||||
deferredResult.addCallback(function(aToll) {
|
||||
return aToll.deferredPay();
|
||||
});
|
||||
deferredResult.addCallback(function(someParameters, aToll) {
|
||||
var result;
|
||||
|
||||
result = {
|
||||
parameters: someParameters,
|
||||
toll: aToll
|
||||
}
|
||||
|
||||
return result;
|
||||
}, someParameters);
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
*/
|
||||
//-------------------------------------------------------------------------
|
||||
/*
|
||||
'addToll': function(aToll) {
|
||||
this.tolls()[aToll.requestType()].push(aToll);
|
||||
},
|
||||
*/
|
||||
//=========================================================================
|
||||
/*
|
||||
'setTollCallback': function(someParameters) {
|
||||
//MochiKit.Logging.logDebug(">>> Proxy.DWR.setTollCallback");
|
||||
//MochiKit.Logging.logDebug("--- Proxy.DWR.setTollCallback - " + Clipperz.Base.serializeJSON(someParameters));
|
||||
if (typeof(someParameters['toll']) != 'undefined') {
|
||||
this.addToll(new Clipperz.PM.Toll(someParameters['toll']));
|
||||
}
|
||||
return someParameters['result'];
|
||||
},
|
||||
*/
|
||||
//=========================================================================
|
||||
|
||||
'registration': function(someParameters) {
|
||||
return this.sendMessage('registration', someParameters, 'REGISTER');
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'handshake': function(someParameters) {
|
||||
/*
|
||||
_s = "e8a2162f29aeaabb729f5625e9740edbf0cd80ac77c6b19ab951ed6c88443b8c";
|
||||
_v = new Clipperz.Crypto.BigInt("955e2db0f7844aca372f5799e5f7e51b5866718493096908bd66abcf1d068108", 16);
|
||||
_b = new Clipperz.Crypto.BigInt("5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53", 16);
|
||||
|
||||
_B = _v.add(Clipperz.Crypto.SRP.g().powerModule(_b, Clipperz.Crypto.SRP.n()));
|
||||
_u = new Clipperz.Crypto.BigInt(Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_B.asString(10))).toHexString(), 16);
|
||||
_A = new Clipperz.Crypto.BigInt("3b3567ec33d73673552e960872eb154d091a2488915941038aef759236a27e64", 16);
|
||||
_S = (_A.multiply(_v.powerModule(_u, Clipperz.Crypto.SRP.n()))).powerModule(_b, Clipperz.Crypto.SRP.n());
|
||||
_K = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_S.asString(10))).toHexString().slice(2);
|
||||
_M1 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _B.asString(10) + _K)).toHexString().slice(2);
|
||||
_M2 = Clipperz.PM.Crypto.encryptingFunctions.versions[someParameters.version].hash(new Clipperz.ByteArray(_A.asString(10) + _M1 + _K)).toHexString().slice(2);
|
||||
|
||||
// MochiKit.Logging.logDebug("b = " + _b.asString(16));
|
||||
// MochiKit.Logging.logDebug("v = " + _v.asString(16));
|
||||
MochiKit.Logging.logDebug("B = " + _B.asString(16));
|
||||
MochiKit.Logging.logDebug("u = " + _u.asString(16));
|
||||
MochiKit.Logging.logDebug("S = " + _S.asString(16));
|
||||
MochiKit.Logging.logDebug("K = " + _K);
|
||||
MochiKit.Logging.logDebug("M1 = " + _M1);
|
||||
MochiKit.Logging.logDebug("M2 = " + _M2);
|
||||
// MochiKit.Logging.logDebug("someParameters.version: " + someParameters.version);
|
||||
*/
|
||||
return this.sendMessage('handshake', someParameters, 'CONNECT');
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'message': function(someParameters) {
|
||||
return this.sendMessage('message', someParameters, 'MESSAGE');
|
||||
},
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
'logout': function(someParameters) {
|
||||
//MochiKit.Logging.logDebug("=== Proxy.DWR.logout");
|
||||
return this.sendMessage('logout', someParameters, 'MESSAGE');
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
||||
'sendMessage': function(aFunctionName, someParameters, aRequestType) {
|
||||
/*
|
||||
var deferredResult;
|
||||
var proxy;
|
||||
|
||||
//MochiKit.Logging.logDebug(">>> Proxy.DWR.sendMessage - " + aFunctionName + " - " + aRequestType);
|
||||
proxy = this;
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.1 Proxy.DWR.sendMessage - 1: " + res); return res;});
|
||||
deferredResult.addCallback(MochiKit.Base.method(proxy, 'payToll'), aRequestType);
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.2 Proxy.DWR.sendMessage - 2: " + Clipperz.Base.serializeJSON(res)); return res;});
|
||||
deferredResult.addCallback(MochiKit.Base.method(proxy, 'sendRemoteMessage'), aFunctionName);
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.DWR.sendMessage - 3: " + res); return res;});
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.DWR.sendMessage - 3: " + Clipperz.Base.serializeJSON(res)); return res;});
|
||||
deferredResult.callback(someParameters);
|
||||
|
||||
//MochiKit.Logging.logDebug("<<< Proxy.DWR.sendMessage");
|
||||
return deferredResult;
|
||||
*/
|
||||
|
||||
// return this.sendRemoteMessage(aFunctionName, someParameters);
|
||||
|
||||
|
||||
var deferredResult;
|
||||
var proxy;
|
||||
|
||||
proxy = this;
|
||||
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
deferredResult.addCallback(MochiKit.Base.method(proxy, 'sendRemoteMessage'), aFunctionName);
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.PHP.sendMessage - 3: " + res); return res;});
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("x.3 Proxy.PHP.sendMessage - 3.1: " + Clipperz.Base.serializeJSON(res)); return res;});
|
||||
|
||||
deferredResult.callback(someParameters);
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
||||
'sendRemoteMessage': function(aFunctionName, someParameters) {
|
||||
/*
|
||||
var deferredResult;
|
||||
|
||||
//MochiKit.Logging.logDebug(">>> Proxy.DWR.sendRemoteMessage('" + aFunctionName + "', " + Clipperz.Base.serializeJSON(someParameters) + ") - " + this);
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Proxy.DWR.sendRemoteMessage - 1: " + res); return res;});
|
||||
// deferredResult.addCallback(MochiKit.Base.method(this, 'setTollCallback'));
|
||||
//deferredResult.addBoth(function(res) {MochiKit.Logging.logDebug("Proxy.DWR.sendRemoteMessage - 2: " + res); return res;});
|
||||
|
||||
com_clipperz_pm_Proxy[aFunctionName](Clipperz.Base.serializeJSON(someParameters), {
|
||||
callback:MochiKit.Base.method(deferredResult, 'callback'),
|
||||
errorHandler:MochiKit.Base.method(deferredResult, 'errback')
|
||||
});
|
||||
//MochiKit.Logging.logDebug("<<< Proxy.PHP.sendRemoteMessage - result: " + deferredResult);
|
||||
|
||||
return deferredResult;
|
||||
*/
|
||||
|
||||
var deferredResult;
|
||||
var parameters;
|
||||
|
||||
//MochiKit.Logging.logDebug(">>> Proxy.PHP.sendRemoteMessage('" + aFunctionName + "', " + Clipperz.Base.serializeJSON(someParameters) + ") - " + this);
|
||||
parameters = {};
|
||||
parameters['method'] = aFunctionName;
|
||||
// parameters['version'] = someParameters['version'];
|
||||
// parameters['message'] = someParameters['message'];
|
||||
parameters['parameters'] = Clipperz.Base.serializeJSON(someParameters);
|
||||
//MochiKit.Logging.logDebug("--- Proxy.PHP.sendRemoteMessage('" + Clipperz.Base.serializeJSON(parameters) + ") - " + this);
|
||||
deferredResult = new MochiKit.Async.Deferred();
|
||||
deferredResult.addCallback(MochiKit.Async.doXHR, "./php/index.php", {
|
||||
method:'POST',
|
||||
sendContent:MochiKit.Base.queryString(parameters),
|
||||
headers:{"Content-Type":"application/x-www-form-urlencoded"}
|
||||
});
|
||||
//deferredResult.addCallback(function(res) {MochiKit.Logging.logDebug("Proxy.PHP.response - 2: " + res.responseText); return res;});
|
||||
//deferredResult.addErrback(function(res) {MochiKit.Logging.logDebug("Proxy.PHP.response - ERROR: " + res); return res;});
|
||||
deferredResult.addCallback(MochiKit.Async.evalJSONRequest);
|
||||
deferredResult.addCallback(function (someValues) {
|
||||
if (someValues['result'] == 'EXCEPTION') {
|
||||
throw someValues['message'];
|
||||
}
|
||||
return someValues;
|
||||
})
|
||||
deferredResult.callback();
|
||||
|
||||
return deferredResult;
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
|
||||
'isReadOnly': function() {
|
||||
return false;
|
||||
},
|
||||
|
||||
//=========================================================================
|
||||
__syntaxFix__: "syntax fix"
|
||||
|
||||
});
|
||||
|
||||
//=============================================================================
|
||||
|
||||
//Clipperz.PM.Proxy.defaultProxy = new Clipperz.PM.Proxy.PHP("Proxy.PHP - async test");
|
@ -39,6 +39,11 @@ Clipperz_normalizedNewLine = '\x0d\x0a';
|
||||
</div>
|
||||
<div id="applicationVersionType" class="@application.version.type@"></div>
|
||||
|
||||
<script>
|
||||
Clipperz.PM.Proxy.defaultProxy = new Clipperz.PM.Proxy.JSON({'url':'@request.path@', 'shouldPayTolls':@should.pay.toll@});
|
||||
/*offline_data_placeholder*/
|
||||
</script>
|
||||
|
||||
<!-- -->
|
||||
<div id="javaScriptAlert">
|
||||
<div class="mask"></div>
|
||||
|
@ -62,7 +62,8 @@ Clipperz.Base.extend(Clipperz.Async.Deferred, MochiKit.Async.Deferred, {
|
||||
|
||||
'callback': function (aValue) {
|
||||
if (this._shouldTrace) {
|
||||
Clipperz.log("CALLBACK " + this._name, aValue);
|
||||
// Clipperz.log("CALLBACK " + this._name, aValue);
|
||||
console.log("CALLBACK " + this._name, aValue);
|
||||
}
|
||||
|
||||
if (this.chained == false) {
|
||||
@ -82,7 +83,8 @@ Clipperz.Base.extend(Clipperz.Async.Deferred, MochiKit.Async.Deferred, {
|
||||
resultMessage = "RESULT " + this._name + " <==";
|
||||
// this.addCallback(function(aResult) {
|
||||
Clipperz.Async.Deferred.superclass.addCallback.call(this, function(aResult) {
|
||||
Clipperz.log(resultMessage, aResult);
|
||||
// Clipperz.log(resultMessage, aResult);
|
||||
console.log(resultMessage, aResult);
|
||||
|
||||
return aResult;
|
||||
});
|
||||
@ -106,8 +108,10 @@ Clipperz.Base.extend(Clipperz.Async.Deferred, MochiKit.Async.Deferred, {
|
||||
message = "[" + this._count + "] " + this._name + " ";
|
||||
// this.addBoth(function(aResult) {Clipperz.log(message + "-->", aResult); return aResult;});
|
||||
this.addCallbacks(
|
||||
function(aResult) {Clipperz.log("-OK- " + message + "-->"/*, aResult*/); return aResult;},
|
||||
function(aResult) {Clipperz.log("FAIL " + message + "-->"/*, aResult*/); return aResult;}
|
||||
// function(aResult) {Clipperz.log("-OK- " + message + "-->"/*, aResult*/); return aResult;},
|
||||
function(aResult) {console.log("-OK- " + message + "-->"/*, aResult*/); return aResult;},
|
||||
// function(aResult) {Clipperz.log("FAIL " + message + "-->"/*, aResult*/); return aResult;}
|
||||
function(aResult) {console.log("FAIL " + message + "-->"/*, aResult*/); return aResult;}
|
||||
);
|
||||
}
|
||||
|
||||
@ -116,8 +120,10 @@ Clipperz.Base.extend(Clipperz.Async.Deferred, MochiKit.Async.Deferred, {
|
||||
if (this._shouldTrace) {
|
||||
// this.addBoth(function(aResult) {Clipperz.log(message + "<--", aResult); return aResult;});
|
||||
this.addCallbacks(
|
||||
function(aResult) {Clipperz.log("-OK- " + message + "<--", aResult); return aResult;},
|
||||
function(aResult) {Clipperz.log("FAIL " + message + "<--", aResult); return aResult;}
|
||||
// function(aResult) {Clipperz.log("-OK- " + message + "<--", aResult); return aResult;},
|
||||
function(aResult) {console.log("-OK- " + message + "<--", aResult); return aResult;},
|
||||
// function(aResult) {Clipperz.log("FAIL " + message + "<--", aResult); return aResult;}
|
||||
function(aResult) {console.log("FAIL " + message + "<--", aResult); return aResult;}
|
||||
);
|
||||
}
|
||||
},
|
||||
@ -406,6 +412,7 @@ MochiKit.Base.update(Clipperz.Async.DeferredSynchronizer.prototype, {
|
||||
} else if (this.numberOfMethodsDone() == this.methods().length) {
|
||||
this.result().callback();
|
||||
} else if (this.numberOfMethodsDone() > this.methods().length) {
|
||||
alert("Clipperz.Async.Deferred.handleMethodCallDone -> WTF!");
|
||||
// WTF!!! :(
|
||||
}
|
||||
|
||||
|
@ -142,7 +142,7 @@ Clipperz.PM.Proxy.prototype = MochiKit.Base.update(null, {
|
||||
'processMessage': function (aFunctionName, someParameters, aRequestType) {
|
||||
var deferredResult;
|
||||
|
||||
deferredResult = new Clipperz.Async.Deferred("Proxy.processMessage", {trace:false});
|
||||
deferredResult = new Clipperz.Async.Deferred("Proxy.processMessage", {trace:true});
|
||||
deferredResult.addMethod(this, 'payToll', aRequestType);
|
||||
deferredResult.addMethod(this, 'sendMessage', aFunctionName);
|
||||
deferredResult.addMethod(this, 'setTollCallback');
|
||||
|
Loading…
Reference in New Issue
Block a user