Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/jetpack
File: functions.cookies.php
<?php // phpcs:ignore WordPress.Files.FileName.NotHyphenatedLowercase
[0] Fix | Delete
/**
[1] Fix | Delete
* This file is meant to be the home for any function handling cookies that can
[2] Fix | Delete
* be accessed anywhere within Jetpack.
[3] Fix | Delete
*
[4] Fix | Delete
* This file is loaded whether or not Jetpack is connected to WP.com.
[5] Fix | Delete
*
[6] Fix | Delete
* @package automattic/jetpack
[7] Fix | Delete
*/
[8] Fix | Delete
[9] Fix | Delete
/**
[10] Fix | Delete
* A PHP 7.0 compatible version of the array argument version of PHP 7.3's setcookie().
[11] Fix | Delete
*
[12] Fix | Delete
* Useful for setting SameSite cookies in PHP 7.2 or earlier.
[13] Fix | Delete
*
[14] Fix | Delete
* @param string $name Name of the cookie.
[15] Fix | Delete
* @param string $value Value of the cookie.
[16] Fix | Delete
* @param array $options Options to include with the cookie.
[17] Fix | Delete
* @return bool False when error happens, other wise true.
[18] Fix | Delete
*/
[19] Fix | Delete
function jetpack_shim_setcookie( $name, $value, $options ) {
[20] Fix | Delete
$not_allowed_chars = ",; \t\r\n\013\014";
[21] Fix | Delete
[22] Fix | Delete
if ( false !== strpbrk( $name, $not_allowed_chars ) ) {
[23] Fix | Delete
return false;
[24] Fix | Delete
}
[25] Fix | Delete
[26] Fix | Delete
if ( headers_sent() ) {
[27] Fix | Delete
return false;
[28] Fix | Delete
}
[29] Fix | Delete
[30] Fix | Delete
$cookie = 'Set-Cookie: ' . $name . '=' . rawurlencode( $value ) . '; ';
[31] Fix | Delete
[32] Fix | Delete
if ( ! empty( $options['expires'] ) ) {
[33] Fix | Delete
$cookie_date = gmdate( 'D, d M Y H:i:s \G\M\T', $options['expires'] );
[34] Fix | Delete
$cookie .= sprintf( 'expires=%s', $cookie_date ) . ';';
[35] Fix | Delete
}
[36] Fix | Delete
[37] Fix | Delete
if ( ! empty( $options['secure'] ) && true === $options['secure'] ) {
[38] Fix | Delete
$cookie .= 'secure; ';
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
if ( ! empty( $options['httponly'] ) && true === $options['httponly'] ) {
[42] Fix | Delete
$cookie .= 'HttpOnly; ';
[43] Fix | Delete
}
[44] Fix | Delete
[45] Fix | Delete
if ( ! empty( $options['domain'] ) && is_string( $options['domain'] ) ) {
[46] Fix | Delete
if ( false !== strpbrk( $options['domain'], $not_allowed_chars ) ) {
[47] Fix | Delete
return false;
[48] Fix | Delete
}
[49] Fix | Delete
$cookie .= sprintf( 'domain=%s', $options['domain'] . '; ' );
[50] Fix | Delete
}
[51] Fix | Delete
[52] Fix | Delete
if ( ! empty( $options['path'] ) && is_string( $options['path'] ) ) {
[53] Fix | Delete
if ( false !== strpbrk( $options['path'], $not_allowed_chars ) ) {
[54] Fix | Delete
return false;
[55] Fix | Delete
}
[56] Fix | Delete
$cookie .= sprintf( 'path=%s', $options['path'] . '; ' );
[57] Fix | Delete
}
[58] Fix | Delete
[59] Fix | Delete
if ( ! empty( $options['samesite'] ) && is_string( $options['samesite'] ) ) {
[60] Fix | Delete
$cookie .= sprintf( 'SameSite=%s', $options['samesite'] . '; ' );
[61] Fix | Delete
}
[62] Fix | Delete
[63] Fix | Delete
$cookie = trim( $cookie );
[64] Fix | Delete
$cookie = trim( $cookie, ';' );
[65] Fix | Delete
header( $cookie, false );
[66] Fix | Delete
[67] Fix | Delete
return true;
[68] Fix | Delete
}
[69] Fix | Delete
[70] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function