Jonathan Moore
d8470aa45a
implementing review from @claudiosanches
2019-06-18 21:20:39 +01:00
Jonathan Moore
9e8debd7ba
Avoid attempting to cache expired sessions
...
get_session() attempts to cache a session even if it is already expired.
The code used passes negative expiry seconds to wp_cache_add if the session expired in the past:
wp_cache_add( $this->get_cache_prefix() . $customer_id, $value, WC_SESSION_CACHE_GROUP, $this->_session_expiration - time() );
Depending on the caching layers used this will give errors in the logs such as:
ERR invalid expire time in setex in /var/www/html/wp-content/plugins/redis-cache/includes/predis/src/Client.php:370
as reported on: https://wordpress.org/support/topic/error-when-trying-to-get-a-get-a-cache-not-available/
2019-06-03 22:11:46 +01:00
Mike Jolley
ccc5805632
Use secure and http cookies
2019-03-15 11:34:10 +00:00
Mike Jolley
203dba5a1f
After logging in, migrate session data
2019-03-12 16:36:15 +00:00
Mike Jolley
cab45fafb3
Merge pull request #22650 from woocommerce/update/20995
...
Registration success notices
2019-02-08 13:04:36 +00:00
Mike Jolley
c88a92144b
Only update session cookie if the value changes
2019-02-05 13:02:20 +00:00
Mike Jolley
eed91070b1
Allow notice to persist after customer ID change
2019-02-04 15:48:59 +00:00
John Blackbourn
71def7b5f0
Revert "Add support for clearing a session and associated cart contents when switching between accounts using the User Switching plugin. See #21989."
...
This reverts commit b0b36ae4b8
.
2018-11-21 18:50:59 +01:00
John Blackbourn
b0b36ae4b8
Add support for clearing a session and associated cart contents when switching between accounts using the User Switching plugin. See #21989 .
2018-11-20 18:58:42 +01:00
John Blackbourn
179aa0853d
Add a public method for forgetting a session without clearing it.
2018-11-20 18:58:14 +01:00
Rodrigo Primo
734a9370be
Change query to save session data
...
Use `INSERT ... ON DUPLICATE KEY UPDATE` instead of `REPLACE` in the query that saves session data. Doing this to prevent deadlocks in this table. For more information see https://github.com/woocommerce/woocommerce/issues/20912#issuecomment-420888726
2018-09-26 14:46:28 -03:00
Rodrigo Primo
3f82ecee8c
Remove unnecessary uses of @codingStandardsIgnoreLine
2018-07-31 16:10:51 -03:00
Claudio Sanches
8a31755b8c
Fixed includes/class-wc-session-handler.php PHPCS violations
2018-03-21 00:18:01 -03:00
Mike Jolley
42b1ab50c0
Ensure customer id is not empty in cookie
2018-01-23 13:36:53 +00:00
Mike Jolley
4eaf1afb88
Cleanup session callback.
2017-12-15 15:14:05 +00:00
Mike Jolley
15089fc432
Added init method and phpcs changes.
2017-12-15 15:13:24 +00:00
Boro Sitnikovski
6c29d886ca
Use protected instead of private methods to allow easy override
2017-12-04 15:10:35 +01:00
Mike Jolley
d3666738d8
Merge branch 'pr/15069'
2017-05-23 18:56:58 +01:00
Rasmus Bengtsson
185934fad9
Fix phpdoc to include params and correct types
2017-05-15 13:50:52 +02:00
Ninos Ego
89113cf6b2
Added filter for cookie name
2017-05-10 21:46:43 +02:00
Mike Jolley
bbf8e750ce
Tidy up includes
2017-02-16 11:46:01 +00:00
Aristeides Stathopoulos
0516e96843
PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket
2016-09-02 04:33:57 +03:00
Aristeides Stathopoulos
f2730eea02
WordPress.WhiteSpace.ControlStructureSpacing.BlankLineAfterEnd
2016-08-27 08:57:05 +03:00
Aristeides Stathopoulos
ec8a0b288b
PHPCS: WordPress.Arrays.ArrayDeclaration.NoCommaAfterLast
2016-08-27 05:08:49 +03:00
Aristeides Stathopoulos
b063bcfe4c
last item in a multiline-array should end in a comma
2016-08-27 04:46:45 +03:00
Mike Jolley
66c61eebc8
Define full path for includes
...
Closes #11087
2016-07-27 11:58:43 +01:00
Mike Jolley
874d2e3e0a
Check cookie is a string
2016-03-16 10:04:53 +00:00
Mike Jolley
32acec8477
Load session handler and abstract together
2016-03-10 09:31:25 +00:00
Gerhard Potgieter
62e19162e6
Use $wpdb->replace instead of doing a select and then deciding to do an update or insert. Fixes #10389
2016-02-23 14:48:48 +02:00
Mike Jolley
6c8709f4b5
Return false if cookie_hash is not set.
2016-01-18 10:34:06 +00:00
Mike Jolley
2714ec0aeb
Keep cookie/session alive after order.
...
@claudiosmweb this ok with you?
Closes #10045
2016-01-11 10:28:38 +00:00
Mike Jolley
b474dcb879
Use WC_Cache_Helper for session class prefixes
2015-11-13 23:12:44 +00:00
Mike Jolley
cb0e61bd4e
Set prefix_num first time
2015-11-05 15:21:06 +00:00
Claudio Sanches
ee30b5b308
Fixed php docs standards
2015-11-03 11:31:20 -02:00
Mike Jolley
12fe4e7a52
Use delimiter in hashing function
2015-10-23 12:02:29 +01:00
Mike Jolley
b81fc128ac
Use hash_equals when comparing hashes
...
PHP 5.6+ but WP has a fallback inside.
2015-10-23 12:00:56 +01:00
Claudio Sanches
1889c66061
Fixed coding standards
2015-10-07 10:58:13 -03:00
Mike Jolley
b27635409c
New Session Handler
...
This merges and adapts
https://github.com/kloon/woocommerce-large-sessions for core. Closes
#6846 .
Differences:
- Rather than delete each cache key individually, this invalidates all
at once (idea from https://core.trac.wordpress.org/ticket/4476 )
- Removes ‘replace’ which increments session_id keys unnecessarily.
- Fixes remove/restore cart sessions from making it dirty each page load
Kudos to @kloon for the bulk of the work and testing on Woo.com.
cc @claudiosmweb
2015-10-07 14:47:29 +01:00
Mike Jolley
3b45c0d46f
Set nonce_user_logged_out to WC session ID, if set
...
Closes #9
2015-06-01 13:36:07 +01:00
Mike Jolley
9f269f765d
Load persistent cart when empty, and Prevent cart being cleared when accessing the login page.
...
Closes #7636
2015-03-06 12:02:02 +00:00
James Golovich
44d2552798
Mark session clean after commiting data
...
If someone is calling save_data() manually in addition to WooCommerce calling it the data is saved twice regardless of
any new data.
2015-02-20 23:55:24 -08:00
Mike Jolley
5695f514ed
get_session_data() check to see if user has session before getting option
...
Closes #7185
2015-01-23 11:14:30 +00:00
Mike Jolley
e8d47748ea
Session handler doc blocks
2015-01-23 11:14:30 +00:00
Ross McKay
648040d458
Don't return option_value from cleanup_sessions() query, no longer required
2014-12-09 08:16:40 +11:00
Ross McKay
d37d58d19f
Escape `_` in LIKE to allow index search
...
Also filters for expired sessions in DB, not PHP.
Fixes #6916
2014-12-09 08:07:12 +11:00
Ross McKay
ee0cbb27c6
only delete sessions from object cache if using persistent object cache
2014-12-08 09:04:55 +11:00
Ross McKay
95a25d3023
Delete cached sessions when clearing expired sessions
...
Fixes #6907
2014-12-06 18:43:56 +11:00
shivapoudel
2200a3ae2e
Absolute path fix for class-wc-session-handler.php
2014-09-21 00:44:26 +05:45
Mike Jolley
6323f1c5c2
Stronger session ID generation
2014-05-20 11:08:31 +01:00
Mike Jolley
41eab15b13
Clear sessions after ordering/on logout
2014-05-20 10:01:26 +01:00