Création du module PurgeFakeCustomer

This commit is contained in:
2021-01-12 20:09:20 +01:00
parent f97c314056
commit 4845682d59
5 changed files with 221 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
<?php
namespace PurgeFakeCustomer\Controller;
use PurgeFakeCustomer\Event\FakeCustomerEvent;
use Thelia\Controller\Front\BaseFrontController;
use Thelia\Core\HttpFoundation\Response;
use Thelia\Model\ConfigQuery;
/**
* Created by Laurent LE CORRE <laurent@thecoredev.fr>
* Date: 12/01/2021
*/
class PurgeController extends BaseFrontController
{
public function purge($secretKey)
{
$responseText = '';
$storedSecretKey = trim(@file_get_contents(__DIR__ .'/../Config/secret-key.txt'));
if ($storedSecretKey != $secretKey) {
$responseText .= sprintf("ERROR: key verification failed.<br>");
} else {
$critere = ConfigQuery::read('purgefakecustomer_critere', '');
$responseText .= sprintf("INFO: Deleting fake customers<br>");
$verbose = $this->getRequest()->query->get('verbose', false);
$event = new FakeCustomerEvent($critere, !empty($verbose));
$this->getDispatcher()->dispatch(FakeCustomerEvent::PURGE, $event);
foreach ($event->getStatus() as $status => $level) {
$responseText .= strtoupper($level) . ": $status<br>";
}
$responseText .= sprintf("INFO: %d fake customers deleted<br>", $event->getDeletedCount());
}
return new Response($responseText);
}
}