mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
change send coins to get pubkey from login server
This commit is contained in:
parent
285a91353d
commit
5cb007857a
@ -250,7 +250,7 @@ class AppController extends Controller
|
||||
}
|
||||
*/
|
||||
|
||||
public function addAdminError($controller, $action, $returnTable, $state_user_id) {
|
||||
public function addAdminError($controller, $action, array $returnTable, $state_user_id) {
|
||||
if(!is_array($returnTable)) {
|
||||
$this->addAdminError('AppController', 'addAdminError', ['state' => 'error', 'msg' => 'returnTable isn\'t array', 'details' => gettype($returnTable)]);
|
||||
return false;
|
||||
@ -260,7 +260,7 @@ class AppController extends Controller
|
||||
$adminErrorEntity->state_user_id = $state_user_id;
|
||||
$adminErrorEntity->controller = $controller;
|
||||
$adminErrorEntity->action = $action;
|
||||
$adminErrorEntity->state = $returnTable->state;
|
||||
$adminErrorEntity->state = $returnTable['state'];
|
||||
if(isset($returnTable['msg'])) {
|
||||
$adminErrorEntity->msg = $returnTable['msg'];
|
||||
}
|
||||
|
||||
@ -30,6 +30,7 @@ class TransactionSendCoinsController extends AppController
|
||||
{
|
||||
parent::initialize();
|
||||
$this->loadComponent('GradidoNumber');
|
||||
$this->loadComponent('JsonRequestClient');
|
||||
//$this->Auth->allow(['add', 'edit']);
|
||||
$this->Auth->allow('create');
|
||||
$this->Auth->allow('createRaw');
|
||||
@ -162,19 +163,35 @@ class TransactionSendCoinsController extends AppController
|
||||
$this->Flash->error(__('Du kannst dir leider nicht selbst Geld schicken!'));
|
||||
return;
|
||||
}
|
||||
|
||||
$stateUserTable = TableRegistry::getTableLocator()->get('StateUsers');
|
||||
$receiverUser = $stateUserTable
|
||||
->find('all')
|
||||
->select(['public_key'])
|
||||
->contain(false)
|
||||
->where(['email' => $receiverEmail])->first();
|
||||
//var_dump($receiverUser);
|
||||
if(!$receiverUser) {
|
||||
$this->Flash->error(__('Diese E-Mail ist mir nicht bekannt, hat dein Empfänger denn schon ein Gradido-Konto?'));
|
||||
return;
|
||||
$receiverPubkeyHex ='';
|
||||
$requestAnswear = $this->JsonRequestClient->sendRequest(json_encode([
|
||||
'session_id' => $session->read('session_id'),
|
||||
'email' => $receiverEmail,
|
||||
'ask' => ['user.pubkeyhex']
|
||||
]), '/getUserInfos');
|
||||
if('success' == $requestAnswear['state'] && 'success' == $requestAnswear['data']['state']) {
|
||||
$receiverPubKeyHex = $requestAnswear['data']['userData']['pubkeyhex'];
|
||||
} else {
|
||||
$this->addAdminError('TransactionSendCoins', 'create', $requestAnswear, $user['id']);
|
||||
$this->Flash->error(__('Der Empfänger wurde nicht auf dem Login-Server gefunden, hat er sein Konto schon angelegt?'));
|
||||
$this->set('timeUsed', microtime(true) - $startTime);
|
||||
return;
|
||||
}
|
||||
if('' == $receiverPubKeyHex) {
|
||||
$stateUserTable = TableRegistry::getTableLocator()->get('StateUsers');
|
||||
$receiverUser = $stateUserTable
|
||||
->find('all')
|
||||
->select(['public_key'])
|
||||
->contain(false)
|
||||
->where(['email' => $receiverEmail])->first();
|
||||
//var_dump($receiverUser);
|
||||
if(!$receiverUser) {
|
||||
$this->Flash->error(__('Diese E-Mail ist mir nicht bekannt, hat dein Empfänger denn schon ein Gradido-Konto?'));
|
||||
$this->set('timeUsed', microtime(true) - $startTime);
|
||||
return;
|
||||
}
|
||||
$receiverPubKeyHex = bin2hex(stream_get_contents($receiverUser->public_key));
|
||||
}
|
||||
$receiverPubKeyHex = bin2hex(stream_get_contents($receiverUser->public_key));
|
||||
//var_dump($sessionStateUser);
|
||||
|
||||
$builderResult = TransactionTransfer::build(
|
||||
@ -234,7 +251,7 @@ class TransactionSendCoinsController extends AppController
|
||||
}
|
||||
|
||||
} else {
|
||||
$this->Flash->error(__('No Valid Receiver Public given'));
|
||||
$this->Flash->error(__('No Valid Receiver Public given: ' . $receiverPubKeyHex));
|
||||
}
|
||||
|
||||
// */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user