Current Path: > home > codekrsu > > cuddlebuds.lk > wp-content > plugins > woocommerce > src > > StoreApi
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Exceptions | Directory | - | - | |
Formatters | Directory | - | - | |
Payments | Directory | - | - | |
Routes | Directory | - | - | |
Schemas | Directory | - | - | |
Utilities | Directory | - | - | |
Authentication.php | File | 12093 bytes | June 23 2025 19:46:28. | |
Formatters.php | File | 1239 bytes | December 27 2023 00:45:02. | |
Legacy.php | File | 3161 bytes | January 21 2025 18:53:44. | |
RoutesController.php | File | 6352 bytes | May 12 2025 21:07:28. | |
SchemaController.php | File | 3315 bytes | May 12 2025 21:07:28. | |
SessionHandler.php | File | 2661 bytes | June 23 2025 19:46:28. | |
StoreApi.php | File | 3332 bytes | April 22 2025 15:40:34. | |
banner_manager | File | 9781 bytes | December 27 2023 00:45:02. | |
deprecated.php | File | 8159 bytes | December 27 2023 00:45:02. | |
functions.php | File | 2766 bytes | December 27 2023 00:45:02. |
<?php declare(strict_types=1); namespace Automattic\WooCommerce\StoreApi; use Automattic\Jetpack\Constants; use Automattic\WooCommerce\StoreApi\Utilities\CartTokenUtils; use WC_Session; defined( 'ABSPATH' ) || exit; /** * SessionHandler class */ final class SessionHandler extends WC_Session { /** * Token from HTTP headers. * * @var string */ protected $token; /** * Table name for session data. * * @var string Custom session table name */ protected $table; /** * Expiration timestamp. * * @var int */ protected $session_expiration; /** * Constructor for the session class. */ public function __construct() { $this->token = wc_clean( wp_unslash( $_SERVER['HTTP_CART_TOKEN'] ?? '' ) ); $this->table = $GLOBALS['wpdb']->prefix . 'woocommerce_sessions'; } /** * Init hooks and session data. */ public function init() { $this->init_session_from_token(); add_action( 'shutdown', array( $this, 'save_data' ), 20 ); } /** * Process the token header to load the correct session. */ protected function init_session_from_token() { $payload = CartTokenUtils::get_cart_token_payload( $this->token ); $this->_customer_id = $payload['user_id']; $this->session_expiration = $payload['exp']; $this->_data = (array) $this->get_session( $this->_customer_id, array() ); } /** * Returns the session. * * @param string $customer_id Customer ID. * @param mixed $default_value Default session value. * * @return string|array|bool */ public function get_session( $customer_id, $default_value = false ) { global $wpdb; // This mimics behaviour from default WC_Session_Handler class. There will be no sessions retrieved while WP setup is due. if ( Constants::is_defined( 'WP_SETUP_CONFIG' ) ) { return false; } $value = $wpdb->get_var( $wpdb->prepare( 'SELECT session_value FROM %i WHERE session_key = %s', $this->table, $customer_id ) ); if ( is_null( $value ) ) { $value = $default_value; } return maybe_unserialize( $value ); } /** * Save data and delete user session. */ public function save_data() { // Dirty if something changed - prevents saving nothing new. if ( $this->_dirty ) { global $wpdb; $wpdb->query( $wpdb->prepare( 'INSERT INTO %i (`session_key`, `session_value`, `session_expiry`) VALUES (%s, %s, %d) ON DUPLICATE KEY UPDATE `session_value` = VALUES(`session_value`), `session_expiry` = VALUES(`session_expiry`)', $this->table, $this->_customer_id, maybe_serialize( $this->_data ), $this->session_expiration ) ); $this->_dirty = false; } } }
SILENT KILLER Tool