* -------------------------------------------------------------------- *
* Kurzbeschreibung : HTTP-relevante Funktionen *
* -------------------------------------------------------------------- *
- * $Revision:: $ *
- * $Date:: $ *
- * $Tag:: 0.2.1-FINAL $ *
- * $Author:: $ *
- * -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2016 by Mailer Developer Team *
* For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
$body = http_build_query($requestData, '', '&');
// Generate POST request header
- $request = 'POST ' . (isProxyUsed() === TRUE ? $baseUrl : '') . trim($baseUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL');
+ $request = 'POST ' . (isProxyUsed() === TRUE ? $getUrl : '') . trim($getUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL');
$request .= 'Host: ' . $host . getConfig('HTTP_EOL');
$request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL');
if (isConfigEntrySet('FULL_VERSION')) {
// Get resolver instance
$resolver = new HostnameResolver();
- // Get proxy host
- $proxyHost = compileRawCode(getProxyHost());
+ // Default is no proxy
+ $proxyHost = NULL;
+
+ // Is the configuration entry set?
+ if ((!isInstaller()) && (isConfigEntrySet('proxy_host'))) {
+ // Get proxy host
+ $proxyHost = compileRawCode(getProxyHost());
+ } // END - if
// Open connection
if (isProxyUsed() === TRUE) {
//* DEBUG: */ debugOutput('<strong>Response:</strong><pre>'.print_r($response, TRUE).'</pre>');
// Proxy agent found or something went wrong?
- if (count($response) == 0) {
+ if (!isFilledArray($response)) {
// No response, maybe timeout
$response = array('', '', '');
logDebugMessage(__FUNCTION__, __LINE__, 'Invalid empty response array, maybe timed out?');
$GLOBALS['http_headers'][] = getConfig('HTTP_EOL');
// Make sure at least one header is there (which is still not valid but okay here)
- assert((is_array($GLOBALS['http_headers'])) && (count($GLOBALS['http_headers']) > 0));
+ assert(isFilledArray($GLOBALS['http_headers']));
// Merge both together
return merge_array($GLOBALS['http_headers'], array(count($GLOBALS['http_headers']) => $body));
// Is this URL valid?
if (substr($script, 0, 7) == 'http://') {
// Use the hostname from script URL as new hostname
- $url = substr($script, 7);
- $extract = explode('/', $url);
+ $extract = explode('/', substr($script, 7));
$url = $extract[0];
- // Done extracting the URL :)
- } // END - if
+ } elseif (substr($script, 0, 8) == 'https://') {
+ // Use the hostname from script URL as new hostname
+ $extract = explode('/', substr($script, 8));
+ $url = $extract[0];
+ }
// Extract host name
- $host = str_replace('http://', '', $url);
+ $host = str_replace(array('http://', 'https://'), array('', ''), $url);
+
+ // Is there a slash at the end?
if (isInString('/', $host)) {
$host = substr($host, 0, strpos($host, '/'));
} // END - if
+ // Is there a double-dot in? (Means port number)
+ if (strpos($host, ':') !== FALSE) {
+ // Detected a double-dot
+ $hostArray = explode(':', $host);
+ $host = $hostArray[0];
+ } // END - if
+
// Generate relative URL
//* DEBUG: */ debugOutput('SCRIPT=' . $script);
if (substr(strtolower($script), 0, 7) == 'http://') {
// Adds a HTTP header to array
function addHttpHeader ($header) {
// Send the header
- //* DEBUG: */ logDebugMessage(__FUNCTION__ . ': header=' . $header);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, ': header=' . $header);
array_push($GLOBALS['http_header'], trim($header));
}
// Is ext-sql_patches at least version 0.9.2?
if (isExtensionInstalledAndNewer('sql_patches', '0.9.2')) {
// Is there an entry?
- if (countSumTotalData(detectServerName(), 'server_name_log', 'server_name_id', 'server_name', TRUE, str_replace('%', '{PER}', sprintf(" AND `server_name_remote_addr`='%s' AND `server_name_ua`='%s' AND `server_name_referrer`='%s'", SQL_ESCAPE(detectRemoteAddr(TRUE)), SQL_ESCAPE(detectUserAgent(TRUE)), SQL_ESCAPE(detectReferer(TRUE))))) == 1) {
+ if (countSumTotalData(detectServerName(), 'server_name_log', 'server_name_id', 'server_name', TRUE, str_replace('%', '{PER}', sprintf(" AND `server_name_remote_addr`='%s' AND `server_name_ua`='%s' AND `server_name_referrer`='%s'", sqlEscapeString(detectRemoteAddr(TRUE)), sqlEscapeString(detectUserAgent(TRUE)), sqlEscapeString(detectReferer(TRUE))))) == 1) {
// Update counter, as all are the same
- SQL_QUERY_ESC("UPDATE
+ sqlQueryEscaped("UPDATE
`{?_MYSQL_PREFIX?}_server_name_log`
SET
`server_name_counter`=`server_name_counter`+1
), __FUNCTION__, __LINE__);
} else {
// Then log it away
- SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_server_name_log` (`server_name`, `server_name_remote_addr`, `server_name_ua`, `server_name_referrer`) VALUES('%s','%s', '%s', '%s')",
+ sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_server_name_log` (`server_name`, `server_name_remote_addr`, `server_name_ua`, `server_name_referrer`) VALUES('%s','%s', '%s', '%s')",
array(
detectServerName(),
detectRemoteAddr(TRUE),
} // END - if
}
+// Check if response status OK and array index 'response' is set
+function isHttpResponseStatusOkay ($response) {
+ // Assertion on array
+ assert(is_array($response));
+
+ // Test it
+ $isOkay = ((isset($response['status'])) && ($response['status'] == 'OK'));
+
+ // Return result
+ return $isOkay;
+}
+
// [EOF]
?>