| Server IP : 146.190.157.162 / Your IP : 216.73.217.6 Web Server : Apache System : Linux ubuntu-s-2vcpu-4gb-amd-sfo3-01-KIT-DIGITAL 6.5.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:10:09 UTC 2024 x86_64 User : businessweek ( 639) PHP Version : 8.2.10-2ubuntu2.2 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_signal,pcntl_signal_dispatch,pcntl_getpriority,pcntl_setpriority,dl,putenv,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/ballesteros/wp-content/plugins/polylang/src/ |
Upload File : |
<?php
/**
* @package Polylang
*/
/**
* A class to manage manage the language cookie
*
* @since 2.9
*/
class PLL_Cookie {
/**
* Parses the cookie parameters.
*
* @since 2.9
*
* @param array $args {@see PLL_Cookie::set()}
* @return array
*/
protected static function parse_args( $args ) {
/**
* Filters the Polylang cookie duration.
*
* If a cookie duration of 0 is specified, a session cookie will be set.
* If a negative cookie duration is specified, the cookie is removed.
* /!\ This filter may be fired *before* the theme is loaded.
*
* @since 1.8
*
* @param int $duration Cookie duration in seconds.
*/
$expiration = (int) apply_filters( 'pll_cookie_expiration', YEAR_IN_SECONDS );
$defaults = array(
'expires' => 0 !== $expiration ? time() + $expiration : 0,
'path' => COOKIEPATH,
'domain' => COOKIE_DOMAIN, // Cookie domain must be set to false for localhost (default value for `COOKIE_DOMAIN`) thanks to Stephen Harris.
'secure' => is_ssl(),
'httponly' => false,
'samesite' => 'Lax',
);
$args = wp_parse_args( $args, $defaults );
/**
* Filters the Polylang cookie arguments.
* /!\ This filter may be fired *before* the theme is loaded.
*
* @since 3.6
*
* @param array $args {
* Optional. Array of arguments for setting the cookie.
*
* @type int $expires Cookie duration.
* If a cookie duration of 0 is specified, a session cookie will be set.
* If a negative cookie duration is specified, the cookie is removed.
* @type string $path Cookie path.
* @type string $domain Cookie domain. Must be set to false for localhost (default value for `COOKIE_DOMAIN`).
* @type bool $secure Should the cookie be sent only over https?
* @type bool $httponly Should the cookie be accessed only over http protocol?.
* @type string $samesite Either 'Strict', 'Lax' or 'None'.
* }
*/
return (array) apply_filters( 'pll_cookie_args', $args );
}
/**
* Sets the cookie.
*
* @since 2.9
*
* @param string $lang Language cookie value.
* @param array $args {
* Optional. Array of arguments for setting the cookie.
*
* @type string $path Cookie path, defaults to COOKIEPATH.
* @type string $domain Cookie domain, defaults to COOKIE_DOMAIN
* @type bool $secure Should the cookie be sent only over https?
* @type bool $httponly Should the cookie accessed only over http protocol? Defaults to false.
* @type string $samesite Either 'Strict', 'Lax' or 'None', defaults to 'Lax'.
* }
* @return void
*/
public static function set( $lang, $args = array() ) {
$args = self::parse_args( $args );
if ( ! headers_sent() && PLL_COOKIE !== false && self::get() !== $lang ) {
setcookie( PLL_COOKIE, $lang, $args );
}
}
/**
* Returns the language cookie value.
*
* @since 2.9
*
* @return string
*/
public static function get() {
return isset( $_COOKIE[ PLL_COOKIE ] ) ? sanitize_key( $_COOKIE[ PLL_COOKIE ] ) : '';
}
}