* @version 0.0.0
* @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* The extended headers are taken from phpMyAdmin setup tool, written by
* Michal Cihar , licensed under GNU GPL 2.0.
*/
class ConsoleResponse extends BaseResponse implements Responseable {
/**
* Protected constructor
*
* @return void
*/
protected function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
// Set response type
$this->setResponseType('console');
}
/**
* Creates an object of this class
*
* @param $applicationInstance An instance of a manageable application
* @return $responseInstance A prepared instance of this class
*/
public static final function createConsoleResponse (ManageableApplication $applicationInstance) {
// Get a new instance
$responseInstance = new ConsoleResponse();
// Set the application instance
$responseInstance->setApplicationInstance($applicationInstance);
// Initialize the template engine here
$responseInstance->initTemplateEngine($applicationInstance);
// Init web output instance
$responseInstance->initWebOutputInstance();
// Return the prepared instance
return $responseInstance;
}
/**
* Initializes the template engine instance
*
* @param $applicationInstance An instance of a manageable application
* @return void
*/
public final function initTemplateEngine (ManageableApplication $applicationInstance) {
$this->setTemplateInstance($this->prepareTemplateInstance($applicationInstance));
}
/**
* Adds a cookie to the response
*
* @param $cookieName Cookie's name
* @param $cookieValue Value to store in the cookie
* @param $encrypted Do some extra encryption on the value
* @param $expires Timestamp of expiration (default: configured)
* @return void
* @throws ResponseHeadersAlreadySentException If headers are already sent
*/
public function addCookie ($cookieName, $cookieValue, $encrypted = FALSE, $expires = NULL) {
//* DEBUG: */ echo $cookieName.'='.$cookieValue."
\n";
$this->partialStub('Naturally unimplemented in console response.');
}
/**
* Redirect to a configured URL. The URL can be absolute or relative. In
* case of relative URL it will be extended automatically.
*
* @param $configEntry The configuration entry which holds our URL
* @return void
* @throws ResponseHeadersAlreadySentException If headers are already sent
*/
public function redirectToConfiguredUrl ($configEntry) {
$this->partialStub('Naturally unimplemented in console response.');
}
/**
* Expires the given cookie if it is set
*
* @param $cookieName Cookie to expire
* @return void
*/
public function expireCookie ($cookieName) {
$this->partialStub('Naturally unimplemented in console response.');
}
/**
* Refreshs a given cookie. This will make the cookie live longer
*
* @param $cookieName Cookie to refresh
* @return void
*/
public function refreshCookie ($cookieName) {
$this->partialStub('Naturally unimplemented in console response.');
}
/**
* Flushs the cached console response to the console
*
* @param $force Whether we shall force the output or abort if headers are
* already sent with an exception
* @return void
* @throws ResponseHeadersAlreadySentException Thrown if headers are
* already sent
*/
public function flushBuffer ($force = FALSE) {
$this->partialStub('Please implement this class.');
}
}
// [EOF]
?>