Bug #23289 » 15265-4_1-v2.diff
typo3/sysext/install/mod/class.tx_install.php (Arbeitskopie) | ||
---|---|---|
}
|
||
$this->session = t3lib_div::makeInstance('tx_install_session');
|
||
$sessionCreationError = $this->session->getErrorCreationMessage();
|
||
if ($sessionCreationError !== NULL) {
|
||
$this->outputErrorAndExit('<p>' . $sessionCreationError . '</p>');
|
||
}
|
||
// *******************
|
||
// Check authorization
|
||
... | ... | |
return $out;
|
||
}
|
||
/**
|
||
* Outputs an error and dies.
|
||
* Should be used by all errors that occur before even starting the install tool process.
|
||
*
|
||
* @param string The content of the error
|
||
* @return void
|
||
*/
|
||
function outputErrorAndExit($content, $title = 'Install Tool error') {
|
||
// Output the warning message and exit
|
||
header('Content-Type: text/html; charset=utf-8');
|
||
header('Cache-Control: no-cache, must-revalidate');
|
||
header('Pragma: no-cache');
|
||
echo '<h1>'.$title.'</h1>';
|
||
echo $content;
|
||
exit();
|
||
}
|
||
/**
|
||
* [Describe function...]
|
||
*
|
typo3/sysext/install/mod/class.tx_install_session.php (Arbeitskopie) | ||
---|---|---|
var $regenerateSessionIdTime = 5;
|
||
/**
|
||
* On creation of the session, store a potential error message here
|
||
*
|
||
* @var string
|
||
*/
|
||
var $sessionCreationError = NULL;
|
||
/**
|
||
* Constructor. Starts PHP session handling in our own var store
|
||
*
|
||
* Side-effect: might set a cookie, so must be called before any other output.
|
||
... | ... | |
if (version_compare(phpversion(), '5.2', '<')) {
|
||
ini_set('session.cookie_httponly', TRUE);
|
||
}
|
||
if (ini_get('session.auto_start')) {
|
||
$this->sessionCreationError = '<p><strong>Error: session.auto-start is enabled</strong></p>';
|
||
$this->sessionCreationError .= '<p>The PHP option session.auto-start is enabled. Disable this option in php.ini or .htaccess:</p>';
|
||
$this->sessionCreationError .= '<pre>php_value session.auto_start Off</pre>';
|
||
} else if (defined('SID')) {
|
||
$this->sessionCreationError = '<p><strong>Error: Session already started by session_start().</strong></p>';
|
||
$this->sessionCreationError .= '<p>Make sure no installed extension is starting a session in its ext_localconf.php or ext_tables.php.</p>';
|
||
}
|
||
session_start();
|
||
}
|
||
/**
|
||
* Returns a potential error message for session handling.
|
||
*
|
||
* @return string Error message on creating our session or NULL if there is no error
|
||
*/
|
||
public function getErrorCreationMessage() {
|
||
return $this->sessionCreationError;
|
||
}
|
||
/**
|
||
* Returns the path where to store our session files
|
||
*/
|
||
function getSessionSavePath() {
|