]> git.mxchange.org Git - mailer.git/blobdiff - inc/http-functions.php
Fixes for ext-yoomedia to be compatible with Interface 2.0
[mailer.git] / inc / http-functions.php
index 8ba4d80654318eaf8510011b429d31e44c715202..d049a7b75d4323b43c0cae0566063ef6b1e7dcd5 100644 (file)
@@ -90,6 +90,22 @@ function generateGetUrlFromBaseUrlData ($baseUrl, $requestData = array()) {
        return $getUrl;
 }
 
+// Removes http[s]://<hostname> from given url
+function removeHttpHostNameFromUrl ($url) {
+       // Remove http[s]://
+       $remove = explode(':', $url);
+       $remove = explode('/', substr($remove[1], 3));
+
+       // Remove the first element (should be the hostname)
+       unset($remove[0]);
+
+       // implode() back all other elements and prepend a slash
+       $url = '/' . implode('/', $remove);
+
+       // Return prepared URL
+       return $url;
+}
+
 // Send a HEAD request
 function sendHeadRequest ($baseUrl, $requestData = array()) {
        // Generate full GET URL
@@ -98,8 +114,11 @@ function sendHeadRequest ($baseUrl, $requestData = array()) {
        // Extract hostname and port from script
        $host = extractHostnameFromUrl($baseUrl);
 
+       // Remove http[s]://<hostname> from url
+       $getUrl = removeHttpHostNameFromUrl($getUrl);
+
        // Generate HEAD request header
-       $request  = 'HEAD /' . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL');
+       $request  = 'HEAD ' . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL');
        $request .= 'Host: ' . $host . getConfig('HTTP_EOL');
        $request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL');
        if (isConfigEntrySet('FULL_VERSION')) {
@@ -128,8 +147,11 @@ function sendGetRequest ($baseUrl, $requestData = array(), $removeHeader = false
        // Extract hostname and port from script
        $host = extractHostnameFromUrl($baseUrl);
 
+       // Remove http[s]://<hostname> from url
+       $getUrl = removeHttpHostNameFromUrl($getUrl);
+
        // Generate GET request header
-       $request  = 'GET /' . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL');
+       $request  = 'GET ' . trim($getUrl) . ' HTTP/1.1' . getConfig('HTTP_EOL');
        $request .= 'Host: ' . $host . getConfig('HTTP_EOL');
        $request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL');
        if (isConfigEntrySet('FULL_VERSION')) {
@@ -164,8 +186,11 @@ function sendPostRequest ($baseUrl, $requestData, $removeHeader = false) {
        // Construct request body
        $body = http_build_query($requestData, '', '&');
 
+       // Remove http(s)://$host from base URL
+       $baseUrl = removeHttpHostNameFromUrl($baseUrl);
+
        // Generate POST request header
-       $request  = 'POST /' . trim($baseUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL');
+       $request  = 'POST ' . trim($baseUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL');
        $request .= 'Host: ' . $host . getConfig('HTTP_EOL');
        $request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL');
        if (isConfigEntrySet('FULL_VERSION')) {
@@ -199,6 +224,7 @@ function sendPostRequest ($baseUrl, $requestData, $removeHeader = false) {
 
 // Sends a raw request to another host
 function sendRawRequest ($host, $request) {
+       //* DEBUG: */ die('host='.$host.',request=<pre>'.$request.'</pre>');
        // Init errno and errdesc with 'all fine' values
        $errno = '0';
        $errdesc = '';
@@ -239,7 +265,6 @@ function sendRawRequest ($host, $request) {
        $resolver = new HostnameResolver();
 
        // Open connection
-       //* DEBUG: */ die('baseUrl=' . $baseUrl);
        if ($useProxy === true) {
                // Resolve hostname into IP address
                $ip = $resolver->resolveHostname(compileRawCode(getProxyHost()));