From 8451746c3966ecdfda230585f812090acd623dff Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Wed, 11 Oct 2006 13:35:18 +1300 Subject: [PATCH] Put protocol_server_script into global configuration variable. Find the correct changelog and get the version number. --- inc/always.php | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/inc/always.php b/inc/always.php index d26d019d..d4597126 100644 --- a/inc/always.php +++ b/inc/always.php @@ -19,6 +19,7 @@ $c->save_time_zone_defs = 1; $c->stylesheets = array( "/rscds.css" ); $c->collections_always_exist = true; + // Kind of private configuration values $c->total_query_time = 0; @@ -26,8 +27,20 @@ $c->dbg = array( ); require_once("AWLUtilities.php"); -dbg_error_log( "core", "==========> method =%s= =%s:%d= =%s= =%s=", - $_SERVER['REQUEST_METHOD'], $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], $_SERVER['SCRIPT_NAME'], $_SERVER['PATH_INFO']); +/** +* Calculate the simplest form of reference to this page, excluding the PATH_INFO following the script name. +*/ +$c->protocol_server_port_script = sprintf( "%s://%s%s%s", (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'? 'https' : 'http'), $_SERVER['SERVER_NAME'], + ( + ( (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') && $_SERVER['SERVER_PORT'] == 80 ) + || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' && $_SERVER['SERVER_PORT'] == 443 ) + ? '' + : ':'.$_SERVER['SERVER_PORT'] + ), + $_SERVER['SCRIPT_NAME'] ); + +dbg_error_log( "LOG", "==========> method =%s= =%s= =%s=", $_SERVER['REQUEST_METHOD'], $c->protocol_server_port_script, $_SERVER['PATH_INFO']); + if ( file_exists("/etc/rscds/".$_SERVER['SERVER_NAME']."-conf.php") ) { include_once("/etc/rscds/".$_SERVER['SERVER_NAME']."-conf.php"); } @@ -39,6 +52,29 @@ else { exit; } +/** +* Figure our version from the changelog +*/ +$c->code_version = 0; +$changelog = false; +if ( file_exists("../debian/changelog") ) { + $changelog = fopen( "../debian/changelog", "r" ); +} +else if ( file_exists("/usr/share/doc/rscds/changelog.Debian") ) { + $changelog = fopen( "/usr/share/doc/rscds/changelog.Debian", "r" ); +} +else if ( file_exists("/usr/share/doc/rscds/changelog") ) { + $changelog = fopen( "/usr/share/doc/rscds/changelog", "r" ); +} +if ( $changelog ) { + list( $c->code_pkgver, $c->code_major, $c->code_minor, $c->code_patch, $c->code_debian ) = fscanf($changelog, "%s (%d.%d.%d-%d)"); + $c->code_version = (($c->code_major * 1000) + $c->code_minor).".".$c->code_patch; + fclose($changelog); +} +dbg_error_log("caldav", "Version %s (%d.%d.%d-%d) == %s", $c->code_pkgver, $c->code_major, $c->code_minor, $c->code_patch, $c->code_debian, $c->code_version); +header( sprintf("Server: %s/%d.%d", $c->code_pkgver, $c->code_major, $c->code_minor) ); + + /** * Force the domain name to what was in the configuration file */