Current path: home/webdevt/cryptoimpot.fr/module/Application/src/Handler/
?? Go up: /home/webdevt/cryptoimpot.fr/module/Application/src
<?php
namespace Application\Controller;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\ViewModel;
use Laminas\Mail\Message;
use Laminas\Mime;
use Laminas\Mail\Transport\Sendmail as SendmailTransport;
use Psr\Http\Server\RequestHandlerInterface;
use Exception;
class ImportationHandler implements RequestHandlerInterface {
const ROUTE_IMPORTATION = 'importation';
const ROUTE_IMPORTATION_EXCHANGE = 'importation/exchange';
const ROUTE_IMPORTATION_UPLOAD = 'importation/upload';
const ROUTE_IMPORTATION_API = 'importation/api';
const ROUTE_IMPORTATION_DELETE_ALL = 'importation/delete-all';
/**
* @var Doctrine\ORM\EntityManager
protected $em;
public function setEntityManager(EntityManager $em) {
$this->em = $em;
}
public function getEntityManager() {
if (null === $this->em) {
$this->em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
}
return $this->em;
}
public function getServiceManager() {
return $this->serviceManager;
}
public function setServiceManager(Laminas\ServiceManager\ServiceManager $serviceManager) {
$this->serviceManager = $serviceManager;
return $this;
}
*
*/
public function getEntityManager() {
return $this->entityManager;
// if (null === $this->em) {
// $this->em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
// }
// return $this->em;
}
//
// public function getServiceManager() {
// return $this->serviceManager;
// }
//
// public function setServiceManager(Laminas\ServiceManager\ServiceManager $serviceManager) {
// $this->serviceManager = $serviceManager;
// return $this;
// }
/**
* Entity manager.
* @var Doctrine\ORM\EntityManager
*/
private $entityManager;
/**
* Auth manager.
* @var User\Service\AuthManager
*/
private $authManager;
/**
* User manager.
* @var User\Service\UserManager
*/
private $userManager;
/**
* config
* @var array
*/
private $config;
/**
* Constructor.
*/
public function __construct($entityManager, $authManager, $userManager, $config, \SlmQueue\Job\AbstractJob $job, \SlmQueue\Queue\QueueInterface $queue) {
// public function __construct($entityManager, $authManager, $userManager, $config) {
var_dump($entityManager); exit;
$this->entityManager = $entityManager;
$this->authManager = $authManager;
$this->userManager = $userManager;
$this->config = $config;
// $this->jobManager = $jobManager;
$this->job = $job;
$this->queue = $queue;
}
public function getConfig() {
return $this->config;
}
public function indexAction() {
//exit;
// if ($this->zfcUserAuthentication()->hasIdentity()) {
// $user = $this->zfcUserAuthentication()->getIdentity();
// //var_dump($user);
// } else {
// return $this->redirect()->toRoute('zfcuser', array('action' => 'login'));
// }
//$servicepaprika = new \Application\Service\APICoinPaprikaService($this->getEntityManager());
//$list = $servicepaprika->updateDevise();
if ($user = $this->currentUser()) {
} else {
return $this->redirect()->toRoute(\Application\Controller\UserController::ROUTE_LOGIN);
}
//$mapperUserExchangeLinker = new \Application\Mapper\UserExchangeLinkerMapper($this->getEntityManager());
//$exchange = $mapperUserExchangeLinker->findByUser($user);
/* Récupération de l'id */
$mapperExchange = new \Application\Mapper\ExchangeMapper($this->getEntityManager());
$arrayExchanges = !empty($user->getExchanges()) ? $user->getExchanges() : [];
//
//var_dump($arrayExchanges[0]); exit;
//var_dump($user->getExchanges()); exit;
//var_dump($exchange->getExchangesId());
// if (!empty($exchange && $exchange->getExchangesId())) {
// $arrayIdExhanges = explode(',', $exchange->getExchangesId());
//
//
//
//
// foreach ($arrayIdExhanges as $id) {
// $arrayExhanges[] = $mapperExchange->findById($id);
// }
// }
// error exchange générique @todo debug
foreach($arrayExchanges as $key => $exchange) {
if ($exchange->getId() === 1) {
unset ($arrayExchanges[$key]);
}
//echo $exchange->getName();
}
$nameExchange = $this->params()->fromRoute('exchange', null);
if (empty($nameExchange)) {
if (!empty($arrayExchanges->offsetGet(0))) {
$nameExchange = $arrayExchanges->offsetGet(0)->getName();
} else {
$nameExchange = 'exchange-generique';
}
//var_dump($nameExchange); exit;
return $this->redirect()->toRoute(self::ROUTE_IMPORTATION_EXCHANGE, ['exchange' => \Application\Tool\TextTool::strToUrl($nameExchange)]);
}
$arrayExchanges[] = $mapperExchange->findById(1);
//var_dump($nameExchange); exit;
//var_dump($nameExchange);
// exit;
if (!empty($nameExchange)) {
$nameExchange = str_replace('-', ' ', $nameExchange);
$exchangeSelected = $mapperExchange->findByName($nameExchange);
// var_dump($exchangeSelected);
// exit;
// if (empty($exchangeSelected) || !in_array($exchangeSelected, $arrayExhanges)) {
// var_dump($exchangeSelected);
// exit;
/* @var \Doctrine\ORM\PersistentCollection $arrayExchanges */
if (empty($exchangeSelected) || !$arrayExchanges->contains($exchangeSelected)) {
return $this->redirect()->toRoute('accueil/ledgio/importation');
}
}
//var_dump($exchangeSelected); exit;
if ($exchangeSelected->importTradeAPIIsEnabled()) {
$formAPI = new \Application\Form\ImportationForm\APIForm($this->getEntityManager()->getRepository(\Application\Entity\API::class), true);
//exit;
if ($this->getRequest()->isPost()) {
// Récupération des données du post
$data = array_merge_recursive(
$this->getRequest()->getPost()->toArray()
);
$formAPI->setData($data);
if ($formAPI->isValid()) {
$data = $formAPI->getData();
// Chargement service exchange
$serviceName = ucfirst($nameExchange);
$classNameService = '\Application\Service\ExchangeService\\' . ucfirst($serviceName) . 'APIService';
$serviceExchange = new $classNameService($data, $user, $exchangeSelected, $this->getEntityManager());
//$API = $serviceExchange->getAPI();
// Add in queue
//exit;
// $job = $this->jobManager->get('\Application\Job\ImportAPI');
$job = $this->job;
//var_dump($job->getEntityManager()); exit;
//$job = new \Application\Job\ImportAPI;
// $job2 = new \Application\Job\TestJob();
// $this->queue->push($job2, [
// 'delay' => 0,
// 'priority' => 300
// ]);
//exit;
$job->setServiceExchange($serviceExchange);
$job->setContent(array(
//'user' => $user,
'userId' => $user->getId(),
'exchangeId' => $exchangeSelected->getId(),
'data' => $data,
'classNameService' => $classNameService
// 'message' => 'Hi bob, you just registered for our website! Welcome!'
));
// $job->setContent(array(
// //'serviceExchange' => $serviceExchange,
//
//
// ));
file_put_contents('./data/logjob.txt', 'test', FILE_APPEND | LOCK_EX);
//$this->queue->push($job);
//var_dump($this->queue); exit;
$this->queue->push($job, [
'delay' => 0,
'priority' => 300
]);
/* Récupération de l'id */
$mapperMessage = new \Application\Mapper\MessageMapper($this->getEntityManager());
$message = new \Application\Entity\Message(
array(
'user' => $user,
'messageHeader' => 'API ' . $exchangeSelected->getName(),
'messageBody' => 'Importation des transactions via l\'API ' . $exchangeSelected->getName() . ' en cours',
'messageFooter',
'messageType' => 'info'
));
$mapperMessage->insert($message);
//echo 'queue';
// exit;
//$serviceExchange->importTradesHistory();
//var_dump($data); exit;
} else {
echo 'messages erreur';
//var_dump($formAPI->getMessages());
//exit;
}
}
}
/* Delete form */
$formDelete = new \Application\Form\ImportationForm\DeleteAllFileByExchangeForm();
$formDelete->setInputFilter(new \Application\InputFilter\ImportationForm\DeleteAllFileByExchangeFormInputFilter());
$mapperImport = new \Application\Mapper\ImportMapper($this->getEntityManager());
$importInfos = $mapperImport->findByUser($user);
$importInfosArray = [];
foreach ($importInfos as $import) {
$importInfosArray[$import->getExchange()->getName()][] = $import;
}
$this->layout('layout/layout-ledgio');
return new ViewModel(array(
'arrayExchanges' => $arrayExchanges,
'formDelete' => $formDelete,
'exchangeSelected' => !empty($exchangeSelected) ? $exchangeSelected : null,
//'countTradeExchangeUser' => $countTradeExchangeUser,
'importInfosArray' => $importInfosArray,
'formAPI' => !empty($formAPI) ? $formAPI : null
// 'listeOffresEmploi' => $listeOffresEmploi,
// 'nbIngenieurs' => $config['wdp-front-global']['nbIngenieurs'],
));
}
public function apiAction() {
$api = new Binance\API("<api key>", "<secret>");
$history = $api->history("BNBBTC");
print_r($history);
}
public function uploadAction() {
if ($user = $this->currentUser()) {
} else {
return $this->redirect()->toRoute(\Application\Controller\UserController::ROUTE_LOGIN);
}
// Vérification utilisateur bien authentifié
// if ($this->zfcUserAuthentication()->hasIdentity()) {
// $user = $this->zfcUserAuthentication()->getIdentity();
// } else {
// return $this->redirect()->toRoute('zfcuser', array('action' => 'login'));
// }
// \Doctrine\Common\Util\Debug::dump($user,3);
// $userMapper = new \Application\Mapper\UserMapper($this->getEntityManager());
// $userNew = $userMapper->findById($user->getId());
// \Doctrine\Common\Util\Debug::dump($userNew,3);
//
//
// exit;
/*
* Service upload
*/
// $config = $this->getServiceLocator()->get('config');
$config = $this->getConfig();
$uploadPath = $config['upload-path'];
$uploadPath = $uploadPath . DIRECTORY_SEPARATOR . $user->getId() . DIRECTORY_SEPARATOR . 'input' . DIRECTORY_SEPARATOR;
$exchangeName = '';
if (!empty($_REQUEST) && !empty($_REQUEST['exchange-name'])) {
$exchangeName = $_REQUEST['exchange-name'];
}
$exchangeMapper = $this->getEntityManager()->getRepository(\Application\Entity\Exchange::class);
if ($exchangeName == 'exchange-generique') {
$exchangeFind = $exchangeMapper->findByName('Exchange Générique');
} else {
$exchangeFind = $exchangeMapper->findByName($exchangeName);
}
$responseArray['error'] = [];
$responseArray['error']['messages'] = [];
if (empty($exchangeFind)) {
$responseArray['error']['messages'][] = array('header' => 'Exchange inconnu', 'body' => 'Veuillez recharger la page', 'footer' => '');
} else {
$responseArray['exchange'] = $exchangeName;
}
if (count($responseArray['error']['messages']) === 0) {
$tmpArray = explode('-', $exchangeName);
if (count($tmpArray) > 1) {
$serviceName = '';
foreach ($tmpArray as $strTmp) {
$serviceName .= ucfirst($strTmp);
}
} else {
$serviceName = ucfirst($exchangeName);
}
$countFile = 0;
$classNameService = '\Application\Service\ExchangeService\\' . ucfirst($serviceName) . 'Service';
//var_dump($classNameService); exit;
//var_dump(class_exists($classNameService)); exit;
if (!class_exists($classNameService)) {
$responseArray['error']['messages'][] = array('header' => 'Service non disponible', 'body' => 'Service ' . $serviceName . ' non disponible', 'footer' => '');
goto returnResponse;
}
$uploadPath = $uploadPath . strtolower($exchangeName) . DIRECTORY_SEPARATOR;
$ServiceUpload = new \Application\Service\UploadHandler($user->getId(), array('upload_dir' => $uploadPath));
$arrayFileUploaded = $ServiceUpload->arrayFileUploaded;
$responseArray = array_merge($responseArray, $ServiceUpload->get(false));
// $responseArray['exchange'] = $exchangeName;
$arrayErrorMessages = $ServiceUpload->arrayErrorMessages;
$serviceExchange = null;
// var_dump($arrayErrorMessages);
// var_dump($arrayErrorMessages);
// exit;
if (!empty($arrayErrorMessages)) {
foreach ($arrayErrorMessages as $errorMessage) {
$responseArray['error']['messages'][] = array('header' => $errorMessage['header'], 'body' => $errorMessage['body'], 'footer' => $errorMessage['footer']);
}
}
//var_dump($ServiceUpload->get_response());
// var_dump($responseArray);
// exit;
/* */
if (!empty($arrayFileUploaded)) {
$countLineRecorded = 0;
foreach ($arrayFileUploaded as $fileUploaded) {
//echo $countLineRecorded;
//var_dump(class_exists($classNameService));
//var_dump($this->getEntityManager());
$entityManager = $this->getEntityManager();
//
//exit;
// $serviceExchange = new \Application\Service\ExchangeService\ExchangeGeneriqueService($fileUploaded, $user, $this->getEntityManager());
//exit;
$serviceExchange = new $classNameService($fileUploaded, $user, $this->getEntityManager());
$countLineRecorded = $countLineRecorded + $serviceExchange->getCountLineRecorded();
//var_dump($serviceExchange); exit;
// } catch (Exception $ex) {
// $responseArray['error']['messages'][] = array('header' => 'Service non disponible', 'body' => 'Service ' . $serviceName . ' non disponible', 'footer' => '');
//
// goto returnResponse;
// }
//var_dump($fileUploaded);
if (!$serviceExchange->isValid()) {
$responseArray['error']['messages'][] = $serviceExchange->getErrorMessage();
// var_dump($responseArray);
// exit;
foreach ($responseArray['files'] as $index => $file) {
// var_dump($file->name);
// var_dump($fileUploaded);
if (strpos($fileUploaded, $file->name) !== false) {
// unset($responseArray['files'][$index]);
$obj = $responseArray['files'][$index];
$obj->error = $responseArray['error'];
//$responseArray['error']['messages'][] = array('header' => $errorMessage['title'], 'body' => $errorMessage['body'], 'footer' => $errorMessage['footer']);
$responseArray['files'][$index] = $obj;
unlink($fileUploaded);
}
}
continue;
} else {
$countFile++;
}
}
$ledgioService = new \Application\Service\LedgioService($user, $this->getEntityManager());
$ledgioService->update();
}
}
//var_dump($countFile); exit;
if (count($responseArray['error']['messages']) === 0 && $countFile) {
$responseArray['success']['messages'][] = array(
'header' => 'Importation réussie',
'body' => $countFile . ' fichier' . ($countFile > 1 ? 's' : '') . ' importé' . ($countFile > 1 ? 's' : '') . ' avec succès, Nombre total d\'enregistrements ' . ucfirst($exchangeName) . ' : ' . $countLineRecorded,
'footer' => 'Nombre total d\'enregistrements : ' . $ledgioService->countLineRecorded
);
}
// var_dump($responseArray);
// exit;
returnResponse:
$response = $this->getResponse();
$response->getHeaders()->addHeaderLine('Content-Type', 'application/json');
$response->setContent(json_encode($responseArray));
return $response;
//exit;
// return new ViewModel(array(
//// 'listeActualites' => $listeActualites,
//// 'listeOffresEmploi' => $listeOffresEmploi,
//// 'nbIngenieurs' => $config['wdp-front-global']['nbIngenieurs'],
// ));
}
public function uploadOkAction() {
// Vérification utilisateur bien authentifié
if ($this->zfcUserAuthentication()->hasIdentity()) {
$user = $this->zfcUserAuthentication()->getIdentity();
//var_dump($user);
} else {
return $this->redirect()->toRoute('zfcuser', array('action' => 'login'));
}
/*
* Service upload
*/
// $config = $this->getServiceLocator()->get('config');
// $configDoc = $config['wdp-admin']['document'];
// $uploadPath = $configDoc['upload-path'];
$config - $this->getConfig();
$uploadPath = $config['upload-path'];
$uploadPath = $uploadPath . DIRECTORY_SEPARATOR . $user->getId() . DIRECTORY_SEPARATOR . 'input' . DIRECTORY_SEPARATOR;
$exchangeName = '';
//var_dump($_REQUEST);
if (!empty($_REQUEST) && !empty($_REQUEST['exchange-name'])) {
$exchangeName = $_REQUEST['exchange-name'];
}
$responseArray['exchange'] = \Application\Tool\TextTool::strToUrl($exchangeName);
$responseArray['error'] = [];
$responseArray['error']['messages'] = [];
if (empty($exchangeName)) {
//var_dump($exchangeName);
$responseArray['error']['messages'][] = array('header' => 'Exchange inconnu', 'body' => 'Veuillez recharger la page', 'footer' => '');
}
//echo 'titi';
//var_dump(count($responseArray['error']['messages']));
if (count($responseArray['error']['messages']) === 0) {
$uploadPath = $uploadPath . strtolower($exchangeName) . DIRECTORY_SEPARATOR;
$ServiceUpload = new \Application\Service\UploadHandler($user->getId(), array('upload_dir' => $uploadPath));
$arrayFileUploaded = $ServiceUpload->arrayFileUploaded;
$responseArray = array_merge($responseArray, $ServiceUpload->get(false));
$arrayErrorMessages = $ServiceUpload->arrayErrorMessages;
// var_dump($arrayErrorMessages);
// echo 'toto';
// exit;
if (!empty($arrayErrorMessages)) {
foreach ($arrayErrorMessages as $errorMessage) {
$responseArray['error']['messages'][] = array('header' => $errorMessage['header'], 'body' => $errorMessage['body'], 'footer' => $errorMessage['footer']);
}
}
//var_dump($ServiceUpload->get_response());
// var_dump($responseArray);
// exit;
/* */
//var_dump($ServiceUpload->exchangeName);
$tmpArray = explode('-', $exchangeName);
if (count($tmpArray) > 1) {
$serviceName = '';
foreach ($tmpArray as $strTmp) {
$serviceName .= ucfirst($strTmp);
}
} else {
$serviceName = ucfirst($exchangeName);
}
$classNameService = '\Application\Service\\' . ucfirst($serviceName) . 'Service';
//var_dump(count($tmpArray));
$countFile = 0;
foreach ($arrayFileUploaded as $fileUploaded) {
$serviceExchange = new $classNameService($fileUploaded, $user, $this->getEntityManager());
//var_dump($fileUploaded);
if (!$serviceExchange->isValid()) {
$responseArray['error']['messages'][] = $serviceExchange->getErrorMessage();
// var_dump($responseArray);
// exit;
foreach ($responseArray['files'] as $index => $file) {
// var_dump($file->name);
// var_dump($fileUploaded);
if (strpos($fileUploaded, $file->name) !== false) {
// unset($responseArray['files'][$index]);
$obj = $responseArray['files'][$index];
$obj->error = $responseArray['error'];
//$responseArray['error']['messages'][] = array('header' => $errorMessage['title'], 'body' => $errorMessage['body'], 'footer' => $errorMessage['footer']);
$responseArray['files'][$index] = $obj;
unlink($fileUploaded);
}
}
continue;
} else {
$countFile++;
}
$ledgioService = new \Application\Service\LedgioService($user, $this->getEntityManager());
$ledgioService->update();
}
}
if (count($responseArray['error']['messages']) === 0) {
$responseArray['success']['messages'][] = array(
'header' => 'Importation réussie',
'body' => $countFile . ' fichier' . ($countFile > 1 ? 's' : '') . ' importé' . ($countFile > 1 ? 's' : '') . ' avec succès'
);
//$responseArray['success']['message'] = ;
}
// var_dump($responseArray);
// exit;
$response = $this->getResponse();
$response->getHeaders()->addHeaderLine('Content-Type', 'application/json');
$response->setContent(json_encode($responseArray));
return $response;
//exit;
// return new ViewModel(array(
//// 'listeActualites' => $listeActualites,
//// 'listeOffresEmploi' => $listeOffresEmploi,
//// 'nbIngenieurs' => $config['wdp-front-global']['nbIngenieurs'],
// ));
}
public function deleteAction() {
if ($user = $this->currentUser()) {
} else {
return $this->redirect()->toRoute(\Application\Controller\UserController::ROUTE_LOGIN);
}
if ($this->getRequest()->isPost()) {
// Récupération des données du post
$data = array_merge_recursive(
$this->getRequest()->getPost()->toArray()
);
if (empty($data['importId'])) {
$responseArray['error']['messages'][] = array(
'header' => 'Formulaire non valide',
'body' => $message,
'footer' => '');
goto returnResponse;
}
// find source import
$mapperImport = new \Application\Mapper\ImportMapper($this->getEntityManager());
$importInfos = $mapperImport->findById($data['importId']);
if (empty($importInfos) || $importInfos->getUser() != $user) {
$responseArray['error']['messages'][] = array(
'header' => 'Source inconnue',
'body' => 'Cette ressource n\'existe plus',
'footer' => '');
goto returnResponse;
}
$query = $this->getEntityManager()->createQuery("DELETE FROM Application\Entity\Ledgio l WHERE l.user = " . $user->getId() . ' AND l.import = ' . $importInfos->getId());
//var_dump($query);
/* @var $query \Doctrine\ORM\Query */
//if ($query->execute()) {
$query->execute();
if ($importInfos->getSourceType() === 'csv') {
$config = $this->getConfig();
//$configDoc = $config['wdp-admin']['document'];
$importInfos->getName();
$uploadPath = $config['upload-path'];
$uploadPath = $uploadPath . DIRECTORY_SEPARATOR . $user->getId() . DIRECTORY_SEPARATOR . 'input' . DIRECTORY_SEPARATOR;
$uploadPath = $uploadPath . \Application\Tool\TextTool::strToUrl($importInfos->getExchange()->getName()) . DIRECTORY_SEPARATOR;
$uploadPath = $uploadPath . $importInfos->getName();
$unlinkResponse = unlink($uploadPath);
}
// if (is_file($uploadPath)) {
// $rmdirResponse = rmdir($uploadPath);
// }
$mapperImport->delete($importInfos);
$responseArray['id'] = $data['importId'];
$responseArray['success']['messages'][] = array(
'header' => 'Succès',
'body' => 'Les données provenant de ' . $importInfos->getName() . ' ont été supprimées.');
goto returnResponse;
} else {
//$messages = $formDelete->getMessages();
foreach ($messages as $message) {
$responseArray['error']['messages'][] = array(
'header' => 'Formulaire non valide',
'body' => 'Une erreur est survenue.',
'footer' => '');
}
goto returnResponse;
}
returnResponse:
$response = $this->getResponse();
$response->getHeaders()->addHeaderLine('Content-Type', 'application/json');
$response->setContent(json_encode($responseArray));
return $response;
}
public function deleteAllAction() {
// if ($this->zfcUserAuthentication()->hasIdentity()) {
// $user = $this->zfcUserAuthentication()->getIdentity();
// } else {
// return $this->redirect()->toRoute('zfcuser', array('action' => 'login'));
// }
if ($user = $this->currentUser()) {
} else {
return $this->redirect()->toRoute(\Application\Controller\UserController::ROUTE_LOGIN);
}
//$config = $this->getServiceLocator()->get('config');
$config = $this->getConfig();
//$configDoc = $config['wdp-admin']['document'];
$uploadPath = $config['upload-path'];
$uploadPath = $uploadPath . DIRECTORY_SEPARATOR . $user->getId() . DIRECTORY_SEPARATOR . 'input' . DIRECTORY_SEPARATOR;
//var_dump($_POST); exit;
if ($this->getRequest()->isPost()) {
// Récupération des données du post
$data = array_merge_recursive(
$this->getRequest()->getPost()->toArray()
);
//$newExchangeLinker = new \Application\Entity\UserExchangeLinker();
$formDelete = new \Application\Form\ImportationForm\DeleteAllFileByExchangeForm();
$formDelete->setInputFilter(new \Application\InputFilter\ImportationForm\DeleteAllFileByExchangeFormInputFilter());
// $form->setHydrator(new \DoctrineModule\Stdlib\Hydrator\DoctrineObject($entityManager, false))
// ->setObject(new \Application\Entity\UserExchangeLinker())
// ->setInputFilter(new \Application\InputFilter\ExchangeLinkerInputFilter());
//$testEntity->themes;
//var_dump($data);
//$data['statut'] = '1';
//new DoctrineEntity($serviceLocator->get('Doctrine\ORM\EntityManager'))
//$form->bind($newExchangeLinker);
$formDelete->setData($data);
//var_dump($data);
//exit;
$responseArray['error']['messages'] = array();
$responseArray['success']['messages'] = array();
if ($formDelete->isValid()) {
$dataForm = $formDelete->getData();
$exchangeId = (int) $dataForm['exchange'];
//var_dump($exchangeId);
// if (empty($exchangeId)) {
// throw new Exception('Exchange inconnu');
// }
if ($exchangeId >= 0) {
$mapperExchange = new \Application\Mapper\ExchangeMapper($this->getEntityManager());
$findExchange = $mapperExchange->findById($exchangeId);
// var_dump($findExchange); exit;
if (empty($findExchange)) {
$responseArray['error']['messages'][] = array(
'header' => 'Données non reconnues',
'body' => 'Impossible de supprimer ces données',
'footer' => ''
);
}
$responseArray['exchange'] = \Application\Tool\TextTool::strToUrl($findExchange->getName());
$uploadPath = $uploadPath . \Application\Tool\TextTool::strToUrl($findExchange->getName()) . DIRECTORY_SEPARATOR;
// var_dump($uploadPath); exit;
}
// else {
// $uploadPath = $uploadPath . 'exchange-generique' . DIRECTORY_SEPARATOR;
// }
$ledgioMapper = new \Application\Mapper\LedgioMapper($this->getEntityManager());
$listTrade = $ledgioMapper->findByExchangeAndUser($findExchange, $user);
if (is_dir($uploadPath) || !empty($listTrade)) {
if (is_dir($uploadPath)) {
$objects = scandir($uploadPath);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (!is_dir($uploadPath . "/" . $object)) {
unlink($uploadPath . "/" . $object);
}
}
}
}
$rmdirResponse = rmdir($uploadPath);
// var_dump($listTrade); exit;
if (!empty($listTrade)) {
try {
$query = $this->getEntityManager()->createQuery("DELETE FROM Application\Entity\Ledgio l WHERE l.user = " . $user->getId() . ' AND l.exchange = ' . $findExchange->getId());
/* @var $query \Doctrine\ORM\Query */
//if ($query->execute()) {
$query->execute();
$query2 = $this->getEntityManager()->createQuery("DELETE FROM Application\Entity\Import l WHERE l.user = " . $user->getId() . ' AND l.exchange = ' . $findExchange->getId());
//var_dump($query);
/* @var $query \Doctrine\ORM\Query */
//if ($query->execute()) {
$query2->execute();
$responseArray['success']['messages'][] = array(
'header' => 'Succès',
'body' => 'Les données de trade de ' . $findExchange->getName() . ' ont été supprimées.');
//}
//var_dump($responseArray);
//exit;
} catch (Exception $e) {
$responseArray['error']['messages'][] = array(
'header' => 'Impossible de supprimer les données',
'body' => 'Impossible de supprimer les données, les données ont peut être déjà été supprimées, recharger la page.');
}
} else {
$responseArray['error']['messages'][] = array(
'header' => 'Impossible de supprimer les données',
'body' => 'Impossible de supprimer les données, les données ont peut être déjà été supprimées, recharger la page.');
//$responseArray['success']['exchange'] = \Application\Tool\TextTool::strToUrl($findExchange->getName());
}
}
} else {
$messages = $formDelete->getMessages();
foreach ($messages as $message) {
$responseArray['error']['messages'][] = array(
'header' => 'Formulaire non valide',
'body' => $message,
'footer' => '');
}
}
}
$response = $this->getResponse();
$response->getHeaders()->addHeaderLine('Content-Type', 'application/json');
$response->setContent(json_encode($responseArray));
return $response;
//exit;
}
}