diff --git a/src/Controller/StateBalancesController.php b/src/Controller/StateBalancesController.php index 38d49c7ad..ed26b53b9 100644 --- a/src/Controller/StateBalancesController.php +++ b/src/Controller/StateBalancesController.php @@ -173,12 +173,13 @@ class StateBalancesController extends AppController } $user = $session->read('StateUser'); $requestResult = $this->JsonRequestClient->sendRequestGDT(['email' => $user['email']], 'GdtEntries' . DS . 'listPerEmailApi'); - if ('success' === $requestResult['state'] && 'success' === $requestResult['data']['state']) { + + //var_dump($requestResult); + if('success' === $requestResult['state'] && 'success' === $requestResult['data']['state']) { //var_dump(array_keys($requestResult['data'])); $ownEntries = $requestResult['data']['ownEntries']; - //$gdtEntries = $requestResult['data']['entries']; $gdtSum = 0; diff --git a/src/Controller/TransactionSendCoinsController.php b/src/Controller/TransactionSendCoinsController.php index 3d35d81ea..51a5237de 100644 --- a/src/Controller/TransactionSendCoinsController.php +++ b/src/Controller/TransactionSendCoinsController.php @@ -179,6 +179,7 @@ class TransactionSendCoinsController extends AppController 'ask' => ['user.pubkeyhex'] ]), '/getUserInfos'); if('success' == $requestAnswear['state'] && 'success' == $requestAnswear['data']['state']) { + // will be allways 64 byte long, even if it is empty $receiverPubKeyHex = $requestAnswear['data']['userData']['pubkeyhex']; } else { $this->addAdminError('TransactionSendCoins', 'create', $requestAnswear, $user['id']); @@ -186,20 +187,30 @@ class TransactionSendCoinsController extends AppController $this->set('timeUsed', microtime(true) - $startTime); return; } - if('' == $receiverPubKeyHex) { + + if(0 == ord($receiverPubKeyHex)) { $stateUserTable = TableRegistry::getTableLocator()->get('StateUsers'); $receiverUser = $stateUserTable ->find('all') ->select(['public_key']) ->contain(false) - ->where(['email' => $receiverEmail])->first(); - //var_dump($receiverUser); + ->where(['email' => $receiverEmail]); + + 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)); + + if(isset($receiverUser->public_key)) { + $receiverPubKeyHex = bin2hex(stream_get_contents($receiverUser->public_key)); + } else { + $this->Flash->error(__('Das Konto mit der E-Mail: ' . $receiverEmail . ' wurde noch nicht aktiviert und kann noch keine GDD empfangen!')); + $this->set('timeUsed', microtime(true) - $startTime); + return; + } + } //var_dump($sessionStateUser);