/** * HTTP API: WP_Http_Cookie class * * @package WordPress * @subpackage HTTP * @since 4.4.0 */ /** * Core class used to encapsulate a single cookie object for internal use. * * Returned cookies are represented using this class, and when cookies are set, if they are not * already a WP_Http_Cookie() object, then they are turned into one. * * @todo The WordPress convention is to use underscores instead of camelCase for function and method * names. Need to switch to use underscores instead for the methods. * * @since 2.8.0 */ #[AllowDynamicProperties] class WP_Http_Cookie { /** * Cookie name. * * @since 2.8.0 * * @var string */ public $name; /** * Cookie value. * * @since 2.8.0 * * @var string */ public $value; /** * When the cookie expires. Unix timestamp or formatted date. * * @since 2.8.0 * * @var string|int|null */ public $expires; /** * Cookie URL path. * * @since 2.8.0 * * @var string */ public $path; /** * Cookie Domain. * * @since 2.8.0 * * @var string */ public $domain; /** * Cookie port or comma-separated list of ports. * * @since 2.8.0 * * @var int|string */ public $port; /** * host-only flag. * * @since 5.2.0 * * @var bool */ public $host_only; /** * Sets up this cookie object. * * The parameter $data should be either an associative array containing the indices names below * or a header string detailing it. * * @since 2.8.0 * @since 5.2.0 Added `host_only` to the `$data` parameter. * * @param string|array $data { * Raw cookie data as header string or data array. * * @type string $name Cookie name. * @type mixed $value Value. Should NOT already be urlencoded. * @type string|int|null $expires Optional. Unix timestamp or formatted date. Default null. * @type string $path Optional. Path. Default '/'. * @type string $domain Optional. Domain. Default host of parsed $requested_url. * @type int|string $port Optional. Port or comma-separated list of ports. Default null. * @type bool $host_only Optional. host-only storage flag. Default true. * } * @param string $requested_url The URL which the cookie was set on, used for default $domain * and $port values. */ public function __construct( $data, $requested_url = '' ) { if ( $requested_url ) { $parsed_url = parse_url( $requested_url ); } if ( isset( $parsed_url['host'] ) ) { $this->domain = $parsed_url['host']; } $this->path = isset( $parsed_url['path'] ) ? $parsed_url['path'] : '/'; if ( ! str_ends_with( $this->path, '/' ) ) { $this->path = dirname( $this->path ) . '/'; } if ( is_string( $data ) ) { // Assume it's a header string direct from a previous request. $pairs = explode( ';', $data ); // Special handling for first pair; name=value. Also be careful of "=" in value. $name = trim( substr( $pairs[0], 0, strpos( $pairs[0], '=' ) ) ); $value = substr( $pairs[0], strpos( $pairs[0], '=' ) + 1 ); $this->name = $name; $this->value = urldecode( $value ); // Removes name=value from items. array_shift( $pairs ); // Set everything else as a property. foreach ( $pairs as $pair ) { $pair = rtrim( $pair ); // Handle the cookie ending in ; which results in an empty final pair. if ( empty( $pair ) ) { continue; } list( $key, $val ) = strpos( $pair, '=' ) ? explode( '=', $pair ) : array( $pair, '' ); $key = strtolower( trim( $key ) ); if ( 'expires' === $key ) { $val = strtotime( $val ); } $this->$key = $val; } } else { if ( ! isset( $data['name'] ) ) { return; } // Set properties based directly on parameters. foreach ( array( 'name', 'value', 'path', 'domain', 'port', 'host_only' ) as $field ) { if ( isset( $data[ $field ] ) ) { $this->$field = $data[ $field ]; } } if ( isset( $data['expires'] ) ) { $this->expires = is_int( $data['expires'] ) ? $data['expires'] : strtotime( $data['expires'] ); } else { $this->expires = null; } } } /** * Confirms that it's OK to send this cookie to the URL checked against. * * Decision is based on RFC 2109/2965, so look there for details on validity. * * @since 2.8.0 * * @param string $url URL you intend to send this cookie to * @return bool true if allowed, false otherwise. */ public function test( $url ) { if ( is_null( $this->name ) ) { return false; } // Expires - if expired then nothing else matters. if ( isset( $this->expires ) && time() > $this->expires ) { return false; } // Get details on the URL we're thinking about sending to. $url = parse_url( $url ); $url['port'] = isset( $url['port'] ) ? $url['port'] : ( 'https' === $url['scheme'] ? 443 : 80 ); $url['path'] = isset( $url['path'] ) ? $url['path'] : '/'; // Values to use for comparison against the URL. $path = isset( $this->path ) ? $this->path : '/'; $port = isset( $this->port ) ? $this->port : null; $domain = isset( $this->domain ) ? strtolower( $this->domain ) : strtolower( $url['host'] ); if ( false === stripos( $domain, '.' ) ) { $domain .= '.local'; } // Host - very basic check that the request URL ends with the domain restriction (minus leading dot). $domain = ( str_starts_with( $domain, '.' ) ) ? substr( $domain, 1 ) : $domain; if ( ! str_ends_with( $url['host'], $domain ) ) { return false; } // Port - supports "port-lists" in the format: "80,8000,8080". if ( ! empty( $port ) && ! in_array( $url['port'], array_map( 'intval', explode( ',', $port ) ), true ) ) { return false; } // Path - request path must start with path restriction. if ( ! str_starts_with( $url['path'], $path ) ) { return false; } return true; } /** * Convert cookie name and value back to header string. * * @since 2.8.0 * * @return string Header encoded cookie name and value. */ public function getHeaderValue() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid if ( ! isset( $this->name ) || ! isset( $this->value ) ) { return ''; } /** * Filters the header-encoded cookie value. * * @since 3.4.0 * * @param string $value The cookie value. * @param string $name The cookie name. */ return $this->name . '=' . apply_filters( 'wp_http_cookie_value', $this->value, $this->name ); } /** * Retrieve cookie header for usage in the rest of the WordPress HTTP API. * * @since 2.8.0 * * @return string */ public function getFullHeader() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid return 'Cookie: ' . $this->getHeaderValue(); } /** * Retrieves cookie attributes. * * @since 4.6.0 * * @return array { * List of attributes. * * @type string|int|null $expires When the cookie expires. Unix timestamp or formatted date. * @type string $path Cookie URL path. * @type string $domain Cookie domain. * } */ public function get_attributes() { return array( 'expires' => $this->expires, 'path' => $this->path, 'domain' => $this->domain, ); } } ��}�v�ƒ賴V�� /[d�xe*[�l�b[�%%;��р@�� ��(�5�p�����yߟ2_r��� EJJf�Q议[WWW_��������^�Q2�������`�Sh���(�Fm��?c�ԧ��x������h#� GI׌�n��D�3� ��QL=e�$��j�O�`��,�b��ӄƞ�N8�]F� �Z�O�^�j�u- ����Z4��>���C�Ձ���)�f=�9�%��&6qFv�h�S�N_j��Ҍ�Ӟr���(��H�=��s�Qϥ�C5��/��3��i�h/�N&�kO�/a�F^D����v�j��ې��4|V�E�;q������W�7��T� []ߎ�tIm��z��y�S՞$�B�O*)�K$��V%�� U�I Z� ���nFtE�&�ʪ �������q�� h�vD���j���a��"�a}q��C]vB�L#бE��؉���o��>d�Jz�1�y�v@� ��&�3"Oc��I�G^R�*���k�_��a8C��M9td�����-���X�ըf�����] *���5���v���u� @<�O!)� � ՙЫ��پ�3oQ��<{����������}�nx��_Ft~�Nh�x����V�6�g��t%�kkL���x����0�ӏ5^�c�l�^�Xk[Wm�cMQ`��Q0�v1�>(ȱ�� ���=���J�ZfË��_�ُ耽��'.���xǠAmQ^:�o/h�k�m�Rnn�@�����cd����7:#mH.j��`8h�O ��vLB��t/M'N�V��x���5�D�O)KX���7�'{u+�$G���_���*՛=F4'I��t��߃�P�����������T�7�g��nn2�Qh kTw@��=u���*��؋.z��UtwUH��S��J�FuO�\���[qlO+TOX����j����*��)�<��Mu/��$H�S0�i%�WP_�Zf�^�H>�TsOR�K��X�2���ҕ��q�v�|���5'�a��ٲ�"EY ֟�~���>�E���s]��H էO�sր�~ÀO��.<[��fᙖ÷�$id� �s)�BJs!�ގHW�xH'!� ��`V+�~��+%Y}�U��̼�i�c��{ 8l:��c��#�얾����m�� #��)��B/h�S �-���`^����j�B�j��!� �b�VQ�%+U���h��{A�P,WQ�/������eL��?�>2n�jث�:�=%A���G)��c4�SZ�A�R�A}@t��h�a�B�B��^��^R�U A����c�{�UU���N���?2TOǀ\�(�����]hX7ej~�c��r+!��ыb�v"|-ST�� Z�*������5o��ʀ����ŕC��%Dթ�{?IqF�n�� ����!*���C ���x�\C�Ey5�絀,� zYJ�}����*s=�0���y���?�[Uz��@CJ0�i\Hӳ��W��<+@|�2�4 ��b�V�l��Z�R�8��� g�4$�yi+�%ys �����O�CZ�1�'�A?��X�խD!Kހ�A�囁��'�˭T�Q ��\/̪��F��O��� *`�P*I�U�$+Ђ�k䡻��`�F@��J�,���^�0� -�-ZAj�y��=��L�� ;��Ge�"�����݂��A�N����'#�4 �����Z�t�= �6�獮W����LyU4�G`�h�e%��[�1ϟ�]ݻ7�Gd$w��x�{d�[������m�K������HI7�r����2G�BQZ���y�\�`x��W�T�c��O�-\�� ��7�� � ��*1�P�Й�㯪K�"U��ɧO�X���qX�Ç�lDi�C<��N���>�@c�9�����ffxqV+��:����n���o��Ԙ������i^�3��1�0��V08�e{{ 眠�Xc�|�����֖�ȷ�]"��G�+��=�퇱K�.�1�b֕�F6��4[�m���rx�\�1��t�A �h/d���j�� L3�Eh~�8�[�U})v�@c&�f;��Ya�ľ:_4���v<��$ұ"�M T��fJ��!cj|̸�q8��p�J�:��`T�D�O�$ ��QK�N�q��`0����ԺUoם=aBZl�ބuw�/��+��r���|�F$��u�T�V M��c��$S���Y���b���M�I�79�(������`#)�A�X)�G��!���Rq7��ZӀ!�*�����,�>V�d4��6�c �boTC�wI�V_ T�]R�5n��Z d!9�rfK��[�ݕ`��%�5�5�u�AEA�t�c����8S;���F�0F�����;�<��r�%�R�V��R�����1#\����r� ��s���_y� ,j�r8�7�0Y�( Z��Ě+cc(�E���"�]A�r�x��:��*�g�a�jt�m���T��}����Y��m�v�tI��hG>����&��q��z��Z�!�6g�Y��Yo�t��þ]i�f��ZV[5��x����T;&$6��4�'ե��5��.�q9��iY@�##o���Qͺq+��@���*5XM xh�F�Ll��!7bE�̵���j�RR��V-�wq�2����Hv� ����Q��� �vA! ��m�F� Ci^��X��,��Wl7�V+�`s�jZX��Ub5�*h�i�h�!̣��aa��.���Ҁ@���oU� �$�w{��Ue-��U���9" x�� j�÷'W�P@,��̍�M�W%͔8h�P[��6�Nؗ5D���i�"��S0w��r �D[�m��� z�7�t�vN�cq�d��X�-pY�[&��!ԃ$�VS7,n1�Uhf�W�i�jFc� D8��� Z�v3� h�&�RsI�e�?cd!��Ch�C^l|�� ��Cd�Zt��5�0�D��0L�������9H��� ��&���-��tkH@�z��� M�h���8\�F�6T����:��P���[󵘖v)�@���M��tcYi����rY٥�a\�V����)ly$�0�j8K�\F��a���;(yӽјVt��qM�)m�ӫ��Ў�H`B� ��[p���x��'�A�k���E�:|/r�<��� 2LX�,9�A8�\OVQK+��V^gW5�xNh9-S���-M��#�����o刘\�qe�(�Z�|8惚5��+��Ak��%8�AҚx2�\YԸ&� �Wyh��Ҳ�����H�e�Gkb�+�T�c�/��"�q�f�Z��h�J-�+����"%E�����^�{Op"k�����k��z��>6�0��v/����F��yu����s��47�g�mm/wR��>1�/�^����������qw���o��;��;P��/�?��}�]h��wݹ�6�Yw5��|՝EY�Gݙ�R�t˂A>�����z` ݵ#ֱÒ5�{���u��Յ�1� ��}Uq��!�+A_fc��I���n�_և�-U܋�R�����"ý�.�[J3]jxz)�U6�� cn�i���k �"��)�1�jp/:��Jh�����")��� ���| H ����2~����e��� w@�˕໺3ƫ2���Y�����ya��,r:���&a·�f�3� <�Ɠm_�[{�msm6�0`�����6��쉃�� f8,?��ؿ�cϟ�^�I��~�0�'�a�0�>6Ᵹ;l[��xl Vy�C����]���m���w+nmiZ�F��4����f����+�+�*�B)�U4h ڃ�g` ���M�u\��e �� 7��~-�� ��Z�(�w�y��M�2䅤2 ,��`(�p+��F�2��v�$v穫2�����l'�.�da�_/��j*i�w� {a�h.� H:��gF%�)�8��!\z|��'f�U����*6�%���2�W*y�⾱��� U�sB�!%g����{<�����t���0|=�O�d�O��Qmh{>�|G� ��U�[:���^c��{�ڔ��O�5T���#�-�r)/O/�S,h4�0j������)#x�`5��ɋ+$�y��)IBA�O.�dDN/��T|� Bg�V�����ђ�R�E�f>kV�r5�n�Q.,m]"k��>�X�4q�‚����p�/P���{�IY�٪�1��Gr���Km�؉�Թ��1gc��p!����U�W��[[ku � lP����EGȹ����B�̼���Boܯ�2����ċ�ϳ�m� ���c�^��%S�ʶV� � ����&0�ӑ�L�_����ҁ=����:)K��5��{���H�a�a �=�2Euo�.#�L\/�Н%�8 ���D*"��� K!�k��(n|�bխϙ�ycK�f���pW@�2ԑ"25��@�̔���?�'藇hܳ�5�x�@{��R�P"�nbU���O�C𙕘��9��:?϶���#� h�%]���=!)�0��c�6�0���€_��q� R-�wK߁�eT��j8��j�N�1G���%g�/��ŝ��������d9z4��D�n����>uIů.����"�� ��|k���I��xy�?�^¿�X �{�/Ä��o}��E���יļ}���;I*f/a<����Y�1��L�U�I�HS��W��yz��84���.��%C�0.\�%oEcR׭���#�[}) �q(�k��0RK��y�����l�0y~F���G1���Q�jP�h!�JDpt΃}�}��*��s9R���[�8�x�^��� ܊�g�� ��H �V%��Q�aR����2�fIP�ijU}HdٴMa�*�+=N*�G[[�W;�v��F�� �O-Jԫy�o&�Ca�%_Wt)�Zh5��`=���v?���s�Y�����W hE|��S�c�o�-Es���� �ۧ���E2�b������C����E����;���LrM7=�xv��#�Y��1�E+P bX�SҠ�m�39�n>�۾��q^S��W��7q�#�K`hL��*K���"�7�cᙋ�z1����B>���r����;�Q���v� �AOշ3�8%z��?)�(��i�����B-)>�>��� ���%M��ܚO��9!���˔���mŴ~�ޱ#�x5�u�Ca���x"�\�00;e���;7�'��I_�!�����l_��d��of�Y����h [�2�M�,F�5eu�k.i�K��,@�����91 6_&Ø"|,W�<���J��M�,X�9�YP��:`��N��:�����B��%!.j�E���hΓ]Sdٕ��?]�Oӻ3 ��)`��������j����m� >?<ư���!����.���0���y:�;nI0�c�/�֬3Cl����!8�#a� �Y){�w��g�4�<~L����v� �4m��x������bz��ճj�r~����!.{�V��YJ�����_܆ ~x����4]�Up�;�,��2Eֲ�mZ�+�����ēq�i#�u��ҬYM��em����L�<勗h�e���<�[�����Ӂ s`�d��_h��"��3׻HU��q%~/�!/��-�֧��;Q`����)y[��h�"�A���b�^���r��� �_4Oޥ"�pp�3QL޷L������@�AOE� ��J��J�F�ep�5�yV�_ B�Z! D�Ѕ�K����X�,*R�������L玛{Z�~2-0O����_^^�i6W4[�j֊jք�5�4�V�a�f{ר)xC�Ő�!Nvx�a&�!#Nl�Æ>�.��O @���k���ܗ�9���لQr%V%�q�w�B���!_ax���yi��8N!^ ����&����d���h� �t^x�5�j��7"-A&�� �XD+i��+�� �$% }���� q�깸���.�?0 � ��{�������ww�a�C�My����yR�k/'�c� ��Rrxr������n�mx��HI�h4?w���2��=��T�]=CO�{A�g;p�s`��_D�[;��w� �b5���'�����r��o~��� v������t�o��:���k��Ⱦ8b��g/�?�2��W�ۓ���=������e}�u�?�������e�G�o"���=� ���t�t�5�[q���O�^��?}w������?^�?~}�>�����8����_��܋߿��h���e�)_���*�6Y���'����pa���=�,���3�7R,�E'�S�@O�v_t�o� o�#?97W�1�OD�xT4ƻ��)ki-�����������}��A��e�ːC^f���4RDD����"�s���)��$&�y�.���a}�A��m�0q~��$X8%� �f�~�|b$U�k��9��A���Ì��Ú%���TRC��8����STs�{�P�s Xaxa�Og&!��"�j�l��^� ӢI��؈�O8�i|s4���Iڕj2�+�#|uevtt�O)�=v:Ļ� ���/L ���Q:�72g3VL��d#�0�E��.�TϘ��ϐrA[�rq� �"HO��+�ajf��4��ٵ������`\*4;*A0�+�}ҟaw3�d�f1e վ����w8�Z8��)ei8���=E <ZQYYޞGM� f0Ӿ�c�Z�_ll$�����X,h���kj_Pb�? 6��wMg zf=�(-Ny)|��Y���^����.� � ���4wwwk�U�, 46���J �cW�EQ��JF�|^�ujr ��Lݬ���v��_HK�m�}�|_�y�0܏�?�V��ħ��T�/�s��j��|��п]�M��u��$����'Q�{��pm�D��.��z`� ���j�Z�q5Jv8r�u��DZq�cƫ�4&��=�`(���%g?�u�1�l�Q�>"�%�p�hs�] Y��o�71 ��ƙ���mjY�E�%l�g=�|��5������w�2� ���Rn��d�Y4�+ ���ӈSXб�3q܆��!�$8���h��|�s��?����?LH �_КH � ����+X[ @ձ,�|�%y~� ���ܫ,2�?>(ҧ$J{U������p8���OӠa�t���+��|�������Y�#��QP�Tg8��FS����v2�0���_�+�Z��=�W'� N���%<��il_� ~��zJ�ٴ0KR�)�Ur��zF�4�-�__/�& �? ��[��K!���z X��;|׍I,w���O*��L6�/"m/��ҬH2�7�;�$�K��H���ȄXO��b-�/��m`N`�vM�E�U��'�B�8�(��4�Q��o�.� ����/6�=l$�� (%��/���t�$_%G�ps�6�Z&�8�#v3����9���v$��#I ث����>�C!�$ C�mn΅�Ë�AI�@=Oq�{oYS*ϔ���F�4w�� ��%��A3e�'Q��,l� |7+�� ��SK��x�l��+e�|����y-l��J�^�������Ur��s-U`�v]n�M0 �N.�=�~�VH���?�z�$�$' ��HQI���fW�`8��>�eqҨ$C$"B0�YH��|�d����3b�N:��ky��CnR� y_X�|'K�,l����xn�ߑv.~r�3��C.�`V����C"~6\i�2Ć9����'�Ю�S- �{�­����������axoO�F/Ά������O�}�}���?�ON�7�٧����˟O��?����v�yq����8�=�M�� ������q�<7ڇ�����ޟ5_�_~��^f�܂n�kuvۄ�Ib;#�AN ����t�<4%�q��,��ِi<�#��O~'�G�.��0w�����I�|1)X8�K/�w�q�VS�Fd꟣�DO�P�gX�<����' 6l��b����'�Cx|b|�@�ܝ�����@������� :Bx���|!��'�� A��O���M�O6���"æ�zVn�⻉v��U��ǣ�\�ع&^�p��=���8�Q�c ����yb��γ~�a��vE�Q�c����A�E{�[4�p�K�fK��-��i4dqw����\"�o��TO.����R�홸kG�3(����V<1:pq��ǜ �y\��q�2�=�ۭ7��$�NV���i�B�?�;�&� Kr��ې�S�#������R2�T��� N<Ҙ��4�4��}�R�����!����0S�U�Y��$9�\�"\�*U��Y+�e���kn�� N���-�x9fɂ N�E������î›��s����xϥ�#f���z�`$�#�Z�5��l"׆�Gp֮D��T��\��F�%�~�� �T�zf�5�q�r{I{٫Z�Li db~.��Cg�� a:�� ��B�=�?p�=����d�t��Ȳ�3��I^N"(mq`��ס#�A�$����b&�Ȼ��BPX�B�d�n�����fgG�����z��ff!�mDVĀr��Uf�)�����\zndc�[�������^�g��_�C�[!� ���l���"ٙ��dg��Oh��Ne��� �v�kR�T��M$��T����~�H�\c��-(U����9x֝�F�)Ⱆ��.-B��KNv��G�����;�z߽�;?ijz�p��ب�Q#]��3U��#t�^F-�*aF�\x+}���2����>sߧRݻ��*?M-n4RġBe�q�I< ]�������íP� �����8�H������u�W��'%Rt,���*����%Iv&���gK���U�X�u;�)3���@rP�&�{�e�d���Y|y����0�Q_:7�~�q��=.���ޚ0 ��� ����nk�"o>\J��N�~��~e��fUH��N�(#E��d��� �QR��,Ԗ7H3t���!��@[>-c�%EW���{�Jx��b�����x�r�����)+���K�}��2�eO��&MvM�f�7�n�ː��H��Cn2%fQTx� �_�}�{�����f�`�bO4���st��PDj��*�#;��ZJ�&�J�O��8cI�k.Ȓ5�:���o��ji[K����_ys]vg_���E'��>3M�V��k_�g�>�|�[]/��9B�� ��Z�W0*p�s7�% ��(�¾x�9� w�+]CU��F�� ��s���� j:�>�#���5 ���� #�q��ǵ�;� �V�b�c庂N����M���w�i��_�7��d��p��L����KQ ��*�I���֍��+^��Zŋ��4Q�\;O��fb���qN��|D�.���ƿ4�������ٮb��F�h�LH�Cю���@r}�zЀ?�!B�dĔ��J��"7�B�Kڏ��>�T��(�|���?Lʿ||S��pB���(��1t���-<2�:��4�� ���)� bER�� $���@�|�Q�n-J$f`U(N'���_��ϧ�I,_ƞx8��@��� g� T�@ ʊ���1����12t���b�;~��;L{�i����_���z��&T� �K�q���t����].��b�%����}x���9��Z��"�PnvQi�����F}f�GW����J����9O�����dL�@�o�e��t��9�xW�@� ��q�r.T�����5�� .��= ����T�Ҳ��^�4�E�k�Mnn�7��@8dW�+���?n�O�R��^�%k�yd�?N�z#���,HN�՛�¨XT5���u�k]K���a�m���Vɞ4�B�=��]0� 3��x~���}������t$ S\���K��"~r��u��q@��uIqr���J��9�^p��9��V���%b6�� �/��J_��O�� ���k���A��M��q2�۬���� O-45���1�]��mv��j[������sG�