Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
woocommerce-paypal-payments
/
modules
/
ppcp-webhooks
/
src
:
WebhookEventStorage.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Stores the info about webhook events. * * @package WooCommerce\PayPalCommerce\Webhooks */ declare(strict_types=1); namespace WooCommerce\PayPalCommerce\Webhooks; use WooCommerce\PayPalCommerce\ApiClient\Entity\WebhookEvent; /** * Class WebhookEventStorage */ class WebhookEventStorage { /** * The WP option key. * * @var string */ private $key; /** * WebhookInfoStorage constructor. * * @param string $key The WP option key. */ public function __construct( string $key ) { $this->key = $key; } /** * Saves the info about webhook event. * * @param WebhookEvent $webhook_event The webhook event to save. */ public function save( WebhookEvent $webhook_event ): void { $data = array( 'id' => $webhook_event->id(), 'received_time' => time(), ); update_option( $this->key, $data ); } /** * Returns the stored data or null. */ public function get_data(): ?array { $data = get_option( $this->key ); if ( ! $data || ! is_array( $data ) ) { return null; } return $data; } /** * Checks if there is any stored data. */ public function is_empty(): bool { $data = get_option( $this->key ); return ! $data || ! is_array( $data ); } /** * Removes the stored data. */ public function clear(): void { delete_option( $this->key ); } }