X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fresponse%2Fclass_HttpResponse.php;h=6882981c605b086087fc4671a81357691905c590;hp=57e4eb7eca2d5220a466fa4185c259e39262f6be;hb=5c3d5d84f8f862d0d51f095f9858860f86788ae8;hpb=1cfec479b8c4a745b5b97683d22c8a431f9a3ee7 diff --git a/inc/classes/main/response/class_HttpResponse.php b/inc/classes/main/response/class_HttpResponse.php index 57e4eb7..6882981 100644 --- a/inc/classes/main/response/class_HttpResponse.php +++ b/inc/classes/main/response/class_HttpResponse.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -48,7 +48,7 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable { /** * Instance of the template engine */ - private $templateEngine = null; + private $templateInstance = null; /** * Fatal resolved messages from filters and so on @@ -213,16 +213,7 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable { * @return void */ public final function initTemplateEngine (ManageableApplication $appInstance) { - $this->templateEngine = $this->prepareTemplateEngine($appInstance); - } - - /** - * Getter for the template engine instance - * - * @return $templateEngine An instance of the used template engine - */ - public final function getTemplateEngine () { - return $this->templateEngine; + $this->setTemplateInstance($this->prepareTemplateInstance($appInstance)); } /** @@ -246,17 +237,22 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable { * @param $expires Timestamp of expiration (default: configured) * @return void * @throws ResponseHeadersAlreadySentException If headers are already sent + * @todo Encryption of cookie data not yet supported. + * @todo Why are these parameters conflicting? + * @todo If the return statement is removed and setcookie() commented out, + * @todo this will send only one cookie out, the first one. */ public function addCookie ($cookieName, $cookieValue, $encrypted = false, $expires = null) { + //* DEBUG: */ echo $cookieName."=".$cookieValue."
\n"; // Are headers already sent? if (headers_sent()) { // Throw an exception here + //* DEBUG: */ return; throw new ResponseHeadersAlreadySentException($this, self::EXCEPTION_HEADERS_ALREADY_SENT); } // END - if // Shall we encrypt the cookie? if ($encrypted === true) { - /* @TODO Encryption of cookie data not yet supported */ } // END - if // For slow browsers set the cookie array element first @@ -271,15 +267,12 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable { $domain = $this->getConfigInstance()->readConfig('cookie_domain'); setcookie($cookieName, $cookieValue, $expires); - /* @TODO Why are these parameters conflicting? */ //, $path, $domain, (isset($_SERVER['HTTPS'])) return; - /* @TODO This will send only one cookie out, the first one. */ // Now construct the full header $cookieString = $cookieName . "=" . $cookieValue . "; "; $cookieString .= "expires=" . date("D, d-F-Y H:i:s", $expires) . " GMT"; - /* @TODO Why are these parameters conflicting? */ // $cookieString .= "; path=".$path."; domain=".$domain; // Set the cookie as a header @@ -345,6 +338,30 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable { unset($_COOKIE[$cookieName]); } // END - if } + + /** + * Refreshs a given cookie. This will make the cookie live longer + * + * @param $cookieName Cookie to refresh + * @return void + */ + public function refreshCookie ($cookieName) { + // Only update existing cookies + if (isset($_COOKIE[$cookieName])) { + // Update the cookie + $this->addCookie($cookieName, $_COOKIE[$cookieName], false); + } // END - if + } + + /** + * Getter for default command + * + * @return $defaultCommand Default command for this response + */ + public function getDefaultCommand () { + $defaultCommand = $this->getConfigInstance()->readConfig('default_web_command'); + return $defaultCommand; + } } // [EOF]