X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FBlock.php;h=cf6642a6f9d3a9a72faab812a699f4513ed07b44;hb=dee457713b1b110bff1dc9985eabd487c5d8877c;hp=0cbb2873df0cc2bc7c8899e0961082512cab322b;hpb=17eda64357834fa847126d8d7f49f6f5b42c4d89;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Block.php b/includes/Block.php index 0cbb2873df..cf6642a6f9 100644 --- a/includes/Block.php +++ b/includes/Block.php @@ -1142,7 +1142,7 @@ class Block { * Get all blocks that match any IP from an array of IP addresses * * @param array $ipChain List of IPs (strings), usually retrieved from the - * X-Forwarded-For header of the request + * X-Forwarded-For header of the request * @param bool $isAnon Exclude anonymous-only blocks if false * @param bool $fromMaster Whether to query the master or replica DB * @return array Array of Blocks @@ -1223,9 +1223,9 @@ class Block { * * @param array $blocks Array of Block objects * @param array $ipChain List of IPs (strings). This is used to determine how "close" - * a block is to the server, and if a block matches exactly, or is in a range. - * The order is furthest from the server to nearest e.g., (Browser, proxy1, proxy2, - * local-squid, ...) + * a block is to the server, and if a block matches exactly, or is in a range. + * The order is furthest from the server to nearest e.g., (Browser, proxy1, proxy2, + * local-squid, ...) * @throws MWException * @return Block|null The "best" block from the list */ @@ -1450,13 +1450,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 +1463,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