From ef00951fd1d265fd3a991db7aa9acbb0c2046a5a Mon Sep 17 00:00:00 2001 From: TimZ99 Date: Wed, 12 Aug 2020 19:16:03 +0200 Subject: [PATCH] =?UTF-8?q?Fixed=20=E2=80=9Cheader=20already=20sent?= =?UTF-8?q?=E2=80=9D=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/includes/functions.inc.php | 44 +++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php index 5c31409d..5eef0e4d 100644 --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -402,8 +402,7 @@ namespace { $website_password = false, $request_method = null, $post_field = null - ) - { + ) { ($timeout === null || $timeout > 0) ? PSM_CURL_TIMEOUT : intval($timeout); $ch = curl_init(); @@ -1064,6 +1063,7 @@ namespace { { protected $url; protected $json; + protected $message; /** * Send Webhook @@ -1078,26 +1078,27 @@ namespace { $error = ""; $success = 1; - $message = strtr($this->json, array('#message' => $message)); - $curl = curl_init(); + $this->setMessage($message); + $jsonMessage = strtr($this->json, array('#message' => $this->message)); + $curl = curl_init($this->url); curl_setopt($curl, CURLOPT_POST, 1); - curl_setopt($curl, CURLOPT_POSTFIELDS, $message); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonMessage); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5); + curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); - curl_setopt($curl, CURLOPT_URL,$this->url ); $result = curl_exec($curl); + $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); $err = curl_errno($curl); - echo $err; if ($err != 0 || $httpcode < 200 || $httpcode >= 300) { $success = 0; $error = "HTTP_code: " . $httpcode . ".\ncURL error (" . $err . "): " . $err . ". \nResult: " . $result; } - curl_close($curl); + curl_close($curl); if ($success) { return 1; @@ -1146,5 +1147,26 @@ namespace { { return $this->json; } + + /** + * Set message + * + * @return string + * @var string $message + * + */ + public function setMessage($message) + { + $message = str_replace("", "\n", $message); + $message = str_replace("
  • ", "- ", $message); + $message = str_replace("
  • ", "\n", $message); + $message = str_replace("
    ", "\n", $message); + $message = str_replace("
    ", "\n", $message); + $message = str_replace("", "", $message); + $message = str_replace("", "", $message); + $message = strip_tags($message); + $this->message = (string)$message; + } } -} \ No newline at end of file +}