X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FBlock.php;h=b6b3ae05f1c8ce461a9619b528ce7565b46efd92;hb=4f43a9608fd4af27cce666c94caabb8106d50cc4;hp=1f4041b890384abf3f15d9aea40903f304336c59;hpb=c584722cc2e3d33edae58d46c2149063b3fc6d72;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Block.php b/includes/Block.php index 1f4041b890..b6b3ae05f1 100644 --- a/includes/Block.php +++ b/includes/Block.php @@ -20,6 +20,7 @@ * @file */ +use Wikimedia\Rdbms\IDatabase; use MediaWiki\MediaWikiServices; class Block { @@ -1450,13 +1451,9 @@ class Block { * Set the 'BlockID' cookie to this block's ID and expiry time. The cookie's expiry will be * the same as the block's, to a maximum of 24 hours. * - * An empty value can also be set, in order to retain the cookie but remove the block ID - * (e.g. as used in User::getBlockedStatus). - * * @param WebResponse $response The response on which to set the cookie. - * @param boolean $setEmpty Whether to set the cookie's value to the empty string. */ - public function setCookie( WebResponse $response, $setEmpty = false ) { + public function setCookie( WebResponse $response ) { // Calculate the default expiry time. $maxExpiryTime = wfTimestamp( TS_MW, wfTimestamp() + ( 24 * 60 * 60 ) ); @@ -1467,12 +1464,21 @@ class Block { } // Set the cookie. Reformat the MediaWiki datetime as a Unix timestamp for the cookie. - $cookieValue = $setEmpty ? '' : $this->getCookieValue(); $expiryValue = DateTime::createFromFormat( 'YmdHis', $expiryTime )->format( 'U' ); $cookieOptions = [ 'httpOnly' => false ]; + $cookieValue = $this->getCookieValue(); $response->setCookie( 'BlockID', $cookieValue, $expiryValue, $cookieOptions ); } + /** + * Unset the 'BlockID' cookie. + * + * @param WebResponse $response The response on which to unset the cookie. + */ + public static function clearCookie( WebResponse $response ) { + $response->clearCookie( 'BlockID', [ 'httpOnly' => false ] ); + } + /** * Get the BlockID cookie's value for this block. This is usually the block ID concatenated * with an HMAC in order to avoid spoofing (T152951), but if wgSecretKey is not set will just