<?php
namespace App\Controller\Advertiser\Generic;
use App\Controller\AbstractClass\AbstractTestController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
/**
* Class GenericTestController
*/
class GenericTestController extends AbstractTestController
{
private ?Request $request = null;
public function __construct(RequestStack $request)
{
$this->request = $request->getMainRequest();
}
public function index(): Response
{
$response = new Response();
$response->setContent((string) json_encode(['toto' => 1]));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
public function testCall(): Response
{
$baseUrl = 'https://' . $this->request->server->get('HTTP_HOST');
$data = [];
if ('stacianimation.iseabloom.com' === $this->request->server->get('HTTP_HOST')) {
$username = 'preprod';
$password = 'iev5yaav1aiY';
} else {
$username = 'stacianimation';
$password = 'MTQ4MTNhMDFjMWZj';
}
if ($this->request->query->has('accountUsername')) {
$accountUsername = $this->request->query->get('accountUsername');
}
if ($this->request->query->has('accountPassword')) {
$accountPassword = $this->request->query->get('accountPassword');
}
if (isset($accountUsername, $accountPassword)) {
$postFields = [
'username' => $accountUsername,
'password' => $accountPassword,
];
$postFields = json_encode($postFields, JSON_THROW_ON_ERROR);
$loginUrl = $baseUrl . '/api/login_check';
$chLogin = curl_init($loginUrl);
if (false !== $chLogin) {
curl_setopt($chLogin, \CURLOPT_RETURNTRANSFER, true);
curl_setopt($chLogin, \CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($chLogin, \CURLOPT_HTTPAUTH, \CURLAUTH_BASIC);
curl_setopt($chLogin, \CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
]);
curl_setopt($chLogin, \CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($chLogin, \CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($chLogin, \CURLOPT_POST, 1);
curl_setopt($chLogin, \CURLOPT_POSTFIELDS, $postFields);
$data = curl_exec($chLogin);
if (\is_string($data) && !empty($data)) {
$dataDecoded = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
if (\is_array($dataDecoded) && isset($dataDecoded['token'])) {
$token = $dataDecoded['token'];
}
}
$info = curl_getinfo($chLogin);
curl_close($chLogin);
}
} else {
$token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTQ5NzE3MzIsImV4cCI6MTU1NTA1ODEzMiwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiaHlwZXJhY3RpdmUifQ.LG9KfKZWzRBWHt5afmOVgIZULg8rOdZVsU7Kkk8IuYFFx06ep9UudBKbyQyTazuwYtnvpDTOYGd2f6ZoKgZzNj0uSmcp1hkf4RvUNZgFS4jE_fdc6s-dR0qPqQoxWt-tJovbWx5QBQmZfPS_mC9Kz3ipRzUyEm4Xmq7g4ui8pRMPtiSOL5fSndmPckrw9XvEIdUKiuNuuF2qO977WnmAYO_XqfbzBqyb9MO_rFXCToSAZoQRZcSvjkNFVFNtXNg40f2ICNTaGmViv75UEP-Yf8os-gnE0xp7yUgdxyDRBuwbtnASXVAAMnnBKFoXPmvEqXXmUQG8Qs6T00o6SqR-l8r98RpmKosSwAIcfxsmEkvEMSKjRvb7qNvuOlXJ6YwevJP3KIiluqw8UCdZvQ-po7Ug0KS9g9zj6aCE2ri5DvAxykQiMStcb1Z4JVP9TdRM4gqRPVuV9vnCrzhY48KLgE6Nh-xejYMNn8WRtKVwzEQ-oAubhMThuJ9tOhPlFq9OvM8YFwGkWWZAC0akHdYCQzDOrZpkDSbwXTb5b224D8I0tcDmHQ9o2PZ2xEXLIyPu1v9nztZRocA4vXl00ifYB2twXk5ljvsUbThs3C62WTkKtIXBRrDjjBIYmxVqIxopZ4ZLocPwO-Py7S4ybQEchbG6-Dg2ox6v6k0WXtVkNh0';
}
$paramsId = '';
if ($this->request->query->has('id')) {
$paramsId = '?id=' . $this->request->query->get('id');
}
if ($this->request->query->has('product')) {
$paramsId .= '&product=' . $this->request->query->get('product');
}
if ($this->request->query->has('action')) {
$action = $this->request->query->get('action');
} else {
$action = 'order-status';
}
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
if (isset($token) && !empty($token)) {
$urlAPi = $baseUrl . '/api/v1/agency/order/' . $action . $paramsId;
$ch = curl_init($urlAPi);
if (false !== $ch) {
curl_setopt($ch, \CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, \CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($ch, \CURLOPT_HTTPAUTH, \CURLAUTH_BASIC);
curl_setopt($ch, \CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token,
]);
curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
$response->setContent((string) $data);
}
}
return $response;
}
public function testCallPost(): Response
{
$baseUrl = 'https://' . $this->request->server->get('HTTP_HOST');
if ('stacianimation.iseabloom.com' === $this->request->server->get('HTTP_HOST')) {
$username = 'preprod';
$password = 'iev5yaav1aiY';
} else {
$username = 'stacianimation';
$password = 'MTQ4MTNhMDFjMWZj';
}
if ($this->request->query->has('accountUsername')) {
$accountUsername = $this->request->query->get('accountUsername');
}
if ($this->request->query->has('accountPassword')) {
$accountPassword = $this->request->query->get('accountPassword');
}
$token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTQ5NzE3MzIsImV4cCI6MTU1NTA1ODEzMiwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiaHlwZXJhY3RpdmUifQ.LG9KfKZWzRBWHt5afmOVgIZULg8rOdZVsU7Kkk8IuYFFx06ep9UudBKbyQyTazuwYtnvpDTOYGd2f6ZoKgZzNj0uSmcp1hkf4RvUNZgFS4jE_fdc6s-dR0qPqQoxWt-tJovbWx5QBQmZfPS_mC9Kz3ipRzUyEm4Xmq7g4ui8pRMPtiSOL5fSndmPckrw9XvEIdUKiuNuuF2qO977WnmAYO_XqfbzBqyb9MO_rFXCToSAZoQRZcSvjkNFVFNtXNg40f2ICNTaGmViv75UEP-Yf8os-gnE0xp7yUgdxyDRBuwbtnASXVAAMnnBKFoXPmvEqXXmUQG8Qs6T00o6SqR-l8r98RpmKosSwAIcfxsmEkvEMSKjRvb7qNvuOlXJ6YwevJP3KIiluqw8UCdZvQ-po7Ug0KS9g9zj6aCE2ri5DvAxykQiMStcb1Z4JVP9TdRM4gqRPVuV9vnCrzhY48KLgE6Nh-xejYMNn8WRtKVwzEQ-oAubhMThuJ9tOhPlFq9OvM8YFwGkWWZAC0akHdYCQzDOrZpkDSbwXTb5b224D8I0tcDmHQ9o2PZ2xEXLIyPu1v9nztZRocA4vXl00ifYB2twXk5ljvsUbThs3C62WTkKtIXBRrDjjBIYmxVqIxopZ4ZLocPwO-Py7S4ybQEchbG6-Dg2ox6v6k0WXtVkNh0';
if (isset($accountUsername, $accountPassword)) {
$postFields = [
'username' => $accountUsername,
'password' => $accountPassword,
];
$postFields = json_encode($postFields, JSON_THROW_ON_ERROR);
$loginUrl = $baseUrl . '/api/login_check';
$chLogin = curl_init($loginUrl);
if (false !== $chLogin) {
curl_setopt($chLogin, \CURLOPT_RETURNTRANSFER, true);
curl_setopt($chLogin, \CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($chLogin, \CURLOPT_HTTPAUTH, \CURLAUTH_BASIC);
curl_setopt($chLogin, \CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($chLogin, \CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($chLogin, \CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
]);
curl_setopt($chLogin, \CURLOPT_POST, 1);
curl_setopt($chLogin, \CURLOPT_POSTFIELDS, $postFields);
$data = curl_exec($chLogin);
if (\is_string($data) && !empty($data)) {
$dataDecoded = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
if (\is_array($dataDecoded)) {
$token = $dataDecoded['token'];
}
}
$info = curl_getinfo($chLogin);
curl_close($chLogin);
}
}
$postFields = [];
if ($this->request->query->has('id')) {
$postFields['id'] = $this->request->query->get('id');
}
if ($this->request->query->has('step')) {
$postFields['step'] = $this->request->query->get('step');
}
if ($this->request->query->has('product')) {
$postFields['product'] = $this->request->query->get('product');
}
if ($this->request->query->has('comment')) {
$postFields['comment'] = $this->request->query->get('comment');
}
if ($this->request->query->has('action')) {
$action = $this->request->query->get('action');
} else {
$action = 'order-status';
}
$postFields = json_encode($postFields, JSON_THROW_ON_ERROR);
$urlOrderStatus = $baseUrl . '/api/v1/agency/order/' . $action;
$urlAPi = $baseUrl . '/api/v1/agency/order/' . $action;
$urlTest = $baseUrl . '/test/';
$ch = curl_init($urlAPi);
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
if (false !== $ch) {
curl_setopt($ch, \CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, \CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($ch, \CURLOPT_HTTPAUTH, \CURLAUTH_BASIC);
curl_setopt($ch, \CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token,
]);
curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, \CURLOPT_POST, 1);
curl_setopt($ch, \CURLOPT_POSTFIELDS, $postFields);
$data = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
$response->setContent((string) $data);
}
return $response;
}
public function testCallPfm(): Response
{
$username = 'stacianimation';
$password = 'hconRD-2JBXPMQhV';
$data = '';
$orderId = '';
if ($this->request->query->has('id')) {
$orderId = $this->request->query->get('id');
}
$postFields = [
'id' => $orderId,
];
// $pfmUrl = 'https://staci.petitforestier.com/' . $orderId;
// $pfmUrl = 'https://staci.petitforestier.com/api/Order';
$pfmUrl = 'https://staci.petitforestier.com/api/Order?id=' . $orderId;
// $pfmUrl = 'https://staci.petitforestier.com/api/Order';
$ch = curl_init($pfmUrl);
if (false !== $ch) {
curl_setopt($ch, \CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, \CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, \CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($ch, \CURLOPT_USERPWD, 'stacianimation:hconRD-2JBXPMQhV');
curl_setopt($ch, \CURLOPT_HTTPAUTH, \CURLAUTH_BASIC);
curl_setopt($ch, \CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'tokensecu: z6swX0Ul5h3WAkp0ltG',
]);
curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, 0);
// curl_setopt($ch, \CURLOPT_POST, 1);
curl_setopt($ch, \CURLOPT_POSTFIELDS, $postFields);
$data = curl_exec($ch);
if (!\is_string($data)) {
$data = 'error';
}
$info = curl_getinfo($ch);
curl_close($ch);
}
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent($data);
return $response;
}
public function testCallNotifyAgency(): Response
{
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent((string) json_encode(['success' => 1]));
return $response;
}
}