CodeIgniter 3.1.11 -> 3.4.5 (pocketarc fork) en PHP 8.3-fixes
- system/ vervangen door CodeIgniter 3.4.5 (pocketarc/codeigniter, PHP 8.2-8.5 compatibel) - config.php, mimes.php, user_agents.php en error-views bijgewerkt naar 3.4.5 - composer.json: php-constraint "^7.4 || ^8.0" zodat composer install op 8.3 werkt - PHP 8-fatals opgelost: count()/array-functies op FALSE/null, rekenen met lege strings, delen door nul, property zetten op FALSE, curly-brace string offsets, ongedefinieerde constanten, foute curl_setopt in Phantom_model::create_img - dynamic properties gedeclareerd in libraries, optionele parameters voor verplichte opgelost - vergelijkingen waar '' == 0 in PHP 8 anders uitvalt gecast naar (int) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* This content is released under the MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2014 - 2019, British Columbia Institute of Technology
|
||||
* Copyright (c) 2019 - 2022, CodeIgniter Foundation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -30,6 +30,7 @@
|
||||
* @author EllisLab Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
|
||||
* @copyright Copyright (c) 2014 - 2019, British Columbia Institute of Technology (https://bcit.ca/)
|
||||
* @copyright Copyright (c) 2019 - 2022, CodeIgniter Foundation (https://codeigniter.com/)
|
||||
* @license https://opensource.org/licenses/MIT MIT License
|
||||
* @link https://codeigniter.com
|
||||
* @since Version 3.0.0
|
||||
@@ -44,9 +45,9 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
* @subpackage Libraries
|
||||
* @category Sessions
|
||||
* @author Andrey Andreev
|
||||
* @link https://codeigniter.com/user_guide/libraries/sessions.html
|
||||
* @link https://codeigniter.com/userguide3/libraries/sessions.html
|
||||
*/
|
||||
abstract class CI_Session_driver implements SessionHandlerInterface {
|
||||
abstract class CI_Session_driver {
|
||||
|
||||
protected $_config;
|
||||
|
||||
@@ -121,7 +122,7 @@ abstract class CI_Session_driver implements SessionHandlerInterface {
|
||||
*/
|
||||
public function php5_validate_id()
|
||||
{
|
||||
if (isset($_COOKIE[$this->_config['cookie_name']]) && ! $this->validateSessionId($_COOKIE[$this->_config['cookie_name']]))
|
||||
if ($this->_success === 0 && isset($_COOKIE[$this->_config['cookie_name']]) && ! $this->validateId($_COOKIE[$this->_config['cookie_name']]))
|
||||
{
|
||||
unset($_COOKIE[$this->_config['cookie_name']]);
|
||||
}
|
||||
@@ -139,14 +140,28 @@ abstract class CI_Session_driver implements SessionHandlerInterface {
|
||||
*/
|
||||
protected function _cookie_destroy()
|
||||
{
|
||||
if ( ! is_php('7.3'))
|
||||
{
|
||||
$header = 'Set-Cookie: '.$this->_config['cookie_name'].'=';
|
||||
$header .= '; Expires='.gmdate('D, d-M-Y H:i:s T', 1).'; Max-Age=-1';
|
||||
$header .= '; Path='.$this->_config['cookie_path'];
|
||||
$header .= ($this->_config['cookie_domain'] !== '' ? '; Domain='.$this->_config['cookie_domain'] : '');
|
||||
$header .= ($this->_config['cookie_secure'] ? '; Secure' : '').'; HttpOnly; SameSite='.$this->_config['cookie_samesite'];
|
||||
header($header);
|
||||
return;
|
||||
}
|
||||
|
||||
return setcookie(
|
||||
$this->_config['cookie_name'],
|
||||
NULL,
|
||||
1,
|
||||
$this->_config['cookie_path'],
|
||||
$this->_config['cookie_domain'],
|
||||
$this->_config['cookie_secure'],
|
||||
TRUE
|
||||
'',
|
||||
array(
|
||||
'expires' => 1,
|
||||
'path' => $this->_config['cookie_path'],
|
||||
'domain' => $this->_config['cookie_domain'],
|
||||
'secure' => $this->_config['cookie_secure'],
|
||||
'httponly' => TRUE,
|
||||
'samesite' => $this->_config['cookie_samesite']
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user