AnonSec Team
Server IP : 10.131.40.8  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux webd008.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User : ludmqhh ( 137773)
PHP Version : 8.4.10
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/ludmqhh/www/hotel-forum/wp-content/_plugins/loco-translate/src/data/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/ludmqhh/www/hotel-forum/wp-content/_plugins/loco-translate/src/data/Cookie.php
<?php
/**
 * Basic abstraction of cookie setting.
 * - Provides loco_setcookie filter for tests.
 * - Provides multiple values as url-encoded pairs. Not using JSON, because stripslashes
 * 
 * Not currently used anywhere - replaced with usermeta-based session
 * @codeCoverageIgnore
 */
class Loco_data_Cookie extends ArrayObject {
    
    private $name = 'loco';

    private $expires = 0;


    /**
     * Get and deserialize cookie sent to server
     * @return Loco_data_Cookie
     */
    public static function get( $name ){
        if( isset($_COOKIE[$name]) ){
            parse_str( $_COOKIE[$name], $data );
            if( $data ){
                $cookie = new Loco_data_Cookie( $data );
                return $cookie->setName( $name );
            }
        }
    }

    
    /**
     * @internal
     */
    public function __toString(){
        $data = $this->getArrayCopy();
        return http_build_query( $data, null, '&' );
    }

    
    /**
     * @return Loco_data_Cookie
     */
    public function setName( $name ){
        $this->name = $name;
        return $this;
    }


    /**
     * @return string
     */
    public function getName(){
        return $this->name;
    }


    /**
     * Send cookie to the browser, unless filtered out.
     * @return bool|null
     */
    public function send(){
        if( false !== apply_filters( 'loco_setcookie', $this ) ){
            $value = (string) $this;
            // @codeCoverageIgnoreStart
            return setcookie( $this->name, $value, $this->expires, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), true );
        }
    }


    /**
     * Empty values such that sending cookie would remove it from browser
     * @return Loco_data_Cookie
     */
    public function kill(){
        $this->exchangeArray( [] );
        $this->expires = time() - 86400;
        return $this;
    }

    
    
}

AnonSec - 2021