src/Controller/Advertiser/Generic/GenericTestController.php line 278

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Advertiser\Generic;
  3. use App\Controller\AbstractClass\AbstractTestController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\RequestStack;
  6. use Symfony\Component\HttpFoundation\Response;
  7. /**
  8.  * Class GenericTestController
  9.  */
  10. class GenericTestController extends AbstractTestController
  11. {
  12.     private ?Request $request null;
  13.     public function __construct(RequestStack $request)
  14.     {
  15.         $this->request $request->getMainRequest();
  16.     }
  17.     public function index(): Response
  18.     {
  19.         $response = new Response();
  20.         $response->setContent((string) json_encode(['toto' => 1]));
  21.         $response->headers->set('Content-Type''application/json');
  22.         return $response;
  23.     }
  24.     public function testCall(): Response
  25.     {
  26.         $baseUrl 'https://' $this->request->server->get('HTTP_HOST');
  27.         $data = [];
  28.         if ('stacianimation.iseabloom.com' === $this->request->server->get('HTTP_HOST')) {
  29.             $username 'preprod';
  30.             $password 'iev5yaav1aiY';
  31.         } else {
  32.             $username 'stacianimation';
  33.             $password 'MTQ4MTNhMDFjMWZj';
  34.         }
  35.         if ($this->request->query->has('accountUsername')) {
  36.             $accountUsername $this->request->query->get('accountUsername');
  37.         }
  38.         if ($this->request->query->has('accountPassword')) {
  39.             $accountPassword $this->request->query->get('accountPassword');
  40.         }
  41.         if (isset($accountUsername$accountPassword)) {
  42.             $postFields = [
  43.                 'username' => $accountUsername,
  44.                 'password' => $accountPassword,
  45.             ];
  46.             $postFields json_encode($postFieldsJSON_THROW_ON_ERROR);
  47.             $loginUrl $baseUrl '/api/login_check';
  48.             $chLogin curl_init($loginUrl);
  49.             if (false !== $chLogin) {
  50.                 curl_setopt($chLogin\CURLOPT_RETURNTRANSFERtrue);
  51.                 curl_setopt($chLogin\CURLOPT_USERPWD"{$username}:{$password}");
  52.                 curl_setopt($chLogin\CURLOPT_HTTPAUTH\CURLAUTH_BASIC);
  53.                 curl_setopt($chLogin\CURLOPT_HTTPHEADER, [
  54.                     'Content-Type: application/json',
  55.                 ]);
  56.                 curl_setopt($chLogin\CURLOPT_SSL_VERIFYHOST0);
  57.                 curl_setopt($chLogin\CURLOPT_SSL_VERIFYPEER0);
  58.                 curl_setopt($chLogin\CURLOPT_POST1);
  59.                 curl_setopt($chLogin\CURLOPT_POSTFIELDS$postFields);
  60.                 $data curl_exec($chLogin);
  61.                 if (\is_string($data) && !empty($data)) {
  62.                     $dataDecoded json_decode($datatrue512JSON_THROW_ON_ERROR);
  63.                     if (\is_array($dataDecoded) && isset($dataDecoded['token'])) {
  64.                         $token $dataDecoded['token'];
  65.                     }
  66.                 }
  67.                 $info curl_getinfo($chLogin);
  68.                 curl_close($chLogin);
  69.             }
  70.         } else {
  71.             $token 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTQ5NzE3MzIsImV4cCI6MTU1NTA1ODEzMiwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiaHlwZXJhY3RpdmUifQ.LG9KfKZWzRBWHt5afmOVgIZULg8rOdZVsU7Kkk8IuYFFx06ep9UudBKbyQyTazuwYtnvpDTOYGd2f6ZoKgZzNj0uSmcp1hkf4RvUNZgFS4jE_fdc6s-dR0qPqQoxWt-tJovbWx5QBQmZfPS_mC9Kz3ipRzUyEm4Xmq7g4ui8pRMPtiSOL5fSndmPckrw9XvEIdUKiuNuuF2qO977WnmAYO_XqfbzBqyb9MO_rFXCToSAZoQRZcSvjkNFVFNtXNg40f2ICNTaGmViv75UEP-Yf8os-gnE0xp7yUgdxyDRBuwbtnASXVAAMnnBKFoXPmvEqXXmUQG8Qs6T00o6SqR-l8r98RpmKosSwAIcfxsmEkvEMSKjRvb7qNvuOlXJ6YwevJP3KIiluqw8UCdZvQ-po7Ug0KS9g9zj6aCE2ri5DvAxykQiMStcb1Z4JVP9TdRM4gqRPVuV9vnCrzhY48KLgE6Nh-xejYMNn8WRtKVwzEQ-oAubhMThuJ9tOhPlFq9OvM8YFwGkWWZAC0akHdYCQzDOrZpkDSbwXTb5b224D8I0tcDmHQ9o2PZ2xEXLIyPu1v9nztZRocA4vXl00ifYB2twXk5ljvsUbThs3C62WTkKtIXBRrDjjBIYmxVqIxopZ4ZLocPwO-Py7S4ybQEchbG6-Dg2ox6v6k0WXtVkNh0';
  72.         }
  73.         $paramsId '';
  74.         if ($this->request->query->has('id')) {
  75.             $paramsId '?id=' $this->request->query->get('id');
  76.         }
  77.         if ($this->request->query->has('product')) {
  78.             $paramsId .= '&product=' $this->request->query->get('product');
  79.         }
  80.         if ($this->request->query->has('action')) {
  81.             $action $this->request->query->get('action');
  82.         } else {
  83.             $action 'order-status';
  84.         }
  85.         $response = new Response();
  86.         $response->headers->set('Content-Type''application/json');
  87.         if (isset($token) && !empty($token)) {
  88.             $urlAPi $baseUrl '/api/v1/agency/order/' $action $paramsId;
  89.             $ch curl_init($urlAPi);
  90.             if (false !== $ch) {
  91.                 curl_setopt($ch\CURLOPT_RETURNTRANSFERtrue);
  92.                 curl_setopt($ch\CURLOPT_USERPWD"{$username}:{$password}");
  93.                 curl_setopt($ch\CURLOPT_HTTPAUTH\CURLAUTH_BASIC);
  94.                 curl_setopt($ch\CURLOPT_HTTPHEADER, [
  95.                     'Content-Type: application/json',
  96.                     'Authorization: Bearer ' $token,
  97.                 ]);
  98.                 curl_setopt($ch\CURLOPT_SSL_VERIFYHOST0);
  99.                 curl_setopt($ch\CURLOPT_SSL_VERIFYPEER0);
  100.                 $data curl_exec($ch);
  101.                 $info curl_getinfo($ch);
  102.                 curl_close($ch);
  103.                 $response->setContent((string) $data);
  104.             }
  105.         }
  106.         return $response;
  107.     }
  108.     public function testCallPost(): Response
  109.     {
  110.         $baseUrl 'https://' $this->request->server->get('HTTP_HOST');
  111.         if ('stacianimation.iseabloom.com' === $this->request->server->get('HTTP_HOST')) {
  112.             $username 'preprod';
  113.             $password 'iev5yaav1aiY';
  114.         } else {
  115.             $username 'stacianimation';
  116.             $password 'MTQ4MTNhMDFjMWZj';
  117.         }
  118.         if ($this->request->query->has('accountUsername')) {
  119.             $accountUsername $this->request->query->get('accountUsername');
  120.         }
  121.         if ($this->request->query->has('accountPassword')) {
  122.             $accountPassword $this->request->query->get('accountPassword');
  123.         }
  124.         $token 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1NTQ5NzE3MzIsImV4cCI6MTU1NTA1ODEzMiwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiaHlwZXJhY3RpdmUifQ.LG9KfKZWzRBWHt5afmOVgIZULg8rOdZVsU7Kkk8IuYFFx06ep9UudBKbyQyTazuwYtnvpDTOYGd2f6ZoKgZzNj0uSmcp1hkf4RvUNZgFS4jE_fdc6s-dR0qPqQoxWt-tJovbWx5QBQmZfPS_mC9Kz3ipRzUyEm4Xmq7g4ui8pRMPtiSOL5fSndmPckrw9XvEIdUKiuNuuF2qO977WnmAYO_XqfbzBqyb9MO_rFXCToSAZoQRZcSvjkNFVFNtXNg40f2ICNTaGmViv75UEP-Yf8os-gnE0xp7yUgdxyDRBuwbtnASXVAAMnnBKFoXPmvEqXXmUQG8Qs6T00o6SqR-l8r98RpmKosSwAIcfxsmEkvEMSKjRvb7qNvuOlXJ6YwevJP3KIiluqw8UCdZvQ-po7Ug0KS9g9zj6aCE2ri5DvAxykQiMStcb1Z4JVP9TdRM4gqRPVuV9vnCrzhY48KLgE6Nh-xejYMNn8WRtKVwzEQ-oAubhMThuJ9tOhPlFq9OvM8YFwGkWWZAC0akHdYCQzDOrZpkDSbwXTb5b224D8I0tcDmHQ9o2PZ2xEXLIyPu1v9nztZRocA4vXl00ifYB2twXk5ljvsUbThs3C62WTkKtIXBRrDjjBIYmxVqIxopZ4ZLocPwO-Py7S4ybQEchbG6-Dg2ox6v6k0WXtVkNh0';
  125.         if (isset($accountUsername$accountPassword)) {
  126.             $postFields = [
  127.                 'username' => $accountUsername,
  128.                 'password' => $accountPassword,
  129.             ];
  130.             $postFields json_encode($postFieldsJSON_THROW_ON_ERROR);
  131.             $loginUrl $baseUrl '/api/login_check';
  132.             $chLogin curl_init($loginUrl);
  133.             if (false !== $chLogin) {
  134.                 curl_setopt($chLogin\CURLOPT_RETURNTRANSFERtrue);
  135.                 curl_setopt($chLogin\CURLOPT_USERPWD"{$username}:{$password}");
  136.                 curl_setopt($chLogin\CURLOPT_HTTPAUTH\CURLAUTH_BASIC);
  137.                 curl_setopt($chLogin\CURLOPT_SSL_VERIFYHOST0);
  138.                 curl_setopt($chLogin\CURLOPT_SSL_VERIFYPEER0);
  139.                 curl_setopt($chLogin\CURLOPT_HTTPHEADER, [
  140.                     'Content-Type: application/json',
  141.                 ]);
  142.                 curl_setopt($chLogin\CURLOPT_POST1);
  143.                 curl_setopt($chLogin\CURLOPT_POSTFIELDS$postFields);
  144.                 $data curl_exec($chLogin);
  145.                 if (\is_string($data) && !empty($data)) {
  146.                     $dataDecoded json_decode($datatrue512JSON_THROW_ON_ERROR);
  147.                     if (\is_array($dataDecoded)) {
  148.                         $token $dataDecoded['token'];
  149.                     }
  150.                 }
  151.                 $info curl_getinfo($chLogin);
  152.                 curl_close($chLogin);
  153.             }
  154.         }
  155.         $postFields = [];
  156.         if ($this->request->query->has('id')) {
  157.             $postFields['id'] = $this->request->query->get('id');
  158.         }
  159.         if ($this->request->query->has('step')) {
  160.             $postFields['step'] = $this->request->query->get('step');
  161.         }
  162.         if ($this->request->query->has('product')) {
  163.             $postFields['product'] = $this->request->query->get('product');
  164.         }
  165.         if ($this->request->query->has('comment')) {
  166.             $postFields['comment'] = $this->request->query->get('comment');
  167.         }
  168.         if ($this->request->query->has('action')) {
  169.             $action $this->request->query->get('action');
  170.         } else {
  171.             $action 'order-status';
  172.         }
  173.         $postFields json_encode($postFieldsJSON_THROW_ON_ERROR);
  174.         $urlOrderStatus $baseUrl '/api/v1/agency/order/' $action;
  175.         $urlAPi $baseUrl '/api/v1/agency/order/' $action;
  176.         $urlTest $baseUrl '/test/';
  177.         $ch curl_init($urlAPi);
  178.         $response = new Response();
  179.         $response->headers->set('Content-Type''application/json');
  180.         if (false !== $ch) {
  181.             curl_setopt($ch\CURLOPT_RETURNTRANSFERtrue);
  182.             curl_setopt($ch\CURLOPT_USERPWD"{$username}:{$password}");
  183.             curl_setopt($ch\CURLOPT_HTTPAUTH\CURLAUTH_BASIC);
  184.             curl_setopt($ch\CURLOPT_HTTPHEADER, [
  185.                 'Content-Type: application/json',
  186.                 'Authorization: Bearer ' $token,
  187.             ]);
  188.             curl_setopt($ch\CURLOPT_SSL_VERIFYHOST0);
  189.             curl_setopt($ch\CURLOPT_SSL_VERIFYPEER0);
  190.             curl_setopt($ch\CURLOPT_POST1);
  191.             curl_setopt($ch\CURLOPT_POSTFIELDS$postFields);
  192.             $data curl_exec($ch);
  193.             $info curl_getinfo($ch);
  194.             curl_close($ch);
  195.             $response->setContent((string) $data);
  196.         }
  197.         return $response;
  198.     }
  199.     public function testCallPfm(): Response
  200.     {
  201.         $username 'stacianimation';
  202.         $password 'hconRD-2JBXPMQhV';
  203.         $data '';
  204.         $orderId '';
  205.         if ($this->request->query->has('id')) {
  206.             $orderId $this->request->query->get('id');
  207.         }
  208.         $postFields = [
  209.             'id' => $orderId,
  210.         ];
  211.         // $pfmUrl = 'https://staci.petitforestier.com/' . $orderId;
  212.         // $pfmUrl = 'https://staci.petitforestier.com/api/Order';
  213.         $pfmUrl 'https://staci.petitforestier.com/api/Order?id=' $orderId;
  214.         // $pfmUrl = 'https://staci.petitforestier.com/api/Order';
  215.         $ch curl_init($pfmUrl);
  216.         if (false !== $ch) {
  217.             curl_setopt($ch\CURLOPT_CUSTOMREQUEST'POST');
  218.             curl_setopt($ch\CURLOPT_RETURNTRANSFERtrue);
  219.             // curl_setopt($ch, \CURLOPT_USERPWD, "{$username}:{$password}");
  220.             curl_setopt($ch\CURLOPT_USERPWD'stacianimation:hconRD-2JBXPMQhV');
  221.             curl_setopt($ch\CURLOPT_HTTPAUTH\CURLAUTH_BASIC);
  222.             curl_setopt($ch\CURLOPT_HTTPHEADER, [
  223.                 'Content-Type: application/json',
  224.                 'tokensecu: z6swX0Ul5h3WAkp0ltG',
  225.             ]);
  226.             curl_setopt($ch\CURLOPT_SSL_VERIFYHOST0);
  227.             curl_setopt($ch\CURLOPT_SSL_VERIFYPEER0);
  228.             // curl_setopt($ch, \CURLOPT_POST, 1);
  229.             curl_setopt($ch\CURLOPT_POSTFIELDS$postFields);
  230.             $data curl_exec($ch);
  231.             if (!\is_string($data)) {
  232.                 $data 'error';
  233.             }
  234.             $info curl_getinfo($ch);
  235.             curl_close($ch);
  236.         }
  237.         $response = new Response();
  238.         $response->headers->set('Content-Type''application/json');
  239.         $response->setContent($data);
  240.         return $response;
  241.     }
  242.     public function testCallNotifyAgency(): Response
  243.     {
  244.         $response = new Response();
  245.         $response->headers->set('Content-Type''application/json');
  246.         $response->setContent((string) json_encode(['success' => 1]));
  247.         return $response;
  248.     }
  249. }