cms.class.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. class cms
  3. {
  4. static private function curl(string $_url, array $_array, $_debug = FALSE)
  5. {
  6. $ch = curl_init();
  7. curl_setopt($ch, CURLOPT_URL, $_url);
  8. curl_setopt($ch, CURLOPT_POST, true);
  9. curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($_array));
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  11. curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
  12. // Désactiver la vérification SSL (à ne pas utiliser en production)
  13. if (ENVIRONNEMENT == "DEV") {
  14. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  15. }
  16. // Exécuter la requête et capturer les erreurs cURL
  17. $response = curl_exec($ch);
  18. if ($response === false) {
  19. $curlError = curl_error($ch);
  20. curl_close($ch);
  21. return [
  22. 'status' => 'error',
  23. 'message' => 'cURL error: ' . $curlError
  24. ];
  25. }
  26. // Fermer la session cURL
  27. curl_close($ch);
  28. // Décoder la réponse JSON
  29. $responseData = json_decode($response, true);
  30. if($_debug == TRUE){
  31. core::print_r(["_url" => $_url, "_array" => $_array, "response" => $response]);
  32. }
  33. return $responseData;
  34. }
  35. static public function checkToken(string $_token)
  36. {
  37. $return = self::curl(
  38. "https://" . DOMAIN_CMS . "/api/checkToken/",
  39. ['token' => $_token]
  40. );
  41. return $return["status"] == "success" ? TRUE : FALSE;
  42. }
  43. }