*/ private const ALLOWED_PERIODS = array('today', '7d', '30d', '90d'); /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } /** * Get the start date, end date, and grouping interval for a period. * * @param string $period The period identifier. * * @return array{start_at: string, end_at: string, interval: string} */ private function get_date_range(string $period): array { } } /** * Get store/account information. */ class GetStoreInfo extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Get a single subscription with details. */ class GetSubscription extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Get the rule-based filter schema for subscriptions. */ class GetSubscriptionsFilterSchema extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } /** * List abandoned checkouts with filters. */ class ListAbandonedCheckouts extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * Notification status values accepted by the abandoned_checkouts API. * * @return string[] */ private function get_allowed_notification_statuses(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } /** * List coupons with filters. */ class ListCoupons extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List customers with filters. */ class ListCustomers extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List fulfillments with filters. */ class ListFulfillments extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List licenses. */ class ListLicenses extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List orders with filters. */ class ListOrders extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * Status values accepted for the orders list filter (matches SureCart order model / admin). * * @return string[] */ private function get_allowed_order_statuses(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } /** * List prices with filters. */ class ListPrices extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List products with filters. */ class ListProducts extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List active promotions. */ class ListPromotions extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List refunds. */ class ListRefunds extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * List subscriptions with filters. */ class ListSubscriptions extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Update an existing coupon. */ class UpdateCoupon extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Update an existing customer. */ class UpdateCustomer extends \SureCart\Abilities\Abilities\AbstractAbility { use \SureCart\Abilities\Concerns\MapsGenericAddress; /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Update an existing fulfillment. */ class UpdateFulfillment extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Update an existing invoice. */ class UpdateInvoice extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } /** * Update an existing price. */ class UpdatePrice extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } /** * Update an existing product. */ class UpdateProduct extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } /** * Update an existing promotion. */ class UpdatePromotion extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} */ public function execute(array $input) { } } /** * Update a subscription's renewal date. */ class UpdateSubscriptionRenewalDate extends \SureCart\Abilities\Abilities\AbstractAbility { /** * {@inheritDoc} */ public function get_name(): string { } /** * {@inheritDoc} */ public function get_label(): string { } /** * {@inheritDoc} */ public function get_description(): string { } /** * {@inheritDoc} */ public function get_annotations(): array { } /** * {@inheritDoc} */ public function get_instructions(): string { } /** * {@inheritDoc} */ public function check_permission(): bool { } /** * {@inheritDoc} */ public function get_input_schema(): array { } /** * {@inheritDoc} */ public function get_output_schema(): array { } /** * {@inheritDoc} * * @param array $input The input data. */ public function execute(array $input) { } } } namespace SureCartCore\ServiceProviders { /** * Interface that service providers must implement */ interface ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container); /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container); } } namespace SureCart\Abilities { /** * Service provider for WordPress 6.9+ Abilities API integration. */ class AbilitiesServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * Registers the ability category and all SureCart abilities. */ class AbilityRegistrar { /** * MCP settings for filtering abilities. * * @var array */ private $settings = array('edit_enabled' => true, 'delete_enabled' => true); /** * Set the MCP toggle settings. * * @param array $settings The settings array with 'edit_enabled' and 'delete_enabled' keys. * @return void */ public function set_settings(array $settings) { } /** * Register the SureCart e-commerce ability category. * * @return void */ public function register_category() { } /** * Register all SureCart abilities. * * @return void */ public function register_abilities() { } /** * Check if an ability should be registered based on the current settings. * * @param \SureCart\Abilities\Abilities\AbstractAbility $ability The ability to check. * @return bool */ private function should_register_ability($ability): bool { } /** * Get all ability instances. * * @return \SureCart\Abilities\Abilities\AbstractAbility[] */ public function get_abilities(): array { } } } namespace SureCart\Account { /** * Service for plugin activation. */ class AccountService { /** * Holds the global account model. * * @var \SureCart\Models\Account; */ protected $account = null; /** * The key for the cache. * * @var string */ protected $cache_key = 'surecart_account'; /** * The application instance. * * @var \SureCart\Application\Application */ protected $app = null; /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Seed the account with products and collections. * * @param array $products The products to seed. * * @return \SureCart\Models\Import|\WP_Error */ public function seed($products = []) { } /** * We get the account when the service is loaded. * Since this is loaded in a service container, its * cached so it only fetches once, no matter how many calls. * * This is also cached in a 60 second transient to prevent * rate limited calls to the API. * * @param \SureCart\Support\Server $server The server utility to use. * @param \SureCartCore\Application\Application $app The application instance. * * @return void */ public function __construct(\SureCart\Support\Server $server, \SureCartCore\Application\Application $app) { } /** * Fetch the cached account. * * @return \SureCart\Models\Account|\WP_Error|null */ public function fetchCachedAccount() { } /** * Fetch the account. * * @return \SureCart\Models\Account */ protected function fetchAccount() { } /** * Clear account cache. * * @return boolean */ public function clearCache() { } /** * Is the account connected? * * @return boolean */ public function isConnected() { } /** * Get the account model attribute * * @param string $attribute Attribute name. * @return mixed */ public function __get($attribute) { } /** * Convert an associative array back to an Account model. * * @param array $data Associative array. * @return \SureCart\Models\Account|null */ public function convertArrayToAccount($data) { } } /** * Provide users dependencies. */ class AccountServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * Service for seeding provisional accounts with products and collections. */ class ProvisionalAccountSeedService { /** * Seed the account with products and collections. * * @param array $products The products to seed. * * @return \SureCart\Models\Import|\WP_Error */ public function seed($products = []) { } /** * Extract collections from products and add collection slugs directly to products. * * @param array $products The products array. * * @return array Array with two elements: [0] collections array, [1] products array. */ public function extractCollections($products) { } } } namespace SureCart\Activation { /** * Service for plugin activation. */ class ActivationService { /** * Holds the roles service. * * @var \SureCart\Permissions\RolesService */ protected $roles = null; /** * Holds the roles service. * * @var \SureCart\WordPress\Pages\PageSeeder */ protected $seeder = null; /** * Holds the salt service. * * @var \SureCart\Permissions\SureCartSaltService */ protected $salt = null; /** * Get dependencies for this service. * * @param \SureCart\Permissions\RolesService $roles Roles service. * @param \SureCart\WordPress\Pages\PageSeeder $seeder Seeder service. * @param \SureCart\Permissions\SureCartSaltService $salt Salt service. */ public function __construct(\SureCart\Permissions\RolesService $roles, \SureCart\WordPress\Pages\PageSeeder $seeder, \SureCart\Permissions\SureCartSaltService $salt) { } /** * Bootstrap. * * @return void */ public function bootstrap() { } /** * Create roles on plugin activation. * * @return void */ public function activate() { } /** * On deactivation logic. * * @return void */ public function deactivate() { } /** * Remove roles and all data. * * @return void */ public function uninstall() { } /** * Remove all tables. * * @return void */ public function removeTables() { } /** * Remove all posts from our post type. * * @return void */ public function removeFormPosts() { } /** * Remove all our options from the options table. * * @return void */ public function removeOptions() { } } /** * Provide users dependencies. */ class ActivationServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * Service for plugin deactivation survey form. */ class DeactivationSurveyForm { /** * Feedback URL. * * @var string */ private $feedback_api_endpoint = 'api/plugin-deactivate'; /** * Bootstrap. * * @return void */ public function bootstrap() { } /** * Render feedback HTML on plugins.php admin page only. * * This function renders the feedback form HTML on the plugins.php admin page. * It takes an optional string parameter $id for the form wrapper ID and an optional array parameter $args for customizing the form. * * @since 1.1.6 * @return void */ public function showFeedbackForm() { } /** * Load form styles. * * This function loads the necessary styles for the feedback form. * * @since 1.1.6 * @return void */ public function loadFormStyles() { } /** * Sends plugin deactivation feedback to the server. * * This function checks the user's permission and verifies the nonce for the request. * If the checks pass, it sends the feedback data to the server for processing. * * @return void */ public function sendPluginDeactivateFeedback() { } /** * Get the array of default reasons. * * @return array Default reasons. */ public function getDefaultReasons() { } /** * Check if the current screen is allowed for the survey. * * This function checks if the current screen is one of the allowed screens for displaying the survey. * It uses the `get_current_screen` function to get the current screen information and compares it with the list of allowed screens. * * The function is accurate for identifying the main plugins screen, but doesn't account for: * - Network admin plugins screen (plugins.php in multisite) * - AJAX requests that might be triggered from the plugins screen * - Early admin page loads where get_current_screen() might not be available yet * * @return bool True if the current screen is allowed, false otherwise. */ public function isPluginsScreen() { } /** * Get API URL for sending analytics. * * @return string API URL. */ public function getApiUrl() { } } } namespace SureCart\Background { /** * Abstract WP_Async_Request class. * * @abstract */ abstract class AsyncRequest { /** * Prefix * * (default value: 'wp') * * @var string * @access protected */ protected $prefix = 'wp'; /** * Action * * (default value: 'async_request') * * @var string * @access protected */ protected $action = 'async_request'; /** * Identifier * * @var mixed * @access protected */ protected $identifier; /** * Data * * (default value: array()) * * @var array * @access protected */ protected $data = array(); /** * Initiate new async request. */ public function __construct() { } /** * Set data used during the request. * * @param array $data Data. * * @return $this */ public function data($data) { } /** * Dispatch the async request. * * @return array|WP_Error|false HTTP Response array, WP_Error on failure, or false if not attempted. */ public function dispatch() { } /** * Get query args. * * @return array */ protected function get_query_args() { } /** * Get query URL. * * @return string */ protected function get_query_url() { } /** * Get post args. * * @return array */ protected function get_post_args() { } /** * Maybe handle a dispatched request. * * Check for correct nonce and pass to handler. * * @return void|mixed */ public function maybe_handle() { } /** * Should the process exit with wp_die? * * @param mixed $return What to return if filter says don't die, default is null. * * @return void|mixed */ protected function maybe_wp_die($return = null) { } /** * Handle a dispatched request. * * Override this method to perform any actions required * during the async request. */ abstract protected function handle(); } /** * SureCart Queue * * A job queue using WordPress actions. */ class AsyncWebhookService extends \SureCart\Background\AsyncRequest { /** * Map object names to their models. * * @var array */ protected $models = ['charge' => \SureCart\Models\Charge::class, 'coupon' => \SureCart\Models\Coupon::class, 'customer' => \SureCart\Models\Customer::class, 'purchase' => \SureCart\Models\Purchase::class, 'price' => \SureCart\Models\Price::class, 'product' => \SureCart\Models\Product::class, 'period' => \SureCart\Models\Period::class, 'order' => \SureCart\Models\Order::class, 'refund' => \SureCart\Models\Refund::class, 'dispute' => \SureCart\Models\Dispute::class, 'subscription' => \SureCart\Models\Subscription::class, 'invoice' => \SureCart\Models\Invoice::class, 'account' => \SureCart\Models\Account::class, 'webhook_endpoint' => \SureCart\Models\Webhook::class]; /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Enqueue an action to run one time, as soon as possible * * @var string */ protected $prefix = 'surecart'; /** * Action for ajax hooks. * * @var string */ protected $action = 'async_webhook'; /** * Handle a dispatched request. * * @param integer $id The webhook process id. * @return void * @throws \Exception If no id is specified. */ public function handle($id = 0) { } /** * Replace our dot notation webhook with underscore. * * @param string $type The event type. * @return string */ public function createEventName($type = '') { } } /** * Abstract WP_Background_Process class. * * @abstract * @extends WP_Async_Request */ abstract class BackgroundProcess extends \SureCart\Background\AsyncRequest { /** * Action * * (default value: 'background_process') * * @var string * @access protected */ protected $action = 'background_process'; /** * Start time of current process. * * (default value: 0) * * @var int * @access protected */ protected $start_time = 0; /** * Cron_hook_identifier * * @var string * @access protected */ protected $cron_hook_identifier; /** * Cron_interval_identifier * * @var string * @access protected */ protected $cron_interval_identifier; /** * Restrict object instantiation when using unserialize. * * @var bool|array */ protected $allowed_batch_data_classes = true; /** * The status set when process is cancelling. * * @var int */ const STATUS_CANCELLED = 1; /** * The status set when process is paused or pausing. * * @var int; */ const STATUS_PAUSED = 2; /** * Initiate new background process. * * @param bool|array $allowed_batch_data_classes Optional. Array of class names that can be unserialized. Default true (any class). */ public function __construct($allowed_batch_data_classes = true) { } /** * Schedule the cron healthcheck and dispatch an async request to start processing the queue. * * @access public * @return array|WP_Error|false HTTP Response array, WP_Error on failure, or false if not attempted. */ public function dispatch() { } /** * Push to the queue. * * Note, save must be called in order to persist queued items to a batch for processing. * * @param mixed $data Data. * * @return $this */ public function push_to_queue($data) { } /** * Save the queued items for future processing. * * @return $this */ public function save() { } /** * Update a batch's queued items. * * @param string $key Key. * @param array $data Data. * * @return $this */ public function update($key, $data) { } /** * Delete a batch of queued items. * * @param string $key Key. * * @return $this */ public function delete($key) { } /** * Delete entire job queue. */ public function delete_all() { } /** * Cancel job on next batch. */ public function cancel() { } /** * Has the process been cancelled? * * @return bool */ public function is_cancelled() { } /** * Called when background process has been cancelled. */ protected function cancelled() { } /** * Pause job on next batch. */ public function pause() { } /** * Is the job paused? * * @return bool */ public function is_paused() { } /** * Called when background process has been paused. */ protected function paused() { } /** * Resume job. */ public function resume() { } /** * Called when background process has been resumed. */ protected function resumed() { } /** * Is queued? * * @return bool */ public function is_queued() { } /** * Is the tool currently active, e.g. starting, working, paused or cleaning up? * * @return bool */ public function is_active() { } /** * Generate key for a batch. * * Generates a unique key based on microtime. Queue items are * given a unique key so that they can be merged upon save. * * @param int $length Optional max length to trim key to, defaults to 64 characters. * @param string $key Optional string to append to identifier before hash, defaults to "batch". * * @return string */ protected function generate_key($length = 64, $key = 'batch') { } /** * Get the status key. * * @return string */ protected function get_status_key() { } /** * Maybe process a batch of queued items. * * Checks whether data exists within the queue and that * the process is not already running. */ public function maybe_handle() { } /** * Is queue empty? * * @return bool */ protected function is_queue_empty() { } /** * Is process running? * * Check whether the current process is already running * in a background process. * * @return bool * * @deprecated 1.1.0 Superseded. * @see is_processing() */ protected function is_process_running() { } /** * Is the background process currently running? * * @return bool */ public function is_processing() { } /** * Lock process. * * Lock the process so that multiple instances can't run simultaneously. * Override if applicable, but the duration should be greater than that * defined in the time_exceeded() method. */ protected function lock_process() { } /** * Unlock process. * * Unlock the process so that other instances can spawn. * * @return $this */ protected function unlock_process() { } /** * Get batch. * * @return stdClass Return the first batch of queued items. */ protected function get_batch() { } /** * Get batches. * * @param int $limit Number of batches to return, defaults to all. * * @return array of stdClass */ public function get_batches($limit = 0) { } /** * Handle a dispatched request. * * Pass each queue item to the task handler, while remaining * within server memory and time limit constraints. */ protected function handle() { } /** * Memory exceeded? * * Ensures the batch process never exceeds 90% * of the maximum WordPress memory. * * @return bool */ protected function memory_exceeded() { } /** * Get memory limit in bytes. * * @return int */ protected function get_memory_limit() { } /** * Time limit exceeded? * * Ensures the batch never exceeds a sensible time limit. * A timeout limit of 30s is common on shared hosting. * * @return bool */ protected function time_exceeded() { } /** * Complete processing. * * Override if applicable, but ensure that the below actions are * performed, or, call parent::complete(). */ protected function complete() { } /** * Called when background process has completed. */ protected function completed() { } /** * Get the cron healthcheck interval in minutes. * * Default is 5 minutes, minimum is 1 minute. * * @return int */ public function get_cron_interval() { } /** * Schedule the cron healthcheck job. * * @access public * * @param mixed $schedules Schedules. * * @return mixed */ public function schedule_cron_healthcheck($schedules) { } /** * Handle cron healthcheck event. * * Restart the background process if not already running * and data exists in the queue. */ public function handle_cron_healthcheck() { } /** * Schedule the cron healthcheck event. */ protected function schedule_event() { } /** * Clear scheduled cron healthcheck event. */ protected function clear_scheduled_event() { } /** * Cancel the background process. * * Stop processing queue items, clear cron job and delete batch. * * @deprecated 1.1.0 Superseded. * @see cancel() */ public function cancel_process() { } /** * Perform task with queued item. * * Override this method to perform any actions required on each * queue item. Return the modified item for further processing * in the next pass through. Or, return false to remove the * item from the queue. * * @param mixed $item Queue item to iterate over. * * @return mixed */ abstract protected function task($item); /** * Maybe unserialize data, but not if an object. * * @param mixed $data Data to be unserialized. * @param bool|array $allowed_classes Array of class names that can be unserialized. * * @return mixed */ protected static function maybe_unserialize($data, $allowed_classes) { } } /** * WordPress Users service. */ class BackgroundServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * Handled the business logic for Bulk Actions. */ class BulkActionService { /** * The cookie prefix. * * @var string */ public $cookie_prefix = 'sc_bulk_action_'; /** * The bulk actions data. * * @var array */ public $bulk_actions_data = []; /** * The bulk actions. * * @var array */ public $bulk_actions = []; /** * The bulk action statuses. * * @var array */ public $statuses = array('succeeded', 'processing', 'pending', 'invalid', 'completed'); /** * Bootstrap any actions. * * @return void */ public function bootstrap() { } /** * Get the active bulk actions. * * @return array */ protected function getBulkActionsToCheck() { } /** * Do we have processing bulk actions? * * @return boolean */ protected function hasBulkActionsToCheck() { } /** * Check if the model has a pending action. * * @param \SureCart\Models\Model $model The model. * @param string $name The action name. * * @return boolean */ public function modelHasPendingAction($model, $name = 'delete_products') { } /** * Group the bulk actions data by action type and status. * * @return array */ public function groupedBulkActions() { } /** * Get the completed bulk actions. * * @return array */ public function getCompletedBulkActions() { } /** * Delete succeeded bulk actions from the cookie. * * @return void */ public function deleteCompletedBulkActions() { } /** * Show the bulk action admin notice. * * @param string $action_type The action type. * * @return void */ public function showBulkActionAdminNotice($action_type = null) { } /** * Create a bulk action. * * This creates a bulk action and stores the id in * a cookie so it can be checked later. * * @param string $action_type The action type. * @param array $record_ids The record ids. * * @return void */ public function createBulkAction($action_type, $record_ids) { } /** * Get the record ids for a specific action type and status. * * @param string $action_type The action type. * @param string $status The status. * * @return array */ public function getRecordIds($action_type, $status) { } } /** * Abstract Job class. * * @abstract * @extends BackgroundProcess */ abstract class Job extends \SureCart\Background\BackgroundProcess { /** * The next background process in the chain. * * @var BackgroundProcess */ protected $next = null; /** * The task. * * @var \SureCart\Sync\Tasks\Task */ protected $task; /** * Constructor. * * @param \SureCart\Sync\Tasks\Task $task The task. */ public function __construct($task) { } /** * Bootstrap the background process. * * @return void */ public function bootstrap() { } /** * Job complete. * * @return void */ protected function complete() { } /** * Set the next background process in the chain. * * @param BackgroundProcess $next The next background process. * * @return $this */ public function setNext($next) { } /** * Get the task. * * @return \SureCart\Sync\Tasks\Task */ public function getTask() { } /** * Is running. * * @return boolean */ public function isRunning() { } } /** * SureCart Queue * * A job queue using WordPress actions. */ class QueueService { /** * Enqueue an action to run one time, as soon as possible * * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique If true, ensure this action is not already scheduled. * * @return string $this. */ public function async($hook, $args = array(), $group = '', $unique = false) { } /** * Schedule an action to run once at some time in the future * * @param int $timestamp When the job will run. * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @return string $this. */ public function scheduleSingle($timestamp, $hook, $args = array(), $group = '') { } /** * Schedule a recurring action * * @param int $timestamp When the first instance of the job will run. * @param int $interval_in_seconds How long to wait between runs. * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @return string $this. */ public function scheduleRecurring($timestamp, $interval_in_seconds, $hook, $args = array(), $group = '') { } /** * Schedule an action that recurs on a cron-like schedule. * * @param int $timestamp The schedule will start on or after this time. * @param string $cron_schedule A cron-link schedule string. * @see http://en.wikipedia.org/wiki/Cron * * * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ * | | | | | | * | | | | | + year [optional] * | | | | +----- day of week (0 - 7) (Sunday=0 or 7) * | | | +---------- month (1 - 12) * | | +--------------- day of month (1 - 31) * | +-------------------- hour (0 - 23) * +------------------------- min (0 - 59) * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @return string $this */ public function scheduleCron($timestamp, $cron_schedule, $hook, $args = array(), $group = '') { } /** * Dequeue the next scheduled instance of an action with a matching hook (and optionally matching args and group). * * Any recurring actions with a matching hook should also be cancelled, not just the next scheduled action. * * While technically only the next instance of a recurring or cron action is unscheduled by this method, that will also * prevent all future instances of that recurring or cron action from being run. Recurring and cron actions are scheduled * in a sequence instead of all being scheduled at once. Each successive occurrence of a recurring action is scheduled * only after the former action is run. As the next instance is never run, because it's unscheduled by this function, * then the following instance will never be scheduled (or exist), which is effectively the same as being unscheduled * by this method also. * * @param string $hook The hook that the job will trigger. * @param array $args Args that would have been passed to the job. * @param string $group The group the job is assigned to (if any). */ public function cancel($hook, $args = array(), $group = '') { } /** * Dequeue all actions with a matching hook (and optionally matching args and group) so no matching actions are ever run. * * @param string $hook The hook that the job will trigger. * @param array $args Args that would have been passed to the job. * @param string $group The group the job is assigned to (if any). */ public function cancelAll($hook, $args = array(), $group = '') { } /** * Get the date and time for the next scheduled occurrence of an action with a given hook * (an optionally that matches certain args and group), if any. * * @param string $hook The hook that the job will trigger. * @param array $args Filter to a hook with matching args that will be passed to the job when it runs. * @param string $group Filter to only actions assigned to a specific group. * @return DateTime|null The date and time for the next occurrence, or null if there is no pending, scheduled action for the given hook. */ public function getNext($hook, $args = null, $group = '') { } /** * Get the date and time for the next scheduled occurrence of an action with a given hook * (an optionally that matches certain args and group), if any. * * @param string $hook The hook that the job will trigger. * @param array $args Filter to a hook with matching args that will be passed to the job when it runs. * @param string $group Filter to only actions assigned to a specific group. * @return DateTime|null The date and time for the next occurrence, or null if there is no pending, scheduled action for the given hook. */ public function getNextDate($hook, $args = null, $group = '') { } /** * Check if there is a scheduled action in the queue but more efficiently than as_next_scheduled_action(). * * It's recommended to use this function when you need to know whether a specific action is currently scheduled * (pending or in-progress). * * @since 3.3.0 * * @param string $hook The hook of the action. * @param array $args Args that have been passed to the action. Null will matches any args. * @param string $group The group the job is assigned to. * * @return bool True if a matching action is pending or in-progress, false otherwise. */ public function isScheduled($hook, $args = null, $group = '') { } /** * Shold we show a migration notice? * * @param string $hook The hook that the job will trigger. * @param array $args Args that have been passed to the action. Null will matches any args. * @param string $group The group the job is assigned to. * * @return bool */ public function showNotice($hook, $args = null, $group = '') { } /** * Check if there are any failed actions for a given hook and group. * * @param string $hook The hook that the job will trigger. * @param string $group The group the job is assigned to (if any). * @return bool True if there are any failed actions, false otherwise. */ public function hasFailedActions($hook, $group = '') { } /** * Find scheduled actions * * @param array $args Possible arguments, with their default values: * 'hook' => '' - the name of the action that will be triggered * 'args' => null - the args array that will be passed with the action * 'date' => null - the scheduled date of the action. Expects a DateTime object, a unix timestamp, or a string that can parsed with strtotime(). Used in UTC timezone. * 'date_compare' => '<=' - operator for testing "date". accepted values are '!=', '>', '>=', '<', '<=', '=' * 'modified' => null - the date the action was last updated. Expects a DateTime object, a unix timestamp, or a string that can parsed with strtotime(). Used in UTC timezone. * 'modified_compare' => '<=' - operator for testing "modified". accepted values are '!=', '>', '>=', '<', '<=', '=' * 'group' => '' - the group the action belongs to * 'status' => '' - ActionScheduler_Store::STATUS_COMPLETE or ActionScheduler_Store::STATUS_PENDING * 'claimed' => null - TRUE to find claimed actions, FALSE to find unclaimed actions, a string to find a specific claim ID * 'per_page' => 5 - Number of results to return * 'offset' => 0 * 'orderby' => 'date' - accepted values are 'hook', 'group', 'modified', or 'date' * 'order' => 'ASC'. * * @param string $return_format OBJECT, ARRAY_A, or ids. * @return array */ public function search($args = array(), $return_format = OBJECT) { } /** * Start running the queue immediately. * * @return void */ public function run() { } } } namespace SureCart\BlockLibrary { /** * Provide anchor support for blocks. */ class BlockAnchorSupportService { /** * Register anchor support * * @param WP_Block_Type $block_type Block Type. * * @return void */ public function registerAnchorSupport($block_type) { } /** * Add the anchor to the output. * * @param WP_Block_Type $block_type Block Type. * @param array $block_attributes Block attributes. * * @return array Block CSS classes and inline styles. */ public function applyAnchorSupport($block_type, $block_attributes) { } /** * Register block support. * * @return void */ public function bootstrap() { } } /** * Provide anchor support for blocks. */ class BlockCurrencyConversionSupportService { /** * Register block support. * * @return void */ public function bootstrap() { } /** * Apply the currency conversion support. * * @param string $pre_render Pre-render content. * @param array $parsed_block Parsed block. * * @return string */ public function applySupport($pre_render, $parsed_block) { } } /** * Provide general block-related functionality. */ class BlockPatternsService { /** * Block patterns to register. * * @var array */ protected $patterns = []; /** * Block patterns categories to register. * * @var array */ protected $categories = []; /** * Set categories and patterns. */ public function __construct() { } /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Register block patterns and */ public function registerPatternsAndCategories() { } /** * Register block pattern categories. * * @return void */ public function registerCategories() { } /** * Register our block patterns. * * @return void */ public function registerPatterns() { } } /** * Provide general block-related functionality. */ class BlockService { /** * View engine. * * @var Application */ protected $app = null; /** * Constructor. * * @param Application $app Application Instance. */ public function __construct(\SureCartCore\Application\Application $app) { } /** * Render a block using a template * * @param string|string[] $views A view or array of views. * @param array $context Context to send. * @return string View html output. */ public function render($views, $context = array()) { } /** * Find all blocks and nested blocks by name. * * @param string $type Block item to filter by. * @param string $name Block name. * @param array $blocks Array of blocks. * @return array */ public function filterBy($type, $name, $blocks) { } /** * Get the block styles service. * * @return BlockStylesService */ public function styles() { } /** * Get url params service. * * @param string $type Block type. * @param string $instance_id Unique instance ID. * * @return URLParamService */ public function urlParams($type = '') { } /** * Get product list migration service. * * @param array $attributes Attributes. * * @return ProductListMigrationService */ public function productListMigration($attributes = array(), $block = null) { } /** * Get product list filter tags migration service. * * @return ProductListFilterTagsMigrationService */ public function productListFilterTagsMigration() { } /** * Get cart migration service. * * @param array $attributes Attributes. * * @return CartMigrationService */ public function cartMigration($attributes = [], $block = null) { } /** * Get cart menu icon migration service. * * @param array $attributes Attributes. * * @return CartMenuIconMigrationService */ public function cartMenuIconMigration($attributes = [], $block = null) { } /** * Get the product list service. * * @return ProductListService */ public function productList($block) { } /** * Get the product price migration service. * * @param array $attributes Attributes. * @param object $block Block. * * @return ProductSelectedPriceMigrationService */ public function productSelectedPriceMigration($attributes = array(), $block = null) { } /** * Get the product collection badges migration service. * * @param array $attributes Attributes. * @param object $block Block. * * @return ProductCollectionBadgesMigrationService */ public function productCollectionBadgesMigration($attributes = array(), $block = null) { } /** * Get the product price choices migration service. * * @param array $attributes Attributes. * @param object $block Block. * * @return ProductPriceChoicesMigrationService */ public function productPriceChoicesMigration($attributes = array(), $block = null) { } /** * Get the product variant migration service. * * @param array $attributes Attributes. * @param object $block Block. * * @return ProductVariantsMigrationService */ public function productVariantsMigration($attributes = array(), $block = null) { } /** * Get the product page blocks migration service. * * @param object $block Block. * @param string $old_block_name Old block name. * * @return ProductPageBlocksMigrationService */ public function productPageBlocksMigration($block, $old_block_name) { } /** * Block anchor support service. * * @return BlockAnchorSupportService */ public function anchorSupport() { } /** * Get the product quick view service. * * @return ProductQuickViewService */ public function quickView() { } /** * Get the product review form service. * * @return ProductReviewFormService */ public function reviewForm() { } } /** * Block Service Provider Class * Registers block service used throughout the plugin * * @author SureCart * @since 1.0.0 * @license GPL */ class BlockServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Cached components from kses.json * * @var array */ private static $components = []; /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. * * @return void * * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter */ public function bootstrap($container) { } /** * Register our custom block category. * * @param array $categories Array of categories. * @return array */ public function registerBlockCategories($categories) { } /** * Add iFrame to allowed wp_kses_post tags * * @param array $tags Allowed tags, attributes, and/or entities. * * @return array */ public function ksesComponents($tags) { } /** * Register blocks from config * * @return void */ public function registerBlocks() { } } /** * Provide general block-related functionality. */ class BlockStylesService { /** * Block. * * @var object */ public $block = null; /** * Get the spacing values from the block editor * * @return array */ public function getSpacingValues() { } /** * Get the border values from the block editor * * @return array */ public function getBorderValues() { } /** * Get the dimensions values from the block editor * * @return array */ public function getDimensionsValues() { } /** * Get the color values from the block editor * * @return array */ public function getColorValues() { } /** * Get the style declarations * * @param bool $combine Whether to combine the styles or not. * @param object $block The block object. * * @return array */ public function get($combine = true, $block = null) { } /** * Get the spacing preset css variable. * * @param string $value The value. * * @return string|void */ public function getBlockGapPresetCssVar($value) { } } /** * Provide block validation functionality. */ class BlockValidationService { /** * Block validators to register. * * @var array */ protected array $validators = []; /** * Set validators * * @param array $validators Array of validators. */ public function __construct($validators = []) { } /** * Bootstrap the service. * * @return void */ public function bootstrap(): void { } /** * Register block validators. * * @return void */ public function bootstrapValidators(): void { } } /** * Provide cart menu icon migration functionality. */ class CartMenuIconMigrationService { /** * Attributes. * * @var string */ public array $attributes = array(); /** * Block. * * @var string */ public ?object $block; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Set the initial variables. * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Render the new cart menu icon block. * * @return string */ public function render(): string { } } /** * Provide cart migration functionality. */ class CartMigrationService { /** * Attributes. * * @var string */ public array $attributes = array(); /** * Block. * * @var string */ public ?object $block; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Inner Blocks. * * @var array */ public array $inner_blocks = array(); /** * Set the initial variables. * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Get the Child Blocks Attributes. * * @param string $block_name Block Name. * @return array Child Blocks Attributes. */ public function getChildBlocksAttributes($block_name) { } /** * Render the cart header element. * * @return void */ public function renderCartHeader(): void { } /** * Render the cart items element. * * @return void */ public function renderCartItems(): void { } /** * Render the cart coupon element. * * @return void */ public function renderCartCoupon(): void { } /** * Render the cart subtotal element. * * @return void */ public function renderCartSubtotal(): void { } /** * Render the cart bump line item element. * * @return void */ public function renderCartBumpLineItem(): void { } /** * Render the cart submit element. * * @return void */ public function renderCartSubmit(): void { } /** * Render the cart message element. * * @return void */ public function renderCartMessage(): void { } /** * Render the cart template. * * @return void */ public function renderCartTemplate(): void { } /** * Render the blocks. * * @return string */ public function doBlocks(): string { } /** * Render the new cart block. * * @return string */ public function render(): string { } } /** * Provide general block-related functionality. */ class FormModeSwitcherService { /** * Whether the ui has been rendered. * * @var bool */ protected $rendered = false; /** * The mode. * * @var string */ protected $mode = 'live'; /** * Bootstrap the service. * * @return void */ public function bootstrap(): void { } /** * Get the menu title. * * @return string */ public function getMenuTitle() { } /** * Get the menu item. * * @param string $mode The mode. * * @return string */ public function getMenuItem($mode = 'live') { } /** * Add admin bar menu. * * @param \WP_Admin_Bar $wp_admin_bar The admin bar. * * @return void */ public function addAdminBarMenu($wp_admin_bar): void { } /** * Confirm script. * * @return void */ public function confirmScript() { } /** * Get checkout form post. * * @return object|null */ public function getCheckoutFormPost() { } /** * Get block from post. * * @param \WP_Post $checkout_form_post The checkout form post. * * @return array|null */ public function getBlockFromPost($checkout_form_post) { } } /** * Provide the migration service for the product collection badges block. */ class ProductCollectionBadgesMigrationService { /** * Attributes * * @var array */ public array $attributes = array(); /** * Block. * * @var object */ public ?object $block = null; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Constructor * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Render the collection badges. * * @return void */ public function renderProductCollectionBadges() { } /** * Render blocks. * * @return string */ public function doBlocks() { } /** * Render the new product collection badges. * * @return string */ public function render() { } } /** * Provide product list filter tags migration functionality. */ class ProductListFilterTagsMigrationService { /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Render the filter tags. * * @return void */ public function renderFilterTagsTemplate(): void { } /** * Render the blocks. * * @return string */ public function doBlocks(): string { } /** * Render the new product list. * * @return string */ public function render(): string { } } /** * Provide product list migration functionality. */ class ProductListMigrationService { /** * Attributes. * * @var array */ public array $attributes = array(); /** * Block. * * @var \WP_Block_Type; */ public ?object $block; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Inner Blocks. * * @var array */ public array $inner_blocks = array(); /** * Set the initial variables. * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Get the Child Blocks Attributes. * * @param string $block_name Block Name. * @return array Child Blocks Attributes. */ public function getChildBlocksAttributes($block_name) { } /** * Render the product list. * * @return void */ public function renderProductList(): void { } /** * Render the sort, filter and search. * * @return void */ public function renderSortFilterAndSearch(): void { } /** * Render the sort and filter. * * @return void */ public function renderSortAndFilter(): void { } /** * Render the search. * * @return void */ public function renderSearch(): void { } /** * Render the filter tags. * * @return void */ public function renderFilterTags(): void { } /** * Render the product title. * * @return void */ public function renderTitle(): void { } /** * Render the product image. * * @return void */ public function renderImage(): void { } /** * Render the product price. * * @return void */ public function renderPrice(): void { } /** * Render the product template. * * @return void */ public function renderProductTemplate(): void { } /** * Render the pagination. * * @return void */ public function renderPagination(): void { } /** * Render the blocks. * * @return string */ public function doBlocks(): string { } /** * Render the new product list. * * @return string */ public function render(): string { } } /** * The product list service. */ class ProductListService { /** * The block. * * @var \WP_Block */ protected $block; /** * The block id. * * @var int */ protected $block_id = null; /** * The URL. * * @var object */ protected $url; /** * The query vars. * * @var array */ protected $query_vars = []; /** * The query. * * @var \WP_Query */ protected $query; /** * Constructor. * * @param \WP_Block $block The block. */ public function __construct($block) { } /** * Build the query * * @return $this */ public function parse_query() { } /** * Run the query * * @return $this|\WP_Error */ public function query() { } /** * Get the query attribute. * * @return \WP_Query */ public function __get($key) { } } /** * Provide the migration service for the product page blocks */ class ProductPageBlocksMigrationService { /** * Attributes * * @var array */ public array $attributes = array(); /** * Block name. * * @var string */ public string $old_block_name = ''; /** * Block. * * @var object */ public ?object $block = null; /** * Constructor. * * @param object $block Block. * @param string $old_block_name Old block name. * * @return void */ public function __construct($block, $old_block_name) { } /** * Maybe render old block. * * @param string $shortcode_name Short code name. * * @return string */ public function maybeRenderOldBlockFromShortCode($shortcode_name) { } } /** * Provide the migration service for the product price choices block. */ class ProductPriceChoicesMigrationService { /** * Attributes * * @var array */ public array $attributes = array(); /** * Block. * * @var object */ public ?object $block = null; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Constructor * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Render the price name. * * @return void */ public function renderPriceName() { } /** * Render the price amount, trial and setup fee. * * @return void */ public function renderPriceAmountScratchAmountTrialAndSetupFee() { } /** * Render the price choices. * * @return void */ public function renderPriceChoices() { } /** * Render blocks. * * @return string */ public function doBlocks() { } /** * Render the product price choices. * * @return string */ public function render() { } } /** * The quick view service. */ class ProductQuickViewService { /** * Flag to track if template has been rendered. * * @var bool */ private static $rendered = false; /** * Include quick view template. * This needs to run before so that blocks can add scripts and styles in wp_head(). * * @return void */ public function render() { } /** * Get the cart template. * * @return string */ public function getTemplate() { } } /** * The product review form service. */ class ProductReviewFormService { /** * Flag to track if template has been rendered. * * @var bool */ private static $rendered = false; /** * Include review form template. * This needs to run before so that blocks can add scripts and styles in wp_head(). * * @return void */ public function render() { } /** * Get the review form template. * * @return string */ public function getTemplate() { } } /** * Provide the migration service for the product price block. */ class ProductSelectedPriceMigrationService { /** * Attributes * * @var array */ public array $attributes = array(); /** * Block. * * @var object */ public ?object $block = null; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Constructor * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Get content alignment * * @return string */ public function getContentAlignment() { } /** * Render the sales badge. * * @return void */ public function renderSalesBadge() { } /** * Render the price scratch amount, selected price and sales badge. * * @return void */ public function renderAmountLine() { } /** * Render selected price trial and fees. * * @return void */ public function renderSelectedPriceTrialAndFees() { } /** * Render the price. * * @return void */ public function renderPrice() { } /** * Render blocks. * * @return string */ public function doBlocks() { } /** * Render the new price. * * @return string */ public function render() { } } /** * Provide the migration service for the product variant block. */ class ProductVariantsMigrationService { /** * Attributes * * @var array */ public $attributes = array(); /** * Block. * * @var object */ public ?object $block = null; /** * Block HTML. * * @var string */ public string $block_html = ''; /** * Constructor * * @param array $attributes Attributes. * @param object $block Block. */ public function __construct($attributes = array(), $block = null) { } /** * Render the variant pill */ public function renderVariantPill() { } /** * Render the product variant block. * * @return void */ public function renderProductVariants() { } /** * Render the blocks. * * @return string */ public function doBlocks() { } /** * Render the new variants block. * * @return string */ public function render() { } } /** * Provide URL params related functionality. */ class URLParamService { /** * Prefix. * * @var string */ protected $prefix = 'query'; /** * Pagination Key. * * @var string */ protected $pagination_key = 'page'; /** * Search Key. * * @var string */ protected $search_key = 'search'; /** * Unique instance ID. * * @var string */ protected $instance_id = ''; /** * URL. * * @var string|false */ protected $url = false; /** * Set the prefix. * * @param string $prefix Prefix. */ public function __construct($prefix = 'query') { } /** * Set the block ID. * * @param string $prefix Prefix. */ public function setPrefix($prefix) { } /** * Set the block ID. * * @param string $instance_id Unique instance ID. */ public function setInstanceId($instance_id) { } /** * Get a unique key for a block. * * @param string $name Name. * @param string $instance_id Unique instance ID. * * @return string */ public function getKey($name = '', $instance_id = '') { } /** * Get the name of a key. * * @param string $key Key. * @param string $instance_id Unique instance ID. * * @return string */ public function getName($key = '', $instance_id = '') { } /** * Get the filter arguments. * * @param string $name Name. * @param string $instance_id Unique instance ID. * * @return array */ public function getArg($name, $instance_id = '') { } /** * Get the filter arguments. * * @param string $instance_id Unique instance ID. * * @return array */ public function getArgs($instance_id = '') { } /** * Coerce a raw filter value into a list. * * Crawlers routinely drop the `[0]` out of a faceted URL, so * `?products-sc_collection=slug` arrives as a bare string where callers * expect the list that `?products-sc_collection[0]=slug` produces. * * @param mixed $value Raw filter value. * * @return array */ protected function toList($value) { } /** * Get the filter arguments. * * @param string $instance_id Unique instance ID. * * @return array Map of taxonomy name to a list of term slugs. */ public function getAllTaxonomyArgs($instance_id = '') { } /** * Get the star rating arguments. * * @param string $instance_id Unique instance ID. * * @return array Map of 'ratings' to a list of values. */ public function getAllStarArgs($instance_id = ''): array { } /** * Get the current page. * * @param string $instance_id Unique instance ID. * * @return int */ public function getCurrentPage($instance_id = '') { } /** * Add a generic argument to the URL. * * @param string $key Key. * @param string|array $value Value. * @param string $instance_id Unique instance ID. * @return string */ public function addArg($key, $value, $instance_id = '') { } /** * Get the URL. * * @return string */ public function url() { } /** * Add a pagination argument to the URL. * * @param int $page Page. * @param string $instance_id Unique instance ID. * * @return string */ public function addPageArg($page, $instance_id = '') { } /** * Add a filter argument to the URL. * * @param string $key Key. * @param string $value Value. * @param string $instance_id Unique instance ID. * * @return string */ public function addFilterArg($key, $value, $instance_id = '') { } /** * Check if a filter argument exists in the URL. * * @param string $key Key. * @param string $value Value. * @param string $instance_id Unique instance ID. * * @return bool */ public function hasFilterArg($key, $value, $instance_id = '') { } /** * Remove all specified arguments from the URL. * * @param array $existing_filters Existing filters to remove. * @param string $instance_id Unique instance ID. * * @return string */ protected function removeAllArgs($existing_filters, $instance_id = '') { } /** * Remove all filter arguments from the URL. * * @param string $instance_id Unique instance ID. * * @return string */ public function removeAllFilterArgs($instance_id = '') { } /** * Remove all star rating arguments from the URL. * * @param string $instance_id Unique instance ID. * * @return string */ public function removeAllStarArgs($instance_id = '') { } /** * Remove a filter argument from the URL. * * @param string $key Key. * @param string $value Value. * @param string $instance_id Unique instance ID. * * @return string */ public function removeFilterArg($key, $value, $instance_id = '') { } } } namespace SureCart\BlockValidator { /** * Class BlockValidator * * Validate and render blocks. * * @package SureCart\BlockValidator */ abstract class BlockValidator { /** * The name of the block to validate. * * @var string */ protected $block_name = ''; /** * Validate block. * * The child class should implement this method. * * @param string $block_content The block content. * @param array $block The block. * * @return bool */ abstract protected function isValid(string $block_content, array $block): bool; /** * Render block. * * The child class should implement this method. * * @param string $block_content The block content. * @param array $block The block. * * @return string */ abstract protected function render(string $block_content, array $block): string; /** * Bootstrap the service. * We only want to validate and render the block when the buy button renders. * * @return void */ public function bootstrap(): void { } /** * Validate and render block. * * @param string $block_content The block content. * @param array $block The block. * * @return string */ public function validateAndRender(string $block_content, array $block): string { } } /** * VariantChoice Block validator. */ class VariantChoice extends \SureCart\BlockValidator\BlockValidator { /** * Has this run before? * * @var boolean */ protected static $has_run = false; /** * The name of the block to validate. * * @var string */ protected $block_name = 'surecart/product-buy-button'; /** * Validate block. * * @param string $block_content The block content. * @param array $block The block. * * @return bool True if the block is valid, false otherwise. */ protected function isValid(string $block_content, array $block): bool { } /** * Render block. * * @param string $block_content The block content. * @param array $block The block. * * @return string */ protected function render(string $block_content, array $block): string { } } } namespace SureCart\Cart { /** * The cart service. */ class CartService { /** * Bootstrap the cart. * * @return void */ public function bootstrap() { } /** * Get the icon name saved in the settings * * @return string */ public function getIconNameFromSettings() { } /** * Get the icon. * * @param 'menu'|'floating' $type Menu type. * * @return string */ public function getIcon($type) { } /** * Get selected ids. * * @return array|false */ public function getSelectedIds() { } /** * Get icon type. * * @return array|false */ public function getIconType() { } /** * Check if cart menu is always shown. * * @return boolean */ public function isAlwaysShown() { } /** * Is the cart enabled? */ public function isCartEnabled() { } /** * Get cart menu alignment. * * @return 'left'|'right */ public function getAlignment() { } /** * Get mode. * * @return string */ public function getMode() { } /** * Add cart to menu. * * @param array $items Menu items. * @param object $args Menu args. * * @return array */ public function addCartMenu($items, $args) { } /** * Get the menu item template. * * @return string */ public function menuItemTemplate() { } /** * Get the cart template. * * @return string */ public function cartTemplate() { } /** * Get the form post. * * @return \WP_Post The default form post. */ public function getForm() { } /** * Check if floating cart icon is enabled * * @return string */ public function isFloatingIconEnabled() { } /** * Check if menu cart icon is enabled * * @param integer $term_id Term ID. * @return bool */ public function isMenuIconEnabled($term_id) { } /** * Remove deprecated cart content. * * @param string $content Cart content. * * @return string */ public static function removeDeprecatedCartContent($content) { } /** * Include cart template. * This needs to run before so that blocks can add scripts and styles in wp_head(). * * @param string $template The template path. * @return string */ public function includeCartTemplate($template) { } } /** * Provides the cart service. */ class CartServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\Concerns { interface Arrayable { /** * Get the instance as an array. * * @return array */ public function toArray(); } trait HasBlockTheme { /** * Register theme * * @param string $block_name Name of the block. * @param string $slug Lowercase slug for style. * @param string $name Display name of style. * @param string $path Relative path in dist directory. * * @return void */ public function registerBlockTheme($block_name, $slug, $name, $path) { } /** * Remove the protocol from an http/https url. * * @param string $url Url for the source. * @return string */ protected function removeProtocol($url) { } /** * Generate a version for a given asset src. * * @param string $src Source for the asset. * @return integer|boolean */ protected function generateFileVersion($src) { } } interface Objectable { /** * Get the instance as an object * * @return array */ public function toObject(); } /** * Restricts what anonymous callers can read from catalog REST endpoints * that proxy the private platform API with the store's secret token. * * Controllers using this trait must declare these properties: * - `$edit_capability` (string) The capability that unlocks unrestricted reads. * - `$anonymous_expands` (array) Expand values safe to forward for anonymous callers. * - `$anonymous_scope` (array) Query filters forced onto anonymous requests. * * Optionally: * - `$anonymous_hides_archived` (bool) Hide archived records on find for anonymous callers. * - `$anonymous_visible_statuses` (array) Only these statuses are visible on find for anonymous callers. */ trait RestrictsAnonymousReads { /** * Run some middleware to run before request. * * Controllers using this trait must not override this method — override * catalogMiddleware() instead, so the anonymous restriction can never be * silently shadowed away. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function middleware($class, \WP_REST_Request $request) { } /** * Controller-specific middleware hook, run after the anonymous restriction. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function catalogMiddleware($class, \WP_REST_Request $request) { } /** * Force the anonymous read scope and expand allow-list for callers * without the edit capability. * * Runs before the request params are merged into the model query, so * the forced filters win over client params (see Model::where merge order). * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function restrictAnonymousReads($class, \WP_REST_Request $request) { } /** * Find model. * * Platform show endpoints ignore list filters, so hide draft and * archived records from anonymous callers after fetching. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Model|false|\WP_Error False when a 'finding' model event cancels the fetch. */ public function find(\WP_REST_Request $request) { } /** * Ownership exception for records hidden from anonymous reads. * * Controllers override this to let a caller read a hidden record they can * prove ownership of (e.g. a customer's purchased draft product). Must * fail closed — anonymous callers keep the 404. * * @param \SureCart\Models\Model $model Fetched model. * * @return boolean */ protected function anonymousCanViewHidden($model) { } /** * Should this record be hidden from anonymous callers? * * @param \SureCart\Models\Model $model Fetched model. * * @return boolean */ protected function isHiddenFromAnonymous($model) { } } /** * Shared sanitization helpers for REST controllers that accept user-supplied * filter parameters destined for DatabaseModel-backed query builders. */ trait SanitizesRestParams { /** * Coerce a user-supplied scalar filter value into a safe string or null. * * Returns null for null, empty-string, or any non-scalar input so that * callers can filter out missing values before building a where clause. * * @param mixed $value Raw request value. * @return string|null */ protected function sanitizeFilterParam($value) { } } /** * Strips private catalog data from anonymous-facing serializations — view/embed * REST responses in places the item schema can't reach (expanded sub-objects) * and catalog data serialized into public page HTML (see PublicCatalogData). */ trait StripsPrivateCatalogFields { /** * Private field keys excluded from stripping, keyed by catalog object type. * * Empty by default so REST responses strip everything. The public HTML * serializer overrides this to keep the few fields the storefront renders * from — see \SureCart\Support\PublicCatalogData for the list and reasons. * * @return array */ protected function preservedCatalogFields() { } /** * Strip the given private fields from a catalog response array. * * @param array $data Response data. * @param array $fields Default field keys to strip. * @param string $type Catalog object type the fields belong to. * * @return array */ private function stripPrivateFields($data, $fields, $type) { } /** * Strip private fields from a product array. * * Covers fields the products schema strips at the top level, so it can * also be applied to products expanded on other resources (e.g. prices). * * @param array|mixed $product Product response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivateProductFields($product) { } /** * Strip private fields from a variant array. * * @param array|mixed $variant Variant response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivateVariantFields($variant) { } /** * Strip private fields from a variant option array. * * Variant options ride along on products and bundle items * (variant_options / component_variant_options) and carry metadata. * * @param array|mixed $option Variant option response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivateVariantOptionFields($option) { } /** * Strip private fields from a bundle item array. * * A bundle item expands the component product (and its variants) the * bundle checkout renders — the nested product carries the same private * fields as a top-level one, so it gets the same treatment. * * @param array|mixed $item Bundle item response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivateBundleItemFields($item) { } /** * Strip private fields from a price array. * * Keeps scratch_amount — the storefront renders it as the compare-at price. * * @param array|mixed $price Price response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivatePriceFields($price) { } /** * Strip customer PII and purchase internals from a review array. * * @param array|mixed $review Review response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivateReviewFields($review) { } /** * Strip private fields from a product collection array. * * Covers the fields the collections schema makes edit-only, so it can * also be applied to collections expanded on products. * * @param array|mixed $collection Product collection response data. Non-arrays pass through untouched. * * @return array|mixed */ protected function stripPrivateCollectionFields($collection) { } } } namespace SureCart\Controllers\Admin\Tables { /** * Base list table class. */ abstract class ListTable extends \WP_List_Table { public $checkbox = true; /** * Show filters in extra tablenav top * * @param [type] $which * @return void */ protected function extra_tablenav($which) { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Sanitised `?page` query arg. * * @return string */ protected function getCurrentPage(): string { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Handles the default column output. * * @param WP_Post $item The current WP_Post object. * @param string $column_name The current column name. */ public function column_default($item, $column_name) { } /** * Get the archive query status. * * @return boolean|null */ public function getArchiveStatus($default = 'active') { } /** * Handle the date * * @param \SureCart\Models\Model $model Model. * * @return string */ public function column_date($model) { } /** * Handle the created column * * @param \SureCart\Models\Model $model Model. * * @return string */ public function column_created($model) { } /** * The mode for the model. * * @param \SureCart\Models\Model $model Model. * * @return string */ public function column_mode($model) { } /** * Show an integrations list based on a product id. * * @param string $args The args. * * @return string */ public function productIntegrationsList($args) { } /** * Get the search query from the url args. * * @return string */ public function get_search_query() { } /** * Get the current orderby value. * * @return string */ protected function get_orderby(): string { } /** * Get the current order value. * * @return string */ protected function get_order(): string { } /** * Display a search form * * @param string $text The 'submit' button label. * @param string $input_id ID attribute value for the search input field. * * @return void */ public function search_form($text, $input_id) { } /** * Get the sort map. * * @return array */ public function get_sort_map(): array { } } /** * Mode dropdown trait. */ trait HasModeFilter { /** * Displays a mode drop-down for filtering items. * * @access protected * */ protected function mode_dropdown() { } } } namespace SureCart\Controllers\Admin\Abandoned { /** * Create a new table class that will extend the WP_List_Table */ class AbandonedCheckoutListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } protected function get_views() { } public function search() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Get the table data * * @return Array */ protected function table_data() { } /** * Get the archive query status. * * @return boolean|null */ public function getStatus() { } /** * Handle the total column * * @param \SureCart\Models\AbandonedCheckout $checkout Checkout Session Model. * * @return string */ public function column_total($abandoned) { } /** * Handle the notification status * * @param \SureCart\Models\AbandonedCheckout $abandoned Abandoned checkout session. * * @return string */ public function column_notification_status($abandoned) { } /** * Handle the recovery status * * @param \SureCart\Models\AbandonedCheckout $abandoned Abandoned checkout session. * * @return string */ public function column_recovery_status($abandoned) { } /** * Handle the mode column * * @param \SureCart\Models\AbandonedCheckout $abandoned Abandoned checkout model. * * @return string */ public function column_mode($abandoned) { } /** * Email of customer * * @param \SureCart\Models\AbandonedCheckout $abandoned Abandoned checkout model. * * @return string */ public function column_placed_by($abandoned) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } } } namespace SureCart\Support\Scripts { /** * Class for model edit pages to extend. */ abstract class AdminModelEditController { /** * Script path. * * @var string */ protected $path = ''; /** * Script handle. * * @var string */ protected $handle = ''; /** * What types of data to add the the page. * * @var array */ protected $with_data = ['links']; /** * Additional dependencies * * @var array */ protected $dependencies = ['sc-core-data', 'sc-ui-data']; /** * Whether this admin screen renders a `@wordpress/dataviews` table and * needs the bundled DataViews stylesheet. * * @var bool */ protected $needs_dataviews_style = false; /** * Data to pass to the page. * * @var array */ protected $data = []; /** * Optional conditionally load. */ protected function condition() { } /** * Enqueue needed scripts * * @return void */ public function enqueueScriptDependencies() { } /** * Enqueue components * * @return void */ public function enqueueComponents() { } /** * Enqueue the bundled `@wordpress/dataviews` stylesheet copied to * `dist/vendor/` at build time. See `webpack.config.js` for the * CopyPlugin pattern that produces this file. * * Only enqueues when `$needs_dataviews_style` is set on the controller. */ protected function enqueueDataviewsStyle(): void { } /** * Enqueue scripts * * @return void */ public function enqueue() { } protected function localize($handle) { } } } namespace SureCart\Controllers\Admin\Abandoned { /** * Coupon page */ class AbandonedCheckoutScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/abandoned_checkout'; /** * Script path. * * @var string */ protected $path = 'admin/abandoned-checkouts'; } } namespace SureCart\Controllers\Admin { abstract class AdminController { /** * Preload API Request Paths * * @param array $preload_paths The preload paths. * * @return void */ public function preloadPaths($preload_paths) { } /** * The header. * * @param array $args The arguments. * * @return void */ public function withHeader($args) { } /** * Add notices. * * @param array $items The notices. * * @return void */ public function withNotices($items) { } /** * Redirect back to the previous page. * * @param @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\RedirectResponse */ public function redirectBack($request) { } } } namespace SureCart\Controllers\Admin\Abandoned { /** * Handles product admin requests. */ class AbandonedCheckoutViewController extends \SureCart\Controllers\Admin\AdminController { /** * Index. */ public function index() { } /** * Edit abandoned order. */ public function edit($request) { } } } namespace SureCart\Controllers\Admin { /** * Handles account actions. */ class Account { /** * Show the account page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return mixed */ public function show(\SureCartCore\Requests\RequestInterface $request) { } } } namespace SureCart\Controllers\Admin\AffiliationClicks { /** * Handles affiliate clicks admin routes. */ class AffiliationClicksController extends \SureCart\Controllers\Admin\AdminController { /** * Affiliate Clicks index. */ public function index() { } } /** * Create a new table class that will extend the WP_List_Table */ class AffiliationClicksListTable extends \SureCart\Controllers\Admin\Tables\ListTable { public $checkbox = true; public $error = ''; public $pages = array(); /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Handle the date column. * * @param \SureCart\Models\Click $click The Click model. * * @return string */ public function column_date($click) { } /** * Handle the url column. * * @param \SureCart\Models\Click $click The Click model. * * @return string */ public function column_url($click) { } /** * Handle the referrer column. * * @param \SureCart\Models\Click $click The Click model. * * @return string */ public function column_referrer($click) { } /** * Handle the affiliate column. * * @param \SureCart\Models\Click $click The Click model. * * @return string */ public function column_affiliate($click) { } /** * Handle the converted column. * * @param \SureCart\Models\Click $click The Click model. * * @return string */ public function column_converted($click) { } /** * Define which columns are hidden * * @return array */ public function get_hidden_columns() { } /** * Get the table data * * @return array */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get filtered status / default status. * * @return string|null */ private function get_filtered_status() { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\AffiliationClick $affiliation_click AffiliationClick model. * @param string $column_name - Current column name. * * @return mixed */ public function column_default($item, $column_name) { } /** * Get all statuses. * * @return array */ private function getStatuses(): array { } } } namespace SureCart\Controllers\Admin\AffiliationPayoutGroups { /** * Handles affiliate payout groups admin routes. */ class AffiliationPayoutGroupsController extends \SureCart\Controllers\Admin\AdminController { /** * Edit an affiliate payout group. * * @param \SureCartCore\Http\Request $request Request object. * * @return string */ public function edit($request) { } } /** * Affiliation Payout Groups Requests Scripts Controller */ class AffiliationPayoutGroupsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/affiliation-payout-groups'; /** * Script path. * * @var string */ protected $path = 'admin/affiliation-payouts-groups'; } } namespace SureCart\Controllers\Admin\AffiliationPayouts { /** * Handles affiliate payout admin routes. */ class AffiliationPayoutsController extends \SureCart\Controllers\Admin\AdminController { /** * Affiliate Payout index. */ public function index() { } /** * Edit an affiliate payout. * * @param \SureCartCore\Http\Request $request Request object. * * @return string */ public function edit($request) { } /** * Export affiliate payouts. * * @param \SureCartCore\Http\Request $request Request object. * * @return string */ public function export($request) { } /** * Delete an affiliate payout. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function delete($request) { } /** * Complete an affiliate payout. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function complete($request) { } /** * Make an affiliate payout processing. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function makeProcessing($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class AffiliationPayoutsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * Checkbox column. * * @var boolean */ public $checkbox = true; /** * Error message. * * @var string */ public $error = ''; /** * Pages. * * @var array */ public $pages = array(); /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. * * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Handle the date column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_date($payout) { } /** * Handle the status column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_status($payout) { } /** * Handle the affiliate column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_affiliate($payout) { } /** * Handle the payout email column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_payout_email($payout) { } /** * Handle the period end column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_period_end($payout) { } /** * Handle the referrals column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_referrals($payout) { } /** * Handle the amount column. * * @param \SureCart\Models\Payout $payout The Payout model. * * @return string */ public function column_amount($payout) { } /** * Get the table data * * @return \SureCart\Models\Collection */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get filtered status / default status. * * @return string|null */ private function getFilteredStatus() { } /** * Get all statuses. * * @return array */ private function getStatuses(): array { } /** * Get action url. * * @param int $id The id. * @param string $action The action. * * @return string */ public function get_action_url($id, $action) { } } /** * Affiliation Requests Scripts Controller */ class AffiliationPayoutsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/affiliation-payout'; /** * Script path. * * @var string */ protected $path = 'admin/affiliation-payouts'; } } namespace SureCart\Controllers\Admin\AffiliationReferrals { /** * Handles affiliate referrals admin routes. */ class AffiliationReferralsController extends \SureCart\Controllers\Admin\AdminController { /** * Affiliate Referral index. */ public function index() { } /** * Edit an affiliate referral. * * @param \SureCartCore\Http\Request $request Request object. * * @return string */ public function edit($request) { } /** * Delete an affiliate referral. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function delete($request) { } /** * Approve an affiliate referral. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function approve($request) { } /** * Deny an affiliate referral. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function deny($request) { } /** * Make an affiliate referral reviewing. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function makeReviewing($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class AffiliationReferralsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * Checkbox * * @var boolean */ public $checkbox = true; /** * Error * * @var string */ public $error = ''; /** * Pages * * @var array */ public $pages = array(); /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. * * @global int $post_id * @global string $comment_status * @global string $comment_type * * @return string */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Handle the date column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_date($referral) { } /** * Handle the status column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_status($referral) { } /** * Handle the payout status column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_payout_status($referral) { } /** * Handle the payout date column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_payout_date($referral) { } /** * Handle the affiliate column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_affiliate($referral) { } /** * Handle the description column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_description($referral) { } /** * Handle the order column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_order($referral) { } /** * Handle the commission column. * * @param \SureCart\Models\Referral $referral The Referral model. * * @return string */ public function column_commission($referral) { } /** * Get the table data * * @return \SureCart\Models\Collection; */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get filtered status / default status. * * @return string|null */ private function getFilteredStatus() { } /** * Get all statuses. * * @return array */ private function getStatuses(): array { } /** * Get action url. * * @param int $id The id. * @param string $action The action. * * @return string */ public function get_action_url($id, $action) { } } /** * Affiliation Requests Scripts Controller */ class AffiliationReferralsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/affiliation-referral'; /** * Script path. * * @var string */ protected $path = 'admin/affiliation-referrals'; /** * Add the app url to the data. */ public function __construct() { } } } namespace SureCart\Controllers\Admin\AffiliationRequests { /** * Handles affiliate requests admin routes. */ class AffiliationRequestsController extends \SureCart\Controllers\Admin\AdminController { /** * Affiliate Requests index. */ public function index() { } /** * Edit */ public function edit($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class AffiliationRequestsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { public $checkbox = true; public $error = ''; public $pages = array(); /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. * * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Define which columns are hidden * * @return array */ public function get_hidden_columns() { } /** * Get the table data * * @return object|WP_Error */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Published column * * @param \SureCart\Models\AffiliationRequest $affiliate_request AffiliationRequest model. * * @return string */ public function column_status($affiliate_request) { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\AffiliationRequest $affiliate_request AffiliationRequest model. * @param string $column_name - Current column name. * * @return mixed */ public function column_default($affiliate_request, $column_name) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get filtered status / default status. * * @return string|null */ private function getFilteredStatus() { } /** * Get all statuses. * * @return array */ private function getStatuses(): array { } } /** * Affiliation Requests Scripts Controller */ class AffiliationRequestsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/affiliation-request'; /** * Script path. * * @var string */ protected $path = 'admin/affiliation-requests'; /** * Add the app url to the data. */ public function __construct() { } } } namespace SureCart\Controllers\Admin\Affiliations { /** * Handles Affiliation admin routes. */ class AffiliationsController extends \SureCart\Controllers\Admin\AdminController { /** * Affiliates index. */ public function index() { } /** * Edit */ public function edit($request) { } /** * Activate the affiliation. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Requests\RequestInterface */ public function activate($request) { } /** * Deactivate the affiliation. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Requests\RequestInterface */ public function deactivate($request) { } } /** * Affiliations List Table */ class AffiliationsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { public $checkbox = true; public $error = ''; public $pages = array(); /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. * * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Define which columns are hidden. * * @return array */ public function get_hidden_columns() { } /** * Get the table data. * * @return object|WP_Error */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Published column * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * * @return string */ public function column_status($affiliation) { } /** * Total clicks column. * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * @return int */ public function column_clicks($affiliation) { } /** * Total referrals column. * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * @return int */ public function column_referrals($affiliation) { } /** * Total commission amount column. * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * @return string */ public function column_total_commission_amount($affiliation) { } /** * Total unpaid commission amount column. * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * @return string */ public function column_total_not_paid_commission_amount($affiliation) { } /** * Name column. * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * * @return string */ public function column_name($affiliation) { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * @param string $column_name - Current column name. * * @return mixed */ public function column_default($affiliation, $column_name) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Toggle archive action link and text. * * @param \SureCart\Models\Affiliation $affiliation Affiliation model. * @return string */ public function action_toggle_activate($affiliation) { } /** * Get the toggle activate URL. * * @param string $id Model id. * @param string $action Action activate or deactivate. * * @return string URL for the page. */ public function get_toggle_activate_url($id, $action) { } /** * Get filtered status / default status. * * @return string|null */ private function getFilteredStatus() { } /** * Get all affiliation statuses. * * @return array */ private function getStatuses(): array { } } /** * Afiiation scripts controller. */ class AffiliationsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/affiliation'; /** * Script path. * * @var string */ protected $path = 'admin/affiliations'; /** * Add the app url to the data. */ public function __construct() { } } } namespace SureCart\Controllers\Admin\AutoFees { /** * Handles auto fees admin requests. */ class AutoFeesController extends \SureCart\Controllers\Admin\AdminController { /** * Auto Fees index. */ public function index() { } /** * Edit * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return string */ public function edit($request) { } /** * Change the active state of the model. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\RedirectResponse */ public function toggleActive($request) { } /** * Delete a dynamic price. * * @param \SureCartCore\Http\Request $request Request object. * * @return \SureCartCore\Responses\RedirectResponse */ public function delete($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class AutoFeesListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * Search form for the table. * * @return void */ public function search() { } /** * Get the views for the list table. * * @return array */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Define which columns are hidden * * @return array */ public function get_hidden_columns() { } /** * Get the table data * * @return \SureCart\Models\AutoFee[]|\WP_Error */ protected function table_data() { } /** * Get the archive query status. * * @return bool|null */ public function getStatus() { } /** * Handle the status * * @param \SureCart\Models\AutoFee $auto_fees Auto Fee model. * * @return void */ public function column_status($auto_fees) { } /** * Name * * @param \SureCart\Models\AutoFees $auto_fees AutoFees model. * * @return string */ public function column_name($auto_fees) { } /** * Internal name. * * @param \SureCart\Models\AutoFees $auto_fees AutoFees model. * * @return string */ public function column_internal_name($auto_fees) { } /** * Handle the target. * * @param \SureCart\Models\AutoFees $auto_fees AutoFees model. * * @return string */ public function column_type($auto_fees) { } /** * Get row actions. * * @param \SureCart\Models\AutoFee $auto_fees Auto Fee model. * * @return array */ public function getRowActions($auto_fees) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get action url. * * @param int $id The id. * @param string $action The action. * * @return string */ public function get_action_url($id, $action) { } } /** * Auto Fees Requests Scripts Controller */ class AutoFeesScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/auto-fee'; /** * Script path. * * @var string */ protected $path = 'admin/auto-fees'; } } namespace SureCart\Controllers\Admin\Bumps { /** * Bump Page */ class BumpScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'tax_protocol', 'checkout_page_url']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/bump'; /** * Script path. * * @var string */ protected $path = 'admin/bumps'; } /** * Handles product admin requests. */ class BumpsController extends \SureCart\Controllers\Admin\AdminController { /** * Bumps index. */ public function index() { } /** * Edit */ public function edit($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class BumpsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { public $checkbox = true; public $error = ''; /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Displays the checkbox column. * * @param Bump $bump The bump model. */ public function column_cb($bump) { } /** * Show any integrations. */ public function column_integrations($bump) { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return Array */ public function get_sortable_columns() { } /** * Get the table data * * @return Array */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Handle the type column output. * * @param \SureCart\Models\Price $bump Bump model. * * @return string */ public function column_type($bump) { } /** * Price * * @param \SureCart\Models\Bump $bump Bump model. * * @return string */ public function column_price($bump) { } /** * Name column * * @param \SureCart\Models\Bump $bump Bump model. * * @return string */ public function column_name($bump) { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\Bump $bump Bump model. * @param String $column_name - Current column name. * * @return Mixed */ public function column_default($bump, $column_name) { } } } namespace SureCart\Controllers\Admin\Products { /** * Product Page */ class ProductScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'tax_protocol', 'checkout_page_url']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/product'; /** * Script path. * * @var string */ protected $path = 'admin/products'; /** * Opt into the dataviews stylesheet enqueue (handled by the parent). * * @var bool */ protected $needs_dataviews_style = true; /** * Add the app url to the data. */ public function __construct() { } public function enqueue() { } /** * Enqueue needed scripts. * * @return void */ public function enqueueScriptDependencies() { } /** * Registers the metadata block attribute for all block types. * This is a fallback/temporary solution until * the Gutenberg core version registers the metadata attribute. * * @see https://github.com/WordPress/gutenberg/blob/6aaa3686ae67adc1a6a6b08096d3312859733e1b/lib/compat/wordpress-6.5/blocks.php#L27-L47 * To do: Remove this method once the Gutenberg core version registers the metadata attribute. * * @param array $args Array of arguments for registering a block type. * @return array $args */ public function registerMetadataAttribute($args): array { } } } namespace SureCart\Controllers\Admin\Bundles { /** * Bundle page scripts. */ class BundleScriptsController extends \SureCart\Controllers\Admin\Products\ProductScriptsController { /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/bundle'; /** * Script path. * * @var string */ protected $path = 'admin/bundles'; } } namespace SureCart\Controllers\Admin { /** * Shared plumbing for admin pages that dual-render between the new React * DataViews SPA and the legacy WP_List_Table controller. * * Consumers implement `renderSpaView()` and `renderWpListView()`; the trait * owns the feature-flag check, `index()` routing, and SPA-shell rendering. */ trait RendersEnhancedAdminView { /** * Render the SPA shell view for this admin page. * * Must enqueue the scripts controller and return the shell response * — typically by calling `renderSpaShell()`. * * @return \SureCartCore\Responses\ResponseInterface */ abstract protected function renderSpaView(); /** * Render the legacy WP_List_Table view for this admin page. * * @return \SureCartCore\Responses\ResponseInterface */ abstract protected function renderWpListView(); /** * Render the appropriate view based on the `surecart_enhanced_admin_views` feature flag. */ public function index() { } /** * Enqueue the SPA bundle on admin_enqueue_scripts. * * @param string $scripts_controller FQN of the scripts controller (ProductScriptsController::class etc.). * @return void */ protected function enqueueSpaScripts(string $scripts_controller): void { } /** * Render the SPA shell view, optionally with a breadcrumb header. * * Pass a breadcrumb key + title for list views where the PHP-rendered * admin header bar should show "Logo → Title". Omit both for edit/create * views — the React detail components render their own breadcrumbs, so a * second PHP-rendered bar would duplicate them. * * @param string $view View slug passed to \SureCart::view(). * @param string|null $breadcrumb_key Breadcrumb array key (e.g. 'products'). * @param string|null $title Localized breadcrumb title. * * @return \SureCartCore\Responses\ResponseInterface */ protected function renderSpaShell(string $view, ?string $breadcrumb_key = null, ?string $title = null) { } /** * Get the URL of the current admin page, for redirecting back after toggling enhanced views. * * @return string */ private function currentAdminPageUrl(): string { } /** * Whether the React DataViews experience is enabled. * * @return bool */ public function isEnhancedAdminViewsEnabled(): bool { } } } namespace SureCart\Controllers\Admin\Products { /** * Handles product admin requests. */ class ProductsController extends \SureCart\Controllers\Admin\AdminController { use \SureCart\Controllers\Admin\RendersEnhancedAdminView; /** * WooCommerce import state tracker. * * @var ImportState */ private $woo_import_state; /** * Constructor. * * @param ImportState $woo_import_state Import state for WooCommerce runs. */ public function __construct(\SureCart\Sync\ImportState $woo_import_state) { } /** @var string */ protected $page_slug = 'sc-products'; /** * Key passed to \SureCart::getUrl()->index(). * * @var string */ protected $url_key = 'products'; /** * View path prefix (no trailing slash). * * @var string */ protected $view_prefix = 'admin/products'; /** @var string */ protected $scripts_controller_class = \SureCart\Controllers\Admin\Products\ProductScriptsController::class; /** @var string */ protected $list_table_class = \SureCart\Controllers\Admin\Products\ProductsListTable::class; /** @var string */ protected $bulk_delete_view_key = 'products'; /** * Bulk-action name used for the async delete pipeline + admin notice. * Bundles are `sc_product` posts too, so they share this processor. * * @var string */ protected $bulk_action_name = 'delete_products'; /** * Index breadcrumb shape used by withHeader(). * * @return array */ protected function indexBreadcrumb() { } /** * Status-query → notice message map for the index page. * * @return array */ protected function indexNotices() { } /** * Admin-bar "View {entity}" link on the edit screen. * * @return array */ protected function adminBarViewEntry() { } /** * Message when bulk-delete is opened with no IDs selected. * * @return string */ protected function bulkDeleteEmptyMessage() { } /** * Message when bulk-delete targets ids that no longer exist. * * @param int $count Number of ids requested for deletion. * * @return string */ protected function bulkDeleteAlreadyDeletedMessage($count) { } /** * Header title on the confirm-bulk-delete screen. * * @param int $count Number of items being deleted. * * @return string */ protected function bulkDeleteHeaderTitle($count) { } /** * Products index. */ protected function renderWpListView() { } /** * Render the SPA view for products. */ protected function renderSpaView() { } /** * Sync dropdown. */ public function syncDropdown() { } /** * Confirm Bulk Delete. */ public function confirmBulkDelete() { } /** * Bulk Delete. */ public function bulkDelete() { } /** * Edit a product. * * @param \SureCartCore\Requests\RequestInterface $request Request. */ public function edit($request) { } /** * Change the archived attribute in the model * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\RedirectResponse */ public function toggleArchive($request) { } /** * Start product sync. * * @return \SureCartCore\Responses\RedirectResponse */ public function syncAll() { } /** * Import results page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\View */ public function importResults($request) { } /** * Start product sync. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\RedirectResponse */ public function sync($request) { } /** * Duplicate a product. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\RedirectResponse */ public function duplicate($request) { } } } namespace SureCart\Controllers\Admin\Bundles { /** * Bundle admin controller. Bundles are Products with `bundle: true`, so most * of the flow is inherited from ProductsController — this subclass only * overrides what differs (slugs, view paths, list-table refs, copy). */ class BundlesController extends \SureCart\Controllers\Admin\Products\ProductsController { /** * Re-declared so the DI factory resolves `ImportState` for the subclass — * auto-resolution skips inherited constructors. * * @param ImportState $woo_import_state Import state for WooCommerce runs. */ public function __construct(\SureCart\Sync\ImportState $woo_import_state) { } /** @var string */ protected $page_slug = 'sc-bundles'; /** * Key passed to \SureCart::getUrl()->index(). * Plural — mirrors ProductsController's `$url_key = 'products'`. * * @var string */ protected $url_key = 'bundles'; /** * View path prefix (no trailing slash). * * @var string */ protected $view_prefix = 'admin/bundles'; /** @var string */ protected $scripts_controller_class = \SureCart\Controllers\Admin\Bundles\BundleScriptsController::class; /** @var string */ protected $list_table_class = \SureCart\Controllers\Admin\Bundles\BundlesListTable::class; /** @var string */ protected $bulk_delete_view_key = 'bundles'; /** * Index breadcrumb shape used by withHeader(). * * @return array */ protected function indexBreadcrumb() { } /** * Status-query → notice message map for the index page. * * @return array */ protected function indexNotices() { } /** * Admin-bar "View Bundle" link on the edit screen. * * @return array */ protected function adminBarViewEntry() { } /** * Message when bulk-delete is opened with no IDs selected. * * @return string */ protected function bulkDeleteEmptyMessage() { } /** * Message when bulk-delete targets ids that no longer exist. * * @param int $count Number of ids requested for deletion. * * @return string */ protected function bulkDeleteAlreadyDeletedMessage($count) { } /** * Header title on the confirm-bulk-delete screen. * * @param int $count Number of items being deleted. * * @return string */ protected function bulkDeleteHeaderTitle($count) { } } } namespace SureCart\Controllers\Admin\Products { /** * WP_List_Table for Products. */ class ProductsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * The checkbox. * * @var bool */ public $checkbox = true; /** * The error message. * * @var string */ public $error = ''; /** * The list of pages. * * @var array */ public $pages = array(); /** * The BulkActionService instance. * * @var \SureCart\Background\BulkActionService */ public $bulk_actions = null; /** * Constructor. * * @param \SureCart\Background\BulkActionService $bulk_actions The BulkActionService instance. */ public function __construct(\SureCart\Background\BulkActionService $bulk_actions) { } /** * Show bulk action admin notice. */ public function show_bulk_action_admin_notice() { } /** * Admin page slug. * * @var string */ protected $page_slug = 'sc-products'; /** * URL key for \SureCart::getUrl()->edit() and related helpers. * * @var string */ protected $url_key = 'product'; /** * Per-page screen option key passed to get_items_per_page(). * * @var string */ protected $per_page_key = 'products'; /** * User-meta key holding hidden columns for this screen. * * @var string */ protected $hidden_columns_meta_key = 'managesurecart_page_sc-productscolumnshidden'; /** * `bundle` value sent to Product::where() in table_data(). * * @var bool */ protected $is_bundle = false; /** * Extra `with` expansions specific to this screen. * * @var array */ protected $table_extra_with = array(); /** * WP action fired before the Filter button in extra_tablenav top. * * @var string */ protected $restrict_manage_hook = 'restrict_manage_products'; /** * WP action fired after the closing actions div in extra_tablenav. * * @var string */ protected $extra_tablenav_hook = 'manage_products_extra_tablenav'; /** * Filter to disable the collection dropdown. * * @var string */ protected $collection_dropdown_disable_filter = 'surecart/disable_product_collection_dropdown'; /** * Screen-reader label for the row checkbox. Subclasses may override. * * @return string */ protected function selectAriaLabel() { } /** * Display label for the "No items" empty state. * * @return string */ protected function noItemsLabel() { } /** * Aria-label used on the row "Edit" link. * * @return string */ protected function entityLabelEdit() { } /** * Confirmation prompt shown when restoring (un-archiving) an item. * * @return string */ protected function archiveConfirmRestore() { } /** * Confirmation prompt shown when archiving an item. * * @return string */ protected function archiveConfirmArchive() { } /** * Aria-label on the toggle-archive action. * * @return string */ protected function archiveAriaLabel() { } /** * Build the toggle-archive URL for a row. * * @param object $item The row model. * * @return string */ protected function toggleArchiveUrl($item) { } /** * Build the duplicate URL for a row. * * @param object $item The row model. * * @return string */ protected function duplicateUrl($item) { } /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. * * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Entity-specific column map. * * @return array */ protected function entityColumns() { } /** * Displays the checkbox column. * * @param Product $product The product model. */ public function column_cb($product) { } /** * Show the sync status. * * @param Product $product The product model. */ public function column_sync_status($product) { } /** * Show the quantity. * * @param Product $product The product model. */ public function column_quantity($product) { } /** * Show the affiliate commission amount. * * @param Product $product The product model. */ public function column_commission_amount($product) { } /** * Show collections as tags. * * @param Product $product The product model. */ public function column_product_collections($product) { } /** * Show any integrations. */ public function column_integrations($product) { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return array */ public function get_sortable_columns() { } /** * Get the sort map. * * @return array */ public function get_sort_map(): array { } /** * Get the table data * * @return array|\WP_Error */ protected function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Handle the type column output. * * @param \SureCart\Models\Product $product Product model. * * @return string */ public function column_type($product) { } /** * Handle the price column. * * @param \SureCart\Models\Product $product Product model. * * @return string */ public function column_price($product) { } /** * Handle the product cataloged date column. * * @param \SureCart\Models\Product $product Product model. * * @return string */ public function column_date($product) { } /** * Published column * * @param \SureCart\Models\Product $product Product model. * * @return string */ public function column_featured($product) { } /** * Published column * * @param \SureCart\Models\Product $product Product model. * * @return string */ public function column_status($product) { } /** * Name column * * @param \SureCart\Models\Product $product Product model. * * @return string */ public function column_name($product) { } /** * Get row actions. * * @param \SureCart\Models\Product $product Product model. * @param string $bulk_status Bulk status. * * @return array */ public function getRowActions($product, $bulk_status) { } /** * Toggle archive action link and text. * * @param \SureCart\Models\Product $product Product model. * @return string */ public function action_toggle_archive($product) { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\Product $product Product model. * @param String $column_name - Current column name. * * @return Mixed */ public function column_default($product, $column_name) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * @return array */ protected function get_bulk_actions() { } /** * Gets the current action selected from the bulk actions dropdown. * * @return string|false The action name. False if no action was selected. */ public function current_action() { } /** * Displays a a dropdown to filter by product collection. * * @access protected */ protected function product_collection_dropdown() { } } } namespace SureCart\Controllers\Admin\Bundles { /** * Bundles list table. */ class BundlesListTable extends \SureCart\Controllers\Admin\Products\ProductsListTable { /** * Admin page slug. * * @var string */ protected $page_slug = 'sc-bundles'; /** * URL key for \SureCart::getUrl()->edit() and related helpers. * * @var string */ protected $url_key = 'bundle'; /** * Per-page screen option key passed to get_items_per_page(). * * @var string */ protected $per_page_key = 'bundles'; /** * User-meta key holding hidden columns for this screen. * * @var string */ protected $hidden_columns_meta_key = 'managesurecart_page_sc-bundlescolumnshidden'; /** * `bundle` value sent to Product::where() in table_data(). * * @var bool */ protected $is_bundle = true; /** * Extra `with` expansions specific to this screen. * * @var array */ protected $table_extra_with = array('bundle_items'); /** * WP action fired before the Filter button in extra_tablenav top. * * @var string */ protected $restrict_manage_hook = 'restrict_manage_bundles'; /** * WP action fired after the closing actions div in extra_tablenav. * * @var string */ protected $extra_tablenav_hook = 'manage_bundles_extra_tablenav'; /** * Filter to disable the collection dropdown. * * @var string */ protected $collection_dropdown_disable_filter = 'surecart/disable_bundle_collection_dropdown'; /** * Screen-reader label for the row checkbox. * * @return string */ protected function selectAriaLabel() { } /** * Display label for the "No items" empty state. * * @return string */ protected function noItemsLabel() { } /** * Aria-label used on the row "Edit" link. * * @return string */ protected function entityLabelEdit() { } /** * Confirmation prompt shown when restoring (un-archiving) a bundle. * * @return string */ protected function archiveConfirmRestore() { } /** * Confirmation prompt shown when archiving a bundle. * * @return string */ protected function archiveConfirmArchive() { } /** * Aria-label on the toggle-archive action. * * @return string */ protected function archiveAriaLabel() { } /** * Entity columns. * * @return array */ protected function entityColumns() { } /** * Show the number of bundle items. * * @param object $bundle The bundle model. * * @return string */ public function column_bundle_items($bundle) { } } } namespace SureCart\Controllers\Admin\CancellationInsights { /** * Handles product admin requests. */ class CancellationInsightsController extends \SureCart\Controllers\Admin\AdminController { /** * Index. */ public function index() { } } /** * Create a new table class that will extend the WP_List_Table */ class CancellationInsightsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * The subscription product. * * @param \SureCart\Models\CancellationAct $act Cancellation reason model. * * @return string */ public function column_plan($act) { } /** * The subscription product. * * @param \SureCart\Models\CancellationAct $act Cancellation reason model. * * @return string */ public function column_date($act) { } /** * We only have one default view. */ protected function get_views() { } /** * Get the table data * * @return Object */ protected function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * The cancellation reason. * * @param \SureCart\Models\CancellationAct $act Cancellation act. * * @return string */ public function column_cancellation_reason($act) { } /** * The customer. * * @param \SureCart\Models\CancellationAct $act Cancellation act model. * * @return string */ public function column_customer($act) { } /** * Cancellation comment. * * @param \SureCart\Models\CancellationAct $act Cancellation act model. * * @return string */ public function column_comment($act) { } /** * The mode for the model. * * @param SureCart\Model $model Model. * * @return string */ public function column_mode($act) { } /** * The status * * @param \SureCart\Models\CancellationAct $act Cancellation act model. * * @return string */ public function column_status($act) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } } } namespace SureCart\Controllers\Admin\Cart { /** * Handles product admin requests. */ class CartController extends \SureCart\Controllers\Admin\AdminController { /** * Edit a product. */ public function edit() { } } /** * Coupon page */ class CartScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/cart'; /** * Script path. * * @var string */ protected $path = 'admin/cart/edit'; } } namespace SureCart\Controllers\Admin\Checkouts { /** * Coupon page */ class CheckoutScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'links', 'i18n', 'google_map_api_key']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/checkout'; /** * Script path. * * @var string */ protected $path = 'admin/checkouts'; } /** * Handles product admin requests. */ class CheckoutsController extends \SureCart\Controllers\Admin\AdminController { /** * Create a checkout. */ public function edit() { } } } namespace SureCart\Controllers\Admin\Coupons { /** * Coupon page */ class CouponScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/coupon'; /** * Script path. * * @var string */ protected $path = 'admin/coupons'; } /** * Handles product admin requests. */ class CouponsController extends \SureCart\Controllers\Admin\AdminController { /** * Coupons index. */ public function index() { } /** * Coupons edit. */ public function edit($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class CouponsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * Search form. * * @return void */ public function search() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Displays the checkbox column. * * @param Product $product The product model. */ public function column_cb($product) { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return Array */ public function get_sortable_columns() { } /** * Get the table data * * @return Object */ private function table_data() { } /** * Handle the price column. * * @param \SureCart\Models\Coupon $coupon Coupon model. * * @return string */ public function column_price($coupon) { } /** * Output the Promo Code * * @param Promotion $promotion Promotion model. * * @return string */ public function column_usage($coupon) { } /** * Render the Valid Until string. * * @param \SureCart\Models\Coupon $coupon Coupon model. * @return string */ public function get_expiration_string($coupon) { } /** * Get the price string for the coupon. * * @param \SureCart\Models\Coupon|null $coupon Coupon model. * @return string */ public function get_price_string($coupon = null) { } /** * Get the duration string * * @param Coupon|boolean $coupon Coupon object. * @return string|void; */ public function get_duration_string($coupon = '') { } /** * Handle the status * * @param \SureCart\Models\Price $product Product model. * * @return string */ public function column_status($coupon) { } protected function extra_tablenav($which) { } /** * Name of the coupon * * @param \SureCart\Models\Promotion $promotion Promotion model. * * @return string */ public function column_name($coupon) { } /** * Name of the coupon * * @param \SureCart\Models\Promotion $promotion Promotion model. * * @return string */ public function column_promotion_code($coupon) { } /** * Toggle archive action link and text. * * @param \SureCart\Models\Product $product Product model. * @return string */ public function action_toggle_archive($coupon) { } /** * Allows you to sort the data by the variables set in the $_GET. * * @return Mixed */ private function sort_data($a, $b) { } /** * @global string $comment_status * * @return array */ protected function get_bulk_actions() { } } } namespace SureCart\Controllers\Admin\Customers { /** * Handles product admin requests. */ class CustomersController extends \SureCart\Controllers\Admin\AdminController { /** * Customers index. */ public function index() { } /** * Customers edit. * * @param \SureCartCore\Requests\RequestInterface $request Request. */ public function edit($request) { } /** * Confirm Bulk Delete. */ public function confirmBulkDelete() { } /** * Bulk Delete. */ public function bulkDelete() { } } /** * Create a new table class that will extend the WP_List_Table */ class CustomersListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * The checkbox. * * @var bool */ public $checkbox = true; /** * The error message. * * @var string */ public $error = ''; /** * The BulkActionService instance. * * @var \SureCart\Background\BulkActionService */ public $bulk_actions = null; /** * Constructor. * * @param \SureCart\Background\BulkActionService $bulk_actions The BulkActionService instance. */ public function __construct(\SureCart\Background\BulkActionService $bulk_actions) { } /** * Show bulk action admin notice. */ public function show_bulk_action_admin_notice() { } /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Displays the checkbox column. * * @param Customer $customer The customer model. */ public function column_cb($customer) { } /** * Define which columns are hidden * * @return array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return array */ public function get_sortable_columns() { } /** * Get the table data * * @return object|\WP_Error */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * The customer email. * * @param \SureCart\Models\Customer $customer The customer model. * * @return string */ public function column_email($customer) { } /** * Name column * * @param \SureCart\Models\Customer $customer Customer model. * * @return string */ public function column_name($customer) { } /** * Get row actions. * * @param \SureCart\Models\Customer $customer Customer model. * @param string $bulk_status Bulk status. * * @return string */ public function getRowActions($customer, $bulk_status) { } /** * Define what data to show on each column of the table * * @param Customer $customer Customer model. * @param string $column_name - Current column name. * * @return mixed */ public function column_default($customer, $column_name) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get bulk actions. * * @return array */ protected function get_bulk_actions() { } /** * Gets the current action selected from the bulk actions dropdown. * * @return string|false The action name. False if no action was selected. */ public function current_action() { } } /** * Customers Page */ class CustomersScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'i18n', 'google_map_api_key']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/customers'; /** * Script path. * * @var string */ protected $path = 'admin/customers'; } } namespace SureCart\Controllers\Admin\Dashboard { /** * Handles dashboard admin requests. */ class DashboardController extends \SureCart\Controllers\Admin\AdminController { /** * Dashboard index. */ public function index() { } } /** * Coupon page */ class DashboardScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'claimed', 'claim_url', 'claim_expired']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/dashboard'; /** * Script path. * * @var string */ protected $path = 'admin/dashboard'; } } namespace SureCart\Controllers\Admin\Invoices { /** * Coupon page */ class InvoiceScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'links', 'checkout_page_url', 'i18n', 'google_map_api_key']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/invoice'; /** * Script path. * * @var string */ protected $path = 'admin/invoices'; } /** * Create a new table class that will extend the WP_List_Table */ class InvoicesListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * Prepare the items for the table to process. * * @return void */ public function prepare_items() { } /** * Override the parent columns method. Defines the columns to use in your listing table. * * @return array */ public function get_columns() { } /** * Show the payment method for the invoice. * * @param Invoice $invoice Invoice model. * * @return string */ public function column_method($invoice) { } /** * Define which columns are hidden. * * @return array */ public function get_hidden_columns() { } /** * Get the table data. * * @return object */ protected function table_data() { } /** * Generates views links. * * @return array */ protected function get_views() { } /** * Get the query status. * * @return array */ public function getStatus() { } /** * Handle the total column. * * @param Invoice $invoice Invoice Model. * * @return string */ public function column_total($invoice) { } /** * Handle invoice due date. * * @param Invoice $invoice Invoice model. * * @return string */ public function column_due_date($invoice) { } /** * Handle invoice issue date. * * @param Invoice $invoice Invoice model. * * @return string */ public function column_issue_date($invoice) { } /** * Show customer as tag. * * @param Invoice $invoice The invoice model. */ public function column_customer($invoice) { } /** * Handle the status. * * @param Invoice $invoice Invoice Model. * * @return string */ public function column_status($invoice) { } /** * Handle Invoice column. * * @param Invoice $invoice Invoice model. * * @return string */ public function column_invoice($invoice) { } /** * Handle the mode column. * * @param Invoice $invoice Invoice model. * * @return string */ public function column_mode($invoice) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } } /** * Handles invoice admin requests. */ class InvoicesViewController extends \SureCart\Controllers\Admin\AdminController { /** * Invoices index. */ public function index() { } /** * Edit the invoice. */ public function edit($request) { } /** * Create invoice and redirect to edit page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return void */ public function create($request): void { } } } namespace SureCart\Controllers\Admin\Learn { /** * Handles learn admin page requests. */ class LearnController extends \SureCart\Controllers\Admin\AdminController { /** * Learn index. */ public function index() { } } /** * Learn page scripts. */ class LearnScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/learn'; /** * Script path. * * @var string */ protected $path = 'admin/settings/learn'; /** * Enqueue scripts with additional learn-specific data. * * @return void */ public function enqueue() { } } } namespace SureCart\Controllers\Admin\Licenses { /** * Handles product admin requests. */ class LicensesController extends \SureCart\Controllers\Admin\AdminController { /** * Products index. */ public function index() { } /** * Licenses edit. */ public function edit($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class LicensesListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } public function search() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Get the table data * * @return Array */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Name column * * @param \SureCart\Models\License $license License model. * * @return string */ public function column_key($license) { } public function column_status($license) { } public function column_customer($license) { } public function column_purchase($license) { } /** * Toggle archive action link and text. * * @param \SureCart\Models\Product $product Product model. * @return string */ public function action_toggle_archive($product) { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\Product $product Product model. * @param String $column_name - Current column name. * * @return Mixed */ public function column_default($product, $column_name) { } } /** * Licenses Page */ class LicensesScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/licenses'; /** * Script path. * * @var string */ protected $path = 'admin/licenses'; } } namespace SureCart\Controllers\Admin\Onboarding { /** * Handles onboarding http requests. */ class OnboardingController { /** * Show the onboarding page. * * @return string */ public function show() { } /** * Complete Step * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return function */ public function complete(\SureCartCore\Requests\RequestInterface $request) { } /** * Save the API Token. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return function */ public function save(\SureCartCore\Requests\RequestInterface $request) { } } /** * Onboarding Page */ class OnboardingScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/onboarding'; /** * Script path. * * @var string */ protected $path = 'admin/onboarding'; /** * Include supported currencies. * * @var array */ protected $with_data = ['supported_currencies']; /** * Add additional data. * * @return void */ public function enqueue() { } } } namespace SureCart\Controllers\Admin\Orders { /** * Coupon page */ class OrderScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'links', 'shipping_protocol', 'i18n', 'google_map_api_key']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/order'; /** * Script path. * * @var string */ protected $path = 'admin/orders'; /** * Enqueue scripts. * * @return void */ public function enqueue() { } } /** * Create a new table class that will extend the WP_List_Table */ class OrdersListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * Show any integrations. * * @param \SureCart\Models\Order $order Order. */ public function column_integrations($order) { } /** * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Displays the checkbox column. * * @param Product $product The product model. */ public function column_cb($product) { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return Array */ public function get_sortable_columns() { } /** * Get the table data * * @return Array */ protected function table_data() { } /** * Get the archive query status. * * @return boolean|null */ public function getStatus() { } /** * Handle the total column * * @param \SureCart\Models\Order $order The order model. * * @return string */ public function column_total($order) { } /** * Show the payment method for the order. * * @param \SureCart\Models\Order $order The order model. * * @return string */ public function column_method($order) { } /** * The type of order. * * @param \SureCart\Models\Order $order The order model. * * @return string */ public function column_type($order) { } /** * Handle the status * * @param \SureCart\Models\Order $order Order Model. * * @return string */ public function column_status($order) { } /** * Handle the status * * @param \SureCart\Models\Order $order Order Model. * * @return string */ public function column_fulfillment_status($order) { } /** * Handle the status * * @param \SureCart\Models\Order $order Order Model. * * @return string */ public function column_shipment_status($order) { } /** * Name of the coupon * * @param \SureCart\Models\Promotion $promotion Promotion model. * * @return string */ public function column_order($order) { } /** * Displays a formats drop-down for filtering items. * * @since 5.2.0 * @access protected * * @param string $post_type Post type slug. */ protected function fulfillment_dropdown() { } /** * Displays a formats drop-down for filtering items. * * @since 5.2.0 * @access protected * * @param string $post_type Post type slug. */ protected function shipment_dropdown() { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } } /** * Handles product admin requests. */ class OrdersViewController extends \SureCart\Controllers\Admin\AdminController { /** * Orders index. */ public function index() { } /** * Orders edit */ public function edit($request) { } /** * Archive orders. */ public function archive($request) { } } } namespace SureCart\Controllers\Admin { /** * Handles the plugin settings page. */ class PluginSettings { /** * Show the page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return function */ public function show(\SureCartCore\Requests\RequestInterface $request) { } /** * Save the page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return function */ public function save(\SureCartCore\Requests\RequestInterface $request) { } } } namespace SureCart\Controllers\Admin\ProductCollections { /** * Handles product collections admin requests. */ class ProductCollectionsController extends \SureCart\Controllers\Admin\AdminController { use \SureCart\Controllers\Admin\RendersEnhancedAdminView; /** * Render the WP List Table view. */ protected function renderWpListView() { } /** * Render the SPA view for product collections. */ protected function renderSpaView() { } /** * Edit a product collection. * * @param \WP_REST_Request $request Request. */ public function edit($request) { } /** * Preload API Requests. * * @param \SureCart\Models\ProductCollection $product_collection The product collection. * * @return void */ public function preloadAPIRequests(\SureCart\Models\ProductCollection $product_collection): void { } } /** * WP_List_Table for Product Collections. */ class ProductCollectionsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * Prepare the items for the table to process * * @return void */ public function prepare_items(): void { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns(): array { } /** * Define which columns are hidden. * * @return array */ public function get_hidden_columns(): array { } /** * Define the sortable columns. * * @return array */ public function get_sortable_columns(): array { } /** * Get the table data. * * @return object */ protected function table_data() { } /** * Handle the description column. * * @param \SureCart\Models\ProductCollection $product_collection Product collection object. * * @return string */ public function column_description($product_collection) { } /** * Handle the name column. * * @param \SureCart\Models\ProductCollection $collection Product collection object. * * @return string */ public function column_name($collection) { } /** * Handle the products_count column. * * @param \SureCart\Models\ProductCollection $collection Product collection object. * * @return int */ public function column_products_count($collection) { } } /** * Product Collection Scripts */ class ProductCollectionsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/product_collections'; /** * Script path. * * @var string */ protected $path = 'admin/product-collections'; /** * Opt into the dataviews stylesheet enqueue (handled by the parent). * * @var bool */ protected $needs_dataviews_style = true; /** * Add the api url to the data. */ public function __construct() { } /** * Enqueue the scripts. * * @return void */ public function enqueue(): void { } } } namespace SureCart\Controllers\Admin\ProductGroups { /** * Handles upgrade group (product group) admin requests. */ class ProductGroupsController extends \SureCart\Controllers\Admin\AdminController { use \SureCart\Controllers\Admin\RendersEnhancedAdminView; /** * Render the legacy WP_List_Table view. * * @return \SureCartCore\Responses\ResponseInterface */ protected function renderWpListView() { } /** * Render the SPA view for upgrade groups. * * @return \SureCartCore\Responses\ResponseInterface */ protected function renderSpaView() { } /** * Edit / Create an upgrade group (SPA detail screen). * * Mounted on both `?action=edit` (with id → edit, without id → create) and * `?action=show` (legacy alias that mapped to the read-only "view" route). * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\ResponseInterface|string */ public function edit($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class ProductGroupsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { public $checkbox = true; /** * Prepare the items for the table to process * * @return void */ public function prepare_items() { } public function search() { } /** * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return Array */ public function get_sortable_columns() { } /** * Get the archive query status. * * @return boolean|null */ public function getStatus() { } /** * Get the table data * * @return Object */ protected function table_data() { } /** * Handle the status * * @param \SureCart\Models\Order $order Order Model. * * @return string */ public function column_status($group) { } public function column_name($group) { } } /** * Product Group Scripts */ class ProductGroupsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/product-groups'; /** * Script path. * * @var string */ protected $path = 'admin/product-groups'; /** * Opt into the dataviews stylesheet enqueue (handled by the parent). * * @var bool */ protected $needs_dataviews_style = true; } } namespace SureCart\Controllers\Admin\Restore { /** * Handles restore page admin requests. */ class RestoreController extends \SureCart\Controllers\Admin\AdminController { /** * Index. * * @param \SureCartCore\Requests\RequestInterface $request Request. */ public function index(\SureCartCore\Requests\RequestInterface $request) { } /** * Restore. * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return function */ public function restore(\SureCartCore\Requests\RequestInterface $request) { } } } namespace SureCart\Controllers\Admin\Reviews { /** * Handle the reviews admin page. */ class ReviewsController extends \SureCart\Controllers\Admin\AdminController { use \SureCart\Controllers\Admin\RendersEnhancedAdminView; /** * Render the legacy WP_List_Table view. * * @return \SureCartCore\Responses\ResponseInterface */ protected function renderWpListView() { } /** * Render the SPA view for reviews. * * @return \SureCartCore\Responses\ResponseInterface */ protected function renderSpaView() { } /** * Edit a review (SPA edit screen). * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\ResponseInterface|string */ public function edit($request) { } /** * Publish a review (legacy GET action — still used by the WP_List_Table row links). * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return ResponseInterface */ public function publish($request): \SureCartVendors\Psr\Http\Message\ResponseInterface { } /** * Unpublish a review (legacy GET action — still used by the WP_List_Table row links). * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return ResponseInterface */ public function unpublish($request): \SureCartVendors\Psr\Http\Message\ResponseInterface { } /** * Delete a review (legacy GET action — still used by the WP_List_Table row links). * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return ResponseInterface */ public function delete($request): \SureCartVendors\Psr\Http\Message\ResponseInterface { } } /** * Create a new table class that will extend the WP_List_Table */ class ReviewsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { /** * The checkbox. * * @var bool */ public $checkbox = false; /** * The error message. * * @var string */ public $error = ''; /** * The list of pages. * * @var array */ public $pages = array(); /** * Prepare the items for the table to process. * * @return void */ public function prepare_items() { } /** * Get views for the list table status links. * * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table. * * @return array */ public function get_columns() { } /** * Define which columns are sortable. * * @return array */ public function get_sortable_columns() { } /** * Define which columns are hidden. * * @return array */ public function get_hidden_columns() { } /** * Get the table data. * * @return object|WP_Error */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Status column. * * @param Review $review Review model. * * @return string */ public function column_status($review) { } /** * Stars column. * * @param Review $review Review model. * * @return string */ public function column_stars($review) { } /** * Customer column. * * @param Review $review Review model. * * @return string */ public function column_customer($review) { } /** * Product column. * * @param Review $review Review model. * * @return string */ public function column_product($review) { } /** * Review column. * * @param Review $review Review model. * * @return string */ public function column_review($review) { } /** * Define what data to show on each column of the table. * * @param Review $review Review model. * @param string $column_name Current column name. * * @return mixed */ public function column_default($review, $column_name) { } /** * Get row actions. * * @param Review $review Review model. * * @return array */ protected function getRowActions($review) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } /** * Get filtered status / default status. * * @return string|null */ private function getFilteredStatus() { } /** * Get all review statuses. * * @return array */ public function getStatuses(): array { } } /** * Reviews Page */ class ReviewsScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/reviews'; /** * Script path. * * @var string */ protected $path = 'admin/reviews'; /** * Opt into the dataviews stylesheet enqueue (handled by the parent). * * @var bool */ protected $needs_dataviews_style = true; } } namespace SureCart\Controllers\Admin\Settings { /** * Controls the settings page. */ class CacheSettings { /** * Show the page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return function */ public function clear(\SureCartCore\Requests\RequestInterface $request) { } } /** * MCP (Model Context Protocol) settings helper. * * Exposes AJAX handlers for install/activate of the MCP Adapter plugin and * the data required by the client-side MCP settings tab (localized via the * main Settings controller). */ class MCPSettings { /** * The MCP Adapter plugin slug. * * @var string */ const MCP_ADAPTER_SLUG = 'mcp-adapter/mcp-adapter.php'; /** * The MCP Adapter GitHub download URL. * Also referenced in MCPAdapterNotice.js for the manual download fallback — keep in sync. * * @var string */ const MCP_ADAPTER_DOWNLOAD_URL = 'https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip'; /** * The MCP Adapter GitHub repository URL. * * @var string */ const MCP_ADAPTER_REPO_URL = 'https://github.com/WordPress/mcp-adapter'; /** * Get the data required by the client-side MCP settings tab. * * Called from the main Settings controller to localize `scMCPData` on * the shared settings script (the MCP tab no longer has its own entry). * * @return array */ public static function getLocalizedData() { } /** * Register AJAX handlers for MCP adapter install/activate. * * @return void */ public static function registerAjaxHandlers() { } /** * AJAX handler to install the MCP Adapter plugin from GitHub. * * @return void */ public static function ajaxInstall() { } /** * AJAX handler to activate the MCP Adapter plugin. * * @return void */ public static function ajaxActivate() { } } /** * Settings controller for the client-side routed settings. */ class Settings { /** * Show the settings page. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return function */ public function show(\SureCartCore\Requests\RequestInterface $request) { } /** * Enqueue the scripts and styles for the settings. * * @return void */ public function enqueueScripts() { } } } namespace SureCart\Controllers\Admin\Subscriptions\Scripts { /** * Coupon page */ class EditScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/subscription/edit'; /** * Script path. * * @var string */ protected $path = 'admin/subscriptions/edit'; } /** * Coupon page */ class ShowScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'tax_protocol', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/subscription/show'; /** * Script path. * * @var string */ protected $path = 'admin/subscriptions/show'; } } namespace SureCart\Controllers\Admin\Subscriptions { /** * Coupon page */ class SubscriptionScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'tax_protocol', 'supported_currencies']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/subscription'; /** * Script path. * * @var string */ protected $path = 'admin/subscriptions'; } /** * Handles product admin requests. */ class SubscriptionsController extends \SureCart\Controllers\Admin\AdminController { /** * Orders index. */ public function index() { } /** * Edit * * @return string */ public function edit($request) { } /** * Show * * @return string */ public function show($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class SubscriptionsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { use \SureCart\Controllers\Admin\Tables\HasModeFilter; /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } public function search() { } /** * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return Array */ public function get_columns() { } /** * Displays the checkbox column. * * @param Product $product The product model. */ public function column_cb($product) { } /** * Show any integrations. * * @param \SureCart\Models\Subscription $subscription The subscription model. * @return string */ public function column_integrations($subscription) { } /** * Define which columns are hidden * * @return Array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return Array */ public function get_sortable_columns() { } /** * Get the table data * * @return Array */ protected function table_data() { } /** * Get the archive query status. * * @return boolean|null */ public function getStatus() { } /** * The remaining payments for the subscription * * @param \SureCart\Models\Subscription $subscription The subscription model. * * @return string */ public function column_remaining_payments($subscription) { } /** * The subscription type * * @param \SureCart\Models\Subscription $subscription The subscription model. * * @return string */ // public function column_type( $subscription ) { // if ( null === $subscription->remaining_period_count ) { // return '' . __( 'Subscription', 'surecart' ) . ''; // } // return '' . __( 'Payment Plan', 'surecart' ) . ''; // } /** * Handle the total column * * @param \SureCart\Models\Subscription $subscription Checkout Session Model. * * @return string */ public function column_plan($subscription) { } private function getProductDisplay($subscription) { } public function getInterval($interval, $count, $separator = '/', $show_single = false) { } /** * Output the Promo Code * * @param Promotion $promotion Promotion model. * * @return string */ public function column_usage($promotion) { } /** * Render the "Redeem By". * * @param string $timestamp Redeem timestamp. * @return string */ public function get_expiration_string($timestamp = '') { } public function get_price_string($coupon = '') { } /** * Get the duration string * * @param Coupon|boolean $coupon Coupon object. * @return string|void; */ public function get_duration_string($coupon = '') { } /** * Handle the status * * @param \SureCart\Models\Subscription $subscription Subscription model. * * @return string */ public function column_status($subscription) { } /** * Name of the coupon * * @param \SureCart\Models\Promotion $promotion Promotion model. * * @return string */ public function column_customer($subscription) { } /** * Displays extra table navigation. * * @param string $which Top or bottom placement. */ protected function extra_tablenav($which) { } } } namespace SureCart\Controllers\Admin\Upsells { /** * Bump Page */ class UpsellScriptsController extends \SureCart\Support\Scripts\AdminModelEditController { /** * What types of data to add the the page. * * @var array */ protected $with_data = ['currency', 'supported_currencies', 'tax_protocol', 'checkout_page_url']; /** * Script handle. * * @var string */ protected $handle = 'surecart/scripts/admin/upsell-funnels'; /** * Script path. * * @var string */ protected $path = 'admin/upsell-funnels'; /** * Add the app url to the data. */ public function __construct() { } /** * Enqueue the script. */ public function enqueue() { } } /** * Handles upsell admin requests. */ class UpsellsController extends \SureCart\Controllers\Admin\AdminController { /** * Bumps index. */ public function index() { } /** * Edit */ public function edit($request) { } /** * Change the archived attribute in the model * * @param \SureCartCore\Requests\RequestInterface $request Request. * * @return \SureCartCore\Responses\RedirectResponse */ public function toggleEnabled($request) { } } /** * Create a new table class that will extend the WP_List_Table */ class UpsellsListTable extends \SureCart\Controllers\Admin\Tables\ListTable { public $checkbox = true; public $error = ''; /** * Prepare the items for the table to process * * @return Void */ public function prepare_items() { } /** * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { } /** * Override the parent columns method. Defines the columns to use in your listing table * * @return array */ public function get_columns() { } /** * Displays the checkbox column. * * @param Upsell $upsell_funnel The upsell model. */ public function column_cb($upsell_funnel) { } /** * Get the priority column * * @return bool */ public function column_priority($upsell_funnel) { } /** * Define which columns are hidden * * @return array */ public function get_hidden_columns() { } /** * Define the sortable columns * * @return array */ public function get_sortable_columns() { } /** * Get the table data * * @return array */ private function table_data() { } /** * Nothing found. * * @return void */ public function no_items() { } /** * Handle the type column output. * * @param \SureCart\Models\UpsellFunnel $upsell_funnel Upsell model. * * @return string */ public function column_type($upsell_funnel) { } /** * Enabled column * * @param \SureCart\Models\UpsellFunnel $upsell_funnel Upsell model. * * @return string */ public function column_enabled($upsell_funnel) { } /** * Name column * * @param \SureCart\Models\UpsellFunnel $upsell_funnel Upsell model. * * @return string */ public function column_name($upsell_funnel) { } /** * Define what data to show on each column of the table * * @param \SureCart\Models\UpsellFunnel $upsell_funnel Upsell model. * @param string $column_name - Current column name. * * @return mixed */ public function column_default($upsell_funnel, $column_name) { } } } namespace SureCart\Controllers\Ajax { class NonceController { public function get() { } } } namespace SureCart\Controllers\Rest { /** * Handle coupon requests through the REST API */ class AbandonedCheckoutProtocolController { /** * Find model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Rest controller base class. */ abstract class RestController { /** * Always fetch with these subcollections. * * @var array */ protected $with = []; /** * Class to make the requests. * * @var string */ protected $class = ''; /** * Resource slug used in dynamic filter names — e.g. `products`, * `product_collections`. Subclasses set this to opt into the * resource-scoped `surecart/{resource}/list/...` filter hooks. * * @var string */ protected $resource = ''; /** * Run some middleware to run before request. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function middleware($class, \WP_REST_Request $request) { } /** * Create model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function create(\WP_REST_Request $request) { } /** * Index model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function index(\WP_REST_Request $request) { } /** * Find model. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Model|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Delete model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function delete(\WP_REST_Request $request) { } } /** * Handle price requests through the REST API */ class AbandonedCheckoutsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\AbandonedCheckout::class; } /** * Handle coupon requests through the REST API */ class AccountController { /** * Find account. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle Activation requests through the REST API */ class ActivationsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Activation::class; } /** * Handle Affiliation Products through the REST API */ class AffiliationProductsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\AffiliationProduct::class; } /** * Handle coupon requests through the REST API */ class AffiliationProtocolController { /** * Find Affiliation Protocol. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle Affiliation Requests through the REST API */ class AffiliationRequestsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\AffiliationRequest::class; /** * Approve an affiliation request. * * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\AffiliationRequest|\WP_Error */ public function approve(\WP_REST_Request $request) { } /** * Deny an affiliation request. * * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\AffiliationRequest|\WP_Error */ public function deny(\WP_REST_Request $request) { } } /** * Handle Affiliations requests through the REST API */ class AffiliationsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Affiliation::class; /** * Run some middleware to run before request. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function middleware($class, \WP_REST_Request $request) { } /** * Activate an affiliation. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function activate(\WP_REST_Request $request) { } /** * Deactivate an affiliation. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function deactivate(\WP_REST_Request $request) { } } /** * Handle coupon requests through the REST API */ class AutoFeeProtocolController { /** * Find model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle coupon requests through the REST API */ class AutoFeesController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\AutoFee::class; } /** * Handle Price requests through the REST API */ class BalanceTransactionsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\BalanceTransaction::class; } /** * Handle Batch API requests through the REST proxy. */ class BatchesController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Batch::class; /** * Resource slug for the dynamic list filter hooks. * * @var string */ protected $resource = 'batches'; } /** * Handle coupon requests through the REST API */ class BrandController { /** * Find. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Purge the product image * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function purgeLogo(\WP_REST_Request $request) { } } /** * Handle coupon requests through the REST API */ class BumpsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Bump::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_prices'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = []; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = ['archived' => false]; /** * Hide archived bumps on find for anonymous callers. * * @var boolean */ protected $anonymous_hides_archived = true; } /** * Handle bundle item requests through the REST API. */ class BundleItemsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\BundleItem::class; } /** * Handle coupon requests through the REST API */ class CancellationActsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\CancellationAct::class; } /** * Handle coupon requests through the REST API */ class CancellationReasonsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\CancellationReason::class; } /** * Handle Price requests through the REST API */ class ChargesController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Charge::class; /** * Refund a charge * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function refund(\WP_REST_Request $request) { } } /** * Handle check email requests through the REST API */ class CheckEmailController extends \SureCart\Controllers\Rest\RestController { /** * Check login. * * @param \WP_REST_Request $request The REST request. * * @return true|\WP_Error */ public function checkEmail(\WP_REST_Request $request) { } } /** * Handle price requests through the REST API */ class CheckoutsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Checkout::class; /** * Middleware before we make the request. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model|\WP_Error */ protected function middleware($class, \WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Let's set the customer's email and name if they are already logged in. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model|\WP_Error */ protected function maybeSetUser(\SureCart\Models\Model $class, \WP_REST_Request $request) { } /** * Get the form mode * * @param integer $id ID of the form. * @return string Mode of the form. */ protected function getFormMode($id) { } /** * Manually pay an order. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function manuallyPay(\WP_REST_Request $request) { } /** * Finalize an order. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function finalize(\WP_REST_Request $request) { } /** * Confirm an order. * * This force-fetches the order from the API, runs any automations * and creates the user account tied to the customer. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function confirm(\WP_REST_Request $request) { } /** * Link the customer id to the order. * * @param \SureCart\Models\Checkout $checkout Checkout model. * @return \WP_User|\WP_Error */ public function linkCustomerId($checkout) { } /** * Validate the form. * * @param array $args Arguments. * @param object $request Request. * @return \WP_Error Errors. */ public function validate($args, $request) { } /** * Cancel an checkout * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function cancel(\WP_REST_Request $request) { } /** * Offer the bump (used for analytics). * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function offerBump(\WP_REST_Request $request) { } /** * Offer the bump (used for analytics). * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function offerUpsell(\WP_REST_Request $request) { } /** * Offer the bump (used for analytics). * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function declineUpsell(\WP_REST_Request $request) { } /** * Check if the user is trying to sign in. * If so, validate credentials before finalizing. * * @param string $email Email. * @param string $password Password. * * @return true|\WP_Error */ public function maybeValidateLoginCreds($email = '', $password = '') { } /** * Create or login the user. * * @param string $user_email Username. * @param string $password User password. * @return \WP_Error|true */ protected function maybeLoginUser($user_email, $password = '') { } } /** * Handle clicks requests through the REST API */ class ClicksController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Click::class; } /** * Handle Coupon requests through the REST API */ class CouponsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Coupon::class; } /** * Handle Customer related REST API requests. */ class CustomerController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Customer::class; /** * Get the current logged-in user's customer record. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Customer|null|\WP_Error */ public function me(\WP_REST_Request $request) { } /** * Connect a user. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function connect(\WP_REST_Request $request) { } /** * Sync Users with platform. * This catches the request and enqueues the action to start the sync. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function sync(\WP_REST_Request $request) { } /** * Expose media for a customer. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Media|false */ public function exposeMedia(\WP_REST_Request $request) { } /** * Edit model. * * Platform first — the linked WordPress user is only synced from the * response the platform actually accepted, never from raw request input. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Customer|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Sync the linked WordPress user's profile from an updated customer. * * Best-effort — the platform write has already succeeded, so a failed * local update must not fail the request. Delegates the actual field * sync (and its "never sync email" rule) to UsersService so the webhook * and REST paths can't drift apart. * * @param \SureCart\Models\Customer $customer The updated customer returned by the platform. * * @return void */ protected function syncWPUser($customer) { } } /** * Handle requests through the REST API */ class CustomerNotificationProtocolController { /** * Find. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class CustomerPortalProtocolController { /** * Find model. * * @param \WP_REST_Request $request Rest Request. * @return Model */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle Display Currency requests through the REST API */ class DisplayCurrencyController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\DisplayCurrency::class; } /** * Handle Dispute requests through the REST API */ class DisputesController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Dispute::class; } /** * Handle Download requests through the REST API */ class DownloadsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Download::class; /** * Always fetch with media * * @var array */ protected $with = ['media']; } /** * Handle price requests through the REST API */ class DraftCheckoutsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Checkout::class; /** * Manually pay an order. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function manuallyPay(\WP_REST_Request $request) { } /** * Finalize an order. * * @param \WP_REST_Request $request Rest Request. * * @return \SureCart\Models\Checkout|\WP_Error */ public function finalize(\WP_REST_Request $request) { } /** * Link the customer id to the order. * * @param \SureCart\Models\Checkout $checkout Checkout model. * @return \WP_User|\WP_Error */ public function linkCustomerId($checkout) { } } /** * Handle exports requests through the REST API */ class ExportsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Export::class; } /** * Handle Fulfillment requests through the REST API */ class FulfillmentsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Fulfillment::class; } /** * Handle ImportRow requests through the REST API */ class ImportRowsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ImportRow::class; } /** * Handle Price requests through the REST API */ class IncomingWebhooksController { use \SureCart\Concerns\SanitizesRestParams; /** * Create a product integration. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function create(\WP_REST_Request $request) { } /** * Retry the incoming webhook. * * @param \WP_REST_Request $request Rest Request. * * @return void */ public function retry(\WP_REST_Request $request) { } /** * List all product integrations. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function index(\WP_REST_Request $request) { } /** * Find a specific product integration. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Delete model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function delete(\WP_REST_Request $request) { } } /** * Handle integration provider requests through the REST API */ class IntegrationCatalogController { /** * List integrations. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function index(\WP_REST_Request $request) { } /** * Find the integration. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } } /** * Handle integration provider requests through the REST API */ class IntegrationProvidersController { /** * List providers for the integration providers for a model. * This is done through code, so we expose a filter here. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function index(\WP_REST_Request $request) { } /** * List providers for the integration providers for a model. * This is done through code, so we expose a filter here. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * List the items to choose from when the provider is chosen. * This is done through code, so we expose a filter here. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function items(\WP_REST_Request $request) { } /** * List the items to choose from when the provider is chosen. * This is done through code, so we expose a filter here. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function item(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class IntegrationsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\SanitizesRestParams; /** * The model class. * * @var string */ protected $class = \SureCart\Models\Integration::class; /** * Create a product integration. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function create(\WP_REST_Request $request) { } /** * List all product integrations. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function index(\WP_REST_Request $request) { } /** * Find a specific product integration. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Delete model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function delete(\WP_REST_Request $request) { } } /** * Handle Invoice requests through the REST API */ class InvoicesController extends \SureCart\Controllers\Rest\RestController { /** * Always fetch with these subcollections. * * @var array */ protected $with = ['checkout', 'checkout.line_items', 'line_item.price', 'line_item.fees', 'line_item.variant', 'price.product', 'product.featured_product_media', 'product_media.media', 'checkout.customer', 'customer.shipping_address', 'customer.billing_address', 'checkout.payment_intent', 'checkout.discount', 'discount.promotion', 'discount.coupon', 'checkout.shipping_address', 'checkout.billing_address', 'checkout.shipping_choices', 'shipping_choices.shipping_method', 'payment_method.card', 'checkout.tax_identifier', 'checkout.order', 'checkout.payment_method', 'checkout.manual_payment_method']; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Invoice::class; /** * Make draft invoice. * * @param \WP_REST_Request $request Request object. * * @return Invoice|\WP_Error */ public function makeDraft(\WP_REST_Request $request) { } /** * Open an invoice. * * @param \WP_REST_Request $request Request object. * * @return Invoice|\WP_Error */ public function open(\WP_REST_Request $request) { } /** * Resend invoice notification. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function resend_notification(\WP_REST_Request $request) { } } /** * Handle License requests through the REST API */ class LicensesController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\License::class; } /** * Handle LineItem requests through the REST API */ class LineItemsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\LineItem::class; /** * Upsell line item. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function upsell(\WP_REST_Request $request) { } /** * Swap line item. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function swap(\WP_REST_Request $request) { } /** * UnSwap line item. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function unswap(\WP_REST_Request $request) { } } /** * Handle coupon requests through the REST API */ class LoginController extends \SureCart\Controllers\Rest\RestController { /** * Login user. * * @param \WP_REST_Request $request The REST request object. * * @return array|\WP_Error Returns an array with user details on success, or WP_Error on failure. */ public function authenticate(\WP_REST_Request $request) { } /** * Logout user * * @param \WP_REST_Request $request Request object. * * @return array Returns an array with a new nonce for future requests. */ public function logout(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class ManualPaymentMethodsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ManualPaymentMethod::class; } /** * Handle File requests through the REST API */ class MediasController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Media::class; } /** * Handle price requests through the REST API */ class OrderController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Order::class; /** * Resend order notification. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function resend_notification(\WP_REST_Request $request) { } } /** * Handle coupon requests through the REST API */ class OrderProtocolController { /** * Find model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle Parcel Template requests through the REST API */ class ParcelTemplateController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ParcelTemplate::class; } /** * Handle Price requests through the REST API */ class PaymentIntentsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\PaymentIntent::class; /** * Detach a payment method * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function capture(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class PaymentMethodsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\PaymentMethod::class; /** * Detach a payment method * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function detach(\WP_REST_Request $request) { } /** * Delete a payment method * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function delete(\WP_REST_Request $request) { } } /** * Handle payout groups requests through the REST API */ class PayoutGroupsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\PayoutGroup::class; } /** * Handle payouts requests through the REST API */ class PayoutsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Payout::class; /** * Complete a payout. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function complete(\WP_REST_Request $request) { } /** * Make a payout as processing * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function make_processing(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class PeriodsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Period::class; /** * Retry a payment * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function retryPayment(\WP_REST_Request $request) { } } /** * Installs and activates a GitHub-sourced integration plugin through the REST API. * * The download URL is taken from the integration catalog record and validated by * GitHubInstaller before it is handed to WordPress' Plugin_Upgrader. */ class PluginInstallerController { /** * Install (and activate) the plugin for a catalog integration. * * @param \WP_REST_Request $request Rest Request. * * @return array|\WP_Error */ public function install(\WP_REST_Request $request) { } /** * Activate the plugin, falling back to the upgrader's discovered main file. * * @param string $plugin_file The expected plugin main file path. * @param \Plugin_Upgrader|null $upgrader The upgrader used to install, for main-file discovery. * * @return array */ protected function activate($plugin_file, $upgrader = null) { } /** * Read the download URL from the catalog record. * * Backed by IntegrationCatalog::getDownloadUrlAttribute(), which returns the * acf download_url or null. * * @param \SureCart\Models\IntegrationCatalog $record The integration catalog record. * * @return string */ protected function getDownloadUrl($record) { } /** * Read the plugin main file from the catalog record. * * Lives on the acf payload — there is no top-level plugin_file attribute. * * @param \SureCart\Models\IntegrationCatalog $record The integration catalog record. * * @return string */ protected function getPluginFile($record) { } /** * Force WP HTTP to reject internal/loopback URLs for the plugin download. * * Closes the SSRF vector where a redirect points at a private or loopback * address. Only touches the streamed download chain ($args['filename'] is set * by download_url() and preserved across redirect hops); any other request in * the install window is left as-is. * * @param array $args The http request args. * * @return array */ public function rejectUnsafeDownloadUrls($args) { } /** * Re-validate each download hop host against the GitHub allow-list. * * WP HTTP follows redirects without re-checking the host. This fires on every * hop of the streamed download (identified by $args['filename'], which WP keeps * across redirect hops) during the scoped install and aborts the request if the * target host is not allow-listed. Non-download requests in the window — and * allowed download hosts — return $preempt unchanged so they proceed normally. * * @param false|array|\WP_Error $preempt Short-circuit response, false to proceed. * @param array $args The http request args. * @param string $url The request URL. * * @return false|array|\WP_Error */ public function guardDownloadHost($preempt, $args, $url) { } } /** * Handle Price requests through the REST API */ class PricesController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Price::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_prices'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = ['product']; /** * Query filters forced for anonymous callers. * * Archived prices stay readable on find — grandfathered subscriptions * reference them on the customer dashboard. * * @var array */ protected $anonymous_scope = ['archived' => false]; /** * Controller-specific middleware hook, run after the anonymous restriction. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function catalogMiddleware($class, \WP_REST_Request $request) { } /** * Duplicate model. * * @param \WP_REST_Request $request Rest Request. * @return \WP_REST_Response|\WP_Error */ public function duplicate(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class ProcessorController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Processor::class; /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function paymentMethodTypes(\WP_REST_Request $request) { } } /** * Handle Product Collection requests through the REST API */ class ProductCollectionsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Always fetch with these subcollections. * * @var array */ protected $with = ['image']; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ProductCollection::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_products'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = ['image']; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = ['archived' => false]; /** * Hide archived collections on find for anonymous callers. * * @var boolean */ protected $anonymous_hides_archived = true; /** * Resource slug for the dynamic list filter hooks * (`surecart/product_collections/list/query_args`, `.../list/response`). * * @var string */ protected $resource = 'product_collections'; } /** * Handle Product requests through the REST API */ class ProductGroupsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ProductGroup::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_products'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = []; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = ['archived' => false]; /** * Hide archived groups on find for anonymous callers. * * @var boolean */ protected $anonymous_hides_archived = true; } /** * Handle ProductMedia requests through the REST API */ class ProductMediaController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Always fetch with these subcollections. * * @var array */ protected $with = ['media']; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ProductMedia::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_products'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = ['media']; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = []; /** * Download a media file. * * @param \WP_REST_Request $request Request object. * * @return integer|\WP_Error */ public function download(\WP_REST_Request $request) { } } /** * Handle Product requests through the REST API */ class ProductsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Product::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_products'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = ['prices', 'variants', 'variant_options', 'product_medias', 'product_media.media', 'product_collections', 'featured_product_media']; /** * Query filters forced for anonymous callers. * * Archived products stay readable on find — grandfathered subscriptions * reference them when switching plans on the customer dashboard. * * @var array */ protected $anonymous_scope = ['archived' => false, 'status' => ['published']]; /** * Only published products are visible on find for anonymous callers. * * @var array */ protected $anonymous_visible_statuses = ['published']; /** * Resource slug for the dynamic list filter hooks * (`surecart/products/list/query_args`, `.../list/response`). * * @var string */ protected $resource = 'products'; /** * Relations expanded by default for edit-context and write requests. * * The product edit screen and the WP post sync depend on the full set. * * @var array */ const EDIT_EXPANDS = ['variants', 'variant_options', 'variants.image', 'prices', 'product_collections', 'commission_structure', 'product_medias', 'product_media.media']; /** * Controller-specific middleware hook, run after the anonymous restriction. * * Expand contract for edit-context/write requests: * - Collection GET with `expand_mode=replace`: the client's `expand` is used * verbatim (may be empty) — lets the products dataview request a lean list. * - Collection GET without `expand_mode=replace`: EDIT_EXPANDS merged with any * client `expand` (default; `expand` is additive). * - Single GET (`id` param) and all write methods: EDIT_EXPANDS merged with * any client `expand`. * - `view` context GETs are untouched; `expand` passes through query args. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model */ protected function catalogMiddleware($class, \WP_REST_Request $request) { } /** * Let a logged-in customer read their own hidden (draft) product. * * Subscriptions keep referencing a product after it moves back to draft, * and the dashboard switch UI fetches that product by id — the same * grandfathering reason archived stays readable on find (see $anonymous_scope). * Anonymous callers always keep the 404; access is only granted when the * current user's customer owns an unrevoked purchase of this exact product. * * @param \SureCart\Models\Product $model Fetched product. * * @return boolean */ protected function anonymousCanViewHidden($model) { } /** * Edit model. * * Filter out variations which statuses are draft. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } /** * Sync model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function sync(\WP_REST_Request $request) { } /** * Sync model. * * @return \WP_REST_Response|\WP_Error */ public function syncAll() { } /** * Duplicate model. * * @param \WP_REST_Request $request Rest Request. * @return \WP_REST_Response|\WP_Error */ public function duplicate(\WP_REST_Request $request) { } /** * Import WooCommerce products. * * @return \WP_REST_Response|\WP_Error */ public function importWooCommerce() { } /** * Get count of importable WooCommerce products. * * @return \WP_REST_Response|\WP_Error */ public function wooCommerceCount() { } } /** * Handle Promotion requests through the REST API */ class PromotionsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Promotion::class; } /** * Handle Provisional account requests through the REST API */ class ProvisionalAccountController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ProvisionalAccount::class; /** * When indexing, fetch the account. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function index(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class PurchasesController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Purchase::class; /** * Revoke a purchase. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function revoke(\WP_REST_Request $request) { } /** * Invoke (un-revoke) a purchase. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function invoke(\WP_REST_Request $request) { } } /** * Handle referral items requests through the REST API */ class ReferralItemsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ReferralItem::class; } /** * Handle referrals requests through the REST API */ class ReferralsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Referral::class; /** * Approve a referral. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function approve(\WP_REST_Request $request) { } /** * Deny a referral * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function deny(\WP_REST_Request $request) { } /** * Make a referral as in review * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function make_reviewing(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class RefundsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Refund::class; } /** * Handles webhooks */ class RegisteredWebhookController extends \SureCart\Controllers\Rest\RestController { /** * Get the webhook. * * @param \WP_REST_Request $request Request. * @return \WP_REST_Response */ public function index($request) { } /** * Resync the webhook. * * @param \WP_REST_Request $request Request. * @return \WP_REST_Response */ public function resync($request) { } } /** * Handle Return Items requests through the REST API */ class ReturnItemsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ReturnItem::class; } /** * Handle Return Reasons requests through the REST API */ class ReturnReasonsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ReturnReason::class; } /** * Handle Return Requests requests through the REST API */ class ReturnRequestsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ReturnRequest::class; /** * Open a return request. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function open(\WP_REST_Request $request) { } /** * Complete a return request. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function complete(\WP_REST_Request $request) { } } /** * Handle ReviewProtocol requests through the REST API. */ class ReviewProtocolController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ReviewProtocol::class; } /** * Handle Review requests through the REST API. */ class ReviewsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Review::class; /** * Resource slug — enables the per-resource filter * `surecart/reviews/list/query_args` invoked by the base controller. * * @var string */ protected $resource = 'reviews'; /** * Always fetch with these subcollections. * * @var array */ protected $with = ['product', 'product.price', 'product.featured_product_media']; /** * Middleware before we make the request. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model|\WP_Error */ protected function middleware($class, \WP_REST_Request $request) { } /** * Publish a review. * * @param \WP_REST_Request $request Full details about the request. * @return \WP_REST_Response|\WP_Error Response object on success, or WP_Error object on failure. */ public function publish(\WP_REST_Request $request) { } /** * Unpublish a review. * * @param \WP_REST_Request $request Full details about the request. * @return \WP_REST_Response|\WP_Error Response object on success, or WP_Error object on failure. */ public function unpublish(\WP_REST_Request $request) { } /** * Let's set the customer's email and name if they are already logged in. * * @param \SureCart\Models\Model $class Model class instance. * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\Model|\WP_Error */ protected function maybeSetUser(\SureCart\Models\Model $class, \WP_REST_Request $request) { } } /** * Handle Rule Strings requests through the REST API */ class RuleSchemaController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\RuleSchema::class; /** * Find Schema. * * @param \WP_REST_Request $request Request object. * * @return \SureCart\Models\RuleSchema|\WP_Error */ public function find(\WP_REST_Request $request) { } } /** * Handle price requests through the REST API */ class SettingsController { /** * Index * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function find(\WP_REST_Request $request) { } /** * Update * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function edit(\WP_REST_Request $request) { } /** * Validate the token. * * @param string $token The API token. * * @return true|\WP_Error */ protected function validate($token = '') { } } /** * Handle Shipping Methods requests through the REST API */ class ShippingMethodController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ShippingMethod::class; } /** * Handle Shipping Profiles requests through the REST API */ class ShippingProfileController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ShippingProfile::class; } /** * Handle Shipping Protocol requests through the REST API */ class ShippingProtocolController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ShippingProtocol::class; } /** * Handle Shipping Rates requests through the REST API */ class ShippingRateController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ShippingRate::class; } /** * Handle Shipping Zones requests through the REST API */ class ShippingZoneController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\ShippingZone::class; } /** * Handle Statistic requests through the REST API */ class StatisticsController { /** * Map a string to php class * * @var array */ protected $models = ['orders' => \SureCart\Models\Order::class, 'abandoned_checkouts' => \SureCart\Models\AbandonedCheckout::class, 'cancellation_reasons' => \SureCart\Models\CancellationReason::class, 'cancellation_acts' => \SureCart\Models\CancellationAct::class, 'subscriptions' => \SureCart\Models\Subscription::class]; /** * Find model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class SubscriptionProtocolController { /** * Find model. * * @return Model */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle Price requests through the REST API */ class SubscriptionsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Subscription::class; /** * Cancel a subscription. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function cancel(\WP_REST_Request $request) { } /** * Complete a subscription. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function complete(\WP_REST_Request $request) { } /** * Restore a subscription. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function restore(\WP_REST_Request $request) { } /** * Restore a subscription. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function preserve(\WP_REST_Request $request) { } /** * Renew a subscription. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function renew(\WP_REST_Request $request) { } /** * Preview an upcoming invoice. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\SureCart\Models\Model|WP_Error */ public function upcomingPeriod(\WP_REST_Request $request) { } /** * Pays off all remaining periods for a subscription. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function payOff(\WP_REST_Request $request) { } } /** * Handle swap requests through the REST API */ class SwapsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Swap::class; } /** * Handle Tax Override requests through the REST API */ class TaxOverrideController extends \SureCart\Controllers\Rest\RestController { /** * Always fetch with these subcollections. * * @var array */ protected $with = ['tax_zone', 'product_collection']; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\TaxOverride::class; } /** * Handle coupon requests through the REST API */ class TaxProtocolController { /** * Find model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function find(\WP_REST_Request $request) { } /** * Edit model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function edit(\WP_REST_Request $request) { } } /** * Handle coupon requests through the REST API */ class TaxRegistrationController extends \SureCart\Controllers\Rest\RestController { /** * Always fetch with these subcollections. * * @var array */ protected $with = ['tax_identifier', 'tax_zone']; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\TaxRegistration::class; } /** * Handle coupon requests through the REST API */ class TaxZoneController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\TaxZone::class; } /** * Handle Price requests through the REST API */ class UploadsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Upload::class; } /** * Handle upsell requests through the REST API */ class UpsellFunnelsController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\UpsellFunnel::class; } /** * Handle upsell requests through the REST API */ class UpsellsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Upsell::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_prices'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = []; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = ['archived' => false]; /** * Hide archived upsells on find for anonymous callers. * * @var boolean */ protected $anonymous_hides_archived = true; } /** * Handle Variant Options request through the REST API */ class VariantOptionsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\VariantOption::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_prices'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = []; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = []; } /** * Handle Variant Values request through the REST API */ class VariantValuesController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\VariantValue::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_prices'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = []; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = []; } /** * Handle Variants request through the REST API */ class VariantsController extends \SureCart\Controllers\Rest\RestController { use \SureCart\Concerns\RestrictsAnonymousReads; /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Variant::class; /** * Capability that unlocks unrestricted reads. * * @var string */ protected $edit_capability = 'edit_sc_prices'; /** * Expands safe to forward for anonymous callers. * * @var array */ protected $anonymous_expands = ['image']; /** * Query filters forced for anonymous callers. * * @var array */ protected $anonymous_scope = []; } /** * Handle verification code requests through the REST API */ class VerificationCodeController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\VerificationCode::class; /** * Transient key prefix for the per-email resend window. * * @var string */ const RESEND_TRANSIENT_PREFIX = 'sc_vcode_resend_'; /** * Create model. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response|\WP_Error */ public function create(\WP_REST_Request $request) { } /** * Build the transient key for an email + checkout mode. * * @param string $email Normalized against case so the key is stable. * @param string $mode Checkout mode (live/test) to avoid cross-mode collisions. * * @return string */ public static function resendTransientKey($email, $mode) { } /** * Get the stored resend-available timestamp if it is still in the future. * * @param string $email Email address. * @param string $mode Checkout mode. * * @return int|false Unix timestamp, or false when no active window. */ protected function getResendWindow($email, $mode) { } /** * Store the resend-available timestamp, expiring the transient when it lapses. * * @param string $email Email address. * @param string $mode Checkout mode. * @param int $available_at Unix timestamp the next resend is allowed. * * @return void */ protected function setResendWindow($email, $mode, $available_at) { } /** * Clear the resend window for an email across both checkout modes. * * @param string $email Email address. * * @return void */ protected function clearResendWindow($email) { } /** * Pull the backoff window out of a platform "blocked duplicate" error and store it. * * @param \WP_Error $error The translated platform error. * @param string $email Email address. * @param string $mode Checkout mode. * * @return void */ protected function storeResendWindowFromError($error, $email, $mode) { } /** * Normalize a platform timestamp (unix int or ISO 8601 string) to a unix timestamp. * * @param mixed $value Raw value from the platform. * * @return int|null */ protected function normalizeToTimestamp($value) { } /** * Verify a verification code * * @param \WP_REST_Request $request Rest Request. * * @return mixed|\WP_Error */ public function verify(\WP_REST_Request $request) { } /** * Get the user from the login. * * @param string $login An email or login. * * @return \SureCart\Models\User|false */ public function getUser($login) { } } /** * Handles webhooks */ class WebhookController extends \SureCart\Controllers\Rest\RestController { /** * Class to make the requests. * * @var string */ protected $class = \SureCart\Models\Webhook::class; } } namespace SureCart\Controllers\Web { /** * Base Page Controller Abstract class. */ abstract class BasePageController { /** * Specified model. * * @var object */ protected $model; /** * Set the model. * * @param object $model Model, eg- Product, ProductCollection. * * @return void */ protected function setModel($model): void { } /** * Enqueue scripts. * Add data for specific store by overriding this method. * * @return void */ public function scripts() { } /** * Handle fetching error. * * @param \WP_Error $wp_error WP Error. * * @return void */ public function handleError(\WP_Error $wp_error): void { } /** * Handle not found error. * * @return void */ public function notFound(): void { } /** * Handle filters. * * @return void */ public function filters(): void { } /** * Add meta title and description. * * @return void */ public function addSeoMetaData(): void { } /** * Preload the product image. * * @return void */ public function preloadImage(): void { } /** * Update the document title name to match the model[eg-product] name. * * @param array $parts The parts of the document title. */ public function documentTitle($parts): array { } /** * Disallow the pre title. * * @param string $title The title. * * @return string */ public function disallowPreTitle($title) { } } /** * Handles Instant Checkout Page. */ class BuyPageController extends \SureCart\Controllers\Web\BasePageController { /** * Handle filters. * * @return void */ public function filters(): void { } /** * Preload the image above the fold. * * @return void */ public function preloadImage(): void { } /** * Add edit links * * @param \WP_Admin_bar $wp_admin_bar The admin bar. * * @return void */ public function addEditProductLink($wp_admin_bar) { } /** * Show the product page * * @param \SureCartCore\Requests\RequestInterface $request Request. * @param \SureCartCore\View $view View. * @param string $id The id of the product. * @return function */ public function show($request, $view, $id) { } /** * Enqueue styles. * * @return void */ public function styles() { } /** * Generate the terms html. * * @return string */ public function termsText() { } /** * Add the SEO meta data. * * @return void */ public function addSeoMetaData(): void { } /** * Add the JSON-LD schema for the product. * * @return void */ public function addProductJsonSchema(): void { } } /** * Handles Checkout related routes. */ class CheckoutFormsController { /** * Change the mode of the checkout form. */ public function changeMode() { } } /** * Thank you routes */ class DashboardController { /** * Get the enabled navigation. * * @return array */ public function getEnabledNavigation($id) { } /** * Get data for the page. * * @return array */ public function getData() { } /** * Is this tab active. */ public function isActive($tab) { } /** * Get the account navigation. * * @return array */ public function getAccountNavigation() { } /** * Get the navigation. * * @return array */ public function getNavigation() { } /** * Show the dashboard. */ public function show($request, $view) { } /** * Get the link from the request. * * @param string $link_id The link id. * @return string|\WP_Error */ public function getLink($link_id) { } /** * Login the user * * @param int|\WP_User $wp_user WordPress user. * @return void */ public function loginUser($wp_user) { } } /** * Thank you routes */ class PurchaseController { /** * Edit a product. */ public function show() { } } /** * Thank you routes */ class SubscriptionsController { /** * Show the user's subscriptions */ public function show($request, $view) { } } /** * Handles Upsell Page requests for frontend. */ class UpsellPageController extends \SureCart\Controllers\Web\BasePageController { /** * The product model. * * @var \SureCart\Models\Product */ protected $product; /** * Handle filters. * * @return void */ public function filters(): void { } /** * We don't wamt to index the upsell page. * * @return void */ public function addSeoMetaData(): void { } /** * Add edit links * * @param \WP_Admin_bar $wp_admin_bar The admin bar. * * @return void */ public function addEditUpsellLink($wp_admin_bar) { } /** * Show the product page * * @param \SureCartCore\Requests\RequestInterface $request Request. * @param \SureCartCore\View $view View. * @param string $id The id of the product. * @return function */ public function show($request, $view) { } /** * Get the checkout success text. * * @return array */ public function getCheckoutText(int $form_id) { } /** * Get the success url by form id. * * @param int $form_id Checkout form id. * @return string The success url. */ public function getCheckoutSuccessUrl(int $form_id): string { } } /** * Handles webhooks */ class WebhookController { /** * Create new webhook for this site. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return ResponseInterface */ public function create($request) { } /** * Update the webhook. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return ResponseInterface */ public function update($request) { } /** * This deletes and recreates the webhook * in case the signing secret is invalid for some reason. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return ResponseInterface */ public function resync($request) { } /** * Recieve webhook. * * @param \SureCartCore\Requests\RequestInterface $request Request. * @return ResponseInterface */ public function receive($request) { } /** * Handle the response back to the webhook. * * @param array|\WP_Error $data Data. * @return function */ public function handleResponse($id, $data) { } } } namespace SureCart\Database { /** * A migration that will run each time the version of the plugin changes. */ abstract class VersionMigration { /** * The key for the migration. * * @var string */ protected $migration_key = 'surecart_migration_version'; /** * Run on init. * * @return void */ public function bootstrap() { } /** * Get the current version of the plugin. * * @return string */ public function currentVersion() { } /** * Maybe let's run the migration. * * @return void */ public function maybeRun() { } /** * Should we run this migration? * * @return boolean */ public function shouldMigrate(): bool { } /** * Run the migration * * @return void */ protected function run() { } /** * Store the current plugin version when complete. * * @return void */ public function complete() { } /** * Get the last version there was a migration. * * @return string */ public function getLastMigrationVersion() { } } /** * Migrates saved cart templates: wraps the standalone `cart-line-item-variant` * block inside the new `cart-line-item-details` container so bundle line-items * get the collapsible "+N more" region on upgrade. * * The `cart-line-item-note` block is intentionally left standalone — in * released carts it already sits right after the variant, so once the variant * is wrapped the note naturally ends up after the details container. */ class CartLineItemDetailsMigrationService extends \SureCart\Database\VersionMigration { /** * The key for the migration. * * @var string */ protected $migration_key = 'surecart_cart_line_item_details_migration_version'; /** * Whether any post update failed during the run. When true we skip marking * the migration complete so it retries on the next admin_init. * * @var bool */ protected $failed = false; /** * Default variant attributes — matches the default cart template. * * @var string */ const DEFAULT_CHILD_ATTRS = '{"style":{"typography":{"fontSize":"14px","lineHeight":"1.4"}}}'; /** * Matches the details container form: opener (with or without attrs), * inner blocks, closer. Its presence means the cart is already migrated. * * @var string */ const DETAILS_WRAPPER_PATTERN = '/.*?/s'; /** * Matches the standalone self-closing variant block the container now owns. * * @var string */ const VARIANT_BLOCK_PATTERN = '/[ \t]*\n?/s'; /** * Run the migration. * * @return void */ public function run(): void { } /** * Only mark the migration complete when every cart updated cleanly. * * @return void */ public function complete() { } /** * Collect the cart posts to migrate. * * Covers both storage locations: * - wp_template_part with post_name 'cart' (newer installs). * - sc_cart post type (legacy installs whose cart hasn't been moved yet). * * @return array */ protected function getCartPosts(): array { } /** * Wrap the standalone variant block in a details container, preserving the * merchant's variant styling. The note is left untouched. * * Deterministic, so re-running on migrated content is a no-op. * * @param string $content Post content. * @return string Migrated content (unchanged if nothing matched). */ protected function consolidateDetails(string $content): string { } /** * Get the attribute JSON of the first occurrence of a self-closing block. * * @param string $content Post content to scan. * @param string $block Block name without the `surecart/` prefix. * @return string|null Attribute JSON, or null when absent/attribute-less. */ protected function blockAttrs(string $content, string $block): ?string { } /** * Pick the first anchor block from a preferred list that exists in the content. * * @param string $content Post content to scan. * @param array $candidates Block names, in order of preference. * @return string|null Block name to anchor against, or null if none match. */ protected function firstExistingAnchor(string $content, array $candidates): ?string { } } abstract class GeneralMigration { /** * The version number when we will run the migration. * * @var string */ protected $version = '0.0.0'; /** * The key for the migration. * * @var string */ protected $migration_key = 'surecart_migration_version'; /** * Run on init. * * @return void */ public function bootstrap() { } /** * Maybe let's run the migration. * * @return void */ public function maybeRun() { } /** * Should we run this migration? * * @return boolean */ public function shouldMigrate(): bool { } /** * Run the migration * * @return void */ protected function run() { } /** * Store the current plugin version when complete. * * @return void */ public function complete() { } /** * Get the last version there was a migration. * * @return string */ public function getLastMigrationVersion() { } } /** * WordPress Users service. */ class MigrationsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Run this migration when version changes or for new installations. */ class ProductPageMigrationService extends \SureCart\Database\VersionMigration { /** * The key for the migration. * * @var string */ protected $migration_key = 'surecart_product_page_migration_version'; /** * Run the migration. * * @return void */ public function run(): void { } } /** * Run this migration when version changes or for new installations. */ class RewriteRulesMigrationService extends \SureCart\Database\VersionMigration { /** * The key for the migration. * * @var string */ protected $migration_key = 'surecart_rewrites_migration_version'; /** * Run the migration. * * @return void */ public function run(): void { } } /** * Table class for creating custom tables. */ class Table { /** * Create a database table * * @param string $name Table name. * @param string $columns Table columns. * @param integer $version Table version. * @param array $opts Table options. * @return void */ public function create($name, $columns, $version = 1, $opts = []) { } /** * Drops the table and database option * * @param string $name The name of the table to drop. * @return boolean Whether the table was dropped. */ public function drop($name) { } /** * Does the database table exist? * * @param string $name Table name. * * @return boolean */ public function exists($name) { } } } namespace SureCart\Database\Tables { /** * The integrations table class. */ class IncomingWebhook { /** * Holds the table instance. * * @var \SureCart\Database\Table */ protected $table; /** * Version number for the table. * Change this to update the table. * * @var integer */ protected $version = 1; /** * Table name. * * @var string */ protected $name = 'surecart_incoming_webhooks'; /** * Get the table dependency. * * @param \SureCart\Database\Table $table The table dependency. */ public function __construct(\SureCart\Database\Table $table) { } /** * Get the table name. * * @return string */ public function getName() { } /** * Add relationships custom table * This allows for simple, efficient queries * * @return mixed */ public function install() { } /** * Uninstall tables * * @return boolean */ public function uninstall() { } /** * Does the table exist? * * @return boolean */ public function exists() { } } /** * The integrations table class. */ class Integrations { /** * Holds the table instance. * * @var \SureCart\Database\Table */ protected $table; /** * Version number for the table. * Change this to update the table. * * @var integer */ protected $version = 2; /** * Table name. * * @var string */ protected $name = 'surecart_integrations'; /** * Get the table dependency. * * @param \SureCart\Database\Table $table The table dependency. */ public function __construct(\SureCart\Database\Table $table) { } /** * Get the table name. * * @return string */ public function getName(): string { } /** * Add relationships custom table * This allows for simple, efficient queries * * @return mixed */ public function install() { } /** * Uninstall tables * * @return boolean */ public function uninstall(): bool { } /** * Does the table exist? * * @return boolean */ public function exists(): bool { } } /** * The integrations table class. */ class VariantOptionValues { /** * Holds the table instance. * * @var \SureCart\Database\Table */ protected $table; /** * Version number for the table. * Change this to update the table. * * @var integer */ protected $version = 2; /** * Table name. * * @var string */ protected $name = 'surecart_variant_option_values'; /** * Get the table dependency. * * @param \SureCart\Database\Table $table The table dependency. */ public function __construct(\SureCart\Database\Table $table) { } /** * Get the table name. * * @return string */ public function getName() { } /** * Add relationships custom table * This allows for simple, efficient queries * * @return mixed */ public function install() { } /** * Uninstall tables * * @return boolean */ public function uninstall() { } /** * Does the table exist? * * @return boolean */ public function exists() { } } } namespace SureCart\Database { /** * One-time migration: moves surecart_theme WP option to brand.theme on the API. * Also copies brand.color and brand.logo to dark fields for existing dark mode users. */ class ThemeMigrationService extends \SureCart\Database\GeneralMigration { /** * Unique key to track this specific migration. * * @var string */ protected $migration_key = 'surecart_theme_to_brand_migration'; /** * Whether to prevent marking migration as complete (e.g. on API failure). * * @var bool */ private $prevent_complete = false; /** * Run the migration. * * @return void */ protected function run() { } /** * Only mark complete if the migration actually succeeded. * * @return void */ public function complete() { } } /** * This service provider runs on every single update. */ class UpdateMigrationServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } /** * Run the migration. */ public function run() { } /** * Set classic order bump design for existing installs. * * Fresh installs have migration_version = '0.0.0' at this point because * updateMigrationVersion() runs at priority 9999999, after this. * add_option() is a no-op if the option already exists (idempotent). * * @return void */ public function handleOrderBumpDesignMigration() { } /** * Update the migration version. * * @return void */ public function updateMigrationVersion() { } /** * Version has changed? * * @return boolean */ public function versionChanged() { } /** * Handle cart migration * * @return \WP_Post|WP_Error */ public function handleCartMigration() { } } /** * Update user meta that was incorrectly saved. */ class UserMetaMigrationsService extends \SureCart\Database\GeneralMigration { /** * Run the migration. * * @return void */ public function run() { } /** * Migrate user meta * * @return void */ public function runUserMetaMigration() { } /** * Always flush roles when version changes. * * @return void */ public function flushRoles() { } } /** * Run this migration when version changes or for new installations. */ class WebhookMigrationsService extends \SureCart\Database\VersionMigration { /** * The key for the migration. * * @var string */ protected $migration_key = 'surecart_webhook_migration_version'; /** * Run the migration. * * @return void */ public function run(): void { } } } namespace SureCart\Form { /** * Handles server-side form validation of gutenberg blocks. */ class FormValidationService { /** * Holds the parsed blocks. * * @var array */ protected $blocks = []; /** * The form post content. * * @var string */ protected $content = ''; /** * Params to validate. * * @var array */ protected $params = []; /** * Get things going. * * @param string $content Post content. * @param array $params Params to validate. */ public function __construct($content, $params = []) { } /** * Validate the form submission. * * @return true|WP_Error */ public function validate() { } /** * Find required blocks recursively. */ public function findRequiredBlocks() { } /** * Get nested block with a specific attribute/value pair. * * @param string $attribute Attribute name. * @param any $value The value. * @return array */ protected function getNestedBlocksWhere($attribute, $value) { } /** * Get nested values from an array * * @param array $array Array to search. * @param string $nested_key Nested key to search for. * @return array */ protected function getNestedBlockWithAttribute(array $array, $nested_key) { } } } namespace SureCart\Install { /** * Service for installation related functions. */ class InstallService { public function install() { } /** * Create the main checkout form. * * @return void */ public function createCheckoutForm() { } /** * Create pages that the plugin relies on, storing page IDs in variables. * * @return void */ public function createPages() { } /** * Create posts from an array of post data. * * @param array $posts Array of post data. * @return void */ public function createPosts($posts) { } } class InstallServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\Integrations\Abstracts { /** * Abstract base class for SEO plugin integrations that handle noindex robots meta. */ abstract class NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = ''; /** * The query vars that should trigger noindex. * * @var array */ protected $query_vars = ['products-search', 'products-order', 'products-orderby', 'line_items', 'currency']; /** * The noindex robots. * * @var array */ protected $noindex_robots = ['noindex' => 'noindex', 'nofollow' => 'nofollow']; /** * Bootstrap the service. * * @throws \RuntimeException If hook_name is not set. * * @return void */ public function bootstrap(): void { } /** * Modify robots to add noindex for SureCart query vars. * * @param array $robots Robots array. * * @return array Modified robots. */ public function addNoindexForQueryVars(array $robots): array { } /** * Check if the current request has any SureCart query variables. * * @return bool True if any SureCart query var is present. */ protected function hasNoIndexQueryVars(): bool { } /** * Get SureCart query variables that should trigger noindex. * * @return array List of query variable names. */ protected function getNoIndexQueryVars(): array { } } } namespace SureCart\Integrations\AIOSEO { /** * Controls the All in One SEO integration. */ class AIOSEOService extends \SureCart\Integrations\Abstracts\NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = 'aioseo_robots_meta'; } /** * Handles the All in One SEO integration. */ class AIOSEOServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations { /** * Abstract integrations class. */ abstract class AbstractIntegration { /** * Run an action when a purchase is created * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Run an action when a purchase is revoked. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Run an action when a purchase is invoked. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Method to run when the quantity updates. * * @param integer $quantity The new quantity. * @param integer $previous The previous quantity. * @param Purchase $purchase The purchase. * @param array $request The request. * * @return void */ public function onPurchaseQuantityUpdated($quantity, $previous, $purchase, $request) { } /** * Method to run when the purchase product is updated. * * @param Purchase $quantity The current purchase. * @param Purchase $previous_purchase The previous purchase. * @param array $request The request. * * @return void|\WP_Error */ public function onPurchaseProductUpdated(\SureCart\Models\Purchase $purchase, \SureCart\Models\Purchase $previous_purchase, $request) { } /** * The product was added. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return void */ public function onPurchaseProductAdded($integration, $wp_user) { } /** * Removed * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return void */ public function onPurchaseProductRemoved($integration, $wp_user) { } /** * Method to run when a purchase is updated. * This can occur if the product or quantity changes. * * @param Purchase $purchase The purchase. * @param array $request The request. * * @return void */ public function onPurchaseUpdated(\SureCart\Models\Purchase $purchase, $request) { } } } namespace SureCart\Integrations\AffiliateWP { /** * Class Custom_Integration * Use this class to ext */ class AffiliateWPIntegration extends \Affiliate_WP_Base { /** * The context for referrals. This refers to the integration that is being used. * * @access public * @var string */ public $context = 'surecart'; /** * Get things started * * @access public * @since 2.0 */ public function init() { } /** * The reference link for the referral. * * @param string $reference The reference id. * @param object $referral The referral object. * * @return string */ public function referenceLink($reference, $referral) { } /** * Reject referral when purchase is revoked. * * @param \SureCart\Models\Purchase $purchase Purchase model. * * @return void */ public function revokeReferral($purchase) { } /** * Complete referral when purchase is invoked. * * @param \SureCart\Models\Purchase $purchase Purchase model. * * @return void */ public function invokeReferral($purchase) { } /** * Records a pending referral when a pending payment is created * * @param \SureCart\Models\Purchase $purchase Purchase model. */ public function addPendingReferral($purchase) { } } /** * Class AffiliateWPRecurringIntegration */ class AffiliateWPRecurringIntegration extends \Affiliate_WP_Recurring_Base { /** * The context for referrals. This refers to the integration that is being used. * * @access public * @var string */ public $context = 'surecart'; /** * Get things started * * @access public * @since 2.0 */ public function init() { } /** * Records a recurring referral when a subscription renews * * @param $subscription Subscription object. */ public function renewedSubscription($subscription) { } } /** * Controls the LearnDash integration. */ class AffiliateWPService { /** * Bootstrap the integration. * * @return void */ public function bootstrap() { } /** * Register the integration * * @param array $integrations Integrations. * * @return array */ public function register($integrations) { } } /** * Handles the learnDash Service. */ class AffiliateWPServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\Avada { /** * Controls the Avada integration. */ class AvadaService { /** * Bootstrap the Avada integration. * * @return void */ public function bootstrap(): void { } /** * Check if Avada theme is active. * * @return bool */ private function isAvadaThemeActive(): bool { } /** * Initialize the Avada integration. * * @return void */ public function init(): void { } /** * Enqueue the Avada block styles. * * @return void */ public function enqueueAvadaBlockStyles(): void { } } /** * Handles the Avada integration. */ class AvadaServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\Beaver { /** * SureCart form form widget. * * Surecart widget that displays a form. */ class BeaverFormModule extends \FLBuilderModule { public function __construct() { } /** * Should be overridden by subclasses to enqueue * additional css/js using the add_css and add_js methods. * * @since x.x.x * * @return void */ public function enqueue_scripts() { } /** * Get settings * * @return array */ public static function getSettings() { } /** * Get buttons content * * @return html */ public static function button_content() { } /** * Display the block * * @return void */ public function display() { } } /** * Beaver service provider. */ class BeaverServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } /** * Beaver load scripts * * @return void */ public function fetch_forms() { } /** * Beaver module register * * @return void */ public function module() { } /** * Handle product page wrapper * * @param string $content The content. * * @return string */ public function handle_product_page_wrapper($content) { } } } namespace SureCart\Integrations\Bricks { /** * This class handles bricks dynamic data functionality. */ class BricksDynamicDataService { /** * Provider name. * * @var string */ protected $name = 'surecart'; /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Check if we are in the admin editor. * * @return bool */ public function is_admin_editor() { } /** * Register Tags. * * @param array $tags Existing tags. * * @return array */ public function dynamicTags($tags = []) { } /** * Parse tag * * @param string $name Tag name. * @param object $post Post object. * @param array $filters Filters. */ public function parseTag($name, $post, $filters) { } /** * Dynamic tag exists in $content: Replaces dynamic tag with requested data. * * @param string $content Content. * @param WP_Post $post Post object. * @param string $context Context. * * @return string */ public function render($content, $post, $context = 'text') { } /** * Main function to render the tag value for WooCommerce provider * * @param string $tag Tag name. * @param object $post Post object. * * @return string */ public function getTheTagValue($tag, $post) { } /** * Parse the tag and extract arguments * * @param string $tag The original tag string. * @return array An array containing the parsed tag and arguments. */ private function parse_tag_and_args($tag) { } /** * Calculate dynamic data filters according to the args received * * @param array $args * @return array */ public function get_filters_from_args($args) { } } /** * This class handles bricks elements functionality. */ class BricksElementsService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Register the elements. * * @return void */ public function registerElements() { } /** * Set the default template for the post type. * This will only apply if the post has not been edited directly by bricks. * * @param array $active_templates Active templates. * @param int $post_id Post ID. * @param string $content_type Content type. * * @return self */ public function setDefaultProductTemplate($active_templates, $post_id, $content_type) { } /** * Set the default template for the post type. * This will only apply if the post has not been edited directly by bricks. * * @param array $active_templates Active templates. * @param int $post_id Post ID. * @param string $content_type Content type. * * @return self */ public function setDefaultCollectionTemplate($active_templates, $post_id, $content_type) { } /** * Add template types to control options * * @param array $control_options Control options. * * @return array */ public function addTemplateTypes($control_options) { } /** * Remove query args for editor. * * @param array $query_args Query arguments. */ public function removeQueryArgsForEditor(array $query_args): array { } } /** * Handles the Bricks Service. */ class BricksServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Bricks template service. */ class BricksTemplateService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Add the bricks edit link to the data. * * @param array $data The data. * * @return array */ public function addBricksEditLink($data) { } /** * Check if the current page is rendered with Bricks. * * @return bool */ public function isRenderedWithBricks(): bool { } } } namespace SureCart\Integrations\Bricks\Concerns { trait ConvertsBlocks { /** * Show if we should populate content on empty. * * @var string */ public $show_populate_on_empty = false; /** * Get the block html * * @param array $block_attributes The block attributes. * @param string $content The block content. * * @return string */ protected function html($block_attributes = [], $content = '') { } /** * Render the raw block output. * * @param array $block_attributes The block attributes. * @param string $content The block content. * * @return string */ public function raw($block_attributes = [], $content = '') { } /** * Preview block. * * @param string $content The block content. * @param string $class_name The class name. * @param string $tag The tag. * * @return string */ public function preview($content = '', $class_name = '', $tag = 'div') { } /** * Get the rendered attributes. * * @return array */ public function get_block_rendered_attributes(): array { } /** * Whether it is editor or not. * * @return bool */ public function is_admin_editor() { } /** * Get raw color. * * @param string $key The key. * * @return string */ public function get_raw_color($key) { } } } namespace SureCart\Integrations\Bricks\Elements { /** * Buy Button element. */ class BuyButton extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the bricks class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-buy-button'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-buy-button'; /** * Element icon. * * @var string */ public $icon = 'ti-shopping-cart'; /** * Get element label. * * @return string */ public function get_label() { } /** * Enqueue element-specific styles and scripts. */ public function enqueue_scripts() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Cart Menu Icon element. */ class CartMenuIcon extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-cart-icon'; /** * Element block name. * * @var string */ public $block_name = 'surecart/cart-menu-icon-button'; /** * Element icon. * * @var string */ public $icon = 'ti-bag'; /** * Cart icon. * * @var string */ public $cart_icon = ''; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } /** * Render Bricks icon. * * @param string $icon Icon. * * @return string */ public function render_bricks_icon($icon): string { } } /** * Collection Tag element. */ class CollectionTag extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element name. * * @var string */ public $name = 'surecart-product-collection-tag'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-collection-tag'; /** * Element icon * * @var string */ public $icon = 'ion-md-pricetag'; /** * The constructor. * * @param array $element Element data. * * @return void */ public function __construct($element = null) { } /** * Get element label * * @return string */ public function get_label() { } /** * Render element. * * @return void */ public function render() { } } /** * Collection Tags element. */ class CollectionTags extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-collection-tags'; /** * Element block name * * @var string */ public $block_name = 'surecart/product-collection-tags'; /** * Element icon * * @var string */ public $icon = 'ion-md-pricetags'; /** * This is nestable. * * @var string */ public $nestable = true; /** * Get element label * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Media element. */ class Media extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-media'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-media'; /** * Element icon. * * @var string */ public $icon = 'ti-layout-slider-alt'; /** * Get element label. * * @return string */ public function get_label() { } /** * Enqueue scripts and styles. * * @return void */ public function enqueue_scripts() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Price Choice Template element. */ class PriceChoiceTemplate extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element name. * * @var string */ public $name = 'surecart-product-price-choice-template'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-price-choice-template'; /** * Element icon. * * @var string */ public $icon = 'fas fa-money-bill-1'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * Constructor. * * @param array $element Element. * * @return void */ public function __construct($element = null) { } /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Price Selector element. */ class PriceChooser extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-price-chooser'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-price-chooser'; /** * Element icon. * * @var string */ public $icon = 'fas fa-money-bills'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * The constructor. * * @param \Bricks\Element|null $element The element. * * @return void */ public function __construct($element = null) { } /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Selected Price element. */ class PriceData extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element icon. * * @var string */ public $icon = 'ti-receipt'; /** * Element name. * * @var string */ public $name = 'surecart-price-data'; /** * Element block name. * * @var string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Product element. */ class Product extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the bricks class. /** * Element category. * * @var string */ public $category = 'SureCart Layout'; /** * Element name. * * @var string */ public $name = 'surecart-product-page'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-page'; /** * Element icon. * * @var string */ public $icon = 'ti-tag'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * Get element label. * * @return string */ public function get_label() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Product element. */ class ProductCard extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the bricks class. /** * Element category. * * @var string */ public $category = 'SureCart Layout'; /** * Element name. * * @var string */ public $name = 'surecart-product-card'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-page'; /** * Element icon. * * @var string */ public $icon = 'ion-md-list-box'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Class ProductContent. */ class ProductContent extends \Bricks\Element { /** * The name of the element. * * @var string */ public $name = 'product-content'; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * The icon for the element. * * @var string */ public $icon = 'ion-md-list-box'; /** * Enqueue scripts and styles for the element. * * @return void */ public function enqueue_scripts() { } /** * Get the label for the element. * * @return string */ public function get_label() { } /** * Set the controls for the element. * * @return void */ public function set_controls() { } /** * Render the element. * * @return void */ public function render() { } } /** * Selected Price element. */ class ProductData extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element icon. * * @var string */ public $icon = 'ti-receipt'; /** * Element name. * * @var string */ public $name = 'surecart-product-data'; /** * Element block name. * * @var string */ public function get_label() { } /** * This ensures that if the element has all children that are [hidden] * the element will not display. * * @return void */ public function enqueue_scripts() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Product Line Item Note element. */ class ProductLineItemNote extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-line-item-note'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-line-item-note'; /** * Element icon. * * @var string */ public $icon = 'ion-md-create'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Product Quick Add Button element. */ class ProductQuickAddButton extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the bricks class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-quick-add-button'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-quick-view-button'; /** * Element icon. * * @var string */ public $icon = 'ti-plus'; /** * Get element label. * * @return string */ public function get_label() { } /** * Get the default button label. * * @return string */ protected function get_default_label(): string { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Product Average Rating Stars element. */ class ProductReviewAverageRatingStars extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-review-average-rating-stars'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-review-average-rating-stars'; /** * Element icon. * * @var string */ public $icon = 'ti-star'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } /** * Render preview in editor. * * @param string $size Star size. * @param string $fill_color Star fill color. * * @return void */ private function render_preview($size, $fill_color) { } } /** * Product Average Rating Value element. */ class ProductReviewAverageRatingValue extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-review-average-rating-value'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-review-average-rating-value'; /** * Element icon. * * @var string */ public $icon = 'ti-bookmark-alt'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } /** * Render admin preview. * * @param string $format_style Format style. * * @return void */ public function render_preview($format_style) { } } /** * Product Review Breakdown element. */ class ProductReviewBreakdown extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-review-breakdown'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-review-breakdown'; /** * Element icon. * * @var string */ public $icon = 'ti-bar-chart'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set control groups. * * @return void */ public function set_control_groups() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } /** * Render preview in editor. * * @param string $star_size Star size with unit. * @param string $fill_color Fill color. * @param int $columns Number of columns. * @param string $column_gap Column gap with unit. * @param string $row_gap Row gap with unit. * * @return void */ private function render_preview($star_size = '20px', $fill_color = '', $columns = 1, $column_gap = '20px', $row_gap = '2px') { } } /** * Product Review Content element. * * This is a conditional wrapper element that only renders its children * when reviews exist for the current product. Similar to the Gutenberg * `surecart/product-reviews` block. */ class ProductReviewContent extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-review-content'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-reviews'; /** * Element icon. * * @var string */ public $icon = 'ti-layout-placeholder'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * Get element label. * * @return string */ public function get_label() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Product Review List element. */ class ProductReviewList extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-review-list'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-review-list'; /** * Element icon. * * @var string */ public $icon = 'ti-list'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set control groups. * * @return void */ public function set_control_groups() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } /** * Get the review list block content. * * @param bool $show_header Show header. * @param bool $show_sidebar Show sidebar. * @param bool $show_add_button Show add button. * @param bool $show_pagination Show pagination. * @param bool $show_date Show date. * @param bool $show_content Show content. * @param string $no_reviews_text No reviews text. * * @return string */ private function get_review_list_content($show_header, $show_sidebar, $show_add_button, $show_pagination, $show_date, $show_content, $no_reviews_text): string { } /** * Get the review template block content. * * @param bool $show_date Show date. * @param bool $show_content Show content. * * @return string */ private function get_review_template_content($show_date, $show_content): string { } /** * Get the review add button block content. * * @return string */ private function get_review_add_button_content(): string { } /** * Render preview in editor. * * @param bool $show_header Show header. * @param bool $show_sidebar Show sidebar. * @param bool $show_add_button Show add button. * @param bool $show_date Show date. * @param bool $show_content Show content. * @param bool $show_pagination Show pagination. * * @return void */ private function render_preview($show_header, $show_sidebar, $show_add_button, $show_date, $show_content, $show_pagination) { } } /** * Product Review Rating element. */ class ProductReviewRating extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Layout'; /** * Element name. * * @var string */ public $name = 'surecart-product-rating'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-rating'; /** * Element icon. * * @var string */ public $icon = 'ti-star'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * Get element label. * * @return string */ public function get_label() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Product Total Rating element. */ class ProductReviewTotalRating extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-review-total-rating'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-review-total-rating'; /** * Element icon. * * @var string */ public $icon = 'ti-write'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } /** * Render preview in editor. * * @param bool $show_label Show label flag. * @param string $style_variant Style variant. * * @return void */ private function render_preview($show_label, $style_variant) { } } /** * Product Reviews element. */ class ProductReviews extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; /** * Element category. * * @var string */ public $category = 'SureCart Layout'; /** * Element name. * * @var string */ public $name = 'surecart-product-reviews'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-reviews'; /** * Element icon. * * @var string */ public $icon = 'ti-comments'; /** * This is nestable. * * @var bool */ public $nestable = true; /** * Get element label. * * @return string */ public function get_label() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } /** * Quantity element. */ class Quantity extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-quantity'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-quantity'; /** * Element icon. * * @var string */ public $icon = 'ti-plus'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Sale Badge element. */ class SaleBadge extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-sale-badge'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-sale-badge'; /** * Element icon * * @var string */ public $icon = 'ion-md-ribbon'; /** * Get element label * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. */ public function render() { } } /** * Selected Price Ad Hoc Amount element. */ class SelectedPriceAdHocAmount extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-selected-price-ad-hoc-amount'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-selected-price-ad-hoc-amount'; /** * Element icon. * * @var string */ public $icon = 'ion-md-create'; /** * Get element label. * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Variant Pill element. */ class VariantPill extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element name. * * @var string */ public $name = 'surecart-product-variant-pill'; /** * Element block name. * * @var string */ public $block_name = 'surecart/product-variant-pill'; /** * Element icon * * @var string */ public $icon = 'ion-md-radio-button-on'; /** * Get element label * * @return string */ public function get_label() { } /** * Set controls. * * @return void */ public function set_controls() { } /** * Render element. * * @return void */ public function render() { } } /** * Variant Pills element. */ class VariantPills extends \Bricks\Element { use \SureCart\Integrations\Bricks\Concerns\ConvertsBlocks; // we have to use a trait since we can't extend the surecart class. /** * Element category. * * @var string */ public $category = 'SureCart Elements'; /** * Element name. * * @var string */ public $name = 'surecart-product-variant-pills'; /** * Element block name * * @var string */ public $block_name = 'surecart/product-variant-pills'; /** * Element icon * * @var string */ public $icon = 'ion-md-options'; /** * This is nestable. * * @var string */ public $nestable = true; /** * Get element label * * @return string */ public function get_label() { } /** * Get nestable children. * * @return array */ public function get_nestable_children() { } /** * Render element. * * @return void */ public function render() { } } } namespace SureCart\Integrations\Contracts { interface IntegrationInterface { /** * Get the slug for the integration. * * @return string */ public function getName(); /** * Get the model for the integration. * * @return string */ public function getModel(); /** * Get the logo for the integration. * * @return string */ public function getLogo(); /** * Get the name for the integration. * * @return string */ public function getLabel(); /** * Get the item label for the integration. * * @return string */ public function getItemLabel(); /** * Get the item help label for the integration. * * @return string */ public function getItemHelp(); /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = ''); /** * Get the individual item. * * @param string $item The item record. * @param string $id Id for the record. * * @return array The item for the integration. */ public function getItem($id); } interface PurchaseSyncInterface { /** * Method is run when the purchase is created. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user); /** * Method is run when the purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user); /** * Method is run when the purchase is revoked. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user); } } namespace SureCart\Integrations { /** * Base class for integrations to extend. */ abstract class IntegrationService extends \SureCart\Integrations\AbstractIntegration implements \SureCart\Integrations\Contracts\IntegrationInterface { /** * Purchase model for the integration. * * @var \SureCart\Models\Purchase */ protected $purchase = null; /** * The current user for the integration. * * @var \WP_User */ protected $user = null; /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the logo for the integration. * * @return string */ public function getLogo() { } /** * Get the name for the integration. * * @return string */ public function getLabel() { } /** * Get the item label for the integration. * * @return string */ public function getItemLabel() { } /** * Get the item help label for the integration. * * @return string */ public function getItemHelp() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search query. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return array The item for the integration. */ public function getItem($id) { } /** * Enable by default. * * @return boolean */ public function enabled() { } /** * Map this class methods to specific events. * * @var array */ protected $methods_map = ['surecart/purchase_created' => 'onPurchaseCreated', 'surecart/purchase_invoked' => 'onPurchaseInvoked', 'surecart/purchase_revoked' => 'onPurchaseRevoked']; /** * Bootstrap the integration. */ public function bootstrap() { } /** * Get the current purchase. * * @return \SureCart\Models\Purchase|null; */ public function getPurchase() { } public function getPurchaseId() { } /** * Get the user. * * @return \WP_User|null; */ public function getUser() { } /** * The purchase has been updated. * This is extendable, but is also abtracted into * invoke/revoke and quantity update methods. * * @param Purchase $purchase The purchase. * @param object $request The request. * * @return void */ public function onPurchaseUpdated(\SureCart\Models\Purchase $purchase, $request) { } /** * When the purchase product is updated * * @param \SureCart\Models\Purchase $purchase The purchase. * @param \SureCart\Models\Purchase $previous_purchase The previous purchase. * @param array $request The request. * * @return void */ public function onPurchaseProductUpdated(\SureCart\Models\Purchase $purchase, \SureCart\Models\Purchase $previous_purchase, $request) { } /** * Method to run when the quantity updates. * * @param integer $quantity The new quantity. * @param integer $previous The previous quantity. * @param Purchase $purchase The purchase. * @param array $request The request. * * @return void */ public function onPurchaseQuantityUpdated($quantity, $previous, $purchase, $request) { } /** * Get the item. * * @param string $id Id for the record. * * @return object */ public function _getItem($id) { } /** * Call the method for the integration. * * @param \SureCart\Models\Purchase $purchase The purchase model. * * @return void */ public function callMethod($purchase) { } /** * Get the current called action. * * @return string */ protected function getCurrentAction() { } /** * Get the Integration data from the purchase. * This normalizes the integration data and the WP user. * * @param \SureCart\Models\Purchase $purchase Purchase model. * * @return array The integration data. */ public function getIntegrationData($purchase) { } /** * Add the provider to the list. * * @param array $list The list of providers. * @return array */ public function indexProviders($list = []) { } /** * Find the provider. * * @return array */ public function findProvider() { } /** * Get the integration based on the current purchase. * * @param \SureCart\Models\Purchase $purchase The purchase. * * @return array */ public function getIntegrationsFromPurchase($purchase) { } /** * Check if the integration does not match with purchase price or variant. * * @param Integration $integration The integration. * @param Purchase $purchase The purchase. * * @return boolean */ public function purchaseIsNotMatchedWithPriceOrVariant($integration, $purchase): bool { } } } namespace SureCart\Integrations\BuddyBoss { /** * Controls the LearnDash integration. */ class BuddyBossService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the slug for the integration. * * @return string */ public function getLogo() { } /** * Get the slug for the integration. * * @return string */ public function getLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemHelp() { } /** * Is this enabled? * * @return boolean */ public function enabled() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return object The item for the integration. */ public function getItem($id) { } /** * Enable Access to the group. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user group access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Enable access when purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user group access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user group access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Update access to a group. * * @param integer $group_id The group id. * @param \WP_User $wp_user The user. * @param boolean $add True to add the user to the group, false to remove. * * @return boolean|void Returns true if the user group access updation was successful otherwise false. */ public function updateAccess($group_id, $wp_user, $add = true) { } } /** * Handles the BuddyBoss Service. */ class BuddyBossServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations { /** * Divi Service Provider */ class DiviServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } /** * If divi is active, only load the assets on the current request. * * @param string $content Content of Shortcode. * @param string $atts Attributes of Shortcode. * @param string $atts Shortcode Tag. * @param string $form Form Object if present. * * @return string $content Content of Shortcode || The Shortcode itself. */ public function handleDiviShortcode($content, $atts, $name, $form = false) { } /** * Handle product page wrapper * * @param string $content The content. * * @return string */ public function handleProductPageWrapper($content) { } } } namespace SureCart\Integrations\Elementor\Conditions { /** * SureCart Conditions. */ class Conditions extends \ElementorPro\Modules\ThemeBuilder\Conditions\Condition_Base { /** * Get the type of the condition. * * @return string */ public static function get_type() { } /** * Get the name. * * @return string */ public function get_name() { } /** * Get the label. * * @return string */ public function get_label() { } /** * Get the all label. * * @return string */ public function get_all_label() { } /** * Check condition. * * @param array $args The arguments. * * @return bool */ public function check($args) { } /** * Register sub conditions. * * @return void */ public function register_sub_conditions() { } } /** * Product Condition. */ class ProductCondition extends \ElementorPro\Modules\ThemeBuilder\Conditions\Post { /** * Get the type of the condition. * * @return void */ public function register_sub_conditions() { } /** * Check condition. * * @param array $args The arguments. * * @return bool */ public function check($args) { } } /** * Single product condition. * * @deprecated Deprecated in favor of ProductCondition with built in WordPress Post way. */ class ProductSingle extends \ElementorPro\Modules\ThemeBuilder\Conditions\Condition_Base { /** * The type of the condition. * * @return string */ public static function get_type() { } /** * The priority. * * @return integer */ public static function get_priority() { } /** * The name of the condition. * * @return string */ public function get_name() { } /** * The label of the condition. * * @return string */ public function get_label() { } /** * The label of the condition. * * @return string */ public function get_all_label() { } /** * Check to see if the condition is valid for the current request. * * @param array $args Condition arguments. * * @return boolean */ public function check($args) { } /** * Register controls for the condition. * * @return void */ protected function register_controls() { } } } namespace SureCart\Integrations\Elementor\Documents { /** * Elementor page library document. * * Elementor page library document handler class is responsible for * handling a document of a page type. * * @since 2.0.0 */ class ProductDocument extends \ElementorPro\Modules\ThemeBuilder\Documents\Single_Base { /** * Get document properties. * * Retrieve the document properties. * * @return array Document properties. */ public static function get_properties() { } /** * Get document name. * * @return string Document name. */ public static function get_type() { } /** * Get document title. * * @return string Document title. */ public static function get_title() { } /** * Get document plural title. * * @return string Document plural title. */ public static function get_plural_title() { } /** * Get document icon. * * @return string Document icon. */ protected static function get_site_editor_icon() { } /** * Get document thumbnail URL. * * @return string Document thumbnail URL. */ protected static function get_site_editor_thumbnail_url(): string { } /** * Get document tooltip data. * * Retrieve the document tooltip data. * * @return array Document tooltip data. */ protected static function get_site_editor_tooltip_data() { } } } namespace SureCart\Integrations\Elementor\DynamicTags { /** * Product Price Dynamic Tag. */ class Price extends \Elementor\Core\DynamicTags\Tag { /** * Get Name. * * @return string */ public function get_name() { } /** * Get Title. * * @return string */ public function get_title() { } /** * Get Group. * * @return string */ public function get_group() { } /** * Get Categories. * * @return array */ public function get_categories() { } /** * Register dynamic tag controls. * * @return void */ protected function register_controls() { } /** * Render. */ public function render() { } } /** * Price Amount Dynamic Tag. */ class PriceAmount extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Price Name Dynamic Tag. */ class PriceName extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Price Range Dynamic Tag. */ class PriceRange extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. */ public function render() { } } /** * Price Setup Fee Dynamic Tag. */ class PriceSetupFee extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Price Trial Dynamic Tag. */ class PriceTrial extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product Average Rating Dynamic Tag. */ class ProductAverageRating extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product Billing Interval Dynamic Tag. */ class ProductBillingInterval extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product Description Dynamic Tag. */ class ProductDescription extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product On Sale Dynamic Tag. */ class ProductOnSale extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product Total Ratings Dynamic Tag. */ class ProductReviewTotalRatings extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product Setup Fee Dynamic Tag. */ class ProductSetupFee extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product SKU Dynamic Tag. */ class ProductSku extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product Stock Dynamic Tag. */ class ProductStock extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Register dynamic tag controls. * * @return void */ protected function register_controls() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Scratch Price Dynamic Tag. */ class ScratchPrice extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Register dynamic tag controls. * * @return void */ protected function register_controls() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Selected Billing Interval Dynamic Tag. */ class SelectedBillingInterval extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Product selected price dynamic tag. */ class SelectedPrice extends \Elementor\Core\DynamicTags\Tag { /** * Get the name of the tag. * * @return string */ public function get_name() { } /** * Get the title of the tag. * * @return string */ public function get_title() { } /** * Get the group of the tag. * * @return string */ public function get_group() { } /** * Get the categories of the tag. * * @return array */ public function get_categories() { } /** * Render the tag. * * @return void */ public function render() { } } /** * Selected price trial dynamic tag. */ class SelectedPriceTrial extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Selected Scratch Price Dynamic Tag. */ class SelectedScratchPrice extends \Elementor\Core\DynamicTags\Tag { /** * Get the name of the tag. * * @return string */ public function get_name() { } /** * Get the title of the tag. * * @return string */ public function get_title() { } /** * Get the group of the tag. * * @return string */ public function get_group() { } /** * Get the categories of the tag. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } /** * Selected Setup Fee Dynamic Tag. */ class SelectedSetupFee extends \Elementor\Core\DynamicTags\Tag { /** * Get the tag name. * * @return string */ public function get_name() { } /** * Get the tag title. * * @return string */ public function get_title() { } /** * Get the tag group. * * @return string */ public function get_group() { } /** * Get the tag categories. * * @return array */ public function get_categories() { } /** * Render the tag output. * * @return void */ public function render() { } } } namespace SureCart\Integrations\Elementor { /** * Elementor block adapter service. */ class ElementorBlockAdapterService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Add product wrapper start. * * @param \Elementor\Widget_Base $element The element. * * @return void */ public function addProductWrapperStart($element) { } /** * Add product wrapper end. * * @param \Elementor\Widget_Base $element The element. * * @return void */ public function addProductWrapperEnd($element) { } /** * Adds the block serialization filter before Elementor content is processed. * * @return void */ public function preReturnSerializedBlock(): void { } /** * Disable Elementor render block. * * @param array $rendered The rendered block. * @param array $parsed_block The parsed block. * * @return array */ public function serializeBlock($rendered, $parsed_block) { } /** * Process Elementor content and remove the serialization filter. * * @param string $content The content to process. * * @return string The processed content */ public function doBlocksAtEnd(string $content): string { } /** * Inject product form controls. * * @param \Elementor\Widget_Base $element The element. * * @return void */ public function injectProductFormControls($element) { } /** * Show alert if not using product wrapper. * * @param string $content The content. * * @return string */ public function showAlertIfNotUsingProductWrapper($content) { } /** * Do not replace content if rendering with and elementor template. * * @param bool $replace_content The replace content. * * @return bool */ public function doNotReplaceContentIfRenderingWithElementor($replace_content) { } /** * Find orphaned surecart blocks. * * @param string $content The content. * * @return array */ public function findOrphanedSurecartBlocks($content) { } } /** * Elementor core block styles service. * This service is responsible for enqueuing core block styles for our product page * as Elementor dequeues them in certain cases resulting in broken styles. */ class ElementorCoreBlockStylesService { /** * Whether core block styles are enqueued. * * @var array */ protected $enqueued = ['wp-block-library' => false, 'wp-block-library-theme' => false]; /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Check if core block styles are originally enqueued. * That way we know if we need to re-enqueue them. * * @return void */ public function areCoreBlockStylesEnqueued() { } /** * Maybe enqueue core block styles. * * @return void */ public function maybeEnqueueCoreBlockStyles() { } } /** * Elementor documents service. */ class ElementorDocumentsService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Add product theme condition. * * @param \ElementorPro\Modules\ThemeBuilder\Classes\Documents_Manager $documents_manager The documents manager. * * @return void */ public function registerDocument($documents_manager) { } /** * Add product theme condition. * * @param \ElementorPro\Modules\ThemeBuilder\Classes\Conditions_Manager $conditions_manager The conditions manager. * * @return void */ public function productThemeConditions($conditions_manager) { } /** * Get autocomplete * * @param array $results The results. * @param array $data Request data. * * @return array */ public function getAutoComplete($results, $data) { } /** * Get the titles for the query control * This is important as it shows the previously selected items when the conditions load in. * * @param array $results The results. * @param array $request The request. * * @return array */ public function getTitles($results, $request) { } } /** * Class to handle elementor dynamic tags. */ class ElementorDynamicTagsService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Register the dynamic tags. * * @param \Elementor\DynamicTagsManager $dynamic_tags_manager Dynamic tags manager. * * @return void */ public function registerDynamicTags($dynamic_tags_manager) { } /** * Register the dynamic data groups. * * @param \Elementor\DynamicTagsManager $dynamic_tags_manager Dynamic tags manager. * * @return void */ public function registerDynamicDataGroups($dynamic_tags_manager) { } } /** * Class to handle elementor editor scripts. */ class ElementorEditorService { /** * Templates service instance. * * @var ElementorTemplatesService */ protected $templates_service; /** * Constructor. */ public function __construct() { } /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Enqueue SureCart editor assets. * * @return void */ public function enqueue_editor_styles() { } /** * Enqueue editor scripts. * * @return void */ public function enqueue_editor_scripts() { } /** * Output the template selection modal. * * @return void */ public function show_template_selection_modal() { } } /** * Class to handle FSE script loading for Elementor integration. */ class ElementorFseScriptLoaderService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Check if the current template might be a product page * * @param string $template The template being loaded. * @return string The template path unchanged. */ public function maybePreloadProductScripts($template) { } /** * Determine if the current page is a surecart product page. * * @return bool True if this page contains product elements. */ private function isProductPage(): bool { } /** * Force load Elementor scripts for SureCart product templates. * * @return void */ public function loadElementorAssetsForProductTemplate(): void { } /** * Get the SureCart Elementor template ID. * * @return int|null The ID of the SureCart Elementor template or null if not found. */ private function get_surecart_elementor_template_id() { } } /** * Elementor service provider. */ class ElementorServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Elementor shortcode service. * Handles the wrapping of SureCart shortcodes in the Elementor content. */ class ElementorShortcodeService { /** * Should wrap. * * @var bool */ protected $should_wrap = false; /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Wrap shortcodes in product wrapper. * * @param \Elementor\Document $document The Elementor document. * * @return \Elementor\Document */ public function wrapShortcodesInProductWrapper($document) { } /** * Find all SureCart shortcodes in the Elementor data. * * @param array $elements The elements data to search through. * @param array $found_shortcodes Array to store found shortcodes. * * @return array Found shortcodes. */ private function findSurecartShortcodes($elements, &$found_shortcodes = []) { } } /** * Class to handle elementor templates. */ class ElementorTemplatesService { /** * Templates directory path. * * @var string */ private $templates_dir; /** * Constructor. */ public function __construct() { } /** * Get template configuration data by filename. * * @param string $filename Template filename without extension. * @return array Template configuration including name, image, and any other properties. */ private function get_template_config($filename): array { } /** * Get all templates from the templates directory. * * @return array */ public function get_templates(): array { } /** * Sort templates by priority. * * @param array $templates The templates to sort. * @return array Sorted templates. */ private function sort_templates_by_priority(array $templates): array { } /** * Get Elementor template from file. * * @param string $file_name The file name. * * @return array */ public function get_template_from_file(string $file_name) { } /** * Check if the current page/template is rendered by Elementor and contains SureCart product template. * * @return bool */ public function isRenderedWithElementor(): bool { } /** * Check if surecart-product Elementor template is active. * * @return bool */ public function hasActiveSureCartElementorTemplate(): bool { } } /** * Class to handle elementor widgets. */ class ElementorWidgetsService { /** * The widgets. * * @var array */ protected $free_widgets = ['ReusableFormWidget', 'CartMenuIcon']; /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Register the styles. * * @return void */ public function registerStyles() { } /** * Enqueue the styles. * * @return void */ public function enqueueStyles() { } /** * Elementor surecart categories register. * * @param \Elementor\Elements_Manager $elements_manager The elements manager. * * @return void */ public function registerCategories($elements_manager) { } /** * Register the widgets. * * @param \Elementor\Widgets_Manager $widget_manager Widget manager. * * @return void */ public function registerWidgets($widget_manager) { } /** * Check if Elementor Pro is active. * * @return bool */ protected function is_pro_active(): bool { } } } namespace SureCart\Integrations\Elementor\Widgets { /** * Add to cart / buy now button widget. */ class AddToCartButton extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get the default button label. * * @return string */ protected function get_default_label(): string { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Register the widget content settings. * * @return void */ protected function register_content_settings() { } /** * Register the widget style settings. * * @return void */ protected function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output on the editor. * * @return void */ protected function content_template() { } } /** * Cart menu icon widget. */ class CartMenuIcon extends \Elementor\Widget_Base { /** * Default cart icon. */ public const DEFAULT_CART_ICON = array('value' => 'fas fa-shopping-bag', 'library' => 'fa-solid'); /** * Cart icon. * * @var string */ public $cart_icon = ''; /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Is the content dynamic? * * @return bool */ protected function is_dynamic_content(): bool { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget. * * @return void */ protected function render(): void { } } /** * Collection Tags widget. */ class CollectionTags extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Add the collection tags style controls. * * @return void */ private function add_collection_tags_style_controls() { } /** * Add the collection tag style controls. * * @return void */ private function add_collection_tag_style_controls() { } /** * Add content controls. * * @return void */ protected function add_content_controls() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output on the editor. * * @return void */ protected function content_template() { } } /** * Media widget. */ class Media extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get style dependencies. * * @return array */ public function get_style_depends() { } /** * Register the content settings. * * @return void */ protected function register_content_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Get the placeholder image URL. * * @return string */ private function get_placeholder_image(): string { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Get the thumbnails per page setting, clamped to the 2-12 range the thumbnail styles support. * * Values saved before the control had a minimum can be out of range (e.g. 1). * * @param array $settings Widget settings. * @return int */ protected function get_thumbnails_per_page($settings) { } /** * Render content specifically for the editor with dynamic product data. * * @param array $settings Widget settings. * @return void */ protected function render_editor_content($settings) { } /** * Get product images array. * * @param object|null $product Product object. * @return array */ protected function get_product_images($product) { } /** * Render gallery view. * * @param array $images Array of images. * @param array $settings Widget settings. * @return void */ protected function render_gallery_view($images, $settings) { } /** * Render slider view. * * @param array $images Array of images. * @param array $settings Widget settings. * @return void */ protected function render_slider_view($images, $settings) { } } /** * Price Chooser widget. */ class PriceChooser extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Add content controls. * * @return void */ protected function add_content_controls() { } /** * Add the price chooser style settings. * * @return void */ protected function add_price_chooser_style_settings() { } /** * Add the price choice style settings. * * @return void */ protected function add_price_choice_style_settings() { } /** * Add price name style settings. * * @return void */ protected function add_price_name_style_settings() { } /** * Register the price amount style settings. * * @return void */ protected function add_price_amount_style_settings() { } /** * Register the price trial style settings. * * @return void */ protected function add_price_trial_style_settings() { } /** * Register the price setup fee style settings. * * @return void */ protected function add_price_setup_fee_style_settings() { } /** * Register the widget style settings * * @return void */ protected function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output in the editor. * * @return void */ protected function content_template() { } } /** * Product widget. */ class Product extends \Elementor\Widget_Base { /** * Get the widget name. * * @return string */ public function get_name() { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Get the widget title. * * @return string */ public function get_title() { } /** * Get the widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } } /** * Product Card widget. */ class ProductCard extends \Elementor\Widget_Base { /** * Get the widget name. * * @return string */ public function get_name() { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Get the widget title. * * @return string */ public function get_title() { } /** * Get the widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } } /** * Product Content widget. */ class ProductContent extends \Elementor\Widget_Base { use \ElementorPro\Modules\Posts\Skins\Skin_Content_Base; /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } protected function register_controls() { } /** * Render the widget content. * * This method is called to output the content of the widget. * In editor mode, it displays a placeholder message. * * @return void */ protected function render() { } } /** * Product Line Item Note widget. */ class ProductLineItemNote extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get style dependencies. */ public function get_style_depends() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ protected function register_content_settings() { } /** * Register the widget label style settings. * * @return void */ protected function register_label_style_settings() { } /** * Register the widget textarea style settings. * * @return void */ protected function register_textarea_style_settings() { } /** * Register the widget help text style settings. * * @return void */ protected function register_help_text_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } } /** * Product Pricing widget. */ class ProductPricing extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } } /** * Product Quick Add Button widget. */ class ProductQuickAddButton extends \Elementor\Widget_Base { /** * Default icon. */ public const DEFAULT_ICON = array('value' => 'fas fa-plus', 'library' => 'fa-solid'); /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get the default button label. * * @return string */ protected function get_default_label(): string { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Register the widget content settings. * * @return void */ protected function register_content_settings() { } /** * Register the widget style settings. * * @return void */ protected function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } } /** * Product Average Rating Stars widget. */ class ProductReviewAverageRatingStars extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render preview in editor. * * @param int $size Star size. * * @return void */ private function render_preview($size) { } } /** * Product Average Rating Value widget. */ class ProductReviewAverageRatingValue extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render preview in editor. * * @param string $class_name Class name for styling. * @param bool $link_to_reviews Link to reviews flag. * * We need to add the styles manually, because if on demand block assets load settings are enabled, * then those styles won't be loaded and that's mandatory for editor preview. * * @return void */ public function render_preview($class_name, $link_to_reviews = true): void { } } /** * Product Review Breakdown widget. */ class ProductReviewBreakdown extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render preview in editor. * * @param int $star_size Star size. * @param int $columns Number of columns. * @param int $column_gap Column gap in pixels. * * @return void */ private function render_preview($star_size, $columns = 1, $column_gap = 20) { } } /** * Product Review Content widget. * * This widget acts as a conditional visibility controller for its parent container. * Place this widget inside a section/container along with other review summary widgets. * When no reviews exist, the entire parent container will be hidden. */ class ProductReviewContent extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Check if the product has any published reviews. * * @return bool */ private function has_reviews() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } } /** * Product Review List widget. */ class ProductReviewList extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Get the review list block content. * * @param array $settings Widget settings. * * @return string */ private function get_review_list_content($settings) { } /** * Get button attributes for add review button. * * @param array $settings Widget settings. * * @return array */ private function get_button_attributes($settings) { } /** * Get sidebar block markup. * * @return string */ private function get_sidebar_block_content() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Get pagination HTML string (reusable for both PHP and JS templates). * * @return void */ private function get_preview_pagination_html() { } /** * Get star rating HTML. * * @return string */ private function get_star_rating_html() { } /** * Get add review button HTML string (reusable for both PHP and JS templates). * * @param array $settings Widget settings. * * @return void */ private function get_add_button_html($settings) { } /** * Get sidebar HTML string (reusable for both PHP and JS templates). * * @return string */ private function get_preview_sidebar_html() { } /** * Get single review item HTML string (reusable for both PHP and JS templates). * * @param bool $show_date Whether to show review date. * @param bool $show_content Whether to show review content. * * @return string */ private function get_preview_review_item_html($show_date, $show_content) { } /** * Get header HTML for preview. * * @param bool $show_sidebar Whether to show sidebar toggle. * @param bool $show_add_button Whether to show add review button. * @param array $settings Widget settings. * * @return string */ private function get_preview_header_html($show_sidebar, $show_add_button, $settings) { } /** * Render preview in editor. * * @param array $settings Widget settings. * * @return void */ private function render_preview($settings) { } } /** * Product Rating widget. */ class ProductReviewRating extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } } /** * Product Total Rating widget. */ class ProductReviewTotalRating extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render preview in editor. * * @param bool $show_label Show label flag. * * @return void */ private function render_preview($show_label) { } } /** * Product Reviews widget. */ class ProductReviews extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } } /** * Quantity widget. */ class Quantity extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get style dependencies. * * @return array */ public function get_style_depends() { } /** * Register the widget content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output on the editor. * * @return void */ protected function content_template() { } } /** * SureCart form form widget. * * Surecart widget that displays a form. */ class ReusableFormWidget extends \Elementor\Widget_Base { /** * Get widget name. * * Retrieve form widget name. * * @since x.x.x * @access public * * @return string Widget name. */ public function get_name() { } /** * Get widget title. * * Retrieve form widget title. * * @since x.x.x * @access public * * @return string Widget title. */ public function get_title() { } /** * Get widget icon. * * Retrieve form widget icon. * * @since x.x.x * @access public * * @return string Widget icon. */ public function get_icon() { } /** * Get widget categories. * * Retrieve the list of categories the form widget belongs to. * * Used to determine where to display the widget in the editor. * * @since x.x.x * @access public * * @return array Widget categories. */ public function get_categories() { } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since x.x.x * @access public * * @return array Widget keywords. */ public function get_keywords() { } /** * Register form widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since x.x.x * @access protected */ protected function _register_controls() { } /** * Get froms options. * * @since x.x.x * * @return array */ public function get_forms_options() { } /** * Render form widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since x.x.x * @access protected */ protected function render() { } } /** * Sale Badge widget. */ class SaleBadge extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the style dependencies. * * @return array */ public function get_style_depends() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ private function register_content_settings() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output on the editor. * * @return void */ protected function content_template() { } } /** * Selected Price Ad Hoc Amount widget. */ class SelectedPriceAdHocAmount extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get style dependencies. */ public function get_style_depends() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Register the widget content settings. * * @return void */ protected function register_content_settings() { } /** * Register the widget label style settings. * * @return void */ protected function register_label_style_settings() { } /** * Register the widget input style settings. * * @return void */ protected function register_input_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output on the editor. * * @return void */ protected function content_template() { } } /** * Variant Pills widget. */ class VariantPills extends \Elementor\Widget_Base { /** * Get widget name. * * @return string */ public function get_name() { } /** * Get widget title. * * @return string */ public function get_title() { } /** * Get widget icon. * * @return string */ public function get_icon() { } /** * Get the widget keywords. * * @return array */ public function get_keywords() { } /** * Get the widget categories. * * @return array */ public function get_categories() { } /** * Get style dependencies. * * @return array Element styles dependencies. */ public function get_style_depends() { } /** * Register the widget style settings. * * @return void */ private function register_style_settings() { } /** * Register the widget controls. * * @return void */ protected function register_controls() { } /** * Render the widget output on the frontend. * * @return void */ protected function render() { } /** * Render the widget output on the editor. * * @return void */ protected function content_template() { } } } namespace SureCart\Integrations\Etch { /** * Controls the Etch Builder integration. */ class EtchService { /** * Bootstrap the Etch Builder integration. * * @return void */ public function bootstrap(): void { } /** * Determine if we should handle the cart via Etch Builder. * * @param bool $disabled Whether the cart is disabled. * * @return bool */ public function disableCartForEtchBuilder(bool $disabled): bool { } /** * Check if the Etch Builder is active. * * @return bool */ private function isEtchBuilderActive(): bool { } } /** * Handles the Etch integration. */ class EtchServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\HelpWidget { /** * Help Widget. */ class HelpWidget { /** * Constructor. */ public function __construct() { } /** * Bootstrap. * * @return void */ public function bootstrap() { } /** * Show Widget script. * * @return void */ public function show(): void { } } /** * Provides the Survey service provider. */ class HelpWidgetServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\LearnDash { /** * Controls the LearnDash integration. */ class LearnDashService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the slug for the integration. * * @return string */ public function getLogo() { } /** * Get the slug for the integration. * * @return string */ public function getLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemHelp() { } /** * Is this enabled? * * @return boolean */ public function enabled() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return object The item for the integration. */ public function getItem($id) { } /** * Enable Access to the course. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Enable access when purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Update access to a course. * * @param integer $course_id The course id. * @param \WP_User $wp_user The user. * @param boolean $add True to add the user to the course, false to remove. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function updateAccess($course_id, $wp_user, $add = true) { } } /** * Handles the learnDash Service. */ class LearnDashServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\LearnDashGroup { /** * Controls the LearnDash Group integration. */ class LearnDashGroupService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the logo for the integration. * * @return string */ public function getLogo() { } /** * Get the label for the integration. * * @return string */ public function getLabel() { } /** * Get the item label for the integration. * * @return string */ public function getItemLabel() { } /** * Get the item help for the integration. * * @return string */ public function getItemHelp() { } /** * Is this enabled? * * @return boolean */ public function enabled() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return object The item for the integration. */ public function getItem($id) { } /** * Enable Access to the course. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Enable access when purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Update access to a group. * * @param integer $group_id The group id. * @param \WP_User $wp_user The user. * @param boolean $add True to add the user to the group, false to remove. * * @return boolean|void Returns true if the user group access updation was successful otherwise false. */ public function updateAccess($group_id, $wp_user, $add = true) { } } /** * Handles the learnDash Group Service. */ class LearnDashGroupServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\LifterLMS { /** * Controls the LearnDash integration. */ class LifterLMSService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the slug for the integration. * * @return string */ public function getLogo() { } /** * Get the slug for the integration. * * @return string */ public function getLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemHelp() { } /** * Is this enabled? * * @return boolean */ public function enabled() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return object The item for the integration. */ public function getItem($id) { } /** * Enable Access to the course. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Enable access when purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Update access to a course. * * @param integer $course_id The course id. * @param \WP_User $wp_user The user. * @param boolean $add True to add the user to the course, false to remove. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function updateAccess($course_id, $wp_user, $add = true) { } } /** * Handles the LifterLMS Service. */ class LifterLMSServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\MemberPress { /** * Controls the MemberPress integration. */ class MemberPressService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the slug for the integration. * * @return string */ public function getLogo() { } /** * Get the slug for the integration. * * @return string */ public function getLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemHelp() { } /** * Is this enabled? * * @return boolean */ public function enabled() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return object The item for the integration. */ public function getItem($id) { } /** * Enable Access to the course. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Enable access when purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Update access to a course. * * @param integer $membership_id The membership product id. * @param \WP_User $wp_user The user. * @param boolean $add True to add the user to the course, false to remove. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function updateAccess($membership_id, $wp_user, $add = true) { } /** * Maybe convert to non-zero decimal. * * @param integer $amount The amount as an integer. * @param string $currency The currency. * * @return float|integer The new amount. */ public function convertAmount($amount, $currency) { } } /** * Handles the learnDash Service. */ class MemberPressServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\NpsSurvey { /** * Nps Survey Notice. */ class NpsSurveyNotice { /** * Option name for last NPS submission date. * * @var string */ public const LAST_SUBMITTED_OPTION = 'surecart_nps_last_submitted'; /** * NPS Survey ID used in the library. * * @var string */ public const NPS_SURVEY_ID = 'nps-survey-surecart'; /** * Number of days after setup before showing NPS survey. * * @var int */ public const DAYS_AFTER_SETUP = 15; /** * Minimum days between NPS survey displays. * * @var int */ public const DAYS_BETWEEN_SURVEYS = 90; /** * Ottokit Webhook URL for NPS survey submissions. * * @var string */ public const OTTOKIT_WEBHOOK_URL = 'https://webhook.ottokit.com/ottokit/01f97dac-ade0-4d21-b9a4-c788ca28da22'; /** * Bootstrap. * * @return void */ public function bootstrap(): void { } /** * Check all conditions to determine if the survey should be shown. * * @return bool */ protected function isReadyToShow(): bool { } /** * Handle NPS survey status updates. * * On submission, we skip the library's permanent dismiss and instead * store our own timestamp so we can re-show the survey after 90 days. * * @param bool $skip Whether to skip the status update. * @param array $data Data about the action (nps_id, action_type, plugin_slug, etc.). * @return bool */ public function handleStatusUpdate(bool $skip, array $data): bool { } /** * Enrich NPS survey post data with SureCart account info. * * @param array $post_data Post data. * @return array */ public function getNpsSurveyPostData(array $post_data): array { } /** * Override the NPS survey API endpoint for SureCart. * * @param string $api_endpoint Default API endpoint. * @param array $post_data Post data. * @return string */ public function getNpsSurveyApiEndpoint(string $api_endpoint, array $post_data): string { } /** * Ensure NPS survey vars include a valid REST API nonce for admins. * * @param array $vars Localized script variables. * @return array */ public function ensureNpsSurveyVars(array $vars): array { } /** * Map of NPS survey asset handles to their corresponding filenames. * * @var array */ private const NPS_ASSET_MAP = ['nps-survey-script' => 'main.js', 'nps-survey-style' => 'style-main.css']; /** * Screen ids the NPS survey is allowed to render on. * * Scoped to the Dashboard and Settings screens only, so the survey does not * appear across every SureCart admin page (e.g. the Product Editor). * * @return array */ private function getNpsScreenIds(): array { } /** * Force NPS survey assets to load from SureCart's vendor copy on SureCart admin pages. * * Bound to `script_loader_src` / `style_loader_src`, which may pass `null` for * dependency-only handles registered with `src = false`. Query Monitor and similar * tools enumerate every registered handle and can trigger this case. * * @param string|null $src Asset source URL. * @param string|null $handle Asset handle name. * @return string|null */ public function forceNpsAssetSrc(?string $src, ?string $handle): ?string { } /** * Show the NPS survey notice in the admin footer. * * @return void */ public function showNpsNotice(): void { } } /** * Provides the NPS Survey service provider. */ class NpsSurveyServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Whether the NPS survey version check has already been performed. * * @var bool */ private static bool $version_checked = false; /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } /** * Register SureCart's NPS survey version in the global version auction. * * @return void */ private function versionCheck(): void { } /** * Load the winning NPS survey library file. * * @return void */ public function loadNpsSurveyLibrary(): void { } } } namespace SureCart\Integrations\RankMath { /** * Controls the Rank Math integration. */ class RankMathService extends \SureCart\Integrations\Abstracts\NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = 'rank_math/frontend/robots'; /** * The filter hook name for the robots meta. * * @var string */ public function bootstrap(): void { } /** * Skip model filters during sitemap generation. * * @param bool $skip Whether to skip filters. * * @return bool */ public function skipFiltersOnSitemap($skip): bool { } /** * Check if current request is a sitemap request. * * @return bool */ private function isSitemapRequest(): bool { } } /** * Handles the Rank Math integration. */ class RankMathServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\SEOPress { /** * Controls the SEOPress integration. */ class SEOPressService extends \SureCart\Integrations\Abstracts\NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = 'seopress_titles_robots_attrs'; /** * Modify robots to add noindex for SureCart query vars. * SEOPress uses indexed array format instead of associative. * * @param array $robots Robots array. * * @return array Modified robots. */ public function addNoindexForQueryVars(array $robots): array { } } /** * Handles the SEOPress integration. */ class SEOPressServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\SureRank { /** * Controls the SureRank integration. */ class SureRankService extends \SureCart\Integrations\Abstracts\NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = 'surerank_robots_meta_array'; } /** * Handles the SureRank integration. */ class SureRankServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\TheSEOFramework { /** * Controls The SEO Framework integration. */ class TheSEOFrameworkService extends \SureCart\Integrations\Abstracts\NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = 'the_seo_framework_robots_meta_array'; } /** * Handles The SEO Framework integration. */ class TheSEOFrameworkServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\ThriveAutomator\DataFields { /** * Class ProductDataField */ class ProductDataField extends \Thrive\Automator\Items\Data_Field { /** * Get the data field identifier * * @return string */ public static function get_id() { } /** * Get the data field name * * @return string */ public static function get_name() { } /** * Get the data field description * * @return string */ public static function get_description() { } /** * Get the data field input placeholder * * @return string */ public static function get_placeholder() { } /** * Get the data field supported filter * * @return array */ public static function get_supported_filters() { } /** * For multiple option inputs, name of the callback function called through ajax to get the options * * @return array */ public static function get_options_callback() { } /** * Determine if the values are direct or an ajax request * * @return boolean */ public static function is_ajax_field() { } /** * Get data field value type * * @return string */ public static function get_field_value_type() { } /** * Get dummy value * * @return string */ public static function get_dummy_value() { } /** * Get validators * * @return array */ public static function get_validators() { } } /** * Class ProductDataField */ class PreviousProductDataField extends \SureCart\Integrations\ThriveAutomator\DataFields\ProductDataField { /** * Get the data field identifier * * @return string */ public static function get_id() { } /** * Get the data field name * * @return string */ public static function get_name() { } } /** Product name field. */ class ProductIDDataField extends \Thrive\Automator\Items\Data_Field { /** * The id for the data field. * * @return string */ public static function get_id() { } /** * The name for the data field. * * @return string */ public static function get_name() { } /** * The description for the data field. * * @return string */ public static function get_description() { } /** * The placeholder for the data field. * * @return string */ public static function get_placeholder() { } /** * The supported filters for the data field. * * @return array */ public static function get_supported_filters() { } /** * The validators for the data field. * * @return array */ public static function get_validators() { } /** * The value type for the data field. * * @return string */ public static function get_field_value_type() { } /** * The dummy value for the data field. * * @return string */ public static function get_dummy_value() { } /** * The primary key for the data field. * * @return string */ public static function primary_key() { } } /** Product name field. */ class PreviousProductIDDataField extends \SureCart\Integrations\ThriveAutomator\DataFields\ProductIDDataField { /** * The id for the data field. * * @return string */ public static function get_id() { } /** * The name for the data field. * * @return string */ public static function get_name() { } } /** Product name field. */ class ProductNameDataField extends \Thrive\Automator\Items\Data_Field { /** * The id for the data field. * * @return string */ public static function get_id() { } /** * The name for the data field. * * @return string */ public static function get_name() { } /** * The description for the data field. * * @return string */ public static function get_description() { } /** * The supported filters for the data field. * * @return array */ public static function get_supported_filters() { } /** * The validators. * * @return array */ public static function get_validators() { } /** * The placeholder for the data field. * * @return string */ public static function get_placeholder() { } /** * The field value type for the data field. * * @return string */ public static function get_field_value_type() { } /** * The dummy value for the data field. * * @return string */ public static function get_dummy_value() { } /** * The primary key for the data field. * * @return array */ public static function primary_key() { } } /** * Class ProductDataField */ class PreviousProductNameField extends \SureCart\Integrations\ThriveAutomator\DataFields\ProductNameDataField { /** * Get the data field identifier * * @return string */ public static function get_id() { } /** * Get the data field name * * @return string */ public static function get_name() { } } } namespace SureCart\Integrations\ThriveAutomator\DataObjects { /** * Class ProductDataObject */ class ProductDataObject extends \Thrive\Automator\Items\Data_Object { /** * Get the data-object identifier * * @return string */ public static function get_id() { } /** * Nice name for the data-object. * * @return string */ public static function get_nice_name() { } /** * Array of field object keys that are contained by this data-object * * @return array */ public static function get_fields() { } /** * Create the object from the given product. * * @param string|\SureCart\Models\Product $param Product model or id. * * @throws \Exception If no parameter is provided. * * @return array */ public static function create_object($param) { } /** * Get the options. * * @return array */ public static function get_data_object_options() { } } /** * Class ProductDataObject */ class PreviousProductDataObject extends \SureCart\Integrations\ThriveAutomator\DataObjects\ProductDataObject { /** * Get the data-object identifier * * @return string */ public static function get_id() { } /** * Array of field object keys that are contained by this data-object * * @return array */ public static function get_fields() { } } } namespace SureCart\Integrations\ThriveAutomator { /** * Register our app. */ class ThriveAutomatorApp extends \Thrive\Automator\Items\App { /** * App ID * * @return string */ public static function get_id() { } /** * App name * * @return string */ public static function get_name() { } /** * The description for the app. * * @return string */ public static function get_description() { } /** * Logo url * * @return string */ public static function get_logo() { } /** * Whether the current App is available for the current user * e.g prevent premium items from being shown to free users * * @return bool */ public static function has_access() { } } /** * Bootstrap the Thrive Automator integration. */ class ThriveAutomatorService { /** * Bootstrap * * @return void */ public function bootstrap() { } } /** * Provides the Thrive Automator service. */ class ThriveAutomatorServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\ThriveAutomator\Triggers { /** * Handles the purchase created event. */ class PurchaseCreatedTrigger extends \Thrive\Automator\Items\Trigger { /** * Get the trigger identifier * * @return string */ public static function get_id() { } /** * Get the trigger hook * * @return string */ public static function get_wp_hook() { } /** * Get the app id. * * @return string */ public static function get_app_id() { } /** * Get the trigger provided params * * @return array */ public static function get_provided_data_objects() { } /** * Get the number of params * * @return int */ public static function get_hook_params_number() { } /** * Get the trigger name * * @return string */ public static function get_name() { } /** * Get the trigger description * * @return string */ public static function get_description() { } /** * Get the trigger logo * * @return string */ public static function get_image() { } /** * Process params for action. * * @param array $params Params from the action. * @return array */ public function process_params($params = []) { } } /** * Handles the purchase revoked event. */ class PurchaseInvokedTrigger extends \Thrive\Automator\Items\Trigger { /** * Get the trigger identifier * * @return string */ public static function get_id() { } /** * Get the trigger hook * * @return string */ public static function get_wp_hook() { } /** * Get the app id. * * @return string */ public static function get_app_id() { } /** * Get the trigger provided params * * @return array */ public static function get_provided_data_objects() { } /** * Get the number of params * * @return int */ public static function get_hook_params_number() { } /** * Get the trigger name * * @return string */ public static function get_name() { } /** * Get the trigger description * * @return string */ public static function get_description() { } /** * Get the trigger logo * * @return string */ public static function get_image() { } /** * Process params for action. * * @param array $params Params from the action. * @return array */ public function process_params($params = []) { } } /** * Handles the purchase revoked event. */ class PurchaseRevokedTrigger extends \Thrive\Automator\Items\Trigger { /** * Get the trigger identifier * * @return string */ public static function get_id() { } /** * Get the trigger hook * * @return string */ public static function get_wp_hook() { } /** * Get the app id. * * @return string */ public static function get_app_id() { } /** * Get the trigger provided params * * @return array */ public static function get_provided_data_objects() { } /** * Get the number of params * * @return int */ public static function get_hook_params_number() { } /** * Get the trigger name * * @return string */ public static function get_name() { } /** * Get the trigger description * * @return string */ public static function get_description() { } /** * Get the trigger logo * * @return string */ public static function get_image() { } /** * Process params for action. * * @param array $params Params from the action. * @return array */ public function process_params($params = []) { } } /** * Handles the purchase updated event. */ class PurchaseUpdatedTrigger extends \Thrive\Automator\Items\Trigger { /** * Get the trigger identifier * * @return string */ public static function get_id() { } /** * Get the trigger hook * * @return string */ public static function get_wp_hook() { } /** * Get the app id. * * @return string */ public static function get_app_id() { } /** * Get the trigger provided params * * @return array */ public static function get_provided_data_objects() { } /** * Get the number of params * * @return int */ public static function get_hook_params_number() { } /** * Get the trigger name * * @return string */ public static function get_name() { } /** * Get the trigger description * * @return string */ public static function get_description() { } /** * Get the trigger logo * * @return string */ public static function get_image() { } /** * Process params for action. * * @param array $params Params from the action. * @return array */ public function process_params($params = []) { } } } namespace SureCart\Integrations\TutorLMS { /** * Controls the LearnDash integration. */ class TutorLMSService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { public function bootstrap() { } /** * Show our purchase button if we have an integration. * * @param string $output The button HTML. * @param int $course_id The course id. * * @return string */ public function loopPurchaseButton($output, $course_id) { } /** * Clear the price cache. * * @param \SureCart\Models\Price $price The price model. * * @return void */ public function clearPriceCache($price) { } /** * Get cached product prices. * * @param array $product_ids The product ids. * * @return array */ public function getCachedProductsPrices($product_ids = []) { } /** * Get the cached prices. * * @param string $product_id The product id. * * @return array */ public function getCachedProductPrices($product_id) { } /** * The course price. * * @param string $price The price string. * @param integer $course_id The course id. * * @return string */ public function coursePrice($price, $course_id) { } /** * Show our purchase button if we have an integration. * * @param string $output The button HTML. * @param integer $id The course id. * * @return string */ public function purchaseButton($output, $id) { } /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the model for the integration. * * @return string */ public function getModel() { } /** * Get the slug for the integration. * * @return string */ public function getLogo() { } /** * Get the slug for the integration. * * @return string */ public function getLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemLabel() { } /** * Get the slug for the integration. * * @return string */ public function getItemHelp() { } /** * Is this enabled? * * @return boolean */ public function enabled() { } /** * Get item listing for the integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $id Id for the record. * * @return object The item for the integration. */ public function getItem($id) { } /** * Enable Access to the course. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Enable access when purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Update access to a course. * * @param integer $course_id The course id. * @param \WP_User $wp_user The user. * @param boolean $add True to add the user to the course, false to remove. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function updateAccess($course_id, $wp_user, $add = true) { } } /** * Handles the learnDash Service. */ class TutorLMSServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\User { /** * Controls the LearnDash integration. */ class UserService extends \SureCart\Integrations\IntegrationService implements \SureCart\Integrations\Contracts\IntegrationInterface, \SureCart\Integrations\Contracts\PurchaseSyncInterface { /** * Get the slug for the integration. * * @return string */ public function getName() { } /** * Get the SureCart model used for the integration. * Only 'product' is supported at this time. * * @return string */ public function getModel() { } /** * Get the integration logo url. * This can be to a png, jpg, or svg for example. * * @return string */ public function getLogo() { } /** * The display name for the integration in the dropdown. * * @return string */ public function getLabel() { } /** * The label for the integration item that will be chosen. * * @return string */ public function getItemLabel() { } /** * Help text for the integration item chooser. * * @return string */ public function getItemHelp() { } /** * Get item listing for the integration. * These are a list of item the merchant can choose from when adding an integration. * * @param array $items The integration items. * @param string $search The search term. * * @return array The items for the integration. */ public function getItems($items = [], $search = '') { } /** * Get the individual item. * * @param string $role The item role. * * @return array The item for the integration. */ public function getItem($role) { } /** * Add the role when the purchase is created. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseCreated($integration, $wp_user) { } /** * Add the role when the purchase is invoked * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseInvoked($integration, $wp_user) { } /** * Remove a user role when the purchase is revoked. * * @param \SureCart\Models\Integration $integration The integrations. * @param \WP_User $wp_user The user. * * @return boolean|void Returns true if the user course access updation was successful otherwise false. */ public function onPurchaseRevoked($integration, $wp_user) { } /** * Toggle the role * * @param string $role The role. * @param \WP_User $wp_user The user object. * @param boolean $add True to add the role, false to remove. * * @return \WP_Role|false */ public function toggleRole($role, $wp_user, $add = true) { } } /** * Handles the User Service. */ class UserServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\Integrations\Yoast { /** * Controls the Yoast SEO integration. */ class YoastService extends \SureCart\Integrations\Abstracts\NoIndexService { /** * The filter hook name for the robots meta. * * @var string */ protected $hook_name = 'wpseo_robots_array'; /** * The noindex robots. * Yoast uses boolean values instead of strings. * * @var array */ protected $noindex_robots = ['noindex' => true, 'nofollow' => true]; } /** * Handles the Yoast SEO integration. */ class YoastServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\MCP { /** * Service provider for MCP (Model Context Protocol) integration. * * Handles AJAX handlers for MCP adapter plugin install/activate. * The MCP adapter plugin's default server automatically exposes * all abilities registered via wp_register_ability(). */ class McpServerServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\Middleware { /** * Middleware for handling model archiving. */ class AccountClaimMiddleware { /** * Handle the middleware. * * @param RequestInterface $request Request. * @param Closure $next Next. * @param string $model_name Model name. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class AdminColorMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class ArchiveModelMiddleware { /** * Handle the middleware. * * @param RequestInterface $request Request. * @param Closure $next Next. * @param string $model_name Model name (used for the nonce, e.g. `archive_{$model_name}`). * @param string|null $capability Optional capability override. When omitted, defaults to * `edit_sc_{$model_name}s`. Passed via `archive_model:foo,my_cap` * when a sibling entity rides on another model's capability. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $model_name, $capability = null) { } } /** * Middleware for handling model archiving. */ class BrandColorMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling checkout mode. */ class CheckoutFormModeMiddleware { /** * Handle the request. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class CheckoutRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } /** * Build the url. * * @return string */ public function buildUrl($url, \SureCartCore\Requests\RequestInterface $request) { } } /** * Middleware for handling model archiving. */ class ComponentAssetsMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for customer dashboard. */ class CustomerDashboardLinkRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for customer dashboard. */ class CustomerDashboardRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class EditModelMiddleware { /** * Handle the middleware. * * @param RequestInterface $request Request. * @param Closure $next Next. * @param string $model_name Model name. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $model_name) { } } /** * Middleware for handling invoice redirects. */ class InvoiceRedirectMiddleware { /** * Handle the invoice redirect. * * @param RequestInterface $request Request. * @param Closure $next Next middleware. * * @return RedirectResponse|\SureCartVendors\Psr\Http\Message\ResponseInterface */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for customer dashboard. */ class LoginLinkMiddleware { /** * Handle the middleware. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return method */ public function handle($request, \Closure $next) { } } class LoginMiddleware { // Note the new $capability parameter: public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $model_name) { } } /** * Middleware for handling model archiving. */ class NonceMiddleware { /** * Handle the middleware. * * @param RequestInterface $request Request. * @param Closure $next Next. * @param string $model_name Model name. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $nonce_name) { } } /** * Middleware for handling model archiving. */ class OrderRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class PathRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } /** * Build the url. * * @return string */ public function buildUrl($url, \SureCartCore\Requests\RequestInterface $request) { } } /** * Middleware for handling model archiving. */ class PaymentFailureRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware to redirect users to product review pages from solicit review emails. */ class ProductReviewRedirectMiddleware { /** * Response service. * * @var ResponseService */ protected $response_service = null; /** * Constructor. * * @codeCoverageIgnore * * @param ResponseService $response_service Response service. */ public function __construct(\SureCartCore\Responses\ResponseService $response_service) { } /** * Handle the request and redirect to review page if applicable. * * @param RequestInterface $request Request. * @param Closure $next Next. * * @return RedirectResponse|mixed */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } /** * Check if request should be handled for review redirect. * * @param RequestInterface $request Request. * @return bool */ private function shouldHandle(\SureCartCore\Requests\RequestInterface $request): bool { } /** * Get product review page URL. * * @param \WP_Post $post Product post. * @return string|false */ private function getProductReviewUrl(\WP_Post $post) { } /** * Redirect to review page, via login if needed. * * @param RequestInterface $request Request. * @param string $product_page_url Product page URL. * @return RedirectResponse */ private function redirectToReviewPage(\SureCartCore\Requests\RequestInterface $request, string $product_page_url): \SureCartCore\Responses\RedirectResponse { } } /** * Middleware for handling model archiving. */ class PurchaseRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class SubscriptionRedirectMiddleware { /** * Enqueue component assets. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class UpsellMiddleware { /** * Handle the request. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Middleware for handling model archiving. */ class WebhooksMiddleware { /** * Holds the current request. * * @var RequestInterface */ protected $request; /** * Handle the middleware. * * @param RequestInterface $request Request. * @param Closure $next Next. * @return function */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } /** * Verify the signature. * * Fails closed when no signing secret is registered — see CVE-2026-7655. * Uses hash_equals() for a timing-safe comparison. * * @return bool */ public function verifySignature() { } /** * Compute an HMAC with the SHA256 hash function. * Use the endpoint’s signing secret as the key, and use the signed_payload string as the message. * * @param string|null $secret Optional signing secret. Falls back to getSigningSecret() when null. * @return string */ public function computeHash($secret = null) { } /** * Get the signing secret. * * @return string */ public function getSigningSecret() { } /** * Get expected json request body. * * @return string */ public function getBody() { } /** * Get the webhook signature. * * @return string */ public function getSignature() { } /** * Get the webhook timestamp. * * @return string */ public function getTimestamp() { } /** * Get the signed payload. * * @return string */ public function getSignedPayload() { } } } namespace SureCart\Migration { /** * Product page wrapper service. */ class ProductPageWrapperService { /** * Content of the page. * * @var string */ protected $content = ''; /** * Constructor. * * @param string $content Content of the page. * * @return void */ public function __construct($content) { } /** * Has product page wrapper. * * @return boolean */ public function hasProductPageWrapper() { } /** * Has any surecart product block. * * @return boolean */ public function hasAnySureCartProductBlock(): bool { } /** * Has product buy button. * * @return boolean */ public function hasProductBuyButton() { } /** * Has custom amount block. * * @return boolean */ public function hasCustomAmountBlock() { } /** * Add product page wrapper. * * @return string */ public function addProductPageWrapper() { } /** * Add custom amount block. * * @return string */ public function addCustomAmountBlock() { } /** * Handle product page wrapper * * @return string */ public function wrap(): string { } } } namespace SureCart\Models { interface ModelInterface { /** * Model constructor * * @param array $attributes Optional attributes. */ public function __construct($attributes = []); } /** * Model class */ abstract class Model implements \ArrayAccess, \JsonSerializable, \SureCart\Concerns\Arrayable, \SureCart\Concerns\Objectable, \SureCart\Models\ModelInterface { /** * Keeps track of booted models * * @var array */ protected static $booted = []; /** * Keeps track of model events * * @var array */ protected static $events = []; /** * Stores model attributes * * @var array */ protected $attributes = []; /** * Static cache for attribute lookups. * * @var array */ private static $attribute_cache = []; /** * Default attributes. * * @var array */ protected $defaults = []; /** * Original attributes for dirty handling * * @var array */ protected $original = []; /** * Rest API endpoint * * @var string */ protected $endpoint = ''; /** * Object name * * @var string */ protected $object_name = ''; /** * Query arguments * * @var array */ protected $query = []; /** * Stores model relations * * @var array */ protected $relations = []; /** * Fillable model items * * @var array */ protected $fillable = ['*']; /** * Guarded model items * * @var array */ protected $guarded = []; /** * Default collection limit * * @var integer */ protected $limit = 20; /** * Default collection offset. * * @var integer */ protected $offset = 0; /** * Is this cachable? * * @var boolean */ protected $cachable = false; /** * Is this cachable? * * @var boolean */ protected $cache_key = ''; /** * Is this optimized caching? * * @var boolean */ protected $optimized_caching = false; /** * Cache status for the request. * * @var string|null; */ protected $cache_status = null; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = false; /** * Whether a get_attribute filter is currently executing on this instance. * While true, getAttribute() bypasses the filter to prevent recursion. * * @var bool */ protected $is_filtering_attribute = false; /** * Model constructor * * @param array $attributes Optional attributes. */ public function __construct($attributes = []) { } /** * Get the object name * * @return string */ protected function getObjectName() { } /** * Get the cache status for the model. * * @return string|null; */ public function getCacheStatus() { } /** * Get the query. * * @return array */ public function getQuery() { } /** * Filter meta data setting * * @param object $meta_data Meta data. * * @return function */ public function filterMetaData($meta_data) { } /** * Sync original attributes in case of dirty needs * * @return Model */ public function syncOriginal() { } /** * Run boot method on model * * @return void */ public function bootModel() { } /** * Get the called class name * * @return string */ public static function getCalledClassName() { } /** * Model boot method * * @return void */ public static function boot() { } /** * Does it have the attribute * * @param string $key Attribute key. * * @return boolean */ public function hasAttribute($key) { } /** * Register a model event * * @param string $event Event name. * @param function $callback Callback function. * * @return void */ public static function registerModelEvent($event, $callback) { } /** * Model has been retrieved * * @param function $callback Callback method. * * @return void */ public static function retrieved($callback) { } /** * Model Saving (Before Save) * * @param function $callback Callback method. * * @return void */ public static function saving($callback) { } /** * Model Savied (After Save) * * @param function $callback Callback method. * * @return void */ public static function saved($callback) { } /** * Model Creating (Before Create) * * @param function $callback Callback method. * * @return void */ public static function creating($callback) { } /** * Model Created (After Create) * * @param function $callback Callback method. * * @return void */ public static function created($callback) { } /** * Model Updating (Before Updating) * * @param function $callback Callback method. * * @return void */ public static function updating($callback) { } /** * Model Updating (After Updating) * * @param function $callback Callback method. * * @return void */ public static function updated($callback) { } /** * Model Deleting (Before Deleting) * * @param function $callback Callback method. * * @return void */ public static function deleting($callback) { } /** * Model Deleted (After Deleted) * * @param function $callback Callback method. * * @return void */ public static function deleted($callback) { } /** * Fires the model event. * * @param string $event Event name. * * @return mixed */ public function fireModelEvent($event) { } /** * Sets attributes in model * * @param array $attributes Attributes to fill. * * @return Model */ public function fill($attributes) { } /** * Reset attributes to blank. * * @return $this */ public function resetAttributes() { } /** * Set model attributes * * @param array $attributes Attributes to add. * @param boolean $is_guarded Use guarded. * * @return Model */ public function setAttributes($attributes, $is_guarded = true) { } /** * Get the metadata attribute. * This makes sure the metadata is always an object. * * @return object */ public function getMetadataAttribute() { } /** * Get the person who created it. * * @return int|false */ public function getCreatedByAttribute() { } /** * Sets an attribute * Optionally calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $value Attribute value. * * @return mixed|void */ public function setAttribute($key, $value) { } /** * Calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $type 'get' or 'set'. * * @return string|false */ public function getMutator($key, $type) { } /** * Set the meta data attribute. * * @param array $meta_data Model meta data. * * @return self */ public function setMetadataAttribute($meta_data) { } /** * Is the attribute fillable? * * @param string $key Attribute name. * * @return boolean */ public function isFillable($key) { } /** * Is the key guarded * * @param string $key Name of the attribute. * * @return boolean */ public function isGuarded($key) { } /** * Get fillable items * * @return array */ public function getFillable() { } /** * Get guarded items * * @return array */ public function getGuarded() { } /** * Build query query * * @param array $query Arguments. * * @return Model */ protected function where($query = []) { } /** * Build query query * * @param array $query Arguments. * * @return Model */ protected function with($query = []) { } /** * Set the request mode (test or live). * * @param 'test'|'live' $mode Request mode. */ public function setMode($mode) { } /** * Get the current mode. */ public function getMode() { } /** * Make the API request. * * @param array $args Array of arguments. * @param string $endpoint Optional endpoint override. * * @return Model */ protected function makeRequest($args = [], $endpoint = '') { } /** * Prepare API Request Arguments. * * @param array $args Array of arguments. * @param string $endpoint Optional endpoint override. * * @return array $args for API request. */ protected function prepareRequest($args, $endpoint = '') { } /** * Paginate results * * @param array $args Pagination args. * @return mixed */ protected function paginate($args = []) { } /** * Prime per-model caches before hydrating a collection. * * No-op by default. Subclasses override to batch lookups that hydration * would otherwise run once (or more) per model. * * @param array $items Raw item objects from the API response, pre-hydration. * * @return void */ protected function primeCollectionCaches($items) { } /** * Set the pagination args. * * @param array $args Pagination args. * @return $this */ protected function setPagination($args) { } /** * Fetch a list of items * * @return array|\WP_Error; */ protected function get() { } /** * Get the first item in the query */ public function first() { } /** * Find a specific model with and id * * @param string $id Id of the model. * * @return $this */ protected function find($id = '') { } /** * Is the response an Error? * * @param array|\WP_Error|\WP_REST_Response $response Response from request. * * @return boolean */ public function isError($response) { } /** * Get fresh instance from DB. * * @return self */ protected function fresh() { } /** * Get fresh instance from DB. * * @return self */ protected function refresh() { } /** * Save model * * @return $this|false */ protected function save() { } /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = []) { } /** * Queue a sync job for later. * * @return \SureCart\Background\QueueService */ protected function queueSync() { } /** * Only return specific properties from the model. * * @param array $attributes Attributes to return. * * @return array */ protected function only($attributes) { } /** * Return all attributes except the ones passed. * * @param array $attributes Attributes to exclude. */ protected function without($attributes) { } /** * Update the model. * * @param array $attributes Attributes to update. * @return $this|\WP_Error|false */ protected function update($attributes = []) { } /** * Delete the model. * * @param string $id The id of the model to delete. * @return $this|false */ protected function delete($id = '') { } /** * Set a model relation. * * @param string $attribute Attribute name. * @param string $value Value to set. * @param string $model Model name. * @return void */ public function setRelation($attribute, $value, $model) { } /** * Get a relation id. * * @param string $attribute Attribute name. * @return string|null; */ public function getRelationId($attribute) { } /** * Set a model collection. * * @param string $attribute Attribute name. * @param \SureCart\Models\Collection $collection Collection. * @param string $model Model name. * * @return void */ public function setCollection($attribute, $collection, $model) { } /** * Get the model attributes * * @return array */ public function getAttributes() { } /** * Get a specific attribute. * * Fires the `surecart/{object_name}/get_attribute` filter, allowing * third-party code to modify the returned value. * * Note: filter callbacks should use $value (first argument) for the * current attribute. Accessing other attributes on $model (e.g. * $model->slug inside a name filter) returns unfiltered values to * prevent recursion. Avoid re-reading the same key — use $value instead. * * @param string $key Attribute name. * * @return mixed */ public function getAttribute($key) { } /** * Get a in-memory cached attribute. * * @param string $key The attribute key. * @return mixed|null The cached value or null if not found. */ protected function getCachedAttribute($key) { } /** * Set a cached attribute in memory. * * @param string $key The attribute key. * @param mixed $value The value to cache. * @return void */ protected function setAttributeCache($key, $value) { } /** * Serialize to json. * * @return array */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /** * Convert to object. * * @return Object */ public function toObject() { } /** * Calls accessors during toArray. * * @return array */ public function toArray() { } /** * Is the model dirty (has unsaved items) * * @param array $attributes Optionally pass attributes to check. * * @return boolean */ public function isDirty($attributes = null) { } /** * Get dirty (unsaved) items * * @return array */ public function getDirty() { } /** * Determine if the new and old values for a given key are numerically equivalent. * * @param string $key Attribute name. * @return bool */ protected function originalIsNumericallyEquivalent($key) { } /** * Get the original item * * @param string $key Name of the item. * * @return mixed */ public function getOriginal($key = null) { } /** * Get the attribute * * @param string $key Attribute name. * * @return mixed */ public function __get($key) { } /** * Set the attribute * * @param string $key Attribute name. * @param mixed $value Value of attribute. * * @return void */ public function __set($key, $value) { } /** * Determine if the given attribute exists. * * @param mixed $offset Name. * @return bool */ public function offsetExists($offset): bool { } /** * Get the value for a given offset. * * @param mixed $offset Name. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset Name. * @param mixed $value Value. * @return void */ public function offsetSet($offset, $value): void { } /** * Unset the value for a given offset. * * @param mixed $offset Name. * @return void */ public function offsetUnset($offset): void { } /** * Determine if an attribute or relation exists on the model. * * @param string $key Name. * @return bool */ public function __isset($key) { } /** * Unset an attribute on the model. * * @param string $key Name. * @return void */ public function __unset($key) { } /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasCustomer { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setCustomerAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getCustomerIdAttribute() { } /** * Find out which WordPress user this model belongs to. * * @return \WP_User|false */ public function getUser() { } /** * Get the WordPress user. * * @return \WP_User|null; */ public function getWPUser() { } /** * Get the customer from the user. * * @param \WP_User|int $user_to_check User id or user object to check for ownership. * @return boolean */ public function belongsToUser($user_to_check) { } /** * Does this belong to the current user? * * @return boolean */ public function belongsToCurrentUser() { } } /** * If the model has an attached customer. */ trait HasCheckout { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setCheckoutAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getCheckoutIdAttribute() { } } /** * Format dates for the model. */ trait HasDates { /** * Get the created at date. * * @return string */ public function getCreatedAtDateAttribute() { } /** * Get the created at date time. * * @return string */ public function getCreatedAtDateTimeAttribute() { } /** * Get the updated at date. * * @return string */ public function getUpdatedAtDateAttribute() { } /** * Get the updated at date time. * * @return string */ public function getUpdatedAtDateTimeAttribute() { } } /** * If the model has an attached customer. */ trait HasPromotion { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setPromotionAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getPromotionIdAttribute() { } } } namespace SureCart\Models { /** * Order model */ class AbandonedCheckout extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasCheckout; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\HasPromotion; /** * Rest API endpoint * * @var string */ protected $endpoint = 'abandoned_checkouts'; /** * Object name * * @var string */ protected $object_name = 'abandoned_checkout'; /** * Set the latest checkout session attribute * * @param array $value Checkout session properties. * @return void */ protected function setLatestRecoverableCheckoutAttribute($value) { } /** * Get stats for the order. * * @param array $args Array of arguments for the statistics. * * @return \SureCart\Models\Statistic; */ protected function stats($args = []) { } /** * Get the notifications scheduled at date and time attribute. * * @return string */ public function getNotificationsScheduledAtDateTimeAttribute() { } } /** * Order model */ class AbandonedCheckoutProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'abandoned_checkout_protocol'; /** * Object name * * @var string */ protected $object_name = 'abandoned_checkout_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } /** * Holds the data of the current account. */ class Account extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'account'; /** * Object name * * @var string */ protected $object_name = 'account'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; /** * Get the account ID. * * @return string */ public function getIsConnectedAttribute() { } /** * Get the claim expired attribute. * * @return bool */ public function getClaimExpiredAttribute() { } } } namespace SureCart\Models\Traits { trait CanResendNotifications { /** * Resend the notification for the order. * * @param string $id Model id. * @return $this|\WP_Error */ protected function resend_notification($id = null) { } } /** * Adds rule-based filtering against the resource's filter endpoints. * * These methods are protected but reachable from controllers/tests via Model::__call(), * the same convention as resend_notification()/finalize(). */ trait CanFilter { /** * Fetch the rule schema for the resource. * * Returns the raw rule_schema response object (attributes, types, operators). * * @return object|\WP_Error */ protected function filterSchema() { } /** * Fetch a paginated, filtered collection using a rule tree. * * @param array $rules The rule tree (condition or group) to filter by. * @param array $pagination Pagination args (page, per_page). * * @return \SureCart\Models\Collection|\WP_Error */ protected function filter($rules = [], $pagination = []) { } } } namespace SureCart\Models { /** * Order model */ class Order extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCheckout; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\CanResendNotifications; use \SureCart\Models\Traits\CanFilter; /** * Rest API endpoint * * @var string */ protected $endpoint = 'orders'; /** * Object name * * @var string */ protected $object_name = 'order'; /** * Get stats for the order. * * @param array $args Array of arguments for the statistics. * * @return \SureCart\Models\Statistic; */ protected function stats($args = []) { } } /** * Order model */ class AccountPortalSession extends \SureCart\Models\Order { /** * Rest API endpoint * * @var string */ protected $endpoint = 'account_portal_sessions'; /** * Object name * * @var string */ protected $object_name = 'account_portal_session'; } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasLicense { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setLicenseAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getLicenseIdAttribute() { } } } namespace SureCart\Models { /** * Activation model. */ class Activation extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\HasLicense; /** * Rest API endpoint * * @var string */ protected $endpoint = 'activations'; /** * Object name * * @var string */ protected $object_name = 'activation'; } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasReferrals { /** * Set the referrals attribute * * @param object $value Array of referral objects. * * @return void */ public function setReferralsAttribute($value) { } } /** * If the model has an attached customer. */ trait HasPayouts { /** * Set the payouts attribute * * @param object $value Array of payout objects. * * @return void */ public function setPayoutsAttribute($value) { } } /** * If the model has commission structure. */ trait HasCommissionStructure { /** * Always set commission structure as object. * * @param array|object $value Value to set. * @return void */ protected function setCommissionStructureAttribute($value) { } } } namespace SureCart\Models { /** * Holds the data of the current Affiliation. */ class Affiliation extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasReferrals; use \SureCart\Models\Traits\HasPayouts; use \SureCart\Models\Traits\HasCommissionStructure; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'affiliations'; /** * Object name * * @var string */ protected $object_name = 'affiliation'; /** * Activate an affiliation * * @param string $id Affiliation ID. * * @return $this|\WP_Error */ protected function activate($id = null) { } /** * Deactivate an affiliation * * @param string $id Affiliation ID. * * @return $this|\WP_Error */ protected function deactivate($id = null) { } /** * Set the clicks attribute * * @param object $value Array of click objects. * * @return void */ public function setClicksAttribute($value) { } /** * Get the display name * * @return string */ protected function getDisplayNameAttribute() { } /** * Get the display status attribute. * * @return string */ public function getStatusDisplayTextAttribute() { } /** * Get the display status attribute. * * @return string */ public function getStatusTypeAttribute() { } /** * Get the expires at date. * * @return string */ public function getExpiresAtDateAttribute() { } /** * Get the expires at date and time. * * @return string */ public function getExpiresAtDateTimeAttribute() { } /** * Get the total commission amount display. * * @return string */ public function getTotalCommissionDisplayAmountAttribute() { } /** * Get the total commission amount display. * * @return string */ public function getTotalNotPaidCommissionDisplayAmountAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasProduct { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setProductAttribute($value) { } /** * Get the product id attribute * * @return string */ public function getProductIdAttribute() { } } } namespace SureCart\Models { /** * AffiliationProduct Model */ class AffiliationProduct extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCommissionStructure, \SureCart\Models\Traits\HasProduct; /** * Rest API endpoint * * @var string */ protected $endpoint = 'affiliation_products'; /** * Object name * * @var string */ protected $object_name = 'affiliation_product'; } /** * Holds the data of the current Affiliation protocol. */ class AffiliationProtocol extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCommissionStructure; /** * Rest API endpoint * * @var string */ protected $endpoint = 'affiliation_protocol'; /** * Object name * * @var string */ protected $object_name = 'affiliation_protocol'; } /** * Affiliation Request Model */ class AffiliationRequest extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'affiliation_requests'; /** * Object name * * @var string */ protected $object_name = 'affiliation_request'; /** * Approve the affiliate request. * * @param string|null $id Request ID. * * @return self|\WP_Error */ protected function approve($id = null) { } /** * Deny the affiliate request. * * @param string|null $id The model id. * * @return self|\WP_Error */ protected function deny($id = null) { } /** * Get the display status attribute. * * @return string */ public function getStatusDisplayTextAttribute() { } /** * Get the display status attribute. * * @return string */ public function getStatusTypeAttribute() { } } /** * The API token model. */ class ApiToken { /** * The option key. * * @var string */ protected $key = 'sc_api_token'; /** * Prevent php warnings. */ final public function __construct() { } /** * Clear the API token. * * @return bool True if the value was updated, false otherwise. */ protected function clear() { } /** * Save and encrypt the API token. * * @param string $value The API token. * @return bool True if the value was updated, false otherwise. */ protected function save($value) { } /** * Get and decrypt the API token * * @return string The decoded API token. */ protected function get() { } /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } } namespace SureCart\Models\Traits { /** * If the model has auto fee rules. */ trait HasAutoFeeRules { /** * Set the rules attribute. * * @param string $value Product properties. * @return void */ public function setRulesAttribute($value) { } /** * Get the rules attribute. * * @param string $value Product properties. * @return array */ public function getRulesAttribute($value) { } /** * Handle Custom Attributes. * * @param array $rule_json Rule JSON. * @param string $type get or set. * @return array $rule_json */ public function handleCustomAttributes($rule_json, $type) { } /** * Convert Nested Objects to Array * * @param array $data Object. * * @return array $data */ private function convertObjectToArray($data) { } } } namespace SureCart\Models { /** * Holds the data of the order bump. */ class AutoFee extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasAutoFeeRules; /** * Rest API endpoint * * @var string */ protected $endpoint = 'auto_fees'; /** * Object name * * @var string */ protected $object_name = 'auto_fee'; } /** * AutoFeeProtocol model */ class AutoFeeProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'auto_fee_protocol'; /** * Object name * * @var string */ protected $object_name = 'auto_fee_protocol'; } /** * Holds balance transaction data */ class BalanceTransaction extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'balance_transactions'; /** * Object name * * @var string */ protected $object_name = 'balance_transaction'; } /** * Batch model. */ class Batch extends \SureCart\Models\Model { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'batches'; /** * Object name. * * @var string */ protected $object_name = 'batch'; } } namespace SureCart\Models\Blocks { /** * Abstract product list block. */ abstract class AbstractProductListBlock { /** * The block. * * @var \WP_Block */ protected $block; /** * The URL. * * @var object */ protected $url; /** * The query. * * @var \WP_Query */ protected $query; /** * Constructor. * * @param \WP_Block $block The block. */ public function __construct(\WP_Block $block) { } /** * Get the URL. * * @return object|null */ public function urlParams() { } /** * Get a query attribute with fallback to context and default. * * @param string $key The attribute key to fetch. * @param mixed $default_value The default value if not found. * * @return mixed */ protected function getQueryAttribute($key, $default_value = null) { } /** * Get the query attribute. * * @param string $key The key. * @return mixed */ public function __get($key) { } /** * Batch-prime gallery attachment caches for all products in the query. * * Collects all numeric attachment IDs from each product's gallery_ids * metadata and loads them in a single query via WordPress core, * eliminating N+1 get_post() calls in GalleryItemAttachment::create(). */ protected function primeAttachmentCaches() { } /** * Collect all numeric WP attachment IDs from product gallery metadata. * * @param \WP_Post[] $posts The product posts. * * @return int[] */ protected function collectGalleryAttachmentIds(array $posts) { } /** * Call the query method. * * @param string $method The method. * @param array $args The arguments. * * @return mixed */ public function __call($method, $args) { } } /** * The product list block. */ class ProductListBlock extends \SureCart\Models\Blocks\AbstractProductListBlock { /** * Get the query context. * * @return array */ public function getQueryContext() { } /** * Build the query * * @return $this */ public function parse_query() { } /** * Get the terms. * * @return array */ public function getTermOptions($taxonomy_slug = 'sc_collection') { } /** * Offset the found posts. * See: https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination * * @param int $found_posts The found posts. * * @return int The found posts with offset. */ public function offsetFoundPosts($found_posts) { } /** * Run the query * * @return $this|\WP_Error */ public function query() { } } /** * The product list service. */ class ProductPageBlock { /** * The URL. * * @var object */ protected $url; /** * Constructor. */ public function __construct() { } /** * Get the variants query. * * @return array|null */ public function getVariantsQuery() { } /** * Get the URL. * * @return object|null */ public function getSelectedVariant() { } /** * Get the URL. * * @return object|null */ public function urlParams() { } /** * Get the context. * * @param array $context The context to add to the existing context. * * @return array */ public function context($context = []) { } /** * Seed each variable component with a default variant so the bundle PDP * opens valid — parity with the main product's auto-pick. * * @param object $product The bundle product (or non-bundle — returns {}). * * @return object Map of component_product_id -> variant_id. */ public function getInitialBundleComponentVariants($product) { } /** * Pick a sensible default variant for a bundle component product. * * @param object $component Component product (resolved from its own cache). * * @return object|null */ public function findInitialBundleComponentVariant($component) { } /** * Resolve a component's variant from URL slugs (written by the scope-aware setOption callback). * * @param object $component Component product (resolved from its own cache). * * @return object|null */ public function findBundleComponentVariantFromUrl($component) { } /** * Stock-only snapshot of each bundle component (drives sold-out state). * * @param object $product The bundle product (or non-bundle — returns {}). * * @return object Map of component_product_id -> stock metadata. */ protected function getBundleComponents($product) { } /** * Get the state. * * @param array $state The state to add to the existing state. * * @return array */ public function state($state = []) { } /** * Resolve the variant scope for the current pill's SSR state. * * Mirrors the JS `getVariantScope` (read half) so the option getters never * branch on "is this a bundle?". A bundle component reads/writes its own * slice; the page product reads the page-level slice. Add a scope here and * the getters keep working unchanged. * * @param array $context Interactivity context for the current pill. * @return array{values:array,variants:array,product:array,missing_means_unavailable:bool} */ private static function resolveVariantScope(array $context): array { } /** * Is a variant option value sold out, constrained by earlier selected options. * * Shared by the page product and bundle component pickers. Mirrors the JS * `isProductVariantOptionSoldOut` in product-page/index.js. * * @param int $option_number Which option (1, 2 or 3) the pill represents. * @param mixed $option_value The pill's option value. * @param array $values Currently selected option values for this scope. * @param array $variants Variant data (arrays or objects) for this scope. * @param array $product Parent product data for unlimited-stock fallback. * @param bool $missing_means_unavailable When true, a combination with no matching * variant counts as unavailable (bundle scope). * @return bool */ private static function isVariantOptionSoldOut(int $option_number, $option_value, array $values, array $variants, array $product, bool $missing_means_unavailable = false): bool { } /** * Whether every variant in a group is out of stock. * * @param array $items Variant data (arrays or objects) for the group. * @param array $product Parent product data for unlimited-stock fallback. * @return bool True only when the group has variants and all are sold out. */ private static function isVariantGroupSoldOut(array $items, array $product): bool { } /** * Get the effective available stock for a variant, respecting variant-level stock overrides. * Returns PHP_INT_MAX when stock is not tracked, it would be then unlimited stock. * * @param array $item Variant data. * @param array $product Parent product data for fallback. * @return int */ private static function effectiveVariantStock(array $item, array $product): int { } } /** * The product review block. */ class ProductReviewBlock { /** * The URL. * * @var object */ protected $url; /** * Constructor. */ public function __construct() { } /** * Get the URL. * * @return object|null */ public function urlParams() { } /** * Get the context. * * @param array $context The context to add to the existing context. * * @return array */ public function context($context = []) { } /** * Get the state. * * @param array $state The state to add to the existing state. * * @return array */ public function state($state = []) { } } /** * The product review list block. */ class ProductReviewListBlock extends \SureCart\Models\Blocks\AbstractProductListBlock { /** * Product ID. * * @var string */ public $product_id; /** * The collection result. * * @var \SureCart\Models\Collection */ protected $collection; /** * Constructor. * * @param \WP_Block $block The block. * @param string $product_id The product ID. */ public function __construct(\WP_Block $block, $product_id = null) { } /** * Get the query context. * * @return array */ public function getQueryContext() { } /** * Build the query * * @return $this */ public function parse_query() { } /** * Offset the found posts. * See: https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination * * @param int $found_posts The found posts. * * @return int The found posts with offset. */ public function offsetFoundPosts($found_posts) { } /** * Run the query * * @return $this|\WP_Error */ public function query() { } /** * Magic getter for pagination properties. * * @param string $key The property key. * @return mixed */ public function __get($key) { } } /** * The product list block. */ class RelatedProductsBlock extends \SureCart\Models\Blocks\AbstractProductListBlock { /** * Build the query. * * @param array $include_term_ids The term ids to include in the query. * * @return array */ public function parse_query($include_term_ids = []) { } /** * Offset the found posts. * See: https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination * * @param int $found_posts The found posts. * * @return int The found posts with offset. */ public function offsetFoundPosts($found_posts) { } /** * Run the query. * * This first gets post ids based on shared object terms. * Then it creates a WP_Query object with the post ids. * * @return $this|\WP_Error */ public function query() { } } } namespace SureCart\Models { /** * Holds the data of the current account. */ class Brand extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'brand'; /** * Object name * * @var string */ protected $object_name = 'brand'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; /** * Set the logo attribute. * * @param mixed $value Logo properties. * @return void */ public function setLogoAttribute($value) { } /** * Set the dark logo attribute. * * @param mixed $value Dark logo properties. * @return void */ public function setDarkLogoAttribute($value) { } /** * Finalize the session for checkout. * * @return $this|\WP_Error */ protected function purgeLogo() { } } /** * BulkAction model */ class BulkAction extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'bulk_actions'; /** * Object name * * @var string */ protected $object_name = 'bulk_action'; } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasPrice { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setPriceAttribute($value) { } /** * Get the price id attribute * * @return string */ public function getPriceIdAttribute() { } } } namespace SureCart\Models { /** * Holds the data of the order bump. */ class Bump extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\HasPrice; /** * Rest API endpoint * * @var string */ protected $endpoint = 'bumps'; /** * Object name * * @var string */ protected $object_name = 'bump'; /** * Get the amount off display amount attribute * * @return string */ protected function getAmountOffDisplayAmountAttribute() { } /** * Get the amount attribute * * @return string|null */ protected function getSubtotalDisplayAmountAttribute() { } /** * Get the amount attribute * * @return int|null */ protected function getSubtotalAmountAttribute() { } /** * Get the scratch amount attribute * * @return int */ protected function getTotalAmountAttribute() { } /** * Get the display amount attribute * * @return string */ protected function getTotalDisplayAmountAttribute() { } /** * Get the rendered bump description attribute. * * @return string */ public function getRenderedDescriptionAttribute() { } } /** * BundleItem model — the join between a bundle Product and a component Product. */ class BundleItem extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'bundle_items'; /** * Object name * * @var string */ protected $object_name = 'bundle_item'; /** * The parent bundle Product (the one with bundle: true). * * @param string|array $value Product id or expanded payload. * @return void */ public function setBundleProductAttribute($value) { } /** * @return string|null */ public function getBundleProductIdAttribute() { } /** * The component Product included in the bundle. * * Must not itself be a bundle (API returns :cannot_be_bundle). * * @param string|array $value Product id or expanded payload. * @return void */ public function setComponentProductAttribute($value) { } /** * @return string|null */ public function getComponentProductIdAttribute() { } /** * Component variants with live stock. A shortcut association returning the * component product's variants one level shallower than the (dropped) * bundle_items.component_product.variants expand. * * @param array $value Variants payload. * @return void */ public function setComponentVariantsAttribute($value) { } /** * Component variant option dimensions (name + values), mirroring component_variants. * * @param array $value Variant options payload. * @return void */ public function setComponentVariantOptionsAttribute($value) { } } /** * Buy link model */ class BuyLink { /** * Product model * * @var \SureCart\Models\Product */ protected $product; /** * Constructor * * @param \SureCart\Models\Product $product Product model. */ public function __construct(\SureCart\Models\Product $product) { } /** * The buy page url. * * @return void */ public function url() { } /** * Is the buy link enabled. * * @return boolean */ public function isEnabled() { } /** * Get the mode. * * @return string */ public function getMode() { } /** * Get the success url. * * @return string */ public function getSuccessUrl() { } /** * Should we show this item? * * @param string $item The name of the item. * * @return boolean */ public function templatePartEnabled($item) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasSubscription { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setSubscriptionAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getSubscriptionIdAttribute() { } } } namespace SureCart\Models { /** * Cancellation Reason Model */ class CancellationAct extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasSubscription, \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'cancellation_acts'; /** * Object name * * @var string */ protected $object_name = 'cancellation_act'; /** * Set the cancellation_reason attribute * * @param string $value Cancellation Reason properties. * @return void */ public function setCancellationReasonAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getCancellationReasonIdAttribute() { } /** * Get stats for the cancellation act. * * @param array $args Array of arguments for the statistics. * * @return \SureCart\Models\Statistic; */ protected function stats($args = []) { } /** * Get the performed at date. * * @return string */ public function getPerformedAtDateAttribute() { } /** * Get the performed at date time. * * @return string */ public function getPerformedAtDateTimeAttribute() { } } /** * Cancellation Reason Model */ class CancellationReason extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'cancellation_reasons'; /** * Object name * * @var string */ protected $object_name = 'cancellation_reason'; /** * Get stats for the order. * * @param array $args Array of arguments for the statistics. * * @return \SureCart\Models\Statistic; */ protected function stats($args = []) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasOrder { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setOrderAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getOrderIdAttribute() { } } /** * If the model has an attached customer. */ trait HasPaymentMethod { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setPaymentMethodAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getPaymentMethodIdAttribute() { } } /** * If the model has an attached customer. */ trait HasPaymentIntent { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setPaymentIntentAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getPaymentIntentIdAttribute() { } } /** * If the model has disputes. */ trait HasDisputes { /** * Set the disputes attribute. * * @param object $value Array of dispute objects. * * @return void */ public function setDisputesAttribute($value) { } } } namespace SureCart\Models { /** * Subscription model */ class Charge extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasOrder; use \SureCart\Models\Traits\HasSubscription; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\HasPaymentMethod; use \SureCart\Models\Traits\HasPaymentIntent; use \SureCart\Models\Traits\HasDisputes; /** * Rest API endpoint * * @var string */ protected $endpoint = 'charges'; /** * Object name * * @var string */ protected $object_name = 'charge'; /** * Refund this specific charge * * @return \SureCart\Models\Refund */ protected function refund() { } /** * Get the display amount attribute. * * @return string */ protected function getDisplayAmountAttribute() { } /** * Get the human discount attribute. * * @return string|null */ public function getExternalChargeLinkAttribute() { } /** * Get the display amount attribute. * * @return string */ public function getAmountDisplayAmountAttribute() { } /** * Get the refunded display amount attribute. * * @return string */ public function getRefundedDisplayAmountAttribute() { } /** * Get the dispute status attribute. * * @return string */ public function getDisputeStatusAttribute(): string { } /** * Get the dispute status type attribute. * * @return string */ public function getDisputeStatusTypeAttribute(): string { } /** * Get the disputed amount attribute. * * @return string */ public function getDisputedDisplayAmountAttribute(): string { } /** * Get the fully disputed attribute. * * @return bool */ public function getFullyDisputedAttribute(): bool { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasSubscriptions { /** * Set the subscriptions attribute * * @param object $value Subscription data array. * @return void */ public function setSubscriptionAttribute($value) { } /** * Does this have subscriptions? * * @return boolean */ public function hasSubscriptions() { } } trait HasDiscount { /** * Set the discount attribute. * * @param object $value Discount object. * * @return void */ public function setDiscountAttribute($value) { } } trait HasShippingAddress { /** * Always set discount as object. * * @param array|object $value Value to set. * @return $this */ protected function setShippingAddressAttribute($value) { } /** * Get the shipping address attribute * * @return string|null The shipping address. */ public function getShippingAddressDisplayAttribute() { } } /** * If the model has shipping choices. */ trait HasShippingChoices { /** * Set the shipping choices attribute * * @param object $value shipping choices item data array. * @return void */ public function setShippingChoicesAttribute($value) { } } /** * If the model has an attached customer. */ trait HasPurchases { /** * Set the subscriptions attribute * * @param object $value Subscription data array. * @return void */ public function setPurchasesAttribute($value) { } /** * Does this have subscriptions? * * @return boolean */ public function hasPurchases() { } } /** * If the model has an attached customer. */ trait CanFinalize { /** * Finalize the session for checkout. * * @return $this|\WP_Error */ protected function finalize() { } } /** * If the model has an attached customer. */ trait HasProcessorType { /** * Processor type * * @var string */ protected $processor_type = ''; /** * Set the processor type * * @param string $type The processor type. * @return $this */ protected function setProcessor($type) { } } trait HasBillingAddress { /** * Always set billing address as object. * * @param array|object $value Value to set. * @return $this */ protected function setBillingAddressAttribute($value) { } /** * Get the billing address attribute * * @return string|null The billing address. */ public function getBillingAddressDisplayAttribute() { } } /** * If the model has payment failures. */ trait HasPaymentFailures { /** * Set the payment_failures attribute * * @param object $value Array of payment_failure objects. * * @return void */ public function setPaymentFailuresAttribute($value) { } } /** * If the model has an attached customer. */ trait HasInvoice { /** * Set the affiliation attribute * * @param object $value Array of payout objects. * * @return void */ public function setInvoiceAttribute($value) { } } } namespace SureCart\Models { /** * Order model */ class Checkout extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasSubscriptions; use \SureCart\Models\Traits\HasDiscount; use \SureCart\Models\Traits\HasShippingAddress; use \SureCart\Models\Traits\HasShippingChoices; use \SureCart\Models\Traits\HasPaymentIntent; use \SureCart\Models\Traits\HasPaymentMethod; use \SureCart\Models\Traits\HasPurchases; use \SureCart\Models\Traits\CanFinalize; use \SureCart\Models\Traits\HasProcessorType; use \SureCart\Models\Traits\HasBillingAddress; use \SureCart\Models\Traits\HasPaymentFailures; use \SureCart\Models\Traits\HasInvoice; /** * Rest API endpoint * * @var string */ protected $endpoint = 'checkouts'; /** * Object name * * @var string */ protected $object_name = 'checkout'; /** * Need to pass the processor type on create * * @param array $attributes Optional attributes. * @param string $type stripe, paypal, etc. */ public function __construct($attributes = [], $type = '') { } /** * Get the display subtotal amount attribute. * * @return string */ public function getAmountDueDisplayAmountAttribute() { } /** * Get the display subtotal amount attribute. * * @return string */ public function getSubtotalDisplayAmountAttribute() { } /** * Get the display discounts amount attribute. * * @return string */ public function getDiscountsDisplayAmountAttribute() { } /** * Get the display tax reverse charged amount attribute. * * @return string */ public function getTaxReverseChargedDisplayAmountAttribute() { } /** * Get the display tax reverse charged amount attribute. * * @return string */ public function getDiscountsDisplayAttribute() { } /** * Get the display scratch amount attribute. * * @return string */ public function getScratchDisplayAmountAttribute() { } /** * Get the display subtotal amount attribute. * * @return string */ public function getTrialDisplayAmountAttribute() { } /** * Get the display remaining amount due attribute. * * @return string */ public function getRemainingAmountDueDisplayAmountAttribute() { } /** * Get the display refunded amount attribute. * * @return string */ public function getRefundedDisplayAmountAttribute() { } /** * Get the display net paid amount attribute. * * @return string */ public function getNetPaidDisplayAmountAttribute() { } /** * Get the display subtotal amount attribute. * * @return string */ public function getTotalDisplayAmountAttribute() { } /** * Get the display total savings amount attribute. * * @return string */ public function getTotalSavingsDisplayAmountAttribute() { } /** * Get the display total scratch price attribute. * * @return string */ public function getTotalScratchDisplayAmountAttribute() { } /** * Get the subtotal scratch amount (sum of all line items' scratch amounts). * * @return int */ public function getSubtotalScratchAmountAttribute() { } /** * Get the display subtotal scratch amount attribute. * * @return string */ public function getSubtotalScratchDisplayAmountAttribute() { } /** * Check if the checkout has a subtotal scratch amount different from the subtotal. * * @return bool */ public function getHasSubtotalScratchAmountAttribute() { } /** * Get the converts currency attribute. * We should convert currency by default. * * @return bool */ public function getShowConvertedTotalAttribute() { } /** * Get the display full amount attribute. * * @return string */ public function getFullDisplayAmountAttribute() { } /** * Get the display discount amount amount attribute. * * @return string */ public function getDiscountDisplayAmountAttribute() { } /** * Get the display bump amount attribute. * * @return string */ public function getBumpDisplayAmountAttribute() { } /** * Get the converted total amount attribute. * * @return string */ public function getConvertedTotalAmountAttribute() { } /** * Is the checkout an installment. * * @return bool */ public function getIsInstallmentAttribute() { } /** * Get the line items count attribute. * * @return int */ public function getLineItemsCountAttribute() { } /** * Count of line items excluding bundle containers. * * A bundle serializes as a container line item plus one line item per * component; only the components are delivered, so counting raw line * items reads N+1. Containers are found via `is_bundle_parent` when * `price.product` is expanded, or via the parent ids components carry * in `bundle_line_item` when it isn't. * * @return int */ public function getDeliveredItemsCountAttribute() { } /** * Get the has recurring attribute. * * Do any line items have a recurring price? * * @return bool */ public function getHasRecurringAttribute() { } /** * Set attributes during write actions. * * @return void */ protected function setWriteAttributes() { } /** * Set the upsell funnel attribute * * @param object $value The data array. * @return void */ public function setUpsellFunnelAttribute($value) { } /** * Set the upsell funnel attribute * * @param object $value The data array. * @return void */ public function setCurrentUpsellAttribute($value) { } /** * Set the recommended bumps attribute * * @param object $value Subscription data array. * @return void */ public function setRecommendedBumpsAttribute($value) { } /** * Set the checkout fees attribute * * @param object $value Subscription data array. * @return void */ public function setCheckoutFeesAttribute($value) { } /** * Set the shipping fees attribute * * @param object $value Subscription data array. * @return void */ public function setShippingFeesAttribute($value) { } /** * Get the display checkout fees amount attribute. * * @return string */ public function getCheckoutFeesDisplayAmountAttribute() { } /** * Get the display shipping fees amount attribute. * * @return string */ public function getShippingFeesDisplayAmountAttribute() { } /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|\WP_Error|false */ protected function create($attributes = []) { } /** * Update the model * * @param array $attributes Attributes to create. * * @return $this|\WP_Error|false */ protected function update($attributes = []) { } /** * Get the IP address of the user * * TOD0: Move this to a helper class. * * @return string */ protected function getIPAddress() { } /** * Set the product attribute * * @param object $value Product properties. * @return void */ public function setLineItemsAttribute($value) { } /** * Finalize the session for checkout. * * @return $this|\WP_Error */ protected function manuallyPay() { } /** * Cancel an checkout * * @return $this|\WP_Error */ protected function cancel() { } /** * Offer a bump. * * @param string|\SureCart\Models\Bump $bump The bump object. * * @return true|\WP_Error */ protected function offerBump($bump) { } /** * Offer an upsell. * * @param string|\SureCart\Models\Upsell $upsell The upsell object. * * @return true|\WP_Error */ protected function offerUpsell($upsell) { } /** * Decline an upsell. * * @param string|\SureCart\Models\Upsell $upsell The upsell object. * * @return $this|\WP_Error */ protected function declineUpsell($upsell) { } /** * Get the human discount attribute. * * @return string */ public function getHumanDiscountAttribute() { } /** * Get the human discount with duration attribute. * * @return string */ public function getHumanDiscountWithDurationAttribute() { } /** * Get the shipping display amount attribute. * * @return string */ public function getShippingDisplayAmountAttribute() { } /** * If the shipping address is required. * * @return bool */ public function getShippingAddressRequiredAttribute(): bool { } /** * Get the paid display amount attribute. * * @return string */ public function getPaidDisplayAmountAttribute() { } /** * Get the Paid at Date attribute. * * @return string */ public function getPaidAtDateAttribute() { } /** * Get the proration display amount attribute. * * @return string */ public function getProrationDisplayAmountAttribute() { } /** * Get the applied balance display amount attribute. * * @return string */ public function getAppliedBalanceDisplayAmountAttribute() { } /** * Get the credited balance display amount attribute. * * @return string */ public function getCreditedBalanceDisplayAmountAttribute() { } /** * Get the store currency amount due display amount attribute. * * @return string */ public function getAmountDueDefaultCurrencyDisplayAmountAttribute() { } /** * Get the store currency amount due display amount attribute. * * @return string */ public function getCurrentCurrencyAttribute() { } /** * Get the tax exclusive display amount attribute. * * @return string */ public function getTaxExclusiveDisplayAmountAttribute() { } /** * Get the tax inclusive display amount attribute. * * @return string */ public function getTaxInclusiveDisplayAmountAttribute() { } /** * Get the tax display amount attribute. * * @return string */ public function getTaxDisplayAmountAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasAffiliation { /** * Set the affiliation attribute * * @param object $value Array of payout objects. * * @return void */ public function setAffiliationAttribute($value) { } } } namespace SureCart\Models { /** * Click model */ class Click extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasAffiliation, \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'clicks'; /** * Object name * * @var string */ protected $object_name = 'click'; /** * Set the previous click * * @param object $value Array of payout objects. * * @return void */ public function setPreviousClickAttribute($value) { } /** * Get the expires at date. * * @return string */ public function getExpiresAtDateAttribute() { } /** * Get the expires at date and time. * * @return string */ public function getExpiresAtDateTimeAttribute() { } } /** * Stores a collection of items. */ class Collection { /** * Keeps track of booted models * * @var array */ protected static $booted = []; /** * Stores the collection data * * @var StdClass */ protected $attributes; /** * Model constructor * * @param object $collection Optional attributes. */ public function __construct($collection) { } /** * Get the called class name * * @return string */ public static function getCalledClassName() { } /** * Get the total. * * @return string */ public function total() { } /** * Get the total pages. * * @return string */ public function totalPages() { } /** * Does this collection have a next page? * * @return boolean */ public function hasNextPage() { } /** * Does this collection have a previous page? * * @return boolean */ public function hasPreviousPage() { } /** * Get a specific attribute * * @param string $key Attribute name. * * @return mixed */ public function getAttribute($key) { } /** * Does it have the attribute * * @param string $key Attribute key. * * @return boolean */ public function hasAttribute($key) { } /** * Get the attribute * * @param string $key Attribute name. * * @return mixed */ public function __get($key) { } /** * Set the attribute * * @param string $key Attribute name. * @param mixed $value Value of attribute. * * @return void */ public function __set($key, $value) { } /** * Determine if the given attribute exists. * * @param mixed $offset Name. * @return bool */ public function offsetExists($offset) { } /** * Get the value for a given offset. * * @param mixed $offset Name. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset Name. * @param mixed $value Value. * @return void */ public function offsetSet($offset, $value) { } /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } } /** * CommissionStructure modal. */ class CommissionStructure extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'commission_structures'; /** * Object name * * @var string */ protected $object_name = 'commission_structure'; /** * Get commission amount attribute. * * @return string */ public function getCommissionAmountAttribute() { } /** * Get subscription commission attribute. * * @return string|null */ public function getSubscriptionCommissionAttribute() { } /** * Get lifetime commission attribute. * * @return string|null */ public function getLifetimeCommissionAttribute() { } } class Component { /** * Holds the data for the component. * * @var array */ protected $data = []; /** * Holds the component tag. * * @var string */ protected $tag = ''; /** * Holds the component id selector. * * @var string */ protected $id = ''; /** * Prevent php warnings. */ final public function __construct() { } /** * Data to pass to the component. * * @param array $args Args to pass. * @return this */ protected function with($args) { } /** * Set the tag for the component. * * @param string $tag Tag for the component. * @return this */ protected function tag($tag) { } /** * Set the id for the component. * * @param string $id The id to set. * @return this */ protected function id($id) { } /** * Render the component. * * @param string $inner_html Inner html for the component. * @return string */ protected function render($inner_html = '') { } /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } } namespace SureCart\Models\Concerns { trait Facade { /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } /** * Import model trait */ abstract class ImportModel extends \SureCart\Models\Model { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'imports'; /** * Object name. * * @var string */ protected $object_name = 'import'; /** * Find a product import by id. * * @param string $id The id of the product import. * * @return Import|false */ protected function find($id = '') { } /** * Get a product import by id. * * @param array $args Pagination args. * @return mixed */ protected function paginate($args = []) { } /** * Fetch a list of items. * * @return array|\WP_Error; */ protected function get() { } } } namespace SureCart\Models { /** * Price model */ class Coupon extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'coupons'; /** * Object name * * @var string */ protected $object_name = 'coupon'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when coupons are updated. * * @var string */ protected $cache_key = 'coupons'; /** * Get the human discount attribute. * * @return string */ public function getHumanDiscountAttribute() { } /** * Get discount amount attribute. * * @return string */ public function getDiscountAmountAttribute() { } /** * Set the subscriptions attribute * * @param object $value Subscription data array. * @return void */ public function setPromotionsAttribute($value) { } /** * Get the Redeem By Date attribute. * * @return string */ public function getRedeemByDateAttribute() { } /** * Get the Redeem By Date Time attribute. * * @return string */ public function getRedeemByDateTimeAttribute() { } /** * Get the archived at date attribute. * * @return string */ public function getArchivedAtDateAttribute() { } /** * Get the archived at date time attribute. * * @return string */ public function getArchivedAtDateTimeAttribute() { } } /** * Price model */ class Customer extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasPurchases; use \SureCart\Models\Traits\HasShippingAddress; use \SureCart\Models\Traits\HasBillingAddress; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\CanFilter; /** * Rest API endpoint * * @var string */ protected $endpoint = 'customers'; /** * Object name * * @var string */ protected $object_name = 'customer'; /** * Create a new model * * @param array $attributes Attributes to create. * @param boolean $create_user Whether to create a corresponding WordPress user. * * @return $this|\WP_Error|false */ protected function create($attributes = [], $create_user = true) { } /** * Delete the model. * * @param int $id Customer ID. * * @return $this|\WP_Error|false */ protected function delete($id = 0) { } /** * Expose media for a customer * * @param string $media_id The media id. * * @return \SureCart\Models\Media|false; */ protected function exposeMedia($media_id) { } /** * Get a customer by their email address * * @param string $email Email address. * @return this */ protected function byEmail($email) { } /** * Get the customer's user. * * @return \SureCart\Models\User|false */ public function getUser() { } /** * Create the user from the customer. * * @return \SureCart\Models\User|\WP_Error */ public function createUser() { } /** * Maybe also return the user when the id is set. * * @param string $value The user id. * @return void */ public function setIdAttribute($value) { } /** * Get the affiliation expires at date. * * @return string */ public function getAffiliationExpiresAtDateAttribute() { } /** * Get the affiliation expires at date and time. * * @return string */ public function getAffiliationExpiresAtDateTimeAttribute() { } } /** * Price model */ class CustomerLink extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; /** * Rest API endpoint * * @var string */ protected $endpoint = 'customer_links'; /** * Object name * * @var string */ protected $object_name = 'customer_link'; } /** * Price model */ class CustomerNotificationProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'customer_notification_protocol'; /** * Object name * * @var string */ protected $object_name = 'customer_notification_protocol'; } /** * Holds the data of the current account. */ class CustomerPortalProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'customer_portal_protocol'; /** * Object name * * @var string */ protected $object_name = 'customer_portal_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } /** * Model class */ abstract class DatabaseModel implements \ArrayAccess, \JsonSerializable, \SureCart\Concerns\Arrayable, \SureCart\Models\ModelInterface { /** * Keeps track of booted models * * @var array */ protected static $booted = []; /** * Keeps track of model events * * @var array */ protected static $events = []; /** * Stores model attributes * * @var array */ protected $attributes = []; /** * Default attributes. * * @var array */ protected $defaults = []; /** * Original attributes for dirty handling * * @var array */ protected $original = []; /** * Rest API endpoint * * @var string */ protected $endpoint = ''; /** * Object name * * @var string */ protected $object_name = ''; /** * Query arguments * * @var array */ protected $query = []; /** * Stores model relations * * @var array */ protected $relations = []; /** * Fillable model items * * @var array */ protected $fillable = ['*']; /** * Guarded model items * * @var array */ protected $guarded = []; /** * Default collection limit * * @var integer */ protected $limit = 20; /** * Default collection offset. * * @var integer */ protected $offset = 0; /** * The default transient cache time * * @var integer */ protected $transient_cache_time = 5 * MINUTE_IN_SECONDS; /** * Holds the db class. * * @var \SureCartVendors\PluginEver\QueryBuilder\Query */ protected $db; /** * The table name for the model. * * @var string */ protected $table_name; /** * Total items found. * * @var integer */ protected $total; /** * Model constructor * * @param array $attributes Optional attributes. */ public function __construct($attributes = []) { } /** * Get the query. * * @return \SureCartVendors\PluginEver\QueryBuilder\Query */ public function getQuery() { } /** * Get the db instance. * * @return \SureCartVendors\PluginEver\QueryBuilder\Query */ public function getDBInstance() { } /** * Sync original attributes in case of dirty needs * * @return Model */ public function syncOriginal() { } /** * Run boot method on model * * @return void */ public function bootModel() { } /** * Get the called class name * * @return string */ public static function getCalledClassName() { } /** * Model boot method * * @return void */ public static function boot() { } /** * Does it have the attribute * * @param string $key Attribute key. * * @return boolean */ public function hasAttribute($key) { } /** * Register a model event * * @param string $event Event name. * @param function $callback Callback function. * * @return void */ public static function registerModelEvent($event, $callback) { } /** * Model has been retrieved * * @param function $callback Callback method. * * @return void */ public static function retrieved($callback) { } /** * Model Saving (Before Save) * * @param function $callback Callback method. * * @return void */ public static function saving($callback) { } /** * Model Savied (After Save) * * @param function $callback Callback method. * * @return void */ public static function saved($callback) { } /** * Model Creating (Before Create) * * @param function $callback Callback method. * * @return void */ public static function creating($callback) { } /** * Model Created (After Create) * * @param function $callback Callback method. * * @return void */ public static function created($callback) { } /** * Model Updating (Before Updating) * * @param function $callback Callback method. * * @return void */ public static function updating($callback) { } /** * Model Updating (After Updating) * * @param function $callback Callback method. * * @return void */ public static function updated($callback) { } /** * Model Deleting (Before Deleting) * * @param function $callback Callback method. * * @return void */ public static function deleting($callback) { } /** * Model Deleted (After Deleted) * * @param function $callback Callback method. * * @return void */ public static function deleted($callback) { } /** * Fires the model event. * * @param string $event Event name. * * @return mixed */ public function fireModelEvent($event) { } /** * Sets attributes in model * * @param array $attributes Attributes to fill. * * @return Model */ public function fill($attributes) { } /** * Reset attributes to blank. * * @return $this */ public function resetAttributes() { } /** * Set model attributes * * @param array $attributes Attributes to add. * @param boolean $is_guarded Use guarded. * * @return Model */ public function setAttributes($attributes, $is_guarded = true) { } /** * Make sure ID is always int. * * @param mixed $value Id. * * @return void */ public function setIdAttribute($value) { } /** * Sets an attribute * Optionally calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $value Attribute value. * * @return mixed|void */ public function setAttribute($key, $value) { } /** * Calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $type 'get' or 'set'. * * @return string|false */ public function getMutator($key, $type) { } /** * Is the attribute fillable? * * @param string $key Attribute name. * * @return boolean */ public function isFillable($key) { } /** * Is the key guarded * * @param string $key Name of the attribute. * * @return boolean */ public function isGuarded($key) { } /** * Get fillable items * * @return array */ public function getFillable() { } /** * Get guarded items * * @return array */ public function getGuarded() { } /** * Build query query * * @param array $query Arguments. * * @return Model */ protected function with($query = []) { } /** * Set the request mode (test or live). * * @param 'test'|'live' $mode Request mode. */ public function setMode($mode) { } /** * Get the current mode. */ public function getMode() { } /** * Set the pagination args. * * @param array $args Pagination args. * @return $this */ protected function setPagination($args) { } /** * Fetch a list of items * * @return array|\WP_Error; */ protected function get() { } /** * Paginate results * * @param array $args Pagination args. * @return mixed */ protected function paginate($args = []) { } /** * Get the first item in the query */ public function first() { } /** * Find a specific model with and id * * @param string $id Id of the model. * * @return $this */ protected function find($id = '') { } /** * Is the response an Error? * * @param Array|\WP_Error|\WP_REST_Response $response Response from request. * * @return boolean */ public function isError($response) { } /** * Get fresh instance from DB. * * @return this */ protected function fresh() { } /** * Get fresh instance from DB. * * @return this */ protected function refresh() { } /** * Save model * * @return $this|false */ protected function save() { } /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = []) { } /** * Update the model. * * @return $this|false */ protected function update($attributes = []) { } /** * Delete the model. * * @return $this|false */ protected function delete($id = 0) { } /** * Delete all items. * * @return $this|false */ protected function deleteAll() { } /** * Set a model relation. * * @prop string $attribute Attribute name. * @prop string $value Value to set. * @prop string $model Model name. * @return void */ public function setRelation($attribute, $value, $model) { } /** * Get a relation id. * * @prop string $attribute Attribute name. * @prop string $value Value to set. * @prop string $model Model name. * @return string|null; */ public function getRelationId($attribute) { } /** * Set a model collection. * * @prop string $attribute Attribute name. * @prop string $value Value to set. * @prop string $model Model name. * @return void */ public function setCollection($attribute, $collection, $model) { } /** * Get the model attributes * * @return array */ public function getAttributes() { } /** * Get a specific attribute * * @param string $key Attribute name. * * @return mixed */ public function getAttribute($key) { } /** * Serialize to json. * * @return Array */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /** * Calls accessors during toArray. * * @return array */ public function toArray() { } /** * Is the model dirty (has unsaved items) * * @param array $attributes Optionally pass attributes to check. * * @return boolean */ public function isDirty($attributes = null) { } /** * Get dirty (unsaved) items * * @return array */ public function getDirty() { } /** * Determine if the new and old values for a given key are numerically equivalent. * * @param string $key Attribute name. * @return bool */ protected function originalIsNumericallyEquivalent($key) { } /** * Get the original item * * @param string $key Name of the item. * * @return mixed */ public function getOriginal($key = null) { } /** * Get the attribute * * @param string $key Attribute name. * * @return mixed */ public function __get($key) { } /** * Set the attribute * * @param string $key Attribute name. * @param mixed $value Value of attribute. * * @return void */ public function __set($key, $value) { } /** * Determine if the given attribute exists. * * @param mixed $offset Name. * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { } /** * Get the value for a given offset. * * @param mixed $offset Name. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset Name. * @param mixed $value Value. * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { } /** * Unset the value for a given offset. * * @param mixed $offset Name. * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { } /** * Determine if an attribute or relation exists on the model. * * @param string $key Name. * @return bool */ public function __isset($key) { } /** * Unset an attribute on the model. * * @param string $key Name. * @return void */ public function __unset($key) { } /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } /** * Filter out non-fillable column names from an associative `where()` argument. * * The query builder uses array keys as raw SQL column identifiers in its * `where( [ 'col' => 'value' ] )` form. `$wpdb->prepare()` cannot escape * identifiers, so untrusted keys must be restricted to known fields before * reaching the builder. * * @param string $method Forwarded method name. * @param array $params Forwarded parameters. * @return array */ protected function filterWhereColumns($method, $params) { } } /** * Discount model */ class Discount extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'discounts'; /** * Object name * * @var string */ protected $object_name = 'discount'; /** * Get the human discount redeemable status attribute. * * @return string */ public function getRedeemableDisplayStatusAttribute() { } } /** * DisplayCurrency model. */ class DisplayCurrency extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'display_currencies'; /** * Object name * * @var string */ protected $object_name = 'display_currency'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when products are updated. * * @var string */ protected $cache_key = 'display_currencies'; /** * Get the display example attribute * * @return string */ protected function getDisplayExampleAttribute() { } /** * Get the name of the currency. * * @return string */ protected function getNameAttribute() { } /** * Get the currency symbol. * * @return string */ protected function getCurrencySymbolAttribute() { } /** * Is this the default store currency? * * @return boolean */ protected function getIsDefaultCurrencyAttribute() { } /** * Get the flag URL. * * @return string */ protected function getFlagAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasCharge { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setChargeAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getChargeIdAttribute() { } } } namespace SureCart\Models { /** * Dispute model. */ class Dispute extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasCharge; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'disputes'; /** * Object name * * @var string */ protected $object_name = 'dispute'; /** * Get the display amount attribute * * @return string */ protected function getDisplayAmountAttribute(): string { } /** * Get external dispute link. * * @return string */ public function getExternalDisputeLinkAttribute(): string { } /** * Get the display status attribute. * * @return string */ public function getStatusDisplayAttribute(): string { } /** * Get the display status attribute. * * @return string */ public function getStatusTypeAttribute() { } } /** * Price model */ class Download extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'downloads'; /** * Object name * * @var string */ protected $object_name = 'download'; } /** * Price model */ class Event extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'events'; /** * Object name * * @var string */ protected $object_name = 'event'; } /** * Export model. */ class Export extends \SureCart\Models\Model { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'exports'; /** * Object name * * @var string */ protected $object_name = 'export'; } /** * External API Model class */ abstract class ExternalApiModel implements \ArrayAccess, \JsonSerializable, \SureCart\Concerns\Arrayable, \SureCart\Models\ModelInterface { use \SureCart\Models\Concerns\Facade; /** * Rest API endpoint * * @var string */ protected $endpoint = ''; /** * Keeps track of booted models * * @var array */ protected static $booted = []; /** * Keeps track of model events * * @var array */ protected static $events = []; /** * Stores model attributes * * @var array */ protected $attributes = []; /** * Original attributes for dirty handling * * @var array */ protected $original = []; /** * Query arguments * * @var array */ protected $query = []; /** * Default query parameters * * @var array */ protected $default_query = []; /** * Stores model relations * * @var array */ protected $relations = []; /** * Fillable model items * * @var array */ protected $fillable = ['*']; /** * Guarded model items * * @var array */ protected $guarded = []; /** * Path to the static data file * * @var string */ protected $base_url = ''; /** * Model constructor * * @param array $attributes Optional attributes. */ public function __construct($attributes = []) { } /** * Find a specific model with an id. * * @param string $id Id of the model. * * @return $this|\WP_Error */ protected function find($id = '') { } /** * Get all items matching the current query * * @return array */ protected function get() { } /** * Make a request to the API. * * @param array $args Array of arguments. * * @return array|WP_Error */ protected function makeRequest($args = []) { } /** * Sync the original attributes with the current * * @return $this */ protected function syncOriginal() { } /** * Boot the model if not already booted * * @return void */ protected function bootModel() { } /** * The "boot" method of the model. * * @return void */ protected static function boot() { } /** * Get the called class name * * @return string */ protected function getCalledClassName() { } /** * Fill the model with an array of attributes. * * @param array $attributes Attributes to fill. * @return $this */ public function fill($attributes) { } /** * Determine if the given attribute may be mass assigned. * * @param string $key Attribute key. * @return bool */ public function isFillable($key) { } /** * Set a given attribute on the model. * * @param string $key Attribute key. * @param mixed $value Attribute value. * @return mixed */ public function setAttribute($key, $value) { } /** * Calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $type 'get' or 'set'. * * @return string|false */ public function getMutator($key, $type) { } /** * Check if the attribute exists. * * @param string $key Attribute key. * @return bool */ public function hasAttribute($key) { } /** * Get an attribute from the model. * * @param string $key Attribute key. * @return mixed */ public function getAttribute($key) { } /** * Fire the given event for the model. * * @param string $event Event name. * @return mixed */ protected function fireModelEvent($event) { } /** * Check if offset exists. * * @param mixed $offset Array offset. * @return bool */ public function offsetExists($offset): bool { } /** * Get offset value. * * @param mixed $offset Array offset. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set offset value. * * @param mixed $offset Array offset. * @param mixed $value Offset value. * @return void */ public function offsetSet($offset, $value): void { } /** * Unset offset. * * @param mixed $offset Array offset. * @return void */ public function offsetUnset($offset): void { } /** * JsonSerializable implementation */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /** * Get the model attributes * * @return array */ public function getAttributes() { } /** * Get the instance as an array. * * @return array */ public function toArray() { } /** * Get the attribute * * @param string $key Attribute name. * * @return mixed */ public function __get($key) { } } /** * Price model */ class Fee extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'fees'; /** * Object name * * @var string */ protected $object_name = 'fee'; /** * Get the display amount attribute * * @return string */ protected function getDisplayAmountAttribute() { } } /** * Checkout form class */ class Form { /** * Holds the form post. * * @var \WP_Post; */ protected $post; /** * Get the post * * @param [type] $id */ final public function __construct($id = 0) { } /** * The form's post type * * @return string The post type. */ protected function getPostType() { } /** * Get the stored product choices * * @param int|WP_Post $id Post object or id. * @return array */ protected function getPriceIds($id) { } /** * Get a form's attribute * * @param string $attribute Attribute name. * @return mixed */ public function getAttribute($attribute) { } /** * Get the form's mode * * @param int|WP_Post $id Post object or id. * @return string */ protected function getMode($id) { } /** * Get nested values from an array * * @param array $array Array to search. * @param string $nested_key Nested key to search for. * @return array */ protected function getNested(array $array, $nested_key) { } /** * Get the form's products. * * @param int|WP_Post Block post id. */ protected function getProducts($id) { } protected function getPosts($id) { } public function searchBlocks($id) { } public function searchShortcodes($id) { } /** * Get blocks from the posts. * * @param array $posts Array of posts. * @return array Array of blocks. */ public function getBlocksFromPosts($posts) { } /** * Find our checkout block. * * @param array $post_blocks Blocks array. * @param \WP_Post $post_object Post object. * @return array */ public function findCheckoutBlocks($post_blocks, \WP_Post $post_object) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } /** * Fulfillment model. */ class Fulfillment extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'fulfillments'; /** * Object name * * @var string */ protected $object_name = 'fulfillment'; /** * Set the prices attribute. * * @param object $value Array of price objects. * @return void */ public function setFulfillmentItemsAttribute($value) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasLineItem { /** * Set the line item attribute * * @param object $value Line item properties. * @return void */ public function setLineItemAttribute($value) { } } } namespace SureCart\Models { /** * Fulfillment model. */ class FulfillmentItem extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasLineItem; /** * Rest API endpoint * * @var string */ protected $endpoint = 'fulfillment_items'; /** * Object name * * @var string */ protected $object_name = 'fulfillment_item'; } } namespace SureCart\Models\Traits { trait HasAttributes { /** * Keeps track of booted models * * @var array */ protected static $booted = []; /** * Stores model attributes * * @var array */ protected $attributes = []; /** * Fillable model items * * @var array */ protected $fillable = ['*']; /** * Guarded model items * * @var array */ protected $guarded = []; /** * Model constructor * * @param array $attributes Optional attributes. */ public function __construct($attributes = []) { } /** * Get fillable items * * @return array */ public function getFillable() { } /** * Is the attribute fillable? * * @param string $key Attribute name. * * @return boolean */ public function isFillable($key) { } /** * Sets attributes in model * * @param array $attributes Attributes to fill. * * @return Model */ public function fill($attributes) { } /** * Get guarded items * * @return array */ public function getGuarded() { } /** * Is the key guarded * * @param string $key Name of the attribute. * * @return boolean */ public function isGuarded($key) { } /** * Reset attributes to blank. * * @return $this */ public function resetAttributes() { } /** * Set model attributes * * @param array $attributes Attributes to add. * @param boolean $is_guarded Use guarded. * * @return Model */ public function setAttributes($attributes, $is_guarded = true) { } /** * Sets an attribute * Optionally calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $value Attribute value. * * @return mixed|void */ public function setAttribute($key, $value) { } /** * Does it have the attribute * * @param string $key Attribute key. * * @return boolean */ public function hasAttribute($key) { } /** * Get a specific attribute * * @param string $key Attribute name. * * @return mixed */ public function getAttribute($key) { } /** * Calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $type 'get' or 'set'. * * @return string|false */ public function getMutator($key, $type) { } /** * Get the attributes * * @return array */ public function getAttributes() { } /** * Convert to object. * * @return Object */ public function toObject() { } /** * Calls accessors during toArray. * * @return Array */ public function toArray() { } /** * Serialize to json. * * @return Array */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /** * Get the attribute * * @param string $key Attribute name. * * @return mixed */ public function __get($key) { } /** * Set the attribute * * @param string $key Attribute name. * @param mixed $value Value of attribute. * * @return void */ public function __set($key, $value) { } /** * Determine if the given attribute exists. * * @param mixed $offset Name. * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { } /** * Get the value for a given offset. * * @param mixed $offset Name. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset Name. * @param mixed $value Value. * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { } /** * Unset the value for a given offset. * * @param mixed $offset Name. * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { } /** * Determine if an attribute or relation exists on the model. * * @param string $key Name. * @return bool */ public function __isset($key) { } /** * Unset an attribute on the model. * * @param string $key Name. * @return void */ public function __unset($key) { } } } namespace SureCart\Models { /** * GalleryItem model */ abstract class GalleryItem implements \ArrayAccess, \JsonSerializable, \SureCart\Concerns\Arrayable, \SureCart\Concerns\Objectable { use \SureCart\Models\Traits\HasAttributes; /** * The item. * * @var \WP_Post|\SureCart\Models\ProductMedia */ protected $item = null; /** * Whether to include lightbox. * * @var bool */ protected $with_lightbox = false; /** * Metadata for the gallery item. * * @var array */ protected $metadata = []; /** * Set the lightbox attribute. * * @param bool $with_lightbox Whether to include lightbox. * * @return self */ public function withLightbox($with_lightbox = true) { } /** * Check if the gallery item exists. * * @return bool */ public function exists() { } /** * Convert object to array. * * @return array */ public function toArray() { } /** * Get the image markup. * * @param string $key The key to get. * * @return string */ public function __get($key) { } /** * Check if this gallery item is a video. * * @return bool */ public function isVideo(): bool { } /** * Determine if the given attribute exists. * * @param mixed $offset Name. * @return bool */ public function offsetExists($offset): bool { } /** * Get the value for a given offset. * * @param mixed $offset Name. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset Name. * @param mixed $value Value. * @return void */ public function offsetSet($offset, $value): void { } /** * Unset the value for a given offset. * * @param mixed $offset Name. * @return void */ public function offsetUnset($offset): void { } /** * Determine if an attribute or relation exists on the model. * * @param string $key Name. * @return bool */ public function __isset($key) { } /** * Get metadata for the gallery item. * * If $key is provided, returns the single metadata value (or null). If no * key is provided, returns the full metadata array. * * @param string|null $key The key to check or null to get all metadata. * * @return mixed|null|array */ public function getMetadata($key = null) { } /** * Set the metadata for the gallery item. * * @param string $key The key to set. * @param mixed $value The value to set. * * @return self */ public function setMetadata($key, $value): self { } } /** * Factory for creating appropriate GalleryItem instances based on attachment type */ class GalleryItemAttachment { /** * Create a gallery item based on the attachment type. * * @param int|array|\WP_Post $item The attachment item (ID, array with 'id' key, or WP_Post object). * @param \WP_Post|null $product_featured_image The featured image (post thumbnail) of the product. * * @return null|GalleryItemImageAttachment|GalleryItemVideoAttachment */ protected function create($item, $product_featured_image = null) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } } namespace SureCart\Support\Contracts { interface GalleryItem { /** * Get the page title attribute. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * * @return string */ public function html($size = 'full', $attr = []): string; /** * Get the page descriptoin attribute * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * * @return object */ public function attributes($size = 'full', $attr = []): object; } } namespace SureCart\Models { /** * Gallery item model for image attachments */ class GalleryItemImageAttachment extends \SureCart\Models\GalleryItem implements \SureCart\Support\Contracts\GalleryItem { /** * Create a new gallery item. * * @param int|\WP_Post $item The item. * * @return void */ public function __construct($item) { } /** * Get the thumbnail attribute markup. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * @param array $metadata Additional metadata. * * @return string */ public function thumbnail($size = 'full', $attr = [], $metadata = []): string { } /** * Get the media attribute markup. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * @param array $metadata Additional metadata for the lightbox. * * @return string */ public function html($size = 'full', $attr = [], $metadata = []): string { } /** * Get the image data. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * * @return object */ public function attributes($size = 'full', $attr = []): object { } } /** * Gallery item model */ class GalleryItemMedia extends \SureCart\Models\GalleryItem implements \SureCart\Support\Contracts\GalleryItem { /** * Create a new gallery item. * This can accept a product media or a post. * * @param \SureCart\Models\Media $item The item. * * @return void */ public function __construct(\SureCart\Models\Media $item) { } /** * Get the media attribute markup. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * * @return string */ public function html($size = 'full', $attr = []): string { } /** * Get the image data. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * * @return array */ public function attributes($size = 'full', $attr = []) { } } /** * Gallery item model */ class GalleryItemProductMedia extends \SureCart\Models\GalleryItem implements \SureCart\Support\Contracts\GalleryItem { /** * Create a new gallery item. * This can accept a product media or a post. * * @param \SureCart\Models\ProductMedia $item The item. * * @return void */ public function __construct(\SureCart\Models\ProductMedia $item) { } /** * Get the thumbnail attribute markup. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * @param array $metadata Additional metadata. * * @return string */ public function thumbnail($size = 'full', $attr = [], $metadata = []): string { } /** * Get the media attribute markup. * * @param string $size The size of the image. * @param string|array $attr The attributes for the tag. WordPress allows either array or query-string form. * @param array $metadata Additional metadata. * * @return string */ public function html($size = 'full', $attr = array(), $metadata = array()): string { } /** * Get the image data. * * @param string $size The size of the image. * @param string|array $attr The attributes for the tag. WordPress allows either array or query-string form. * * @return object */ public function attributes($size = 'full', $attr = array()): object { } } /** * Gallery item model for video attachments */ class GalleryItemVideoAttachment extends \SureCart\Models\GalleryItem implements \SureCart\Support\Contracts\GalleryItem { /** * The featured image (post thumbnail) of the product. * * @var \WP_Post|null */ protected $featured_image = null; /** * Create a new gallery item. * * @param int|array|\WP_Post $item The item. * @param \WP_Post|null $featured_image The featured image (post thumbnail) of the product. * * @return void */ public function __construct($item, $featured_image = null) { } /** * Get the video poster image ID. * * @return int The Poster image ID. */ public function posterId() { } /** * Get the thumbnail attribute markup. * * @param string $size The size of the image. * @param array $attr The attributes for the tag. * @param array $metadata Additional metadata. * * @return string */ public function html($size = 'full', $attr = [], $metadata = []): string { } /** * Get the poster image attributes. * * @param string $size The size of the video. * @param array $attr The attributes for the tag. * * @return object|null */ public function attributes($size = 'full', $attr = []): object { } /** * Get the media attribute markup. * * @param string $size The size of the video. * @param array $attr The attributes for the tag. * @param array $metadata Additional metadata for the lightbox. * * @return string */ public function video_html($size = 'full', $attr = [], $metadata = []): string { } /** * Get the video thumbnail attribute markup. * * @param string $size The size of the video. * @param array $attr The attributes for the tag. * @param array $metadata Additional metadata for the lightbox. * * @return string */ public function video_thumbnail_html($size = 'full', $attr = [], $metadata = []): string { } /** * Get the video attributes. * * @param string $size The size of the video. * @param array $attr The attributes for the tag. * * @return object */ public function video_attributes($size = 'full', $attr = []): object { } } /** * Import model */ class Import extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'imports'; /** * Object name * * @var string */ protected $object_name = 'import'; } /** * ImportRow model */ class ImportRow extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'import_rows'; /** * Object name * * @var string */ protected $object_name = 'import_row'; } /** * The integration model. */ class IncomingWebhook extends \SureCart\Models\DatabaseModel { /** * The integrations table name. * * @var string */ protected $table_name = 'surecart_incoming_webhooks'; /** * The object name * * @var string */ protected $object_name = 'incoming_webhook'; /** * Fillable items. * * @var array */ protected $fillable = array('id', 'webhook_id', 'processed_at', 'data', 'source', 'created_at', 'updated_at', 'deleted_at'); /** * Force `data` to be an object. * * @param array|object $value The value to set. * * @return void */ public function setDataAttribute($value) { } /** * Has this been processed? * * @return boolean */ protected function getProcessedAttribute() { } /** * Serialize the data when setting it. * * @param mixed $value The value to set. */ protected function setProcessedAttribute($value) { } /** * Delete expired incoming webhooks. * * @param integer $time_ago The number of days ago to delete. * * @return integer The number of rows deleted. */ protected function deleteExpired($time_ago = '30 days') { } /** * Get the created at date. * * @return string */ public function getCreatedAtDateAttribute() { } /** * Get the created at date time. * * @return string */ public function getCreatedAtDateTimeAttribute() { } /** * Get the updated at date. * * @return string */ public function getUpdatedAtDateAttribute() { } /** * Get the updated at date time. * * @return string */ public function getUpdatedAtDateTimeAttribute() { } } /** * The integration model. */ class Integration extends \SureCart\Models\DatabaseModel { /** * The integrations table name. * * @var string */ protected $table_name = 'surecart_integrations'; /** * The object name * * @var string */ protected $object_name = 'integration'; /** * Fillable items. * * @var array */ protected $fillable = ['id', 'model_name', 'model_id', 'price_id', 'variant_id', 'integration_id', 'integration_slug', 'provider', 'integration_type', 'created_at', 'updated_at', 'deleted_at']; } /** * The integration listing model. */ class IntegrationCatalog extends \SureCart\Models\ExternalApiModel { /** * Rest API endpoint * * @var string */ protected $endpoint = 'v1'; /** * Default query parameters * * @var array */ protected $default_query = ['_embed' => true, '_fields' => 'id,slug,title,content,_links.wp:featuredmedia,_embedded.wp:featuredmedia,_links.wp:term,_embedded.wp:term,acf', 'acf_format' => 'standard', 'per_page' => 100]; /** * Base URL * * @var string */ protected $base_url = 'https://integrations-catalog.surecart.com/'; /** * Get the install source attribute. * * Records that carry a GitHub download URL install from GitHub; everything * else installs through the WordPress.org plugin directory. * * @return string */ public function getSourceAttribute() { } /** * Get the GitHub download URL attribute. * * Optional ACF field — null when the integration does not install from GitHub. * * @return string|null */ public function getDownloadUrlAttribute() { } /** * Get the GitHub repository URL attribute. * * Optional ACF field used by the frontend error fallback link — null when absent. * * @return string|null */ public function getGithubRepoUrlAttribute() { } /** * Get the activation type attribute. * * @return string */ public function getActivationTypeAttribute() { } /** * Get the button text attribute. * * @return string */ public function getButtonTextAttribute() { } /** * Get the status attribute. * * @return string */ public function getStatusAttribute() { } /** * Get the is plugin installed attribute. * * @return bool */ public function getIsPluginInstalledAttribute() { } /** * Get the is plugin active attribute. * * @return bool */ public function getIsPluginActiveAttribute() { } /** * Get the is plugin active attribute. * * @return bool */ public function getIsThemeActiveAttribute() { } /** * Get the is enabled attribute. * * @return bool */ public function getIsEnabledAttribute() { } /** * Get the logo URL. * * @return string */ public function getLogoUrlAttribute() { } /** * Is Pie Calendar Pro plugin active. * * @return bool */ public function isPieCalendarProPluginActive() { } } /** * Invoice model */ class Invoice extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCheckout; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\CanResendNotifications; /** * Rest API endpoint * * @var string */ protected $endpoint = 'invoices'; /** * Object name * * @var string */ protected $object_name = 'invoice'; /** * Need to pass the processor type on create * * @param array $attributes Optional attributes. * @param string $type stripe, paypal, etc. */ public function __construct($attributes = [], $type = '') { } /** * Get the checkout page URL for the invoice. * * @return string */ public function getCheckoutUrlAttribute(): string { } /** * Make draft invoice. * * @param string|null $id Invoice ID. * * @return self|\WP_Error */ protected function makeDraft($id = null) { } /** * Open invoice. * * @param string|null $id Invoice ID. * * @return self|\WP_Error */ protected function open($id = null) { } /** * Get the due date display. * * @return string */ public function getDueDateDateAttribute() { } /** * Get the due date time display. * * @return string */ public function getDueDateTimeDateAttribute() { } /** * Get the issue date display. * * @return string */ public function getIssueDateDateAttribute() { } /** * Get the issue date time display. * * @return string */ public function getIssueDateTimeDateAttribute() { } } /** * License model */ class License extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'licenses'; /** * Object name * * @var string */ protected $object_name = 'license'; /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setPurchaseAttribute($value) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasFees { /** * Set the payouts attribute * * @param object $value Array of payout objects. * * @return void */ public function setFeesAttribute($value) { } } /** * If the model has an attached customer. */ trait HasSwap { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setSwapAttribute($value) { } /** * Get the price id attribute * * @return string */ public function getSwapIdAttribute() { } } } namespace SureCart\Models { /** * Price model */ class LineItem extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasPrice; use \SureCart\Models\Traits\HasCheckout; use \SureCart\Models\Traits\HasProduct; use \SureCart\Models\Traits\HasFees; use \SureCart\Models\Traits\HasSwap; /** * Rest API endpoint * * @var string */ protected $endpoint = 'line_items'; /** * Object name * * @var string */ protected $object_name = 'line_item'; /** * Set the variant attribute. * * @param string $value Variant properties. * @return void */ public function setVariantAttribute($value) { } /** * The component line items belonging to this bundle parent (expandable). * * @param object|array $value Collection payload. * @return void */ public function setComponentLineItemsAttribute($value) { } /** * Per-component variant selections, keyed by component_product_id. * * Lives on the bundle parent line item only. Backend uses this to materialize * component line items with the chosen variant. Stored as a raw map — there's * no relation hydration here. * * @param array $value Map of component_product_id => variant_id. * @return void */ public function setBundleComponentVariantsAttribute($value) { } /** * Whether this line item is a bundle parent (priced row that owns components). * * A parent has `component_line_item: false` AND its price's product is a * bundle product. Requires the `price.product` expansion to be present; * otherwise returns false. * * @return bool */ public function getIsBundleParentAttribute() { } /** * Whether this line item is a bundle component (auto-generated child). * * Friendly alias for the API's direct `component_line_item` boolean. * * @return bool */ public function getIsBundleComponentAttribute() { } /** * Get the variant attribute. * * @return string */ public function getVariantDisplayOptionsAttribute() { } /** * Upsell a line item. * * @param array $attributes The attributes to update. * @return \WP_Error|mixed */ protected function upsell($attributes = []) { } /** * Swap Line Item * * @param string $id LineItem ID. * * @return $this|\WP_Error */ protected function swap($id = null) { } /** * Swap Line Item * * @param string $id LineItem ID. * * @return $this|\WP_Error */ protected function unswap($id = null) { } /** * Get the is_swappable attribute. * * @return string */ public function getIsSwappableAttribute() { } /** * Get the currency attribute. * * TODO: Remove this method once currency added on line item. * * @return string */ public function getCurrencyAttribute() { } /** * Get the display ad hoc amount attribute. * * @return string */ public function getAdHocDisplayAmountAttribute() { } /** * Get the bump amount display attribute. * * @return string */ public function getBumpDisplayAmountAttribute() { } /** * Get the display scratch amount attribute. * * @return string */ public function getScratchDisplayAmountAttribute() { } /** * Get the SKU text attribute. * * @return string */ public function getSkuAttribute() { } /** * Get the display tax amount attribute. * * @return string */ public function getTaxDisplayAmountAttribute() { } /** * Get the display subtotal amount attribute. * * @return string */ public function getSubtotalDisplayAmountAttribute() { } /** * Get the display total amount attribute. * * @return string */ public function getTotalDisplayAmountAttribute() { } /** * Get the display subtotal amount + upsell discount amount attribute. * * @return string */ public function getSubtotalWithUpsellDiscountDisplayAmountAttribute() { } /** * Get the subtotal amount + upsell discount amount attribute. * * @return string */ public function getSubtotalWithUpsellDiscountAmountAttribute() { } /** * Get the display full amount attribute. * * @return string */ public function getFullDisplayAmountAttribute() { } /** * Get the display trial amount attribute. * * @return string */ public function getTrialDisplayAmountAttribute() { } /** * Get the line item image. */ public function getImageAttribute() { } /** * Get the converted discount amount attribute. * * @return string */ public function getConvertedDiscountAmountAttribute() { } /** * Get the total default currency display amount attribute. * * @return string */ public function getTotalDefaultCurrencyDisplayAmountAttribute() { } /** * Get the note display attribute by strip out HTML tags. * * @return string */ public function getDisplayNoteAttribute() { } /** * Purchasable status display * * @return string */ public function getPurchasableStatusDisplayAttribute() { } } /** * Payment intent model. */ class ManualPaymentMethod extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'manual_payment_methods'; /** * Object name * * @var string */ protected $object_name = 'manual_payment_method'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when products are updated. * * @var string */ protected $cache_key = 'manual_payment_methods'; /** * Is this optimized caching? * * @var boolean */ protected $optimized_caching = true; } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasImageSizes { /** * Sizes. * * @var array */ protected $image_sizes = [320, 640, 960, 1280, 1920]; /** * Options. * * @var array */ protected $resize_options = ['fit=scale-down', 'format=auto']; /** * Set the image sizes. * * @param array $sizes Image sizes. * * @return $this */ public function withImageSizes($sizes) { } /** * Set the image resize options. * * @param array $options Image resize options. * * @return $this */ public function withResizeOptions($options) { } /** * Get the URL. * * @param string $url The full url to the image. * @param integer $size The size to use. * @param boolean $append_width Append the width to the url. * * @return string */ public function imageUrl($url, $size, $append_width = false, $additional_options = '') { } /** * Get the image srcset. * * @param string $url The full url to the image. * * @return string */ public function imageSrcSet($url, $image_sizes = []) { } /** * Get the image_sizes * * @return array */ public function getImageSizes() { } /** * Get the image options. * * @return string */ public function getResizeOptions() { } } } namespace SureCart\Models { /** * Price model */ class Media extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasImageSizes; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'medias'; /** * Object name * * @var string */ protected $object_name = 'media'; /** * Image srcset. * * @return string */ public function getSrcsetAttribute() { } /** * Get the image url for a specific size. * * @param integer $size The size. * * @return string */ public function getUrl($size = 0) { } /** * Get the image markup. * We are assuming all media here is an image. * * @param string $size The size of the image. * @param string|array $attr The attributes for the tag. WordPress allows either array or query-string form. * * @return string */ protected function html($size = 'full', $attr = []) { } /** * Get the image attributes. * * @param string $size The size of the image. * @param string|array $attr The attributes for the tag. WordPress allows either array or query-string form. * * @return array */ protected function attributes($size = 'full', $attr = []) { } } /** * Price model */ class OrderProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'order_protocol'; /** * Object name * * @var string */ protected $object_name = 'order_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } class ParcelTemplate extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'parcel_templates'; /** * Object name * * @var string */ protected $object_name = 'parcel_template'; } /** * PaymentFailure model. */ class PaymentFailure extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'payment_failures'; /** * Object name * * @var string */ protected $object_name = 'payment_failure'; } /** * Payment instrument model. */ class PaymentInstrument extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'payment_instruments'; /** * Object name * * @var string */ protected $object_name = 'payment_instrument'; /** * Payment instrument types. * * @var string[] */ public function getTypes(): array { } /** * Get the payment instrument display name attribute. * * @return string */ public function getDisplayNameAttribute(): string { } } } namespace SureCart\Models\Traits { /** * If the model has an attached platform fee. */ trait HasPlatformFee { /** * Set the platform fee attribute * * @param string $value Platform Fee properties. * @return void */ public function setPlatformFeeAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getPlatformFeeIdAttribute() { } } } namespace SureCart\Models { /** * Payment intent model. */ class PaymentIntent extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasPlatformFee; /** * Rest API endpoint * * @var string */ protected $endpoint = 'payment_intents'; /** * Object name * * @var string */ protected $object_name = 'payment_intent'; /** * Capture the payment intent * * @return $this|\WP_Error */ protected function capture() { } /** * Get the display amount for total fees * * @return array */ public function getTotalFeesDisplayAmountAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has payment instrument. */ trait HasPaymentInstrument { /** * Set the payment instrument attribute. * * @param string $value Product properties. * @return void */ public function setPaymentInstrumentAttribute($value) { } /** * Get the relation id attribute. * * @return string */ public function getPaymentInstrumentIdAttribute() { } } } namespace SureCart\Models { /** * Payment method model. */ class PaymentMethod extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasPaymentIntent; use \SureCart\Models\Traits\HasPaymentInstrument; /** * Rest API endpoint * * @var string */ protected $endpoint = 'payment_methods'; /** * Object name * * @var string */ protected $object_name = 'payment_method'; /** * Detach from a customer. * * @return $this|\WP_Error */ protected function detach() { } /** * Get the translated payment method name. * * @return string */ public function getPaymentMethodNameAttribute(): string { } /** * Get the processor name. * * @return string */ public function getProcessorNameAttribute(): string { } } /** * Payout model */ class Payout extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasReferrals; use \SureCart\Models\Traits\HasAffiliation; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'payouts'; /** * Object name * * @var string */ protected $object_name = 'payout'; /** * Set the payout group attribute. * * @param object $value Array of payout objects. * * @return void */ public function setPayoutGroupAttribute($value) { } /** * Complete a payout * * @param string $id Payout ID. * * @return $this|\WP_Error */ protected function complete($id = null) { } /** * Make a payout as processing * * @param string $id Payout ID. * * @return $this|\WP_Error */ protected function make_processing($id = null) { } /** * Get status display * * @return string */ protected function getStatusDisplayTextAttribute() { } /** * Get the end at date. * * @return string */ public function getEndAtDateAttribute() { } /** * Get the total commission amount display. * * @return string */ public function getTotalCommissionDisplayAmountAttribute() { } } /** * Payout Group model */ class PayoutGroup extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasPayouts; /** * Rest API endpoint * * @var string */ protected $endpoint = 'payout_groups'; /** * Object name * * @var string */ protected $object_name = 'payout_group'; } /** * Period model */ class Period extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasSubscription, \SureCart\Models\Traits\HasCheckout, \SureCart\Models\Traits\HasPrice; /** * Rest API endpoint * * @var string */ protected $endpoint = 'periods'; /** * Object name * * @var string */ protected $object_name = 'period'; /** * Restore a subscription * * @param string $id Model id. * @return $this|\WP_Error */ protected function retryPayment($id = null) { } /** * Get the start at date. * * @return string */ public function getStartAtDateAttribute() { } /** * Get the end at date. * * @return string */ public function getEndAtDateAttribute() { } /** * Get the next payment retry at date time. * * @return string */ public function getNextPaymentRetryAtDateTimeAttribute() { } } /** * PlatformFee model */ class PlatformFee extends \SureCart\Models\Model { /** * Object name * * @var string */ protected $object_name = 'platform_fee'; /** * Get the base display amount. * * @return string */ public function getBaseDisplayAmountAttribute() { } /** * Get the display amount for features breakdown * * @return array */ public function getFeaturesBreakdownAttribute() { } } /** * Order model */ class PortalSession extends \SureCart\Models\Order { /** * Rest API endpoint * * @var string */ protected $endpoint = 'portal_sessions'; /** * Object name * * @var string */ protected $object_name = 'portal_session'; } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait CanDuplicate { /** * Duplicate the model. * * @param string $id The ID of the model to duplicate. * @return $this|\WP_Error */ protected function duplicate($id = '') { } } } namespace SureCart\Models { /** * Price model */ class Price extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasProduct; use \SureCart\Models\Traits\CanDuplicate; /** * Rest API endpoint * * @var string */ protected $endpoint = 'prices'; /** * Object name * * @var string */ protected $object_name = 'price'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when products are updated. * * @var string */ protected $cache_key = 'products'; /** * Set the product attribute * * @param array $attributes Attributes to update. * * @return $this|false */ protected function create($attributes = array()) { } /** * Update a model * * @param array $attributes Attributes to update. * * @return $this|false */ protected function update($attributes = array()) { } /** * Update a model * * @param string $id ID to delete. * * @return $this|false */ protected function delete($id = '') { } /** * Sync the product * * @return $this */ protected function sync() { } /** * Set the current swap attribute * * @param Swap $swap Swap. * * @return void */ public function setCurrentSwapAttribute($swap) { } /** * Get the display amount attribute * * @return string */ public function getDisplayAmountAttribute() { } /** * Get the formatted amount attribute * * @return string */ public function getConvertedAmountAttribute() { } /** * Get the converted_ad_hoc_min_amount attribute * * @return string */ public function getConvertedAdHocMinAmountAttribute() { } /** * Get the converted_ad_hoc_max_amount attribute * * @return string */ public function getConvertedAdHocMaxAmountAttribute() { } /** * The the scratch display amount attribute. * * @return string */ public function getScratchDisplayAmountAttribute() { } /** * Get the display price attribute * * @return string */ public function getIsOnSaleAttribute() { } /** * Get the trial display text attribute * * @return string */ public function getTrialTextAttribute() { } /** * Get the trial display text attribute * * @return string */ public function getTrialTextWithPunctuationAttribute() { } /** * Get the setup fee text attribute */ public function getSetupFeeTextAttribute() { } /** * Get the setup fee text attribute */ public function getSetupFeeTextWithPunctuationAttribute() { } /** * Get the setup fee display amount attribute * * @return string */ protected function getSetupFeeDisplayAmountAttribute() { } /** * Get the payments text attribute * * @return string */ public function getPaymentsTextAttribute() { } /** * Get the interval text attribute * * @return string */ public function getIntervalTextAttribute() { } /** * Get the interval text attribute * * @return string */ public function getShortIntervalTextAttribute() { } /** * Get the interval count text attribute * * @return string */ public function getShortIntervalCountTextAttribute() { } /** * Get the interval count text attribute * * @return string */ public function getIntervalCountTextAttribute() { } /** * Is this a zero decimal currency price? * * @return boolean */ public function getIsZeroDecimalAttribute() { } /** * Get the currency symbol attribute * * @return string */ public function getCurrencySymbolAttribute() { } } /** * Processor model. */ class Processor extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'processors'; /** * Object name * * @var string */ protected $object_name = 'processor'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when products are updated. * * @var string */ protected $cache_key = 'processors'; /** * Is this optimized caching? * * @var boolean */ protected $optimized_caching = true; /** * Get payment method types. * * @return array|\WP_Error */ protected function paymentMethodTypes() { } } } namespace SureCart\Support\Contracts { interface PageModel { /** * Get the page title attribute. * * @return string */ public function getPageTitleAttribute(): string; /** * Get the page descriptoin attribute * * @return string */ public function getMetaDescriptionAttribute(): string; /** * Get the page permalink attribute * * @return string */ public function getPermalinkAttribute(): string; /** * Get the template id. * * @return string */ public function getTemplateIdAttribute(): string; /** * Get the template id. * * @return string */ public function getTemplatePartIdAttribute(): string; } } namespace SureCart\Models { /** * Product model */ class Product extends \SureCart\Models\Model implements \SureCart\Support\Contracts\PageModel { use \SureCart\Models\Traits\HasImageSizes; use \SureCart\Models\Traits\HasPurchases; use \SureCart\Models\Traits\HasCommissionStructure; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\CanDuplicate { duplicate as protected originalDuplicate; } /** * These always need to be fetched during create/update in order to sync with post model. * * @var array */ protected $sync_expands = array('prices', 'bundle_items', 'bundle_items.component_product', 'product_medias', 'product_media.media', 'variants', 'variant_options', 'product_collections', 'featured_product_media', 'reviews_breakdown'); /** * Rest API endpoint * * @var string */ protected $endpoint = 'products'; /** * Object name * * @var string */ protected $object_name = 'product'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when products are updated. * * @var string */ protected $cache_key = 'products'; /** * Memoized bundle component lookups for this instance. * * @var array */ protected $component_cache = array(); /** * Whether bundle components have been batch-prefetched for this instance. * * @var boolean */ protected $components_prefetched = false; /** * Hydrate the bundle_items collection from API expansion. * * @param array $value Bundle items payload. * @return void */ public function setBundleItemsAttribute($value) { } /** * Expands needed to render a product on the storefront with live component * stock. Shared by the buy page and the live bundle PDP fetch so the two * can't drift. Bundle expands are harmless for non-bundles (no bundle_items). * * @return array */ public static function storefrontExpands(): array { } /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = array()) { } /** * Update a model * * @param array $attributes Attributes to update. * * @return $this|false */ protected function update($attributes = array()) { } /** * Immediately sync with a post. * * @param string $id The id of the product to sync. * * @return \WP_Post|\WP_Error|self */ protected function sync($id = '') { } /** * Delete the synced post. * * @param string $id The id of the model to delete. * @return \SureCart\Models\Product */ protected function deleteSynced($id = '') { } /** * Queue a sync process with a post. * * @param boolean $show_notice Whether to show a notice. * * @return \SureCart\Background\QueueService */ protected function queueSync($show_notice = false) { } /** * Maybe queue a sync job if updated_at is different * than the product post updated_at. * * @return \SureCart\Background\QueueService|false Whether the sync was queued. */ protected function maybeQueueSync() { } /** * Update a model * * @param string $id The id of the model to delete. * @return $this|false */ protected function delete($id = '') { } /** * Duplicate the model. * * @param string $id The id of the model to duplicate. * @return $this|false */ protected function duplicate($id = '') { } /** * Get the post duplication data. * * @return array|false */ public function getPostDuplicationData() { } /** * Update the post duplication data. * * @param array $post_data The post data. * * @return void */ public function updatePostDuplicationData($post_data) { } /** * Get post meta, excluding specific keys. * * @return array|false Array of meta_key/meta_value objects or false if no post. */ public function getPostMeta() { } /** * Get the attached post. * * @return int|false */ public function getPostAttribute() { } /** * Batch-prime synced-post lookups for a page of products. * * Hydration triggers maybeQueueSync -> getSyncedAttribute, which looks up * the synced post per product. Resolve them all with one query instead. * * @param array $items Raw product objects from the API response, pre-hydration. * * @return void */ protected function primeCollectionCaches($items) { } /** * Get the is synced attribute. * * @return bool */ protected function getSyncedAttribute() { } /** * Check if model has syncable expands as properties * * @return bool */ protected function getHasSyncableExpandsAttribute() { } /** * Get the sync expands. * * @return array */ protected function getSyncExpands() { } /** * Maybe queue a sync job if updated_at is different * than the product post updated_at. * * @param string $value The updated_at value. * * @return void */ public function setUpdatedAtAttribute($value) { } /** * Image srcset. * * @return string */ public function getImageSrcsetAttribute() { } /** * Get the image url for a specific size. * * @param integer $size The size. * * @return string */ public function getImageUrl($size = 0) { } /** * Set the prices attribute. * * @param object $value Array of price objects. * @return void */ public function setPricesAttribute($value) { } /** * Set the product collections attribute * * @param object $value Product collections. * @return void */ public function setProductCollectionsAttribute($value) { } /** * Set the variants attribute. * * @param object $value Array of price objects. * @return void */ public function setVariantsAttribute($value) { } /** * Set the variants attribute. * * @param object $value Array of price objects. * @return void */ public function setVariantOptionsAttribute($value) { } /** * Set the featured product media attribute. * * @param string $value Product properties. * @return void */ public function setFeaturedProductMediaAttribute($value) { } /** * Set the product media attribute * * @param string $value ProductMedia properties. * @return void */ public function setProductMediasAttribute($value) { } /** * Buy link model * * @return \SureCart\Models\BuyLink */ public function buyLink() { } /** * Checkout Permalink. * * @return string */ public function getCheckoutPermalinkAttribute() { } /** * Get the product permalink. * * @return string */ public function getPermalinkAttribute(): string { } /** * Is the post published? * * @return string */ public function getIsPublishedAttribute(): bool { } /** * Get the page title. * * @return string */ public function getPageTitleAttribute(): string { } /** * Get the meta description. * * @return string */ public function getMetaDescriptionAttribute(): string { } /** * Get the product in stock attribute. * * @param Product $product The product. * * @return bool */ public function getInStockAttribute(): bool { } /** * Return attached active prices. * * @return array */ public function getActivePricesAttribute() { } /** * Get the has variants attribute. * * @return boolean */ public function getHasVariantsAttribute() { } /** * Get the has multiple prices attribute. * * @return boolean */ public function getHasMultiplePricesAttribute() { } /** * Return attached active prices. */ public function getActiveAdHocPricesAttribute() { } /** * Get the has options attribute. * Determines if the customer must make a choice before purchase (variants, * multiple prices, ad hoc pricing, or bundle components with variants). * * @return boolean */ public function getHasOptionsAttribute() { } /** * Whether any bundle component has variant options, meaning the customer * must pick options before the bundle can be added to cart. Surfaces gating * on has_options (e.g. Quick Add) require a selection exactly when the * product page buy button would. * * @return boolean */ public function getHasVariableComponentsAttribute() { } /** * IDs of bundle components with variant options — the only ones a buy * button gates on when unfilled. Empty for non-bundles. * * @return array */ public function getBundleVariableComponentIdsAttribute() { } /** * Resolve a bundle component into a product-shaped object carrying its * variants and variant_options. The canonical resolver — every surface * (product page, quick add, variant pills) must agree on what a component's * variants are. * * Prefers the live shortcut associations on the bundle item (buy page live * fetch carries component_variants / component_variant_options). Falls back * to the component's own synced cache (the synced bundle omits component * variant data) — that cache stays fresh via the component's own product * webhooks. Using the live associations on the buy page is essential: a * component need not be synced as its own WP post, so the cache lookup can * miss it. * * @param object $item Bundle item. * * @return object|null Component product with variants/variant_options, or null. */ public function resolveBundleComponent($item) { } /** * Whether a bundle item carries live component associations, letting * resolveBundleComponent() skip the synced-cache lookup. The single * definition keeps the prefetch skip logic and the resolver in lockstep. * * @param object $item Bundle item. * * @return boolean */ protected function hasLiveComponentAssociations($item) { } /** * Batch-prime the component memo for every bundle item lacking live * associations — one sc_id IN (...) query per bundle instead of one query * per component. Runs once per instance; misses stay memoized as null so * single lookups don't re-query them. * * @return void */ protected function prefetchBundleComponents() { } /** * Query synced component products by sc_id and memoize the hydrated models. * Misses are memoized as null so they are never re-queried. Queries by * sc_id directly instead of sc_get_product(), which short-circuits to the * current product inside product loops. * * @param array $ids Component product ids. * * @return void */ protected function primeComponentCache($ids) { } /** * Load a bundle component product from its own synced post-meta cache. * * Usually a memo hit after prefetchBundleComponents(); the query only runs * for items outside this product's bundle_items. * * @param string|null $component_id Component product id. * * @return Product|null */ protected function getBundleComponentFromCache($component_id) { } /** * Get the featured image attribute. * * @return GalleryItem|null; */ public function getFeaturedImageAttribute() { } /** * Returns the product media image attributes. * * @return \SureCart\Support\Contracts\GalleryItem|null; */ public function getFeaturedMediaAttribute() { } /** * Get the product template id. * * @return string */ public function getTemplateIdAttribute(): string { } /** * Get with sorted prices. * * @return self */ public function withSortedPrices() { } /** * Get product with active and sorted prices. * * @return self */ public function withActivePrices() { } /** * Get the trial text attribute. * * @return string */ public function getTrialTextAttribute() { } /** * Get the billing interval attribute. * * @return string */ public function getBillingIntervalTextAttribute() { } /** * Get the setup fee attribute * * @return string */ public function getSetupFeeTextAttribute() { } /** * Is the product or any variants in stock. * * @return int */ public function getHasUnlimitedStockAttribute() { } /** * Get the first variant with stock. * * @return \SureCart\Models\Variant; */ public function getFirstVariantWithStockAttribute() { } /** * Get the in stock variants. * * @return array */ public function getInStockVariantsAttribute() { } /** * Get the initial price. * * @return string */ public function getInitialPriceAttribute() { } /** * Get the initial variant. * * @return string */ public function getInitialVariantAttribute() { } /** * Get the initial amount. * * @return string */ public function getInitialAmountAttribute() { } /** * Get the scratch amount. * * @return string */ public function getScratchAmountAttribute() { } /** * Get the scratch display amount. * * @return string */ public function getScratchDisplayAmountAttribute() { } /** * Get the product template * * @return \WP_Template */ public function getTemplateAttribute() { } /** * Get the product template id. * * @return string */ public function getTemplatePartIdAttribute(): string { } /** * Get the gallery ids attribute. * * @return array */ public function getGalleryIdsAttribute() { } /** * Set the gallery ids attribute. * This needs to be converted to JSON for the platform. * * @param array $value The gallery array. * @return void */ public function setGalleryIdsAttribute($value) { } /** * Get the gallery attribute. * * Map the post gallery array to GalleryItem objects. * * @return GalleryItem[] */ public function getGalleryAttribute() { } /** * Get the price display amount. * * @return array */ public function getDisplayAmountAttribute() { } /** * Get Price Range Display Amount. * * @return string */ public function getRangeDisplayAmountAttribute() { } /** * Is the product on sale? * * @return array */ public function getIsOnSaleAttribute() { } /** * Get the image used in line items. * * @return object */ public function getLineItemImageAttribute() { } /** * Get the image used in line items. * * @return object */ public function getPreviewImageAttribute() { } /** * Get the product page initial state * * This is serialized into public page HTML, so catalog data is stripped * of private fields (see PublicCatalogData). * * @param array $args Array of arguments. * * @return array */ public function getInitialPageState($args = []) { } /** * Get the cataloged at date time attribute. * * @return string */ public function getCatalogedAtDateTimeAttribute() { } /** * Get the video thumbnail or fallback to the next image in the gallery. * * @param GalleryItemAttachment $first_media The first media item. * @param array $gallery The gallery items. * * @return GalleryItemAttachment|null */ private function getVideoThumbnailOrFallback($first_media, $gallery) { } /** * Get if the product has videos. * * @return bool */ public function getHasVideosAttribute(): bool { } /** * Get if the product reviews are enabled. * * @return bool */ public function getReviewsEnabledAttribute(): bool { } /** * Get the total reviews count from reviews_breakdown. * * @return int */ public function getTotalReviewsAttribute(): int { } /** * Get the reviews breakdown as an array with proper structure. * Ensures all star ratings (1-5) are present with default value of 0. * * @return array */ public function getReviewsBreakdownArrayAttribute(): array { } /** * Get the review url attribute. * * @return string */ public function getReviewUrlAttribute(): string { } } /** * Holds Product Collection data. */ class ProductCollection extends \SureCart\Models\Model implements \SureCart\Support\Contracts\PageModel { use \SureCart\Models\Traits\HasImageSizes; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'product_collections'; /** * Object name * * @var string */ protected $object_name = 'product_collection'; /** * Is this cachable. * * @var boolean */ protected $cachable = true; /** * Clear cache when products are updated. * * @var string */ protected $cache_key = 'product_collections'; /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = []) { } /** * Update a model * * @param array $attributes Attributes to update. * * @return $this|false */ protected function update($attributes = array()) { } /** * Update a model * * @param string $id The id of the model to delete. * @return $this|false */ protected function delete($id = '') { } /** * Delete the synced post. * * @param string $id The id of the model to delete. * @return \SureCart\Models\Product */ protected function deleteSynced($id = '') { } /** * Sync the collection */ public function sync() { } /** * Get the attached term. * * @return int|false */ public function getTermAttribute() { } /** * Get the product template * * @return \WP_Template */ public function getTemplateAttribute() { } /** * Get the product template part template. * * @return \WP_Template */ public function getTemplatePartAttribute() { } /** * Get the product template id. * * @return string|false */ public function getTemplatePartIdAttribute(): string { } /** * Get the product template id. * * @return string */ public function getTemplateIdAttribute(): string { } /** * Get the product permalink. * * @return string */ public function getPermalinkAttribute(): string { } /** * Get the page title for SEO. * * @return string */ public function getPageTitleAttribute(): string { } /** * Get the page description for SEO. * * @return string */ public function getMetaDescriptionAttribute(): string { } /** * Get the image url for a specific size. * * @param integer $size The size. * * @return string */ public function getImageUrl($size = 0, $additional_options = '') { } /** * Get the srcset for the product media. * * @param array $sizes The sizes. * * @return string */ public function getSrcSet($sizes = []) { } } /** * Product import model */ class ProductCollectionImport extends \SureCart\Models\Concerns\ImportModel { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'imports/product_collections'; /** * Set the data attribute as an array of Product models. * Accepts an iterable of attribute arrays/Products or a single Product instance. * * @param mixed $value Iterable of product attributes or Product instance. * * @return void */ public function setDataAttribute($value) { } } /** * Price model */ class ProductGroup extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'product_groups'; /** * Object name * * @var string */ protected $object_name = 'product_group'; } /** * Product import model */ class ProductImport extends \SureCart\Models\Concerns\ImportModel { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'imports/products'; /** * Set the data attribute as an array of Product models. * Accepts an iterable of attribute arrays/Products or a single Product instance. * * @param mixed $value Iterable of product attributes or Product instance. * * @return void */ public function setDataAttribute($value) { } /** * Create a new model. * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = array()) { } /** * Add a pattern to the database. * * @param \SureCart\Models\Product $product The product. * * @return int|\WP_Error */ protected function addPattern($product) { } } /** * ProductMedia model */ class ProductMedia extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'product_medias'; /** * Object name * * @var string */ protected $object_name = 'product_media'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; /** * Set the media attribute * * @param string $value Media properties. * @return void */ public function setMediaAttribute($value) { } /** * Get the url for the product media. * We do this because the media object is not always set. * * @param integer $size The size. * * @return string */ public function getUrl($size) { } /** * Get the width for the product media. * * @return integer|null */ public function getWidthAttribute() { } /** * Get the height for the product media. * * @return integer|null */ public function getHeightAttribute() { } /** * Get the srcset for the product media. * We do this because the media object is not always set. * * @param array[integer] $sizes The sizes. * * @return string */ public function getSrcset($sizes) { } /** * Download the media to the wp install. * * @return integer The attachment id. */ public function download() { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasCoupon { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setCouponAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getCouponIdAttribute() { } } } namespace SureCart\Models { /** * Price model */ class Promotion extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCoupon; /** * Rest API endpoint * * @var string */ protected $endpoint = 'promotions'; /** * Object name * * @var string */ protected $object_name = 'promotion'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when coupons are updated. * * @var string */ protected $cache_key = 'coupons'; /** * Get the Redeem By Date attribute. * * @return string */ public function getRedeemByDateAttribute() { } /** * Get the Redeem By Date Time attribute. * * @return string */ public function getRedeemByDateTimeAttribute() { } } /** * Provisional Account model */ class ProvisionalAccount extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'public/provisional_accounts'; /** * Object name * * @var string */ protected $object_name = 'provisional_account'; /** * Make the API request. * * @param array $args Array of arguments. * @param string $endpoint Optional endpoint override. * * @return Model */ protected function makeRequest($args = [], $endpoint = '') { } /** * Check if the API token is set. * * @return bool */ protected function hasApiToken() { } /** * Check if the E2E testing is enabled. * * @return bool */ protected function isTesting() { } /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = []) { } /** * Seed the account with products. * * @param array $products The products to seed. * * @return \SureCart\Models\Import|\WP_Error */ protected function seed($products = []) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasRefund { /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setRefundAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getRefundIdAttribute() { } } } namespace SureCart\Models { /** * Purchase model. */ class Purchase extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer, \SureCart\Models\Traits\HasProduct, \SureCart\Models\Traits\HasSubscription, \SureCart\Models\Traits\HasRefund, \SureCart\Models\Traits\HasLicense; /** * Rest API endpoint * * @var string */ protected $endpoint = 'purchases'; /** * Object name * * @var string */ protected $object_name = 'purchase'; /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setInitialOrderAttribute($value) { } /** * Revoke the purchase. * * @param string $id Model id. * * @return $this|\WP_Error */ protected function revoke($id = 0) { } /** * Invoke the purchase. * * @param string $id Model id. * * @return $this|\WP_Error */ protected function invoke($id = 0) { } /** * Has the product changed? */ protected function getHasProductChangedAttribute() { } /** * Get the previous product ID. * * @return string */ protected function getPreviousProductIdAttribute() { } /** * Get the previous quantity * * @return integer */ protected function getPreviousQuantityAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasPayout { /** * Set the payout attribute * * @param object $value Array of payout objects. * * @return void */ public function setPayoutAttribute($value) { } } /** * If the model has an attached customer. */ trait HasReferralItems { /** * Set the referrals attribute * * @param object $value Array of referral objects. * * @return void */ public function setReferralItemsAttribute($value) { } } } namespace SureCart\Models { /** * Referral model */ class Referral extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasAffiliation, \SureCart\Models\Traits\HasCheckout, \SureCart\Models\Traits\HasPayout, \SureCart\Models\Traits\HasReferralItems, \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'referrals'; /** * Object name * * @var string */ protected $object_name = 'referral'; /** * Approve a referral * * @param string $id Referral ID. * * @return $this|\WP_Error */ protected function approve($id = null) { } /** * Deny a referral * * @param string $id Referral ID. * * @return $this|\WP_Error */ protected function deny($id = null) { } /** * Make a referral as in review * * @param string $id Referral ID. * * @return $this|\WP_Error */ protected function make_reviewing($id = null) { } /** * Set the affiliation attribute * * @param object $value Array of payout objects. * * @return void */ public function setAttributedClickAttribute($value) { } /** * Get the display status attribute. * * @return string */ public function getStatusDisplayTextAttribute() { } /** * Get the display status attribute. * * @return string */ public function getStatusTypeAttribute() { } /** * Get the editable attribute. * * @return bool */ public function getEditableAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasReferral { /** * Set the affiliation attribute * * @param object $value Array of payout objects. * * @return void */ public function setAffiliationAttribute($value) { } } } namespace SureCart\Models { /** * Referral Item model */ class ReferralItem extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasLineItem, \SureCart\Models\Traits\HasReferral; /** * Rest API endpoint * * @var string */ protected $endpoint = 'referral_items'; /** * Object name * * @var string */ protected $object_name = 'referral_item'; } } namespace SureCart\Models\Traits { /** * If the model has refund items. */ trait HasRefundItems { /** * Set the refund items attribute * * @param object $value Refund item data array. * @return void */ public function setRefundItemsAttribute($value) { } /** * Does this have refund items? * * @return boolean */ public function hasRefundItems() { } } } namespace SureCart\Models { /** * Refund model. */ class Refund extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasCharge; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\HasRefundItems; /** * Rest API endpoint * * @var string */ protected $endpoint = 'refunds'; /** * Object name * * @var string */ protected $object_name = 'refund'; } /** * RefundItem model. */ class RefundItem extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasLineItem; /** * Rest API endpoint. * * @var string */ protected $endpoint = 'refund_items'; /** * Object name. * * @var string */ protected $object_name = 'refund_item'; } /** * Webhook Model. */ class Webhook extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'webhook_endpoints'; /** * Object name * * @var string */ protected $object_name = 'webhook_endpoint'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when webhook endpoints are updated. * * @var string */ protected $cache_key = 'webhook_endpoints'; /** * Get the erroring grace period ends at date time attribute. * * @return string */ public function getErroringGracePeriodEndsAtDateTimeAttribute() { } } /** * Registered Webhook Model. */ class RegisteredWebhook extends \SureCart\Models\Webhook { /** * Create the registered webhook. * Creates a webhook for the current site and stores it in the WP options table. * * @param array $args Unused. * * @return $this|\WP_Error */ protected function create($args = []) { } /** * Get the registered webhook. * * @return \SureCart\Models\Webhook|\WP_Error; */ protected function get() { } /** * Alias for get. * * @param string $id Not used. * * @return \SureCart\Models\Webhook|\WP_Error; */ protected function find($id = '') { } /** * Update the model. * * @param array $attributes Attributes to update. * @return $this|false */ protected function update($attributes = []) { } /** * Delete the model. * * @return $this|false */ protected function delete($id = 0) { } /** * Stores the registrationd webhook data in the WP options table. * * @return \SureCart\Models\WebhookRegistration; */ protected function registration() { } /** * Get the listener url. * * @return string */ protected function getListenerUrl(): string { } /** * Send test webhook. * * @return \SureCart\Models\Webhook */ protected function test() { } /** * Does the current domain match the registered webhook domain? * * @return boolean */ protected function currentDomainMatches() { } /** * Get the signing secret. * * Returns an empty string when no webhook is registered — avoids null * dereference on PHP 8+ and ensures verification fails closed (CVE-2026-7655). * * @return string */ protected function getSigningSecret() { } /** * Has the webhook a signing secret? */ protected function hasSigningSecret() { } } /** * ReturnItem model. */ class ReturnItem extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'return_items'; /** * Object name * * @var string */ protected $object_name = 'return_item'; /** * Set the return request attribute * * @param object $value Return request properties. * @return void */ public function setReturnRequestAttribute($value) { } /** * Set the line item attribute * * @param object $value Line item properties. * @return void */ public function setLineItemAttribute($value) { } } /** * ReturnReason model. */ class ReturnReason extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'return_reasons'; /** * Object name * * @var string */ protected $object_name = 'return_reason'; } /** * ReturnRequest model. */ class ReturnRequest extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasOrder, \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'return_requests'; /** * Object name * * @var string */ protected $object_name = 'return_request'; /** * Open a return request. * * @param string $id Model id. * @return $this|\WP_Error */ protected function open($id = null) { } /** * Complete a return request. * * @param string $id Model id. * @return $this|\WP_Error */ protected function complete($id = null) { } } } namespace SureCart\Models\Traits { /** * If the model has an attached customer. */ trait HasPurchase { /** * Set the purchase attribute * * @param string $value Product properties. * @return void */ public function setPurchaseAttribute($value) { } /** * Get the purchase id attribute * * @return string */ public function getPurchaseIdAttribute() { } } } namespace SureCart\Models { /** * Review model */ class Review extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasProduct; use \SureCart\Models\Traits\HasPurchase; use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'reviews'; /** * Object name * * @var string */ protected $object_name = 'review'; /** * Is this cachable? * * @var boolean */ protected $cachable = true; /** * Clear cache when reviews are updated. * * @var string */ protected $cache_key = 'reviews'; /** * Publish the review. * * @param string $id Review ID. * * @return $this|\WP_Error */ protected function publish($id = null) { } /** * Unpublish the review. * * @param string $id Review ID. * * @return $this|\WP_Error */ protected function unpublish($id = null) { } /** * Delete the review. * * @param string $id The id of the review to delete. * * @return $this|false */ protected function delete($id = '') { } /** * Sync a product to refresh cached review statistics. * * @param string|null $product_id The product ID. If null, uses $this->product_id. * * @return void */ protected function syncProduct($product_id = null) { } /** * Get all review statuses. * * @return array */ public function getStatuses(): array { } /** * Get the status type for tag styling. * * @return string */ public function getStatusTypeAttribute(): string { } /** * Get the status display label. * * @return string */ public function getStatusDisplayAttribute(): string { } } /** * ReviewProtocol model. */ class ReviewProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'review_protocol'; /** * Object name * * @var string */ protected $object_name = 'review_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } /** * Handle working of Rule String. */ class RuleSchema extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ public $endpoint = 'auto_fees/rule_schema'; /** * Rest API endpoint * * @var string */ public $object_name = 'rule_schema'; /** * Rule Schema. */ protected function getIdAttribute() { } /** * Rule Schema. */ protected function getRuleSchemaAttribute() { } } /** * ServiceFee model */ class ServiceFee extends \SureCart\Models\Model { /** * Object name * * @var string */ protected $object_name = 'service_fee'; /** * Get the base display amount. * * @return string */ public function getDisplayAmountAttribute() { } } } namespace SureCart\Models\Traits { /** * If the model has shipping method. */ trait HasShippingMethod { /** * Set the shipping method attribute * * @param object $value shipping method item data. * @return void */ public function setShippingMethodAttribute($value) { } } } namespace SureCart\Models { /** * ShippingChoice model. */ class ShippingChoice extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasShippingMethod; /** * Object name * * @var string */ protected $object_name = 'shipping_choice'; /** * Get the display amount attribute. * * @return string */ public function getDisplayAmountAttribute() { } } class ShippingMethod extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'shipping_methods'; /** * Object name * * @var string */ protected $object_name = 'shipping_method'; } class ShippingProfile extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'shipping_profiles'; /** * Object name * * @var string */ protected $object_name = 'shipping_profile'; } /** * ShippingProtocol model */ class ShippingProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'shipping_protocol'; /** * Object name * * @var string */ protected $object_name = 'shipping_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } /** * ShippingRate model */ class ShippingRate extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'shipping_rates'; /** * Object name * * @var string */ protected $object_name = 'shipping_rate'; } class ShippingZone extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'shipping_zones'; /** * Object name * * @var string */ protected $object_name = 'shipping_zone'; } /** * Price model */ class Statistic extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'stats'; } /** * Subscription model */ class Subscription extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasCustomer; use \SureCart\Models\Traits\HasPrice; use \SureCart\Models\Traits\HasPurchase; use \SureCart\Models\Traits\HasDates; use \SureCart\Models\Traits\CanFilter; /** * Rest API endpoint * * @var string */ protected $endpoint = 'subscriptions'; /** * Object name * * @var string */ protected $object_name = 'subscription'; /** * Set the current period attribute * * @param object $value Return request properties. * @return void */ public function setCurrentPeriodAttribute($value) { } /** * Update the model. * * @param array $attributes Attributes to update. * @return $this|false */ protected function update($attributes = []) { } /** * Cancel a subscription * * @param string $id Model id. * @return $this|\WP_Error */ protected function cancel($id = null) { } /** * Complete a subscription * * @param string $id Model id. * @return $this|\WP_Error */ protected function complete($id = null) { } /** * Restore a subscription * * @param string $id Model id. * @return $this|\WP_Error */ protected function restore($id = null) { } /** * Renew a subscription. * * @param string $id Model id. * @return $this|\WP_Error */ protected function renew($id = null) { } /** * Preserve a subscription. * * @param string $id Model id. * @return $this|\WP_Error */ protected function preserve($id = null) { } /** * Preview the upcoming invoice. * * @param string $args Arguments * @return Period|\WP_Error */ protected function upcomingPeriod($args = []) { } /** * Pay off a subscription * * @param string $id Model id. * @return $this|\WP_Error */ protected function payOff($id = null) { } /** * Is this subscription a lifetime one? * * @return boolean */ protected function isLifetime() { } /** * Can the user upgrade this subscription? * * @return boolean */ protected function canBeSwitched() { } /** * Can the subscription be changed? * * @return boolean */ private function checkIfCanBeSwitched() { } /** * Can we cancel the subscription? * * @return boolean */ public function canBeCanceled() { } /** * Should delay subscription cancellation? * * @return boolean */ public function shouldDelayCancellation(): bool { } /** * Can the subscription be canceled? * * @return boolean */ private function checkIfCanBeCanceled() { } /** * Can we update the quantity? * * @return boolean */ protected function canUpdateQuantity() { } /** * Check if we can update the quantity. * * @return boolean */ private function checkIfCanUpdateQuantity() { } /** * Get stats for the subscription * * @param array $args Array of arguments for the statistics. * * @return \SureCart\Models\Statistic; */ protected function stats($args = []) { } /** * Get the current period start at date. * * @return string */ public function getCurrentPeriodStartAtDateAttribute() { } /** * Get the current period end at date. * * @return string */ public function getCurrentPeriodEndAtDateAttribute() { } /** * Get the current period end at date time. * * @return string */ public function getCurrentPeriodEndAtDateTimeAttribute() { } /** * Get the start at date. * * @return string */ public function getStartAtDateAttribute() { } /** * Get the end at date. * * @return string */ public function getEndAtDateAttribute() { } /** * Get the ended at date. * * @return string */ public function getEndedAtDateAttribute() { } /** * Get the restore at date. * * @return string */ public function getRestoreAtDateAttribute() { } /** * Get the trial end at date. * * @return string */ public function getTrialEndAtDateAttribute() { } /** * Get the trial end at date time. * * @return string */ public function getTrialEndAtAtDateTimeAttribute() { } /** * Get the affiliation expires at date. * * @return string */ public function getAffiliationExpiresAtDateAttribute() { } /** * Get the affiliation expires at date and time. * * @return string */ public function getAffiliationExpiresAtDateTimeAttribute() { } /** * Get the ad hoc display amount. * * @return string|null */ public function getAdHocDisplayAmountAttribute() { } /** * Get the remaining period text attribute. * * @return string */ public function getRemainingPeriodTextAttribute() { } /** * Get the can modify attribute. * * @return string */ public function getCanModifyAttribute() { } } /** * Holds the data of the current account. */ class SubscriptionProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'subscription_protocol'; /** * Object name * * @var string */ protected $object_name = 'subscription_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } /** * Swap model */ class Swap extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasPrice; /** * Rest API endpoint * * @var string */ protected $endpoint = 'swaps'; /** * Object name * * @var string */ protected $object_name = 'swap'; /** * Set the swap price attribute * * @param Price $swap Swap. * * @return void */ public function setSwapPriceAttribute($swap) { } } /** * TaxOverride model */ class TaxOverride extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'tax_overrides'; /** * Object name * * @var string */ protected $object_name = 'tax_override'; } /** * Price model */ class TaxProtocol extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'tax_protocol'; /** * Object name * * @var string */ protected $object_name = 'tax_protocol'; /** * Does an update clear account cache? * * @var boolean */ protected $clears_account_cache = true; } /** * TaxRegistration model */ class TaxRegistration extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'tax_registrations'; /** * Object name * * @var string */ protected $object_name = 'tax_registration'; } /** * Price model */ class TaxZone extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'tax_zones'; /** * Object name * * @var string */ protected $object_name = 'tax_zone'; } } namespace SureCart\Models\Traits { /** * If the model has an attached service fee. */ trait HasServiceFee { /** * Set the service fee attribute * * @param string $value service Fee properties. * @return void */ public function setServiceFeeAttribute($value) { } /** * Get the relation id attribute * * @return string */ public function getServiceFeeIdAttribute() { } } /** * If the model has an attached customer. */ trait SyncsCustomer { /** * Should we sync the user to a customer? * * @return boolean */ protected function shouldSyncCustomer() { } } } namespace SureCart\Models { /** * Price model */ class Upload extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'uploads'; /** * Object name * * @var string */ protected $object_name = 'upload'; } /** * Holds the data of the Upsell. */ class Upsell extends \SureCart\Models\Model implements \SureCart\Support\Contracts\PageModel { use \SureCart\Models\Traits\HasPrice; /** * Rest API endpoint * * @var string */ protected $endpoint = 'upsells'; /** * Object name * * @var string */ protected $object_name = 'upsell'; /** * Get the upsell template id. * * @return string */ public function getTemplateIdAttribute(): string { } /** * Get the bump template * * @return \WP_Template|false */ public function getTemplateAttribute() { } /** * Get the bump template id. * * @return string */ public function getTemplatePartIdAttribute(): string { } /** * Get the bump template part template. * * @return \WP_Template */ public function getTemplatePartAttribute() { } /** * Get the bump permalink. * * @return string */ public function getPermalinkAttribute(): string { } /** * Get the page title. * * @return string */ public function getPageTitleAttribute(): string { } /** * Get the meta description. * * @return string */ public function getMetaDescriptionAttribute(): string { } } /** * The upsell funnel model. */ class UpsellFunnel extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint. * * @var string */ protected $endpoint = 'upsell_funnels'; /** * Object name. * * @var string */ protected $object_name = 'upsell_funnel'; /** * Set the upsells attribute. * * @param object $value Array of upsell objects. * @return void */ public function setUpsellsAttribute($value) { } } /** * User class. */ class User implements \ArrayAccess, \JsonSerializable { use \SureCart\Models\Traits\SyncsCustomer; /** * Holds the user. * * @var \WP_User|null; */ protected $user; /** * Holds the customer * * @var \SureCart\Models\Customer; */ protected $customer; /** * Stores the customer id key. * * @var string */ protected $customer_id_key = 'sc_customer_ids'; /** * Get the customer meta key. * * @return string */ protected function getCustomerMetaKey() { } /** * Get the user's customer id. * * @param string $mode Customer mode. * * @return int|null */ protected function customerId($mode = 'live') { } /** * Sync the customer ids. * * @return array Array of synced items. */ protected function syncCustomerIds() { } /** * List the users customer ids. * * @return array */ protected function customerIds() { } /** * Is this user a customer? * * @return boolean */ protected function isCustomer() { } /** * Does the user have this customer id? * * @param string $id The customer id. * * @return boolean */ protected function hasCustomerId($id) { } /** * Set the customer id in the user meta. * * @param string $id Customer id. * @param string $mode Customer mode (live or test). * @param boolean $force Overwrite an existing link. * @return $this|\WP_Error */ protected function setCustomerId($id, $mode = 'live', $force = false) { } /** * Remove the the customer id from the user meta. * * @param string $mode Customer mode. * @return $this */ protected function removeCustomerId($mode = 'live') { } /** * Find an existing live customer by email and link it to this user. * * @return string|null|WP_Error Customer ID if found and linked, null if not found, WP_Error on failure. */ protected function findAndLinkLiveCustomerByEmail() { } /** * Create a new live customer and link it to this user. * * @return string|WP_Error Customer ID on success, WP_Error on failure. */ protected function createAndLinkLiveCustomer() { } /** * Get or create the live customer id for this user. * * This method first checks for an existing linked customer ID, * then tries to find and link an existing customer by email, * and finally creates a new customer if none is found. * * @return string|null|WP_Error Customer ID on success, WP_Error on failure. */ protected function getOrCreateLiveCustomerId() { } /** * Disallow overriding the constructor in child classes and make the code safe that way. */ final public function __construct() { } /** * Get a user's subscriptions * * @return mixed */ protected function subscriptions() { } /** * Get a users orders * * @param array $query Query args. * @return SureCart\Models\Order[]; */ protected function orders() { } /** * Login the user. * * @return true|\WP_Error */ protected function login() { } /** * Create a new user and return this model context * If the user already exists, just set the customer and role in that case. */ protected function create($args) { } /** * Create a unique username for the user. * * @param string $name The username. * * @return string */ protected function createUniqueUsername($name) { } /** * Retrieve user info by a given field * * @param string $field The field to retrieve the user with. id | ID | slug | email | login. * @param int|string $value A value for $field. A user ID, slug, email address, or login name. * @return this|false This object on success, false on failure. */ protected function getUserBy($field, $value) { } /** * Get the customer from the user. * * @param string $mode Customer mode. * @param array $with With array. * * @return \SureCart\Models\Customer|false */ protected function customer($mode = 'live', $with = []) { } /** * Get the current user * * @return $this */ protected function current() { } /** * Find the user. * * @param integer $id ID of the WordPress user. * @return $this */ protected function find($id) { } /** * Find the user by customer id. * * Fails closed when more than one user holds the id — resolving an * ambiguous id to an arbitrary user is an account takeover vector. * * @param string $id Customer id string. * @return $this|false This object on success, false if not found or ambiguous. */ protected function findByCustomerId($id) { } /** * Get the WordPress user. * * @return \WP_User|null; */ public function getWPUser() { } /** * Get a specific attribute * * @param string $key Attribute name. * * @return mixed */ public function getAttribute($key) { } /** * Sets a user attribute * Optionally calls a mutator based on set{Attribute}Attribute * * @param string $key Attribute key. * @param mixed $value Attribute value. * * @return mixed|void */ public function setAttribute($key, $value) { } /** * Does it have the attribute * * @param string $key Attribute key. * * @return boolean */ public function hasAttribute($key) { } /** * Serialize to json. * * @return Array */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /** * Get the attribute * * @param string $key Attribute name. * * @return mixed */ public function __get($key) { } /** * Set the attribute * * @param string $key Attribute name. * @param mixed $value Value of attribute. * * @return void */ public function __set($key, $value) { } /** * Determine if the given attribute exists. * * @param mixed $offset Name. * @return bool */ public function offsetExists($offset): bool { } /** * Get the value for a given offset. * * @param mixed $offset Name. * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset Name. * @param mixed $value Value. * @return void */ public function offsetSet($offset, $value): void { } /** * Unset the value for a given offset. * * @param mixed $offset Name. * @return void */ public function offsetUnset($offset): void { } /** * Get the user object. * * @return \WP_User|null */ public function getUser() { } /** * Determine if an attribute or relation exists on the model. * * @param string $key Name. * @return bool */ public function __isset($key) { } /** * Unset an attribute on the model. * * @param string $key Name. * @return void */ public function __unset($key) { } /** * Forward call to method * * @param string $method Method to call. * @param mixed $params Method params. */ public function __call($method, $params) { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } /** * Variant model */ class Variant extends \SureCart\Models\Model { use \SureCart\Models\Traits\HasDates; /** * Rest API endpoint * * @var string */ protected $endpoint = 'variants'; /** * Object name * * @var string */ protected $object_name = 'variant'; /** * Set the product attribute * * @param string $value Product properties. * @return void */ public function setProductAttribute($value) { } /** * Set the image attribute * * @param string $value Image properties. * @return void */ public function setImageAttribute($value) { } /** * Get whether stock tracking is effectively disabled for this variant. * Returns null when not set on the variant, so callers can fall back to the product. * * @return bool|null */ public function getHasUnlimitedStockAttribute() { } /** * Set the current_release_download attribute * * @param mixed $value Download properties. * @return void */ public function setCurrentReleaseDownloadAttribute($value) { } /** * Get the display amount attribute * * @return string */ public function getDisplayAmountAttribute() { } /** * Get the featured image attribute. * * @return object */ public function getLineItemImageAttribute() { } } /** * Variant Option model. */ class VariantOption extends \SureCart\Models\Model { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'variant_options'; /** * Object name. * * @var string */ protected $object_name = 'variant_option'; /** * Set the product attribute. * * @param string $value Product properties. * @return void */ public function setProductAttribute($value) { } } /** * The integration model. */ class VariantOptionValue extends \SureCart\Models\DatabaseModel { /** * The integrations table name. * * @var string */ protected $table_name = 'surecart_variant_option_values'; /** * The object name * * @var string */ protected $object_name = 'variant_option_values'; /** * Fillable items. * * @var array */ protected $fillable = ['id', 'value', 'name', 'post_id', 'product_id', 'account_id', 'updated_at', 'created_at']; /** * Create a new model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function create($attributes = []) { } /** * Update a model * * @param array $attributes Attributes to create. * * @return $this|false */ protected function update($attributes = []) { } } /** * Variant Value model. */ class VariantValue extends \SureCart\Models\Model { /** * Rest API endpoint. * * @var string */ protected $endpoint = 'variant_values'; /** * Object name. * * @var string */ protected $object_name = 'variant_value'; /** * Set the VariantOption attribute * * @param string $value VariantOption properties. * @return void */ public function setVariantOptionAttribute($value) { } } /** * Holds the data of the current account. */ class VerificationCode extends \SureCart\Models\Model { /** * Rest API endpoint * * @var string */ protected $endpoint = 'verification_codes'; /** * Object name * * @var string */ protected $object_name = 'verification_code'; /** * Verify the code. * * @param array $attributes The model attributes [ 'email' => email@email.com]. * * @return this */ protected function verify($attributes = []) { } } /** * Webhook Model. */ class WebhookRegistration { /** * Registered Webhook option name. * * @var string */ public const REGISTERED_WEBHOOK_KEY = 'surecart_registered_webhook'; /** * Deprecated Registered Webhook option name. * * @var string */ public const DEPRECATED_WEBHOOK_KEY = 'ce_registered_webhook'; /** * Save the registered webhook. * * @param array $webhook The webhook to save. * * @return bool */ public function save($webhook): bool { } /** * Get registered webhook. * * @return array|null */ public function get() { } /** * Delete the registered webhook. * * @return boolean */ public function delete(): bool { } } } namespace SureCart\Models\Wordpress { /** * This class syncs product records to WordPress posts. */ class Collection { use \SureCart\Models\Concerns\Facade; /** * The post. * * @var \WP_Post */ protected $term; /** * The post type. * * @var string */ protected $taxonomy = 'sc_collection'; /** * Find the post from the model. * * @param string $model_id The model id. * * @return \WP_Post|\WP_Error|null */ protected function findByModelId(string $model_id) { } /** * Sync the model with the post. * * @param \SureCart\Models\ProductCollection $model The model. * * @return \WP_Post|\WP_Error */ protected function sync(\SureCart\Models\ProductCollection $model) { } /** * Delete the synced post. * * @param string $id The model id. * * @return \WP_Post|\WP_Error|false|null */ protected function delete(string $id) { } /** * Create the term. * * @param \SureCart\Models\ProductCollection $collection The collection model. * * @return \WP_Post|\WP_Error */ protected function create(\SureCart\Models\ProductCollection $collection) { } /** * Update the term. * * @param \SureCart\Models\ProductCollection $collection The collection model. * * @return \WP_Post|\WP_Error */ protected function update(\SureCart\Models\ProductCollection $collection) { } } } namespace SureCart\Permissions { /** * Admin Access Service */ class AdminAccessService { /** * Admin access service construct * * @return void */ public function bootstrap() { } /** * Prevent admin access * * @return method */ public function handleAdminAccess() { } /** * Prevent admin access * * @return boolean */ public function canAccessAdmin() { } /** * Redirect to the admin. * * @return void */ public function redirectToAdmin() { } } } namespace SureCart\Permissions\Models { /** * Model permissions abstract class. */ abstract class ModelPermissionsController { /** * Get the customer id for the user * * @param int $user_id User ID. * @return string Customer ID. */ protected function getCustomerId($user_id) { } /** * Meta caps for models * * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @param string[] $caps Required primitive capabilities for the requested capability. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param WP_User $user The user object. * @return string[] Primitive capabilities required of the user. */ public function handle($allcaps, $caps, $args, $user) { } /** * Does the model belong to the user? * * @param string $model Model name. * @param string $id Model ID. * @param \SureCart\Models\User $user User model. * @return boolean */ public function belongsToUser($model, $id, $user) { } /** * Is ths user listing their own customer ids. * * @param \SureCart\Models\User $user User model. * @param mixed $customer_ids Requested customer ids — only a sequential list of id strings authorizes. * @return boolean */ protected function isListingOwnCustomerIds($user, $customer_ids) { } /** * Check permissions for specific properties of the request. * * @param \WP_REST_Request $request Full details about the request. * @param array $keys Keys to check. * * @return boolean */ protected function requestOnlyHasKeys($request, $keys) { } /** * Check permissions for specific properties of the request (has keys). * * @param \WP_REST_Request $request Full details about the request. * @param array $keys Keys to check. * * @return boolean */ protected function requestHasKeys($request, $keys) { } } /** * Handle various charge permissions. */ class ActivationPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_activation($user, $args, $allcaps) { } /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_activations($user, $args, $allcaps) { } /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_activation($user, $args, $allcaps) { } /** * Publish * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function publish_sc_activations($user, $args, $allcaps) { } /** * Does the model belong to the user? * * @param string $model Model name. * @param string $id Model ID. * @param \SureCart\Models\User $user User model. * @return boolean */ public function belongsToUser($model, $id, $user) { } } /** * Handle various charge permissions. */ class BalanceTransactionPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_balance_transactions($user, $args, $allcaps) { } } /** * Handle various charge permissions. */ class ChargePermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_charge($user, $args, $allcaps) { } /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_charges($user, $args, $allcaps) { } } /** * Handle various charge permissions. */ class CheckoutPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user edit charge. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_checkout($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_checkout($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_checkouts($user, $args, $allcaps) { } } /** * Handle permissions. */ class CustomerPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user edit * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_customer($user, $args, $allcaps) { } /** * Can user read * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_customer($user, $args, $allcaps) { } /** * Can user list. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type string[] ...$2 The ids to list. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean Does user have permission. */ public function read_sc_customers($user, $args, $allcaps) { } /** * Does the customer id match the user id. * * @param \SureCart\Models\User $user User model. * @param string $id Customer ID. * @return boolean */ public function customerIdMatches($user, $id) { } } /** * Handle various permissions. */ class DownloadPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user list. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. */ public function read_sc_downloads($user, $args, $allcaps) { } } /** * Handle various charge permissions. */ class InvoicePermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user edit charge. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_invoice($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_invoice($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_invoices($user, $args, $allcaps) { } } /** * Handle various permissions. */ class LicensePermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean Does user have permission. */ public function read_sc_license($user, $args, $allcaps) { } /** * Can user list. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. */ public function read_sc_licenses($user, $args, $allcaps) { } /** * Use can edit if the can edit licenses. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type string $2 The id of the license. * @type array ...$4 The data that is being requested to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_license($user, $args, $allcaps) { } } /** * Handle various charge permissions. */ class MediaPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user edit charge. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_checkout($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_checkout($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_checkouts($user, $args, $allcaps) { } } /** * Handle various charge permissions. */ class OrderPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_order($user, $args, $allcaps) { } /** * Does the model belong to the user? * * @param string $model Model name. * @param string $id Model ID. * @param \SureCart\Models\User $user User model. * @return boolean */ public function belongsToUser($model, $id, $user) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_orders($user, $args, $allcaps) { } } /** * Handle various payment methods permissions. */ class PaymentMethodPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_payment_method($user, $args, $allcaps) { } /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_payment_methods($user, $args, $allcaps) { } } /** * Handle various permissions. */ class PurchasePermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean Does user have permission. */ public function read_sc_purchase($user, $args, $allcaps) { } /** * Can user list. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. */ public function read_sc_purchases($user, $args, $allcaps) { } /** * Use can edit if the can edit purchases. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type string $2 The id of the purchase. * @type array ...$4 The data that is being requested to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_purchase($user, $args, $allcaps) { } } /** * Handle various charge permissions. */ class RefundPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Can user read multiple. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function read_sc_charges($user, $args, $allcaps) { } } /** * Handle various permissions. */ class SubscriptionPermissionsController extends \SureCart\Permissions\Models\ModelPermissionsController { /** * Subscription cancellation. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 The quantity to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean */ public function cancel_sc_subscription($user, $args, $allcaps) { } /** * Subscription restoring. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 The quantity to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean */ public function restore_sc_subscription($user, $args, $allcaps) { } /** * Subscription Update Quantity. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 The quantity to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean */ public function update_sc_subscription_quantity($user, $args, $allcaps) { } /** * Subscription Switch. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 The quantity to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean */ public function switch_sc_subscription($user, $args, $allcaps) { } /** * Can user read. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type mixed ...$2 Optional second and further parameters, typically object ID. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean Does user have permission. */ public function read_sc_subscription($user, $args, $allcaps) { } /** * Can user list. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type string[] ...$2 The ids to list. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * * @return boolean Does user have permission. */ public function read_sc_subscriptions($user, $args, $allcaps) { } /** * Can user edit. * * @param \SureCart\Models\User $user User model. * @param array $args { * Arguments that accompany the requested capability check. * @type string $0 Requested capability. * @type int $1 Concerned user ID. * @type string $2 The id of the subscription. * @type array ...$4 The data that is being requested to update. * } * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name * and boolean values represent whether the user has that capability. * @return boolean Does user have permission. */ public function edit_sc_subscription($user, $args, $allcaps) { } } } namespace SureCart\Permissions { /** * Permissions Service */ class PermissionsService { /** * Register controller permission handlers * * @return void */ public function bootstrap() { } } /** * Handles the request service */ class PermissionsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. * * @return void * * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter */ public function bootstrap($container) { } } /** * Adds roles and capabilities. */ class RolesService { /** * Create roles and caps. * * @return void */ public function create() { } /** * Create roles and caps. * * @return void */ public function delete() { } /** * Add Roles. * * @return void */ public function addRoles() { } /** * Add new shop-specific capabilities * * @since 1.4.4 * @global \WP_Roles $wp_roles * @return void */ public function addCaps() { } /** * Gets the core post type capabilities * * @since 1.4.4 * @return array $capabilities Core post type capabilities */ public function getModelCaps() { } /** * Remove Roles. * * @return void */ public function removeRoles() { } /** * Remove Caps. * * @return void */ public function removeCaps() { } } /** * Handles salts */ class SureCartSaltService { /** * Get the path to the wp-config.php file. * * @return string|null */ public function getWpConfigPath() { } /** * Write the salt to the wp-config.php file. * * @return void */ public function write() { } } } namespace SureCart\Permissions\WPConfig { // The MIT License (MIT) // Copyright (C) 2011-2018 WP-CLI Development Group (https://github.com/wp-cli/wp-config-transformer/contributors) // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. /** * Transforms a wp-config.php file. */ class WPConfigTransformService { /** * Append to end of file */ const ANCHOR_EOF = 'EOF'; /** * Path to the wp-config.php file. * * @var string */ protected $wp_config_path; /** * Original source of the wp-config.php file. * * @var string */ protected $wp_config_src; /** * Array of parsed configs. * * @var array */ protected $wp_configs = array(); /** * Instantiates the class with a valid wp-config.php. * * @throws \Exception If the wp-config.php file is missing. * @throws \Exception If the wp-config.php file is not writable. * * @param string $wp_config_path Path to a wp-config.php file. */ public function __construct($wp_config_path, $read_only = false) { } /** * Checks if a config exists in the wp-config.php file. * * @throws \Exception If the wp-config.php file is empty. * @throws \Exception If the requested config type is invalid. * * @param string $type Config type (constant or variable). * @param string $name Config name. * * @return bool */ public function exists($type, $name) { } /** * Get the value of a config in the wp-config.php file. * * @throws \Exception If the wp-config.php file is empty. * @throws \Exception If the requested config type is invalid. * * @param string $type Config type (constant or variable). * @param string $name Config name. * * @return string|null */ public function get_value($type, $name) { } /** * Adds a config to the wp-config.php file. * * @throws \Exception If the config value provided is not a string. * @throws \Exception If the config placement anchor could not be located. * * @param string $type Config type (constant or variable). * @param string $name Config name. * @param string $value Config value. * @param array $options (optional) Array of special behavior options. * * @return bool */ public function add($type, $name, $value, array $options = array()) { } /** * Updates an existing config in the wp-config.php file. * * @throws \Exception If the config value provided is not a string. * * @param string $type Config type (constant or variable). * @param string $name Config name. * @param string $value Config value. * @param array $options (optional) Array of special behavior options. * * @return bool */ public function update($type, $name, $value, array $options = array()) { } /** * Removes a config from the wp-config.php file. * * @param string $type Config type (constant or variable). * @param string $name Config name. * * @return bool */ public function remove($type, $name) { } /** * Applies formatting to a config value. * * @throws \Exception When a raw value is requested for an empty string. * * @param string $value Config value. * @param bool $raw Display value in raw format without quotes. * * @return mixed */ protected function format_value($value, $raw) { } /** * Normalizes the source output for a name/value pair. * * @throws \Exception If the requested config type does not support normalization. * * @param string $type Config type (constant or variable). * @param string $name Config name. * @param mixed $value Config value. * * @return string */ protected function normalize($type, $name, $value) { } /** * Parses the source of a wp-config.php file. * * @param string $src Config file source. * * @return array */ protected function parse_wp_config($src) { } /** * Saves new contents to the wp-config.php file. * * @throws \Exception If the config file content provided is empty. * @throws \Exception If there is a failure when saving the wp-config.php file. * * @param string $contents New config contents. * * @return bool */ protected function save($contents) { } } } namespace SureCart\Request { /** * Request caching service. */ class RequestCacheService { /** * Has this been cached yet for the request? * * @var boolean */ protected static $cached = false; /** * The endpoint for the request * * @var string */ protected $endpoint = ''; /** * The args for the request * * @var array */ protected $args = []; /** * The cache key on the account. * * @var string */ protected $account_cache_key = ''; /** * Needs an endpoint and args * * @param string $endpoint The endpoint for the request. * @param array $args The args for the request. * @param string $account_cache_key The key on the account model to check for cache. */ public function __construct($endpoint, $args, $account_cache_key) { } /** * Can we use transient caching. * * @return boolean */ public function canUseTransient() { } /** * Get the object cache key. * * @return string */ public function getObjectCacheKey() { } /** * Get the transient cache key. * * @return string */ public function getTransientCacheKey() { } /** * Set the cache. * * @param mixed $data Data to set. * @param string $type The type of cache to set. * * @return boolean */ public function setCache($data, $type) { } /** * Set the object cache. * * @param mixed $data Data to set. * * @return boolean */ public function setObjectCache($data) { } /** * Get request from object cache. * * @return mixed */ public function getObjectCache() { } /** * Set the transient cache. * * @param mixed $data Data to set. * * @return boolean */ public function setTransientCache($data) { } /** * Get the transient cache. * * @return mixed */ public function getTransientCache() { } /** * Get the previous cache key. * * @return string */ public function getPreviousCacheKey() { } /** * Set the previous cache. * * @param mixed $data Data to set. * * @return boolean */ public function setPreviousCache($data) { } /** * Get the previous cache. * * @return mixed */ public function getPreviousCache() { } /** * Get the previous cache updating key. * * @return mixed */ public function getPreviousCacheUpdatingKey() { } /** * Set the previous cache updating state. * * @param mixed $state State to set. * @return mixed */ public function setPreviousCacheUpdatingState($state) { } /** * Get the previous cache updating state. * * @return mixed */ public function getPreviousCacheUpdatingState() { } } /** * Provide api request functionality. */ class RequestService { /** * Has this been cached yet for the request? * * @var boolean */ protected static $cached = false; /** * Undocumented variable * * @var string */ protected $token = ''; /** * The base path for the request. * * @var string */ protected $base_path; /** * What type of cached request is this. * * @var string|null */ protected $cache_status = 'none'; /** * Is this request authorized? * * @var boolean */ protected $authorized = true; /** * Number of retries. * * @var integer */ protected $current_retries = 0; /** * Total number of retries. * * @var integer */ protected $total_retries = 1; /** * Status codes to retry. * * @var array */ protected $retry_status_codes = [409]; /** * Container. * * @var \Pimple\Container */ protected $container; /** * Constructor. * * @param \Pimple\Container $container The container. * @param string $token The rest api base path. * @param string $base_path The rest api base path. * @param boolean $authorized Is this request authorized. * * @return void */ public function __construct($container, $token = '', $base_path = '/v1', $authorized = true) { } /** * Get the cache service. * * @param string $endpoint The endpoint to cache. * @param array $args The args to cache. * @param string $account_cache_key The account cache key. * * @return \SureCart\Request\RequestCacheService */ public function cache($endpoint, $args, $account_cache_key) { } /** * Get the errors service. * * @return \SureCart\Support\Errors\ErrorsService */ public function errors() { } /** * Set the API token on the fly. * * @param string $token API token. * * @return $this */ public function setToken($token) { } /** * Get the base url. */ public function getBaseUrl() { } /** * Should we get a cached request? * * @return boolean */ public function shouldFindCache($cachable, $cache_key, $args = []) { } /** * Respond to the request. * * @param array $response Reponse data. * @param array $args Request arguments. * @param string $endpoint The endpoint to request. * * @return array Response data. */ public function respond($response, $args, $endpoint) { } /** * Set the response cache status. * * @param object $response Response object. * @param string $status The response status. * * @return void */ public function setResponseCacheStatus($response, $status) { } /** * Make the request * * @param string $endpoint Endpoint to request. * @param array $args Arguments for request. * @param boolean $cachable Should this request be cached. * @param string $cache_key The cache key to use. * @param boolean $optimized_caching Should we use optimized caching. * * @return mixed */ public function makeRequest($endpoint, $args = [], $cachable = false, $cache_key = '', $optimized_caching = false) { } /** * Make the uncached request. * * @param string $endpoint Endpoint to request. * @param array $args Arguments for request. * * @return mixed */ public function makeUncachedRequest($endpoint, $args = [], $cache = null, $optimized_caching = false) { } /** * Make the remote request. * * @param string $url The url to request. * @param array $args The args to pass to the request. * * @return mixed */ public function remoteRequest($url, $args = []) { } /** * Make a get request * * @param string $endpoint Endpoint for the request. * @param array $args Request arguments. * * @return mixed */ public function get($endpoint, $args = []) { } /** * Make a post request * * @param string $endpoint Endpoint for the request. * @param array $args Request arguments. * * @return mixed */ public function post($endpoint, $args = []) { } /** * Make a put request * * @param string $endpoint Endpoint for the request. * @param array $args Request arguments. * * @return mixed */ public function put($endpoint, $args = []) { } /** * Make a patch request * * @param string $endpoint Endpoint for the request. * @param array $args Request arguments. * * @return mixed */ public function patch($endpoint, $args = []) { } /** * Make a delete request * * @param string $endpoint Endpoint for the request. * @param array $args Request arguments. * * @return mixed */ public function delete($endpoint, $args = []) { } /** * Removes empty args * * @param array $args Array of arguments. */ protected function parseArgs($args = []) { } } /** * Handles the request service */ class RequestServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. * * @return void * * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter */ public function bootstrap($container) { } } } namespace SureCart\Rest { interface RestServiceInterface extends \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register REST Routes * * @return void */ public function registerModelRoutes(); } /** * Abstract Rest Service Provider interface */ abstract class RestServiceProvider extends \WP_REST_Controller implements \SureCart\Rest\RestServiceInterface { /** * Whether the rest service provider converts currency. * * @var boolean */ protected $converts_currency = false; /** * Whether index responses get each item filtered by schema context. * * Off by default — most providers declared edit-only schema fields long * before lists were ever context-filtered, so enforcing this globally * would silently strip untested view-context list responses. Hardened * catalog endpoints opt in. * * @var boolean */ protected $filters_list_items = false; /** * Mark specific properties that need additional permissions checks * before modifying. We don't want customers being able to modify these. * * @var array */ protected $property_permissions = []; /** * Plugin namespace. * * @var string */ protected $name = 'surecart'; /** * API Version * * @var string */ protected $version = '1'; /** * Endpoint. * * @var string */ protected $endpoint = ''; /** * Controller class * * @var string */ protected $controller = ''; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * Bootstrap routes * * @param \Pimple\Container $container Service Container. * * @return void */ public function bootstrap($container) { } /** * Do we have the method * * @param string $name * @return boolean */ public function hasMethod($name) { } /** * Do we have all these methods. * * @param array $methods Array of method names. * @return boolean */ public function hasAnyMethods($methods = []) { } /** * Register REST Routes * * @return void */ public function registerModelRoutes() { } /** * Additional routes to register for the model. * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Process the callback for the route. * * @param string $class Class name. * @param string $method Class method. * @return callback */ public function callback($class, $method) { } /** * Check permissions for specific properties of the request. * * @param \WP_REST_Request $request Full details about the request. * @param array $keys Keys to check. * * @return boolean */ protected function requestOnlyHasKeys($request, $keys) { } /** * Reject edit-context reads from callers without the capability. * * @param \WP_REST_Request $request Full details about the request. * @param string|array $capability Capability that unlocks edit context. Any one of an array is enough. * * @return true|\WP_Error */ protected function forbidEditContextWithout($request, $capability) { } /** * Retrieves the query params for collections. * * @return array */ public function get_collection_params() { } /** * Set these all as false by default * in case parent class doesn't implement them. * * @param \WP_REST_Request $request Full details about the request. * * @return false */ public function get_item_permissions_check($request) { } /** * Set these all as false by default * in case parent class doesn't implement them. * * @param \WP_REST_Request $request Full details about the request. * * @return false */ public function get_items_permissions_check($request) { } /** * Set these all as false by default * in case parent class doesn't implement them. * * @param \WP_REST_Request $request Full details about the request. * * @return false */ public function create_item_permissions_check($request) { } /** * Set these all as false by default * in case parent class doesn't implement them. * * @param \WP_REST_Request $request Full details about the request. * * @return false */ public function update_item_permissions_check($request) { } /** * Set these all as false by default * in case parent class doesn't implement them. * * @param \WP_REST_Request $request Full details about the request. * * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class AbandonedCheckoutProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'abandoned_checkout_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AbandonedCheckoutProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get the protocols. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class AbandonedCheckoutRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'abandoned_checkouts'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AbandonedCheckoutsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific order if they have the unique order id. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Listing * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class AccountRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'account'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AccountController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Update item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class ActivationRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'activations'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ActivationsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'edit', 'create', 'find', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List files. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Affiliation Products Rest Service Provider */ class AffiliationProductsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'affiliation_products'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AffiliationProductsController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list affiliation products? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific affiliation product? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can create an affiliation product? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Who can update an affiliation product? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Approve item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function approve_permissions_check($request) { } /** * Deny item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function deny_permissions_check($request) { } /** * Who can delete an affiliation product? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Affiliation Protocol Rest Requests */ class AffiliationProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'affiliation_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AffiliationProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['find', 'edit']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Update item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Affiliation Requests Rest Service Provider */ class AffiliationRequestsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'affiliation_requests'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AffiliationRequestsController::class; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list affiliation requests? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific affiliation request? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can create an affiliation request? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Who can update an affiliation request? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Approve item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function approve_permissions_check($request) { } /** * Deny item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function deny_permissions_check($request) { } /** * Who can delete an affiliation request? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Affiliation Requests Rest Service Provider */ class AffiliationsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'affiliations'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AffiliationsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'delete']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list affiliations? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific affiliation? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can update a specific affiliation? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Who can activate an affiliation? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function activate_item_permissions_check($request) { } /** * Who can deactivate an affiliation? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function deactivate_item_permissions_check($request) { } /** * Who can delete an affiliation? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class AutoFeeProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'auto_fee_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AutoFeeProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['find', 'edit']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class AutoFeeRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'auto_fees'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\AutoFeesController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get item permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List items permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create item permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update item permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete item permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class BalanceTransactionRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'balance_transactions'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\BalanceTransactionsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'create']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Check if the current user can read a charge. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to read checkout sessions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } } /** * Batches REST service provider. */ class BatchesRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'batches'; /** * Rest Controller. * * @var string */ protected $controller = \SureCart\Controllers\Rest\BatchesController::class; /** * Batches are append-only — submit, then poll for status. * * @var array */ protected $methods = ['index', 'create', 'find']; /** * Schema callback. * * @return array */ public function get_item_schema() { } /** * Collection params. * * @return array */ public function get_collection_params() { } /** * Resource segment → capability suffix. New resources must be listed here * before they can be batched; unknown paths are rejected. * * @var array */ private const RESOURCE_CAP_SUFFIX = ['products' => 'sc_products', 'product_collections' => 'sc_products', 'product_groups' => 'sc_products', 'prices' => 'sc_prices', 'reviews' => 'sc_reviews', 'orders' => 'sc_orders', 'customers' => 'sc_customers', 'subscriptions' => 'sc_subscriptions', 'invoices' => 'sc_invoices', 'coupons' => 'sc_coupons', 'promotions' => 'sc_promotions', 'affiliations' => 'sc_affiliates', 'licenses' => 'sc_licenses', 'webhooks' => 'sc_webhooks', 'medias' => 'sc_medias']; public function get_items_permissions_check($request) { } public function get_item_permissions_check($request) { } /** * Validates every operation against the cap the caller would have needed * to perform it directly — otherwise a user with `edit_sc_products` could * smuggle `DELETE /v1/customers/{id}` through the batch proxy. */ public function create_item_permissions_check($request) { } /** * Coarse gate for read-side endpoints; create_item enforces per-op auth. * * @return bool */ private function userCanUseBatches(): bool { } /** * Returns null for unknown paths — callers treat null as deny. * * @param string $http_method GET, POST, PATCH, PUT, DELETE. * @param string $path e.g. `/v1/products/abc`. * @return string|null */ private function requiredCapabilityFor(string $http_method, string $path): ?string { } } /** * REST API: BlockPatternsRestServiceProvider class * * @package WordPress * @subpackage REST_API * @since 6.0.0 */ /** * Core class used to access block patterns via the REST API. * * @since 6.0.0 * * @see WP_REST_Controller */ class BlockPatternsRestServiceProvider extends \WP_REST_Controller implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * Bootstrap routes * * @param \Pimple\Container $container Service Container. * * @return void */ public function bootstrap($container) { } /** * Constructs the controller. * * @since 6.0.0 */ public function __construct() { } /** * Registers the routes for the objects of the controller. * * @since 6.0.0 */ public function register_routes() { } /** * Checks whether a given request has permission to read block patterns. * * @since 6.0.0 * * @param WP_REST_Request $request Full details about the request. * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Retrieves all block patterns. * * @since 6.0.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function get_items($request) { } /** * Prepare a raw block pattern before it gets output in a REST API response. * * @since 6.0.0 * * @param array $item Raw pattern as registered, before any changes. * @param WP_REST_Request $request Request object. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function prepare_item_for_response($item, $request) { } /** * Retrieves the block pattern schema, conforming to JSON Schema. * * @since 6.0.0 * * @return array Item schema data. */ public function get_item_schema() { } } /** * Service provider for Price Rest Requests */ class BrandRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'brand'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\BrandController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Update item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class BumpRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'bumps'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\BumpsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific price. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list prices * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for BundleItem Rest Requests. */ class BundleItemsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'bundle_items'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\BundleItemsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * Get a specific bundle item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List bundle items. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create a bundle item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update a bundle item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete a bundle item. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CancellationActRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'cancellation_acts'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CancellationActsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Need edit permissions to read. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need edit priveleges to list. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CancellationReasonRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'cancellation_reasons'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CancellationReasonsController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Can read a reason if the user is logged in. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Can list reasons if the user is logged in. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Need edit priveleges to create. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Need edit priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class ChargesRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'charges'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ChargesController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Check if the current user can read a charge. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to read checkout sessions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CheckEmailRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'check_email'; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can check email. * * @return true */ public function check_email_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CheckoutRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'checkouts'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CheckoutsController::class; /** * Whether the rest service provider converts currency. * * @var boolean */ protected $converts_currency = true; /** * Filter each index item by schema context, so the edit-only customer * fields are not emitted on view-context lists. * * @var boolean */ protected $filters_list_items = true; /** * Methods allowed for the model. * * @var array */ protected $methods = array('index', 'create', 'find', 'edit'); /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Finalizing an order requires some server side form validation. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function finalize_permissions_check(\WP_REST_Request $request) { } /** * Confirming an order was paid for. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function confirm_permissions_check(\WP_REST_Request $request) { } /** * Filters a response based on the context defined in the schema. * * @since 4.7.0 * * @param array|\WP_REST_Response $data Response data to filter. * @param string $context Context defined in the schema. * @return array Filtered response. */ public function filter_response_by_context($data, $context) { } /** * Anyone can get a specific order if they have the unique order id. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Listing * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Anyone can create. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } /** * Can the user manually mark the checkout as paid? * * @param \WP_REST_Request $request Full details about the request. * * @return boolean */ public function manually_pay_permissions_check($request) { } /** * Cancelling orders. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function cancel_item_permissions_check($request) { } } /** * Service provider for the clicks REST Requests */ class ClicksRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'clicks'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ClicksController::class; /** * Methods allowed for the model * * @var array */ protected $methods = ['index', 'find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list clicks? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to list items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific click? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to get an item, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CouponRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'coupons'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CouponsController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific coupon. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list coupons? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CustomerNotificationProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'customer_notification_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CustomerNotificationProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get the protocols. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CustomerPortalProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'customer_portal_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CustomerPortalProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get the protocols. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class CustomerRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'customers'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\CustomerController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function sync_schema() { } /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Only logged-in users can fetch their own customer record. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error */ public function me_permissions_check($request) { } /** * A WordPress user can read their own customer record. * * @param \WP_REST_Request $request Full details about the request. * @return boolean */ public function connect_permissions_check($request) { } /** * A WordPress user can read their own customer record. * * @param \WP_REST_Request $request Full details about the request. * @return boolean */ public function sync_permissions_check($request) { } /** * A WordPress user can read their own customer record. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class DisplayCurrencyRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'display_currencies'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\DisplayCurrencyController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'edit', 'create', 'find', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List files. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Dispute Rest Requests */ class DisputesRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'disputes'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\DisputesController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for Download Rest Requests */ class DownloadRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'downloads'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\DownloadsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'edit', 'create', 'find', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List files. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class DraftCheckoutRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'draft-checkouts'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\DraftCheckoutsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit']; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read checkout. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List checkouts. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create checkout. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update checkout. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for the exports REST Requests */ class ExportsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'exports'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ExportsController::class; /** * Methods allowed for the model * * @var array */ protected $methods = ['index', 'find', 'create']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list exports * * @param \WP_REST_Request $request The request object. * @return true|\WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can create exports * * @param \WP_REST_Request $request The request object. * @return true|\WP_Error True if the request has create access, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Who can get an export * * @param \WP_REST_Request $request The request object. * @return true|\WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class FulfillmentRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'fulfillments'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\FulfillmentsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'edit', 'create', 'find', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List files. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for ImportRow Rest Requests */ class ImportRowsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'import_rows'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ImportRowsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read single item permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, \WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List items permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access, \WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class IncomingWebhooksRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'incoming_webhooks'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\IncomingWebhooksController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create']; /** * Register routes. * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class IntegrationProvidersRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\IntegrationProvidersController::class; /** * Register Additional REST Routes * * @return void */ public function registerModelRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permission_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permission_check($request) { } } /** * Service provider for Price Rest Requests */ class IntegrationsCatalogRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\IntegrationCatalogController::class; /** * Register Additional REST Routes * * @return void */ public function registerModelRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permission_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permission_check($request) { } } /** * Service provider for Price Rest Requests */ class IntegrationsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'integrations'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\IntegrationsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create']; public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Invoice Rest Requests */ class InvoicesRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'invoices'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\InvoicesController::class; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } /** * Draft permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function draft_permissions_check($request) { } /** * Open permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function open_permissions_check($request) { } /** * Resend notification permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function resend_notification_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class LicenseRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'licenses'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\LicensesController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'edit', 'create', 'find', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List files. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class LineItemsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'line_items'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\LineItemsController::class; /** * Whether the rest service provider converts currency. * * @var boolean */ protected $converts_currency = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'edit', 'create', 'find', 'delete']; /** * Register REST Routes. * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Anyone can get a specific price. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list checkouts * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Anyone can create line items. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class LoginRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'login'; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can login. * * @param \WP_REST_Request $request Full details about the request. * * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function authenticate_permissions_check($request) { } /** * Only logged in users can logout. * * @param \WP_REST_Request $request Full details about the request. * * @return true|\WP_Error */ public function logout_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class ManualPaymentMethodsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'manual_payment_methods'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ManualPaymentMethodsController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class MediaRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'medias'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\MediasController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'delete', 'edit']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List files. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class OrderProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'order_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\OrderProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get the protocols. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class OrderRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'orders'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\OrderController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Filters a response based on the context defined in the schema. * * @since 4.7.0 * * @param array|\WP_REST_Response $data Response data to filter. * @param string $context Context defined in the schema. * @return array Filtered response. */ public function filter_response_by_context($data, $context) { } /** * Anyone can get a specific order if they have the unique order id. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Listing * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can resend the order notification. * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to update return request, WP_Error object otherwise. */ public function resend_notification_permissions_check($request) { } } /** * Service provider for Parcel Template Rest Requests */ class ParcelTemplateRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'parcel_templates'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ParcelTemplateController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for a parcel template. * * @return array The sample schema for a parcel template */ public function get_item_schema() { } /** * Retrieve permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to retrieve items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to list items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to update items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to delete items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class PaymentIntentsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'payment_intents'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PaymentIntentsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['create', 'find', 'edit']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * Nobody can list these. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Capture permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function capture_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class PaymentMethodsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'payment_methods'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PaymentMethodsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'delete']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function detach_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for payout groups REST Requests */ class PayoutGroupsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'payout_groups'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PayoutGroupsController::class; /** * Methods allowed for the model * * @var array */ protected $methods = ['index', 'find', 'create']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list payout groups * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to list items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific payout group * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to get an item, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can create a payout group * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } } /** * Service provider for payout REST Requests */ class PayoutsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'payouts'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PayoutsController::class; /** * Methods allowed for the model * * @var array */ protected $methods = ['index', 'find', 'create', 'delete']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list payouts * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to list items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific payout * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to get an item, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can create a payout * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Who can delete a payout * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to delete an item, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } /** * Who can complete a payout * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to complete an item, WP_Error object otherwise. */ public function complete_permissions_check($request) { } /** * Who can make a payout processing * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to make a payout processing, WP_Error object otherwise. */ public function make_processing_permissions_check($request) { } } /** * Service provider for Invoice Rest Requests */ class PeriodRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'periods'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PeriodsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Retry payment permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function retry_payment_permissions_check($request) { } /** * Check update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for the integration plugin installer endpoint. */ class PluginInstallerRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PluginInstallerController::class; /** * Register Additional REST Routes * * @return void */ public function registerModelRoutes() { } /** * Install permissions. * * @param \WP_REST_Request $request Full details about the request. * * @return true|\WP_Error True if the request can install plugins, WP_Error otherwise. */ public function install_permission_check($request) { } } /** * Service provider for Price Rest Requests */ class PriceRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { use \SureCart\Concerns\StripsPrivateCatalogFields; /** * Endpoint. * * @var string */ protected $endpoint = 'prices'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PricesController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Anyone can get a specific price. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list prices * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } /** * Strip private product data from expanded products in view/embed context. * * @param \SureCart\Models\Price|array $model Price model or response data. * @param string $context The context of the request. * * @return array The filtered response. */ public function filter_response_by_context($model, $context) { } } /** * Service provider for Price Rest Requests */ class ProcessorRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'processors'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ProcessorController::class; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for Product Collection Rest Requests */ class ProductCollectionsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'product_collections'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ProductCollectionsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * You can get a specific product collection if you have the id. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Get the collection params. * * Plugins can extend this list via the * `surecart/product_collections/rest_args` filter. * * @return array */ public function get_collection_params() { } /** * You can get the product collection for edit context with permission * and for view context make it public. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class ProductGroupsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'product_groups'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ProductGroupsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * You can get a specific product group if you have the id. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * You can list product groups if you have the ids. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Product Medias Rest Requests */ class ProductMediaRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'product_medias'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ProductMediaController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Anyone can get a specific product media. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list product media * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create product media. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update product media. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete product media. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class ProductsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { use \SureCart\Concerns\StripsPrivateCatalogFields; /** * Endpoint. * * @var string */ protected $endpoint = 'products'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ProductsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Anyone can get a specific product. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list products? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } /** * If we are editing, let's make sure the data comes back directly. * * @param \SureCart\Models\Product $model Product model. * @param string $context The context of the request. * * @return array The filtered response. */ public function filter_response_by_context($model, $context) { } } /** * Service provider for Price Rest Requests */ class PromotionRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'promotions'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PromotionsController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Promotions are "private" * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Get items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Provisional account Rest Requests */ class ProvisionalAccountRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'provisional_accounts'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ProvisionalAccountController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Create a provisional account. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Fetch the provisional account. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class PurchasesRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'purchases'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\PurchasesController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific subscription * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to read purchases. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for referral items REST Requests */ class ReferralItemsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'referral_items'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReferralItemsController::class; /** * Methods allowed for the model * * @var array */ protected $methods = ['index', 'find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list referral items? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to list items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific referral item? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to get an item, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } } /** * Service provider for the referrals REST Requests */ class ReferralsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'referrals'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReferralsController::class; /** * Methods allowed for the model * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list referrals? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to list items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific referral? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to get an item, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can create a referral? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Who can update a referral? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to update an item, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Who can delete a referral? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to delete an item, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } /** * Who can approve a referral? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to approve an item, WP_Error object otherwise. */ public function approve_permissions_check($request) { } /** * Who can deny a referral? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to deny an item, WP_Error object otherwise. */ public function deny_permissions_check($request) { } /** * Who can make a referral reviewing? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to make a referral reviewing, WP_Error object otherwise. */ public function make_reviewing_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class RefundsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'refunds'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\RefundsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Read permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } } /** * Service provider for Webhooks Rest Requests */ class RegisteredWebhookRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'webhook_endpoint'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\RegisteredWebhookController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific subscription * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to read checkout sessions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Anyone can update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for ReturnItems rest requests */ class ReturnItemsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'return_items'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReturnItemsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find']; /** * Get our samples schema for a post * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can read return items * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to read return items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can read a return item * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to read return item, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } } /** * Service provider for ReturnReasons Rest Requests */ class ReturnReasonsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'return_reasons'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReturnReasonsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index']; /** * Get our sample schema for a post * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can list return reasons * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to list return reasons, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for ReturnRequest rest requests */ class ReturnRequestsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint * * @var string */ protected $endpoint = 'return_requests'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReturnRequestsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'create', 'edit', 'delete']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our samples schema for a post * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Who can read return requests * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to read return request, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can read a return request * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to read return request, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can create a return request * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to create return request, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Who can update a return request * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to update return request, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Who can delete a return request * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to delete return request, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } /** * Who can open a return request * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to open return request, WP_Error object otherwise. */ public function open_item_permissions_check($request) { } /** * Who can complete a return request * * @param \WP_REST_Request $request Rest Request. * @return true|\WP_Error True if the request has access to complete return request, WP_Error object otherwise. */ public function complete_item_permissions_check($request) { } } /** * Service provider for ReviewProtocol Rest Requests */ class ReviewProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'review_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReviewProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['find', 'edit']; /** * Register REST Routes. * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get review protocol permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Update review protocol. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Review Rest Requests */ class ReviewsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'reviews'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ReviewsController::class; /** * Register Additional REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Who can list reviews? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Who can get a specific review? * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Create review. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update review. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete review. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Swaps */ class RuleSchemaRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'auto_fees/rule_schema'; /** * Methods allowed for the model. * * @var array */ protected $methods = ['find']; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\RuleSchemaController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Only users with the edit_sc_prices capability can get a specific data. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class SettingsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'settings'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\SettingsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Update item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Shipping Method Rest Requests */ class ShippingMethodRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'shipping_methods'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ShippingMethodController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Retrieve permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete shipping method * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to delete items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Shipping Profile Rest Requests */ class ShippingProfileRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'shipping_profiles'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ShippingProfileController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Retrieve permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for shipping protocol REST API Requests */ class ShippingProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'shipping_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ShippingProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['find', 'edit']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Need privileges to get item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need privileges to update item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Shipping Rate Rest Requests */ class ShippingRateRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'shipping_rates'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ShippingRateController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Retrieve permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Shipping Zone Rest Requests */ class ShippingZoneRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'shipping_zones'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\ShippingZoneController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Retrieve permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * List permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete permissions * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Shipping Zone Rest Requests */ class SiteHealthRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'site-health'; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register routes required to work. * * @return void */ public function registerRoutes() { } /** * Retrieve permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function permission($check) { } } /** * Service provider for Price Rest Requests */ class StatisticRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'stats'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\StatisticsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['find']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get the collection params. * * @return array */ public function get_collection_params() { } /** * Get file * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class SubscriptionProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'subscription_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\SubscriptionProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get the protocols. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class SubscriptionRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'subscriptions'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\SubscriptionsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit']; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific subscription * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to read checkout sessions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Check update permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Check cancel permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function cancel_permissions_check($request) { } /** * Check cancel permissions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function restore_permissions_check($request) { } /** * Check complete permissions. * Only users who can edit all subscriptions can complete a subscription. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function complete_permissions_check($request) { } /** * Only a person who has the ability to edit all subscription * can pay off a subscription early. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function payoff_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } /** * Service provider for Swaps */ class SwapRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'swaps'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\SwapsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific price. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list prices * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Tax Override Rest Requests */ class TaxOverrideRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'tax_overrides'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\TaxOverrideController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Get Items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Need priveleges to create * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class TaxProtocolRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'tax_protocol'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\TaxProtocolController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = []; /** * Register REST Routes * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get the protocols. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class TaxRegistrationRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'tax_registrations'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\TaxRegistrationController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get item * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Get Items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Need priveleges to create * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Need priveleges to update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class TaxZoneRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'tax_zones'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\TaxZoneController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Get Items * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class UploadsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'uploads'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\UploadsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['create']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class UpsellFunnelRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'upsell_funnels'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\UpsellFunnelsController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get an upsell funnel. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list funnels * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class UpsellRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'upsells'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\UpsellsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Whether the rest service provider converts currency. * * @var boolean */ protected $converts_currency = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'create', 'find', 'edit', 'delete']; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific price. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Who can list prices * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Create model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function create_item_permissions_check($request) { } /** * Update model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Delete model. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function delete_item_permissions_check($request) { } } /** * Service provider for Variant Options Rest Requests. */ class VariantOptionsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'variant_options'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\VariantOptionsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specfic variant option. * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function get_item_permissions_check($request) { } /** * Who can list variant options * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function get_items_permissions_check($request) { } /** * Who can create variant option * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function create_item_permissions_check($request) { } /** * Who can edit variant option * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function update_item_permissions_check($request) { } /** * Who can delete variant option * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function delete_item_permissions_check($request) { } } /** * Service provider for Variant Values Rest Requests */ class VariantValuesRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'variant_values'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\VariantValuesController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specfic variant. * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function get_item_permissions_check($request) { } /** * Who can list variant values * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function get_items_permissions_check($request) { } /** * Who can create variant value * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function create_item_permissions_check($request) { } /** * Who can edit variant value * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function update_item_permissions_check($request) { } /** * Who can delete variant value * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function delete_item_permissions_check($request) { } } /** * Service provider for Variant Rest Requests */ class VariantsRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'variants'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\VariantsController::class; /** * Filter index list items by schema context. * * @var boolean */ protected $filters_list_items = true; /** * Methods allowed for the model. * * @var array */ protected $methods = ['index', 'find', 'edit', 'create', 'delete']; /** * Get our sample schema for post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specfic variant. * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function get_item_permissions_check($request) { } /** * Who can list variants * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function get_items_permissions_check($request) { } /** * Who can create variants * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function create_item_permissions_check($request) { } /** * Who can edit variants * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function update_item_permissions_check($request) { } /** * Who can delete variants * * @param \WP_REST_Request $request Full details about the request . * @return true | \WP_Error true if the request has access to create items, WP_Error object otherwise . */ public function delete_item_permissions_check($request) { } } /** * Service provider for Price Rest Requests */ class VerificationCodeRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'verification_codes'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\VerificationCodeController::class; /** * Methods allowed for the model. * * @var array */ protected $methods = ['create']; /** * Register additional routes (the /verify route). * * @return void */ public function registerRoutes() { } /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get verify a code. * * @param \WP_REST_Request $request Full details about the request. * @return true */ public function verify_permissions_check($request) { } /** * Must be a WordPress user to generate a verification code. * * @param \WP_REST_Request $request Full details about the request. * @return boolean */ public function create_item_permissions_check($request) { } } /** * Service provider for Webhooks Rest Requests */ class WebhooksRestServiceProvider extends \SureCart\Rest\RestServiceProvider implements \SureCart\Rest\RestServiceInterface { /** * Endpoint. * * @var string */ protected $endpoint = 'webhooks'; /** * Rest Controller * * @var string */ protected $controller = \SureCart\Controllers\Rest\WebhookController::class; /** * Get our sample schema for a post. * * @return array The sample schema for a post */ public function get_item_schema() { } /** * Anyone can get a specific subscription * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_item_permissions_check($request) { } /** * Need priveleges to read checkout sessions. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function get_items_permissions_check($request) { } /** * Anyone can update. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise. */ public function update_item_permissions_check($request) { } /** * Nobody can delete. * * @param \WP_REST_Request $request Full details about the request. * @return false */ public function delete_item_permissions_check($request) { } } } namespace SureCart\Routing { /** * Provide custom route conditions. * This is an example class so feel free to modify or remove it. */ class AdminRouteService { /** * Page name map. * * @var array */ protected $page_names = ['product' => 'sc-products', 'products' => 'sc-products', 'bundle' => 'sc-bundles', 'bundles' => 'sc-bundles', 'order' => 'sc-orders', 'orders' => 'sc-orders', 'checkout' => 'sc-checkouts', 'bump' => 'sc-bumps', 'bumps' => 'sc-bumps', 'upsell' => 'sc-upsell-funnels', 'upsells' => 'sc-upsell-funnels', 'invoice' => 'sc-invoices', 'invoices' => 'sc-invoices', 'auto-fee' => 'sc-auto-fees', 'auto-fees' => 'sc-auto-fees', 'customers' => 'sc-customers', 'customer' => 'sc-customers', 'subscriptions' => 'sc-subscriptions', 'subscription' => 'sc-subscriptions', 'licenses' => 'sc-licenses', 'license' => 'sc-licenses', 'abandoned-checkout' => 'sc-abandoned-checkouts', 'abandoned-checkouts' => 'sc-abandoned-checkouts', 'upgrade-paths' => 'sc-product-groups', 'coupon' => 'sc-coupons', 'coupons' => 'sc-coupons', 'product_group' => 'sc-product-groups', 'product_groups' => 'sc-product-groups', 'cancellations' => 'sc-cancellation-insights', 'product_collection' => 'sc-product-collections', 'product_collections' => 'sc-product-collections', 'reviews' => 'sc-reviews', 'review' => 'sc-reviews', 'restore' => 'sc-restore', 'affiliates' => 'sc-affiliates', 'affiliate' => 'sc-affiliate', 'affiliate-click' => 'sc-affiliate-clicks', 'affiliate-clicks' => 'sc-affiliate-clicks', 'affiliate-referral' => 'sc-affiliate-referrals', 'affiliate-referrals' => 'sc-affiliate-referrals', 'affiliate-requests' => 'sc-affiliate-requests', 'affiliate-request' => 'sc-affiliate-requests', 'affiliate-payouts' => 'sc-affiliate-payouts', 'affiliate-payout' => 'sc-affiliate-payouts', 'affiliate-payout-groups' => 'sc-affiliate-payout-groups', 'affiliate-payout-group' => 'sc-affiliate-payout-groups']; /** * Get the page names. * * @return void */ public function getPageNames() { } /** * Get URL function * * @return AdminURLService */ public function getUrl() { } } /** * Provide custom route conditions. * This is an example class so feel free to modify or remove it. */ class AdminRouteServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } /** * Generates links for specific admin urls. */ class AdminURLService { /** * Stores the admin page names. * * @var array */ protected $page_names = []; /** * Initialize page names * * @param array $page_names Array of page names and their admin query names. */ public function __construct($page_names) { } /** * New page url * * @param string $name Model lowercase name. * @return string URL for the page. */ public function new($name) { } /** * Edit page url * * @param string $name Model lowercase name. * @param string $id Model id. * * @return string URL for the page. */ public function edit($name, $id = null) { } /** * Show page url * * @param string $name Model lowercase name. * @param string $id Model id. * * @return string URL for the page. */ public function show($name, $id = null) { } /** * Admin index page url * * @param string $name Model lowercase name. * @return string URL for the page. */ public function index($name) { } /** * Archive page url * * @param string $name Model lowercase name. * @param string $id Model id. * * @return string URL for the page. */ public function toggleArchive($name, $id) { } /** * Duplicate page url. * * @param string $name Model lowercase name. * @param string $id Model id. * * @return string URL for the page. */ public function duplicate($name, $id) { } /** * Sync a specific model * * @param string $name Model lowercase name. * * @return string URL for the page. */ public function syncAll($name) { } /** * Sync a specific model * * @param string $name Model lowercase name. * @param string $id Model id. * * @return string URL for the page. */ public function sync($name, $id) { } /** * Import results page url. * * @param string $name Model lowercase name. * @param string|array $import_ids The import ID(s). * @param string|null $session_id Optional session ID for skipped products lookup. * * @return string URL for the page. */ public function importResults($name, $import_ids, $session_id = null) { } /** * Import results page URL by session ID (for all-skipped imports). * * @param string $name Model lowercase name. * @param string $session_id The session ID. * * @return string URL for the page. */ public function importResultsBySession($name, $session_id) { } /** * Edit model action */ public function editModel($action, $id, $redirect_url = '') { } /** * Build the checkout url. * * @param array $line_items Line items. * @return string url */ public function checkout($line_items = []) { } /** * Build the line items array. * * @param array $line_items Line items. * @return array Line items. */ public function lineItems($line_items) { } /** * Create Url. * * @param string $name Model lowercase name. * * @return string URL for the page. */ public function create($name) { } } /** * A service for registering custom routes. */ class PermalinkService { /** * The regex url. * * @var string */ protected $url = ''; /** * The regex url. * * @var string */ protected $query = ''; /** * Holds the params we care about for this route. * * @var array */ protected $params = []; /** * Query vars. * * @var array */ protected $query_vars = []; /** * The priority of the new rule. * * @var string */ protected $priority = 'top'; /** * Additional rewrite rules to add. * * @var array */ protected $additional_rules = []; /** * Rules to remove based on pattern matching. * * @var array */ protected $remove_rules_patterns = []; /** * Set the url. * * @param string $url The url. * * @return $this */ public function url($url) { } /** * Set query. * * @param string $query The query. * * @return $this */ public function query($query) { } /** * Add any params we will use. * * @param array $params Array of params. * * @return $this */ public function params($params = []) { } /** * Set the priority of the rule. * * @param "top"|"bottom" $priority The priority. * * @return $this */ public function priority($priority) { } /** * Add an additional rewrite rule. * * @param string $regex The regex for the rule. * @param string $query The query for the rule. * @param string $priority The priority for the rule. * * @return $this */ public function addRule($regex, $query, $priority = 'top') { } /** * Remove rules that match specific patterns. * * @param string $rule_pattern Pattern to match against the rule. * @param string $query_pattern Pattern to match against the query. * * @return $this */ public function removeRules($rule_pattern, $query_pattern) { } /** * Add the rewrite rule. * * @return void */ public function addRewriteRule() { } /** * Add query vars. * * @param array $query_vars The query vars. * * @return array */ public function addQueryVars($query_vars) { } /** * Create the permalink. * This handles adding the rewrite rule and query vars. * * @return mixed */ public function create() { } } /** * Provide custom route conditions. * This is an example class so feel free to modify or remove it. */ class PermalinkServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * A service for handling permalink settings on the permalinks page. */ class PermalinkSettingService { /** * The slug of the setting. * * @var string */ protected $slug = ''; /** * The label of the setting. * * @var string */ protected $description = ''; /** * The label of the setting. * * @var string */ protected $label = ''; /** * The permalinks for the setting. * * @var array */ protected $options = []; /** * Currently saved base. * * @var string */ protected $current_base = ''; /** * The option key. * * @var string */ protected $option_key = ''; /** * Last part of the permalink. This is used to generate the preview. * * @var string */ protected $sample_preview_text = ''; /** * Build the permalink setting. * * @param array $args The arguments. */ public function __construct($args = []) { } /** * Boostrap settings. * * @return void */ public function bootstrap() { } /** * Add translations. * * @return void */ public function addTranslations() { } /** * Initialize settings. */ public function settingsInit() { } /** * Add sections to permalinks page. */ public function addSettingsSection() { } /** * Display the settings. */ public function settings() { } /** * Save the settings. */ public function maybeSaveSettings() { } } /** * Permalinks settings service. * Handles fetching, saving and updating permalink settings. */ class PermalinksSettingsService { /** * Permalink settings. * * @var array */ private $permalinks = []; /** * Get the current values of the permalinks. */ public function __construct() { } /** * Get the permalink settings. * * @return array */ public function getSettings() { } /** * Update the permalink settings. * * @param string $key The key to update. * @param array $value The value to update. * * @return bool */ public function updatePermalinkSettings($key, $value) { } /** * Sanitize the permalink. * * @param string $value The value to sanitize. * * @return string */ public function sanitize($value): string { } /** * Get get the base for a slug. * * @param string $slug The slug of the base. * * @return string */ public function getBase($slug) { } } /** * Provide custom route conditions. * This is an example class so feel free to modify or remove it. */ class RouteConditionsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } /** * Register a class as a route condition * * @param \Pimple\Container $container * @param string $name * @param string $class_name * @return void */ protected function registerRouteCondition($container, $name, $class_name) { } } } namespace SureCart\Settings { /** * Settings registration service. */ class RegisterSettingService { /** * Our setting prefix. * * @var string */ protected $prefix = 'surecart_'; /** * Holds the option group name. * * @var string */ protected $option_group; /** * Holds the option name. * * @var string */ protected $option_name; /** * Holds the options args. * * @var array */ protected $args = []; /** * The autoload value for this option, or null to use WordPress default. * * @var bool|null */ protected $autoload; /** * The full prefixed option name. * * @var string */ protected $full_option_name; /** * Register a setting. * * @param string $option_group A settings group name. Should correspond to an allowed option key name. * Default allowed option key names include 'general', 'discussion', 'media', * 'reading', 'writing', and 'options'. * @param string $option_name The name of an option to sanitize and save. * @param array $args { * Data used to describe the setting when registered. * * @type string $type The type of data associated with this setting. * Valid values are 'string', 'boolean', 'integer', 'number', 'array', and 'object'. * @type string $description A description of the data attached to this setting. * @type callable $sanitize_callback A callback function that sanitizes the option's value. * @type bool|array $show_in_rest Whether data associated with this setting should be included in the REST API. * When registering complex settings, this argument may optionally be an * array with a 'schema' key. * @type mixed $default Default value when calling `get_option()`. * @type bool $autoload Whether to autoload this option. Omit to use WordPress default. */ public function __construct($option_group, $option_name, $args = []) { } /** * Call registration hooks. * * @return void */ public function register() { } /** * Filter the default autoload value for this option. * * @param string|null $autoload The default autoload value. * @param string $option The option name. * @param mixed $value The option value. * * @return string|null */ public function filterAutoload($autoload, $option, $value) { } /** * Register the setting * * @return void */ public function registerSetting() { } } /** * A service for registering settings. */ class SettingService { /** * Per-user meta key for the "Introducing Modern View" onboarding modal * dismissal flag. Stored as user_meta (not a site option) so each admin * dismisses for themselves — onboarding is inherently per-user. */ const MODERN_VIEW_INTRO_DISMISSED_META = 'surecart_modern_view_intro_dismissed'; /** * Boostrap settings. * * @return void */ public function bootstrap() { } /** * Handle setting enhanced admin views. * * @return void */ public function handleSetEnhancedAdminViews() { } /** * Mark the Modern View intro modal as dismissed for the current user. * * @return void */ public function handleDismissModernViewIntro() { } /** * Whether the current user has dismissed the Modern View intro modal. * * @return bool */ public static function isModernViewIntroDismissed(): bool { } /** * Build the `modern_view_intro` data bag consumed by the React modal. * * @return array */ public static function getModernViewIntroData(): array { } /** * Register settings. * * @return void */ public function registerSettings() { } /** * Register a setting. * * @param string $option_group A settings group name. Should correspond to an allowed option key name. * Default allowed option key names include 'surecart', 'discussion', 'media', * 'reading', 'writing', and 'options'. * @param string $option_name The name of an option to sanitize and save. * @param array $args { * Data used to describe the setting when registered. * * @type string $type The type of data associated with this setting. * Valid values are 'string', 'boolean', 'integer', 'number', 'array', and 'object'. * @type string $description A description of the data attached to this setting. * @type callable $sanitize_callback A callback function that sanitizes the option's value. * @type bool|array $show_in_rest Whether data associated with this setting should be included in the REST API. * When registering complex settings, this argument may optionally be an * array with a 'schema' key. * @type mixed $default Default value when calling `get_option()`. */ public function register($option_group, $option_name, $args = []) { } /** * Sanitize rich (post) content, normalizing "visually empty" editor output * (e.g. "

") to an empty string. * * The block/rich text editor submits "

" for an empty field, which * wp_kses_post preserves as a non-empty string. That breaks empty-value * default fallbacks. Collapsing it to '' keeps the emptiness contract * consistent with the plain-text settings sanitized via sanitize_text_field. * * @param string $value Raw setting value. * @return string Sanitized content, or '' when visually empty. */ public function sanitizeRichContent($value) { } /** * Recaptcha service. * * @return RecaptchaValidationService */ public function recaptcha() { } /** * Get the option. * * @return mixed */ public function get($name, $default = false) { } /** * Get the number of remaining learn steps. * * @return int */ public function getLearnRemainingSteps() { } /** * Get the permalinks settings. * * @return PermalinksSettingsService */ public function permalinks() { } } /** * Register a session for Flash and OldInput to work with. */ class SettingsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register settings service. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap settings. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\Support { /** * Array support. */ class Arrays { /** * Flatten an array * * @param array $array Array. * * @return array */ public static function flatten(array $array) { } /** * Insert an array after a key in another array. * * @param string $key Key to insert after. * @param array $source_array Array to insert into. * @param array $insert_array Array to insert. * * @throws \Exception If key does not exist in the array. * * @return array */ public static function insertAfter($key, $source_array, $insert_array) { } } } namespace SureCart\Support\Blocks { /** * The block templates service. */ class TemplateUtilityService { /** * Holds the path for the directory where the block templates will be kept. * * @var string */ private $templates_directory; /** * Holds the path for the directory where the block template parts will be kept. * * @var string */ private $template_parts_directory; /** * The product template types. * * @var array */ private $plugin_template_types; /** * SureCart plugin slug * * This is used to save templates to the DB which are stored against this value in the wp_terms table. * * @var string */ const PLUGIN_SLUG = 'surecart/surecart'; /** * Set the directories where the block templates will be kept. * * @param string $templates_directory The path for the directory where the block templates will be kept. * @param string $template_parts_directory The path for the directory where the block template parts will be kept. */ public function __construct($templates_directory, $template_parts_directory) { } /** * Gets the first matching template part within themes directories * * Since [Gutenberg 12.1.0](https://github.com/WordPress/gutenberg/releases/tag/v12.1.0), the conventions for * block templates and parts directory has changed from `block-templates` and `block-templates-parts` * to `templates` and `parts` respectively. * * This function traverses all possible combinations of directory paths where a template or part * could be located and returns the first one which is readable, prioritizing the new convention * over the deprecated one, but maintaining that one for backwards compatibility. * * @param string $template_slug The slug of the template (i.e. without the file extension). * @param string $template_type Either `wp_template` or `wp_template_part`. * * @return string|null The matched path or `null` if no match was found. */ public function getThemeTemplatePath($template_slug, $template_type = 'wp_template') { } /** * Gets the directory where templates of a specific template type can be found. * * @param string $template_type wp_template or wp_template_part. * * @return string */ public function getTemplatesDirectory($template_type = 'wp_template') { } /** * Finds all nested template part file paths in a theme's directory. * * @param string $base_directory The theme's file path. * @return array $path_list A list of paths to all template part files. */ public function getTemplatePaths($base_directory) { } /** * Converts template paths into a slug * * @param string $path The template's path. * @return string slug */ public function generateTemplateSlugFromPath($path) { } /** * Check if the theme has a template. So we know if to load our own in or not. * * @param string $template_name name of the template file without .html extension e.g. 'single-product'. * @return boolean */ public function themeHasTemplate($template_name) { } /** * Check if the theme has a template. So we know if to load our own in or not. * * @param string $template_name name of the template file without .html extension e.g. 'single-product'. * @return boolean */ public function themeHasTemplatePart($template_name) { } /** * Is this a FSE theme? * * @return boolean */ public function isFSETheme() { } /** * Does this theme support block templates? * * @return boolean */ public function supportsBlockTemplates() { } /** * Build a unified template object based a post Object. * Important: This method is an almost identical duplicate from wp-includes/block-template-utils.php as it was not intended for public use. It has been modified to build templates from plugins rather than themes. * * @param \WP_Post $post Template post. * * @return \WP_Block_Template|\WP_Error Template. */ public function buildTemplateResultsFromPost($post) { } /** * Returns an array containing the references of * the passed blocks and their inner blocks. * * @param array $blocks array of blocks. * * @return array block references to the passed blocks and their inner blocks. */ public function flattenBlocks(&$blocks) { } /** * Parses wp_template content and injects the current theme's * stylesheet as a theme attribute into each wp_template_part * * @param string $template_content serialized wp_template content. * * @return string Updated wp_template content. */ public function injectThemeAttributeInContent($template_content) { } /** * Build a unified template object based on a theme file. * Important: This method is an almost identical duplicate from wp-includes/block-template-utils.php as it was not intended for public use. It has been modified to build templates from plugins rather than themes. * * @param array|object $template_file Theme file. * @param string $template_type wp_template or wp_template_part. * * @return \WP_Block_Template Template. */ public function buildTemplateResultFromFile($template_file, $template_type) { } /** * Returns template titles. * * @param string $template_slug The templates slug (e.g. single-product). * @return string Human friendly title. */ public function getBlockTemplateTitle($template_slug) { } /** * Returns template descriptions. * * @param string $template_slug The templates slug (e.g. single-product). * @return string Template description. */ public function getBlockTemplateDescription($template_slug) { } /** * Returns whether a block template is available in the site editor. * * @param string $template_slug The templates slug (e.g. single-product). * * @return boolean */ public function isBlockAvailableInSiteEditor($template_slug) { } /** * Build a new template object so that we can make SureCart Blocks default templates available in the current theme should they not have any. * * @param string $template_file Block template file path. * @param string $template_type wp_template or wp_template_part. * @param string $template_slug Block template slug e.g. single-product. * @param bool $template_is_from_theme If the block template file is being loaded from the current theme instead of SureCart Blocks. * * @return object Block template object. */ public function createNewBlockTemplateObject($template_file, $template_type, $template_slug, $template_is_from_theme = false) { } /** * Removes templates that were added to a theme's block-templates directory, but already had a customised version saved in the database. * * @param \WP_Block_Template[]|\stdClass[] $templates List of templates to run the filter on. * * @return array List of templates with duplicates removed. The customised alternative is preferred over the theme default. */ public static function removeThemeTemplatesWithCustomAlternative($templates) { } /** * Returns whether the passed `$template` has a title, and it's different from the slug. * * @param object $template The template object. * @return boolean */ public function templateHasTitle($template) { } } } namespace SureCart\Support { /** * Color service. */ class ColorService { /** * Calculate the foreground color based on the background color. * * @param string $color The background color. * @return string The foreground color. */ public function calculateForegroundColor($color) { } /** * Destructure the color to RGB. * * @param string $color The color. */ private function destructureColorToRgb($color) { } /** * Calculate the brightness. * * @param string $red The red. * @param string $green The green. * @param string $blue The blue. * @return string */ private function calculateBrightness($red, $green, $blue) { } /** * Allocate white or black. * * @param string $brightness The brightness. * @return string */ private function allocateWhiteOrBlack($brightness) { } } /** * Handles currency coversion and formatting */ class Currency { /** * Check if the currency is supported and enabled for display/conversion. * * @param string $currency The currency code. * * @return bool */ public static function isSupportedCurrency($currency) { } /** * Get the current currency. * * @return string */ public static function getCurrentCurrency() { } /** * Get currency from request parameters (URL or cookie) * * @return string|null */ public static function getCurrencyFromRequest() { } /** * Get currency from geolocation using NumberFormatter * * @return string|null */ public static function getCurrencyFromGeolocation() { } /** * Get the currency locale. * * @return string */ public static function getCurrencyLocale() { } /** * Get the locales. * * @return array */ public static function getLocales() { } /** * Get the preferred locale from the header. * * @return string */ public static function getPreferredLocaleFromHeader() { } /** * Get the default currency. * * @return string */ public static function getDefaultCurrency() { } /** * Get the exchange rate for the current currency. * * @param string|null $currency_code Currency code. * @return float */ public static function getExchangeRate($currency_code = null) { } /** * Get the currency. * * @param string $currency_code Currency code. * * @return DisplayCurrency|null */ public static function getDisplayCurrency($currency_code = null) { } /** * Get the name of the currency. * * @param string $currency_code Currency code. * * @return string The name of the currency. */ public static function getName($currency_code) { } /** * Get all available Currency symbols. * * Currency symbols and names should follow the Unicode CLDR recommendation (http://cldr.unicode.org/translation/currency-names) * * @param string|null $key Currency code. * * @return string */ public static function getCurrencySymbol($key = null) { } /** * Format the currency into the current locale. * * @param integer $amount Amount as an integer. * @param string $currency_code 3 digit currency code. * @param array $args Additional formatting arguments. * * @return string */ public static function format($amount, $currency_code = null, $args = []) { } /** * Get zero decimal currencies in uppercase. * * @return array */ public static function getZeroDecicalCurrencies(): array { } /** * Format the currency number. * * @param integer|float $amount Amount. * * @return string Formatted currency number. */ public static function formatCurrencyNumber($amount) { } /** * Get a list of supported currencies. * * @return array */ public static function list() { } /** * Get a list of supported currencies. * * @return array */ public static function getSupportedCurrencies() { } /** * Determine if this is a zero decimal currency. * * @param string $currency The currency code. * * @return bool */ public static function isZeroDecimal($currency) { } /** * Convery product amount. * * @param int $amount The Amount. * @param string $currency The Currency. * * @return int */ public static function maybeConvertAmount($amount, $currency = null) { } } /** * Class responsible for encrypting and decrypting data. * * @since 1.0.0 * @access private * @ignore */ class Encryption { /** * Key to use for encryption. * * @since 1.0.0 * @var string */ private $key; /** * Salt to use for encryption. * * @since 1.0.0 * @var string */ private $salt; /** * Constructor. * * @since 1.0.0 */ final public function __construct() { } /** * Encrypts a value. * * If a user-based key is set, that key is used. Otherwise the default key is used. * * @since 1.0.0 * * @param string $value Value to encrypt. * @return string|bool Encrypted value, or false on failure. */ protected function encrypt($value) { } /** * Decrypts a value. * * If a user-based key is set, that key is used. Otherwise the default key is used. * * @since 1.0.0 * * @param string $raw_value Value to decrypt. * @return string|bool Decrypted value, or false on failure. */ protected function decrypt($raw_value) { } /** * Gets the default encryption key to use. * * @since 1.0.0 * * @return string Default (not user-based) encryption key. */ protected function getDefaultKey() { } /** * Gets the default encryption salt to use. * * @since 1.0.0 * * @return string Encryption salt. */ private function getDefaultSalt() { } /** * Static Facade Accessor * * @param string $method Method to call. * @param mixed $params Method params. * * @return mixed */ public static function __callStatic($method, $params) { } } } namespace SureCart\Support\Errors { /** * Handles error translations from the API. */ class ErrorsService { /** * Translations for error codes. */ public function translate($response = null, $code = null) { } } class ErrorsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Handles error translations from the API. */ class ErrorsTranslationService { /** * Translate based on specific error code. * * @param string $code The error code. * @return string|false The translated error message or false if not found. */ public function codeTranslation($code = '') { } /** * Replaceable attribute translation * * @param string $attribute Attribute name. * @param string $type Type of validation. * * @return string|false */ public function attributeTranslation($attribute, $type, $options = []) { } public function attributeOptionsTranslation($attribute, $type, $options) { } /** * Translate just the type field * * @param string $type Type sting. * @return string|false */ public function typeTranslation($type = '') { } /** * Translate a specific error response * * @param array $response Error response. * @return \WP_Error */ public function translateErrorMessage($response, $fallback = null) { } /** * Translate Errors * * @param array $response Response from platform. * @param integer $code Status code. * * @return \WP_Error */ public function translate($response = null, $code = null) { } } } namespace SureCart\Support { /** * Validates GitHub-hosted plugin/theme zip URLs before they are used for installation. * * Acts as an allow-list gate so only trusted GitHub download hosts and installable * paths are accepted. This is a structural pre-flight check, not a replacement for * a runtime SSRF guard. */ class GitHubInstaller { /** * Hosts that are permitted to serve installable zips. * * Matched exactly (lowercased) — no suffix or substring matching. * * @var array */ protected static $allowed_hosts = array('github.com', 'codeload.github.com', 'objects.githubusercontent.com', 'release-assets.githubusercontent.com'); /** * Validate a URL and return a trusted GitHub zip download URL. * * @param string $url The candidate download URL. * * @return string|\WP_Error The trimmed URL on success, or a WP_Error describing the failure. */ public static function resolveZipUrl(string $url) { } /** * Check whether a host is on the installable allow-list. * * Matched exactly (lowercased) — no suffix or substring matching. Exposed so * the install pipeline can re-validate redirect targets against the same list. * * @param string $host The host to check. * * @return bool */ public static function isAllowedHost(string $host): bool { } /** * Validate the path shape for a github.com download URL. * * Accepts release assets and any path ending in .zip; rejects bare repo URLs. * * @param string $path The URL path component. * * @return true|\WP_Error True when installable, otherwise a WP_Error. */ protected static function isValidGitHubPath(string $path) { } /** * Validate the path shape for githubusercontent.com and codeload.github.com URLs. * * Requires a .zip suffix, except for codeload archive paths which serve zips * without an extension (e.g. /{owner}/{repo}/zip/refs/...). * * @param string $path The URL path component. * * @return true|\WP_Error True when installable, otherwise a WP_Error. */ protected static function isValidArchivePath(string $path) { } } /** * Handles interval translations */ class Interval { /** * Translate the interval. * * @param int $amount The interval amount. * @param string $interval The interval type (e.g., "day", "week"). * @param string $prefix (optional) The prefix to use before the interval. Default: "every". * @param string $fallback (optional) The fallback text for non-standard intervals. Default: "once". * @param bool $showSingle (optional) Whether to use singular forms for amounts (e.g., "1 day" instead of "1 days"). Default: false. * @return string The translated interval string. */ public static function translate(int $amount, string $interval, string $prefix = 'every', string $fallback = 'once', bool $showSingle = false) { } /** * Translate abbreviated interval. * * @param int $amount The interval amount. * @param string $interval The interval type (e.g., "day", "week"). * @param string $fallback (optional) The fallback text for non-standard intervals. Default: "once". * @param bool $showSingle (optional) Whether to use singular forms for amounts (e.g., "1 day" instead of "1 days"). Default: false. * @return string The translated and abbreviated interval string. */ function translateAbbreviatedInterval(int $amount, string $interval, string $fallback = 'once', bool $showSingle = false) { } } /** * Strips private catalog fields from anything an anonymous visitor can read. * * Storefront and checkout pages serialize catalog models into component data * scripts and the `#sc-store-data` initial state, and the guest checkout routes * return products expanded onto line items. This runs the same strip as the * anonymous catalog REST routes on all of them, so the paths cannot drift apart. * * Nothing enforces this at the output boundary yet: a new serialization of a * product, price or variant into page HTML is unprotected until it is routed * through here. * * @see \SureCart\Concerns\StripsPrivateCatalogFields Field lists and the * `surecart/rest/private_catalog_fields` filter. */ class PublicCatalogData { use \SureCart\Concerns\StripsPrivateCatalogFields; /** * Fields the storefront renders from, kept at this boundary only. * * - available_stock: sold-out gates, in-stock variant selection and * quantity caps (sc-product-quantity, sc-line-items, the price/variant * selectors and the bundle component picker). * - purchase_limit: quantity caps (getMaxStockQuantity). * - archived: render gates (sc-price-choice, product store getters). * * The REST providers keep stripping these — the storefront renders stock * state server-side, the anonymous REST catalog does not need to. * * @return array */ protected function preservedCatalogFields() { } /** * Get product data safe to serialize into public page HTML. * * @param \SureCart\Models\Product|array|object|null $product The product model or its array/object form. * * @return array|mixed The stripped product array. Non-object/array input passes through untouched. */ public static function product($product) { } /** * Get price data safe to serialize into public page HTML. * * Also strips an expanded product on the price. * * @param \SureCart\Models\Price|array|object|null $price The price model or its array/object form. * * @return array|mixed The stripped price array. Non-object/array input passes through untouched. */ public static function price($price) { } /** * Get variant data safe to serialize into public page HTML. * * @param \SureCart\Models\Variant|array|object|null $variant The variant model or its array/object form. * * @return array|mixed The stripped variant array. Non-object/array input passes through untouched. */ public static function variant($variant) { } /** * Get variant option data safe to serialize into public page HTML. * * @param \SureCart\Models\VariantOption|array|object|null $option The variant option model or its array/object form. * * @return array|mixed The stripped variant option array. Non-object/array input passes through untouched. */ public static function variantOption($option) { } /** * Strip catalog data expanded onto a checkout's line items. * * The checkout routes accept anonymous callers by design (guest checkout), * and `expand=price.product` pulls a full product into the response — the * same data the page output strips, reachable without a purchase. Applied * to the view context only, so the owner and the matching customer still * get the full record. * * @param array|mixed $data Checkout response data. Anything else passes through untouched. * * @return array|mixed */ public static function lineItems($data) { } /** * Normalize a model/object to the exact array shape wp_json_encode outputs, * so stripping sees what would have been serialized. * * @param mixed $data The data to normalize. * * @return array|mixed */ private static function toDataArray($data) { } } /** * Handles server functions */ class Server { /** * The url of the site. * * @return string */ protected $url = ''; /** * Get the url of the site * * @param string $url The url for the site. */ public function __construct($url) { } /** * Are we on the localhost? * * @return boolean */ public function isLocalHost() { } /** * Check if the site is a local domain (.local or .test.) * * @return boolean */ public function isLocalDomain() { } /** * Is this a local IP address? * * @return boolean */ public function isLocalIP() { } } /** * Datetime utilities. */ class TimeDate { /** * Get the SureCart date format * * @return string */ public static function getDateFormat() { } /** * Get the SureCart time format * * @return string */ public static function getTimeFormat() { } /** * Get the site locale from the WPLANG option. * * WordPress REST API requests include `_locale=user` which triggers * switch_to_user_locale(), causing wp_date() to output month names in * the user's profile language instead of the site language. We read * WPLANG directly from the database to bypass the switched locale. * * @return string */ public static function getSiteLocale() { } /** * Date Format - Allows to change date format for everything SureCart * * @return string */ public static function formatDate($timestamp) { } /** * WooCommerce Time Format - Allows to change time format for everything WooCommerce. * * @return string */ public static function formatTime($timestamp) { } /** * Format both date and time * * @param integer $timestamp * @return string */ public static function formatDateAndTime($timestamp) { } /** * Human readable Human Time Diff * * @param integer $timestamp Timestamp * @return string */ public static function humanTimeDiff($timestamp, $ignore_after = '1 day') { } public static function timezoneOptions() { } } /** * Handles currency coversion and formatting */ class URL { /** * Get the scheme and http host. * * @param string $url The url. * * @return string */ public static function getSchemeAndHttpHost(string $url): string { } } class UtilityService { /** * Service container. * * @var \Pimple\Container */ protected $container; /** * UtilityService constructor. * * @param \Pimple\Container $container Service container. */ public function __construct($container) { } /** * Get the block template utility service. * * @return TemplateUtilityService */ public function blockTemplates() { } /** * Holds the color service. * * @return ColorService */ public function color() { } } /** * Templates service provider. */ class UtilityServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCartCore\Application { /** * Provides static access to an Application instance. * * @mixin ApplicationMixin */ trait ApplicationTrait { /** * Application instance. * * @var Application|null */ public static $instance = null; /** * Make and assign a new application instance. * * @return Application */ public static function make() { } /** * Get the Application instance. * * @codeCoverageIgnore * @return Application|null */ public static function getApplication() { } /** * Set the Application instance. * * @codeCoverageIgnore * @param Application|null $application * @return void */ public static function setApplication($application) { } /** * Invoke any matching instance method for the static method being called. * * @param string $method * @param array $parameters * @return mixed */ public static function __callStatic($method, $parameters) { } } } namespace { /** * Application class. * * @mixin \SureCartAppCore\Application\ApplicationMixin */ class SureCart { use \SureCartCore\Application\ApplicationTrait; } } namespace SureCart\Svg { /** * Svg handler class. */ class Svg { /** * Get the SVG file contents. * * @param string $filename The name of the SVG file (without the .svg extension). * @param array $attributes Attributes to add to the SVG tag. * * @return string SVG file contents */ public function get($filename, $attributes = array()): string { } } /** * Provide Svg dependencies. * * @codeCoverageIgnore */ class SvgServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCart\Sync { /** * Manages the batch check items. * * Allows storing and retrieving batch check items in a single transient. */ class BatchCheckService { /** * The batch check transient key. * * @var string */ protected const BATCH_CHECK_TRANSIENT = 'surecart_batches_check'; /** * The batch check transient expiration. * * @var int */ protected const BATCH_CHECK_TRANSIENT_EXPIRATION = 10 * MINUTE_IN_SECONDS; /** * Get the batch check items. * * @param string $id The id of the batch (optional). * * @return mixed */ public function get($id = '') { } /** * Set the batch check item. * * @param string $id The id of the batch. * @param mixed $item The item to set. * * @return boolean */ public function set($id, $item) { } /** * Remove the batch check item. * * @param string $id The id of the batch. */ public function remove($id) { } /** * Get the batches by prefix. * * @param string $prefix The prefix. * * @return array */ public function getByPrefix($prefix) { } } } namespace SureCart\Sync\Concerns { /** * Provides transient-based locking for sync operations. */ trait HasLockProcess { /** * The lock prefix. * * @var string */ protected $lock_prefix = 'sc_sync_lock'; /** * Get the lock key. * * @param \SureCart\Models\Model $model The model. * * @return string */ protected function getLockKey(\SureCart\Models\Model $model): string { } /** * Check if the lock exists. * * @param \SureCart\Models\Model $model The model. * * @return bool */ protected function hasLock(\SureCart\Models\Model $model): bool { } /** * Acquire the lock. * * @param \SureCart\Models\Model $model The model. * * @return bool */ protected function acquireLock(\SureCart\Models\Model $model): bool { } /** * Release the lock. * * @param \SureCart\Models\Model $model The model. * * @return bool */ protected function releaseLock(\SureCart\Models\Model $model): bool { } } } namespace SureCart\Sync { /** * Syncs the content for a given sync key. */ class ContentSyncService { /** * The application container. * * @var \SureCart\Application */ protected $app; /** * The sync key. * * @var string */ protected const SYNC_KEY = 'surecart_import_content_sync'; /** * Constructor. * * @param \SureCart\Application $app The application. */ public function __construct($app) { } /** * Bootstrap the service. */ public function bootstrap() { } /** * Get the batch service. * * @return BatchCheckService */ protected function batch() { } /** * Get the sync service. * * @return ProductsSyncService */ protected function sync() { } /** * Check if there are any imports to check. * * @return array|bool|\WP_Error */ public function maybeCheckImport() { } /** * Set the content. * * @param array $props The props. * @param \SureCart\Models\Model $model The model. * * @return array */ public function setContent($props, \SureCart\Models\Model $model) { } /** * Set a check to make sure products are synced. * * @param \SureCart\Models\Import $import The import. */ public function setContentBatch($import) { } /** * Remove the check to make sure products are synced. * * @param \SureCart\Models\Import $import The import. */ public function removeContentBatch($import) { } } /** * Syncs customer records to WordPress users. */ class CustomerSyncService { /** * Bootstrap any actions. * * @return void */ public function bootstrap() { } /** * Is this sync running. * * @return boolean */ public function isRunning() { } /** * Show an admin notice if customers are being synced. * * @return void */ public function showSyncNotice() { } /** * Sync customers. * * @param string $page Current page. * @param integer $batch_size Batch size. * @param boolean $create_user Create user. * @param boolean $run_actions Run actions. * * @return void */ public function sync($page, $batch_size, $create_user, $run_actions) { } /** * Sync an individual customer. * * @param \SureCart\Models\Customer $customer Customer. * @param boolean $create_user Create user. * @param boolean $run_actions Run actions. * * @return \SureCart\Models\Customer|\WP_Error */ public function syncCustomer($customer, $create_user, $run_actions) { } } /** * Centralized state management for background import processes. * * Encapsulates WordPress options and transients used to track import progress * across background job batches. Designed to be reusable for different import * types (WooCommerce, Shopify, EDD, etc.) via the $type constructor parameter. * * Key prefixing: all storage keys follow the pattern sc_{type}_import_{suffix}. * * Note: Not concurrency-safe. Relies on the single-import constraint * (only one import of a given type runs at a time, enforced by isRunning()). */ final class ImportState { /** * Import type prefix, e.g. 'woo' → keys are sc_woo_import_*. * * @var string */ private string $type; /** * Constructor. * * @param string $type Import type prefix (e.g. 'woo'). */ public function __construct(string $type) { } /** * Build a prefixed storage key. * * @param string $suffix Key suffix (e.g. 'ids', 'session_id', 'all_skipped'). * * @return string Full key like 'sc_woo_import_ids'. */ private function key(string $suffix): string { } // --- Session --- /** * Get or create the session ID for this import run. * Matches current behavior: lazy session creation on first call. * * @return string Session ID (UUID). */ public function getOrCreateSessionId(): string { } /** * Get the current session ID without creating one. * * @return string|null Session ID or null if not set. */ public function getSessionId(): ?string { } // --- Result IDs --- /** * Append an import batch ID to the accumulated results. * * Not concurrency-safe: read-modify-write. Safe under single-import constraint (isRunning() guard). * * @param string $id The import ID to append. * * @return void */ public function appendResultId(string $id): void { } /** * Get all accumulated import result IDs. * * @return array Array of import IDs. */ public function getResultIds(): array { } // --- Skipped items (transient, 7-day TTL) --- /** * Merge skipped items into the session's transient. * * Session is lazily created here to match existing behavior where the first * batch with skipped items creates the session. * * @param array $items Array of skipped item data. * * @return void */ public function addSkippedItems(array $items): void { } /** * Get skipped items for the current session. * * @return array Array of skipped items, or empty array if no session exists. */ public function getSkippedItems(): array { } /** * Get skipped items by arbitrary session ID. * * @param string $session_id The session ID to look up. * * @return array Array of skipped items. */ public function getSkippedItemsBySession(string $session_id): array { } // --- All-skipped flag --- /** * Mark this import as all-skipped (stores current session ID). * * @return void */ public function markAllSkipped(): void { } /** * Check if all products were skipped. * * @return bool */ public function isAllSkipped(): bool { } /** * Get the session ID stored in the all-skipped flag. * * @return string|null Session ID or null if not set. */ public function getAllSkippedSessionId(): ?string { } // --- Lifecycle --- /** * Clear all option-based state. * * Deletes sc_{type}_import_ids, sc_{type}_import_session_id, sc_{type}_import_all_skipped. * * Only deletes options, not transients. Skipped items transient expires via 7-day TTL. * This matches the current dispatch() and importResults() cleanup behavior. * * @return void */ public function reset(): void { } } } namespace SureCart\Sync\Jobs\Cleanup { /** * This process fetches and queues all products collections for syncing. */ class CollectionsCleanupJob extends \SureCart\Background\Job { /** * The prefix for the action. * * @var string */ protected $prefix = 'surecart'; /** * The action. * * @var string */ protected $action = 'cleanup_product_collections'; /** * Perform task with queued item. * * Override this method to perform any actions required on each * queue item. Return the modified item for further processing * in the next pass through. Or, return false to remove the * item from the queue. * * @param mixed $args Queue item to iterate over. * * @return mixed */ protected function task($args) { } } /** * This process fetches and queues all products for syncing. */ class ProductsCleanupJob extends \SureCart\Background\Job { /** * The prefix for the action. * * @var string */ protected $prefix = 'surecart'; /** * The action. * * @var string */ protected $action = 'cleanup_products'; /** * Perform task with queued item. * * Override this method to perform any actions required on each * queue item. Return the modified item for further processing * in the next pass through. Or, return false to remove the * item from the queue. * * @param mixed $args Queue item to iterate over. * * @return mixed */ protected function task($args) { } } } namespace SureCart\Sync\Jobs { /** * Cleanup job. * * Handles the cleanup job for the products. */ class CleanupJob { /** * The app. * * @var \SureCart\App */ protected $app; /** * Constructor. * * @param \SureCart\App $app The app. */ public function __construct($app) { } /** * Get the queue process. * * @return \SureCart\Sync\QueueProcess */ public function products() { } /** * Get the collections process. * * @return \SureCart\Sync\CollectionsProcess */ public function collections() { } /** * Cancel all jobs. * * @return void */ public function cancel() { } /** * Is the cleanup active? * * @return boolean */ public function isActive() { } } /** * Job service. * * Jobs are processes that queue up tasks to be processed at later time. * These jobs handle queuing up and processing the syncing and cleanup of * products and collections. */ class JobService { /** * The app. * * @var \SureCart\App */ protected $app; /** * Constructor. * * @param \SureCart\App $app The app. */ public function __construct($app) { } /** * Run all jobs. * * @param array $args The arguments. * * @return \WP_Error|void */ public function run($args = []) { } /** * Get the sync jobs. * * @return \SureCart\Sync\SyncProcess */ public function sync() { } /** * Get the cleanup jobs. * * @return \SureCart\Sync\CleanupProcess */ public function cleanup() { } /** * Cancel all jobs. * * @return void */ public function cancel() { } /** * Is the sync active? * * @return boolean */ public function isActive() { } } } namespace SureCart\Sync\Jobs\Sync { /** * This process fetches and queues all products for syncing. */ class ProductsSyncJob extends \SureCart\Background\Job { /** * The prefix for the action. * * @var string */ protected $prefix = 'surecart'; /** * The action. * * @var string */ protected $action = 'queue_products'; /** * Perform task with queued item. * * Override this method to perform any actions required on each * queue item. Return the modified item for further processing * in the next pass through. Or, return false to remove the * item from the queue. * * @param mixed $args Queue item to iterate over. * * @return mixed */ protected function task($args) { } /** * Complete processing. * * Override if applicable, but ensure that the below actions are * performed, or, call parent::complete(). */ protected function complete() { } } } namespace SureCart\Sync\Jobs { /** * Sync job. * * Handles the sync process for the products. */ class SyncJob { /** * The app. * * @var \SureCart\App */ protected $app; /** * Constructor. * * @param \SureCart\App $app The app. */ public function __construct($app) { } /** * Cancel all jobs. * * @return void */ public function cancel() { } /** * Is the sync active? * * @return boolean */ public function isActive() { } /** * Get the sync process. * * @return \SureCart\Sync\SyncProcess */ public function products() { } } } namespace SureCart\Sync { /** * This class syncs product records to WordPress posts. */ class PostSyncService { use \SureCart\Models\Concerns\Facade; use \SureCart\Sync\Concerns\HasLockProcess; /** * The product model. * * @var \SureCart\Models\Product */ protected $product; /** * The post. * * @var \WP_Post */ protected $post; /** * The post type. * * @var string */ protected $post_type = 'sc_product'; /** * The excluded meta keys. * * @var array */ protected $excluded_meta_keys = ['gallery', 'gallery_ids', 'meta_description', 'page_title', 'wp_buy_link_coupon_field_disabled', 'wp_buy_link_custom_thankyou_page', 'wp_buy_link_custom_thankyou_page_url', 'wp_buy_link_enabled', 'wp_buy_link_logo_disabled', 'wp_buy_link_product_description_disabled', 'wp_buy_link_product_image_disabled', 'wp_buy_link_success_page_enabled', 'wp_buy_link_success_page_url', 'wp_buy_link_terms_disabled', 'wp_buy_link_test_mode_enabled', 'wp_created_by', 'wp_template_part_id', 'wp_template_id']; /** * Per-request map of model id => synced \WP_Post|null. * * A null entry memoizes "no synced post" — use array_key_exists, not isset. * * @var array */ protected static $memoized_posts = []; /** * Flush the memoized model id => post map. * * Needed in tests: the map is process-static while the DB resets between tests. * * @return void */ public static function flushMemoizedPosts() { } /** * Resolve synced posts for many model ids with a single query. * * Hydrating a page of products triggers several synced-post lookups per * product; priming here turns those N queries into one. * * @param array $model_ids Model ids to prime. * * @return void */ public function primeByModelIds($model_ids) { } /** * Find the post from the model. * * Lookups are memoized per request; create/update/delete refresh the map. * * @param string $model_id The model id. * * @return \WP_Post|\WP_Error|null */ public function findByModelId($model_id) { } /** * Sync the model with the post. * * @param \SureCart\Models\Model $model The model. * * @return \WP_Post|\WP_Error */ protected function sync(\SureCart\Models\Model $model) { } /** * Delete the synced post. * * @param string $id The model id. * * @return \WP_Post|\WP_Error|false|null */ protected function delete(string $id) { } /** * Get the schema map. * * @param \SureCart\Models\Model $model The model. * * @return array */ protected function getSchemaMap(\SureCart\Models\Model $model) { } /** * Convert the template id. * * This removes the template theme prefix since this is not needed. * * @param string $id The template id. * * @return string */ protected function convertTemplateId($id) { } /** * Create the post. * * @param \SureCart\Models\Model $model The model. * * @return \WP_Post|\WP_Error */ protected function create(\SureCart\Models\Model $model) { } /** * Update the post. * * @param \SureCart\Models\Model $model The model. * * @return \WP_Post|\WP_Error */ protected function update($model) { } /** * Sync the variant values. * * @param int $model_id The model id. * @param int $post_id The post id. * * @return bool|\WP_Error */ protected function syncVariantValues($model, $post_id) { } /** * Sync the collections. * * @param int $post_id The post id. * @param \SureCart\Models\Model $model The model. * * @return void */ protected function syncCollections($post_id, $model) { } /** * Add archived to the post meta. * * @param \SureCart\Models\Model $model The model. * * @return string */ protected function getPostStatusFromModel(\SureCart\Models\Model $model) { } } /** * This syncs an individual product to a post asynchronously. */ class ProductSyncService { /** * Application instance. * * @var \SureCart\Application */ protected $app = null; /** * Whether to show a notice. * * @var boolean */ protected $with_notice = false; /** * Constructor. * * @param \SureCart\Application $app The application. */ public function __construct($app) { } /** * Whether to show a notice. * * @param boolean $with_notice Whether to show a notice. * * @return self */ public function withNotice($with_notice = true) { } /** * Get the task. * * @return \SureCart\Sync\Tasks\ProductSyncTask */ protected function task() { } /** * Post sync service * * @return ProductsQueueProcess */ public function post() { } /** * Queue the sync for a later time. * * @param \SureCart\Models\Model $model The model. * * @return \SureCart\Queue\Async */ public function queue(\SureCart\Models\Model $model) { } /** * Check if the sync is scheduled. * * @param \SureCart\Models\Model $model The model. * * @return bool */ public function isScheduled(\SureCart\Models\Model $model) { } /** * Cancel the sync for a later time. * * @param \SureCart\Models\Model $model The model. * * @return \SureCart\Queue\Async */ public function cancel(\SureCart\Models\Model $model) { } /** * Run the model sync immediately. * * @param \SureCart\Models\Product $product The Product. * * @return \WP_Post|\WP_Error */ public function sync(\SureCart\Models\Product $product) { } /** * Run the model sync immediately. * * @param string $id The product id. * * @return \WP_Post|\WP_Error|false|null */ public function delete(string $id) { } } /** * Syncs customer records to WordPress users. */ class ProductsSyncService { /** * Application instance. * * @var \SureCart\Application */ protected $app = null; /** * The notice id. * * @var string */ protected $notice_id = 'surecart_products_sync'; /** * Constructor. * * @param \SureCart\Application $app The application. */ public function __construct($app) { } /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Get the queue. * * @return object */ public function jobs() { } /** * Is this process active? * * @return boolean */ public function isActive() { } /** * Show the migration notice. * * @return void */ public function showMigrationNotice() { } /** * Start the sync process. * * @param boolean $args The arguments. * * @return array|WP_Error The response or WP_Error on failure. */ public function dispatch($args = []) { } } /** * The store sync service. * * This service is responsible for syncing the store * data when the account id is first set or changed. * * @since 3.0.0 * @package SureCart\Sync */ class StoreSyncService { /** * The option name for the stored account. * * @var string */ protected $option_name = 'surecart_current_account_id'; /** * Bootstrap the service. * * @return mixed */ public function bootstrap() { } /** * Retrieves the stored account from the WordPress options. * * @return string The stored account. */ public function getStoredAccount() { } /** * Retrieves the current plugin account. * * @return string The current plugin account. */ public function currentAccountId() { } /** * Flush the rewrite rules on account change. * * @return boolean */ public function maybeStartSync() { } /** * Flushes the rewrite rules and updates the stored account. * * @return boolean */ public function startSync() { } /** * Sync the store data. * * @return mixed */ public function sync() { } } /** * The sync service. */ class SyncService { /** * Application instance. * * @var \SureCart\Application */ protected $app = null; /** * Constructor. * * @param \SureCart\Application $app The application. */ public function __construct($app) { } /** * Get the (multiple) products sync process. * * @return ProductsSyncProcess */ public function products() { } /** * Get the (single) product sync service. * * @return ProductSyncService */ public function product() { } /** * Get the customer sync service. * * @return CustomerSyncService */ public function customers() { } /** * Get the woocommerce products import service. * * @return \SureCart\Sync\WooCommerce\WooCommerceImportService */ public function woocommerce_products() { } /** * Get the store sync service. * * @return StoreSyncService */ public function store() { } } /** * WordPress Users service. */ class SyncServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\Sync\Tasks { /** * Abstract task class. */ abstract class Task { /** * The action name. * * @var string */ protected $action_name; /** * Show a notice. * * @var boolean */ protected $show_notice = false; /** * Bootstrap any actions. * * @return void */ public function bootstrap() { } /** * Whether to show a notice. * * @param boolean $show_notice Whether to show a notice. * * @return self */ public function withNotice($show_notice = true) { } /** * Queue the sync for a later time. * * @param string $collection_term_id The term id. * * @return \SureCart\Queue\Async */ public function queue($id) { } /** * Check if the task is scheduled. * * @param string $id The id. * * @return bool */ public function isScheduled($id) { } /** * Check are any actions scheduled. * * @return bool */ public function showNotice() { } /** * Cancel the task. * * @param string $id The id. * * @return \SureCart\Queue\Async */ public function cancel($id) { } } /** * This delete's an individual collection term asynchronously. */ class CollectionCleanupTask extends \SureCart\Sync\Tasks\Task { /** * The action name. * * @var string */ protected $action_name = 'surecart/cleanup/collection'; /** * Always show a notice. * * @var boolean */ protected $show_notice = true; /** * Fetch and delete product post. * * @param string $id The product post id to delete. * * @return \WP_Post|false|null */ public function handle($id) { } } /** * This delete's an individual product post asynchronously. */ class ProductCleanupTask extends \SureCart\Sync\Tasks\Task { /** * The action name. * * @var string */ protected $action_name = 'surecart/cleanup/product'; /** * Always show a notice. * * @var boolean */ protected $show_notice = true; /** * Fetch and trash product post. * * It's safer to trash the post since there can be data loss * as some data is stored locally in the database. * * @param string $id The product post id to delete. * * @return \WP_Post|false|null */ public function handle($id) { } } /** * This syncs an individual product to a post asynchronously. */ class ProductSyncTask extends \SureCart\Sync\Tasks\Task { /** * The action name. * * @var string */ protected $action_name = 'surecart/sync/product'; /** * Fetch and sync product. * * @param string $id The product id to sync. * * @throws \Exception If there is an error. * * @return \WP_Post|\WP_Error */ public function handle($id) { } } } namespace SureCart\Sync\WooCommerce { /** * Cleans up WooCommerce import meta when a SureCart product is deleted, * allowing the WC product to be re-imported. */ class WooCommerceImportCleanupService { /** * Bootstrap the service by hooking into product deletion. * * @return void */ public function bootstrap() { } /** * When a SureCart product is deleted, clear the import flag * on the corresponding WooCommerce product so it can be re-imported. * * @param Product $product The deleted SureCart product. * @return void */ public function handleProductDeleted(\SureCart\Models\Product $product) { } /** * Extract wc_product_id from the product metadata. * Handles both object and array formats. * * @param Product $product The SureCart product. * @return int|null */ protected function getWcProductId(\SureCart\Models\Product $product) { } } /** * Background job that imports WooCommerce products into SureCart. * * Paginates through WC products and dispatches batches of IDs to * WooCommerceImportTask for mapping and API import. * * @package SureCart */ class WooCommerceImportJob extends \SureCart\Background\Job { /** * The prefix for the action. * * @var string */ protected $prefix = 'surecart'; /** * The action. * * @var string */ protected $action = 'woo_import_products'; /** * Process one page of WooCommerce products. * * Fetches product IDs for the current page and dispatches them * to the task for mapping and API import. * * @param mixed $args Queue item with 'page' and 'batch_size' keys. * * @return mixed Modified args for next page, or false when done. */ protected function task($args) { } /** * Complete processing. * * Kicks off the queue immediately to start processing tasks. */ protected function complete() { } } /** * Thin service for WooCommerce product import. * * Handles bootstrapping (admin notices), dispatching the background job, * and providing import status/count queries. * * @package SureCart */ class WooCommerceImportService { /** * Application instance. * * @var \SureCart\Application */ protected $app; /** * WooCommerce import state tracker. * * @var ImportState */ protected $import_state; /** * Cached running state for this request. * * Both admin_notices callbacks call isRunning(), which runs a wp_options * query plus Action Scheduler lookups. Memoize so that chain runs once per request. * * @var bool|null */ private $is_running = null; /** * Constructor. * * @param \SureCart\Application $app The application. * @param ImportState $import_state Import state for WooCommerce runs. */ public function __construct($app, \SureCart\Sync\ImportState $import_state) { } /** * Bootstrap admin notices. * * @return void */ public function bootstrap() { } /** * Get the background import job instance. * * @return WooCommerceImportJob */ private function job() { } /** * Is the import currently running? * * @return boolean */ public function isRunning() { } /** * Dispatch the import job. * * Only one import can run at a time — isRunning() prevents concurrent dispatches. * WordPress options (sc_woo_import_ids, sc_woo_import_session_id) are used for * per-import state tracking, which is safe under this single-import constraint. * * @param int $batch_size Products per batch page. * * @return array|\WP_Error */ public function dispatch($batch_size = 100) { } /** * Get the count of importable (not yet imported) WooCommerce products. * * Uses pre-fetched imported IDs with 'exclude' parameter instead of * a slow NOT EXISTS meta query. * * @return int */ public function getImportableCount() { } /** * Cross-reference WC import flags against local sc_product posts. * Clears stale _surecart_imported meta for WC products whose * corresponding SC product no longer exists locally. * * Throttled to run at most once every 6 hours. * * @return void */ protected function purgeStaleImportMeta() { } /** * Single DB query to extract wc_product_id values from sc_product post meta. * Uses LIKE to skip non-WC products at the DB level. * * @return int[] Valid WC product IDs that still have a local SC product. */ protected function getValidImportedWcIds() { } /** * Show an admin notice if products are being imported. * * @return void */ public function showSyncNotice() { } /** * Show a completion notice after import finishes. * * @return void */ public function showCompletionNotice() { } } /** * Task that processes a batch of WooCommerce products for import. * * Receives an array of WC product IDs from WooCommerceImportJob, * maps each to SureCart format, and batch-imports via the API. * * @package SureCart */ class WooCommerceImportTask extends \SureCart\Sync\Tasks\Task { /** * The action name. * * @var string */ protected $action_name = 'surecart/sync/woocommerce_import'; /** * Show a notice while tasks are pending. * * @var boolean */ protected $show_notice = true; /** * The product mapper. * * @var WooCommerceProductMapper|null */ private $mapper = null; /** * WooCommerce import state tracker. * * @var ImportState */ private $import_state; /** * Constructor. * * @param ImportState $import_state Import state for WooCommerce runs. */ public function __construct(\SureCart\Sync\ImportState $import_state) { } /** * Queue a batch of product IDs for processing. * * Overrides the base queue() to accept an array of IDs * instead of a single ID. * * @param array $product_ids Array of WooCommerce product IDs. * * @return \SureCart\Queue\Async */ public function queue($product_ids) { } /** * Handle a batch of WooCommerce product IDs. * * Maps each product, sends the batch to the SureCart API, * and tracks results. * * @param array $product_ids Array of WooCommerce product IDs. * @param boolean $show_notice Whether to show a notice. * * @return void */ public function handle($product_ids, $show_notice = false) { } /** * Get or create the product mapper instance. * * @return WooCommerceProductMapper */ private function getMapper() { } /** * Process a single WooCommerce product. * * @param int $product_id WooCommerce Product ID. * @param WooCommerceProductMapper $mapper The product mapper. * @param array &$skipped_products Array to accumulate skipped products. * * @return array|null Mapped product data, or null if skipped/failed. */ private function processProduct($product_id, $mapper, &$skipped_products) { } /** * Track a skipped product for import results reporting. * * @param array &$skipped_products Accumulated skipped products. * @param \WC_Product|null $product WooCommerce Product (null if not found). * @param string $product_type Product type. * @param string $skip_reason Machine-readable skip reason code. * * @return void */ private function trackSkippedProduct(&$skipped_products, $product, $product_type, $skip_reason) { } /** * Track all products in a failed API batch as skipped items. * * When the API batch call fails, none of the products in the batch * are imported. This ensures they appear on the results page. * * @param array $batch Array of mapped product data sent to the API. * @param string $error_message The API error message. * * @return void */ private function trackFailedBatch(array $batch, string $error_message) { } /** * Flush accumulated skipped products to the transient. * * @param array $skipped_products Array of skipped product data. * * @return void */ private function flushSkippedProducts($skipped_products) { } } /** * Maps WooCommerce products to SureCart import data. * * Caching mapper that converts WC product objects into the array format * expected by the SureCart product import API. Caches collections and * currency lookups per batch to avoid duplicate API/DB calls. * * @package SureCart */ class WooCommerceProductMapper { /** * Collections cache (per batch) to avoid duplicate API calls. * * @var array */ private $collections_cache = []; /** * Cached WooCommerce currency (per batch). * * @var string|null */ private $currency_cache = null; /** * Cached WooCommerce weight unit. * * @var string|null */ private $weight_unit_cache = null; /** * Cached WooCommerce dimension unit. * * @var string|null */ private $dimension_unit_cache = null; /** * Reset all caches. * * @return void */ public function resetCaches() { } /** * Map the WooCommerce Product to SureCart. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapWooCommerceProductToSureCart($product) { } /** * Map core product fields. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapCoreFields($product) { } /** * Map product status considering catalog visibility. * * @param \WC_Product $product WooCommerce Product. * @return string */ public function mapStatus($product) { } /** * Check if product is a subscription. * * @param \WC_Product $product WooCommerce Product. * @return bool */ public function isSubscriptionProduct($product) { } /** * Check if product has licensing enabled. * * @param \WC_Product $product WooCommerce Product. * @return bool */ public function hasLicensing($product) { } /** * Get license activation limit. * * @param \WC_Product $product WooCommerce Product. * @return int|null */ public function getLicenseActivationLimit($product) { } /** * Map prices array. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapPrices($product) { } /** * Map subscription prices. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapSubscriptionPrices($product) { } /** * Calculate trial period in days. * * @param \WC_Product $product WooCommerce Product. * @return int|null */ public function getTrialDays($product) { } /** * Convert price to integer (cents). * * @param string|float $price Price. * @return int */ public function convertPriceToInteger($price) { } /** * Get cached WooCommerce currency. * * @return string */ private function getCurrency() { } /** * Get cached WooCommerce weight unit. * * @return string */ private function getWeightUnit() { } /** * Get cached WooCommerce dimension unit. * * @return string */ private function getDimensionUnit() { } /** * Map WooCommerce weight unit to SureCart accepted value. * * @param string $wc_unit WooCommerce weight unit. * @return string */ public function mapWeightUnit($wc_unit) { } /** * Map WooCommerce dimension unit to SureCart accepted value. * * @param string $wc_unit WooCommerce dimension unit. * @return string */ public function mapDimensionUnit($wc_unit) { } /** * Get or create ProductCollections from WooCommerce taxonomy terms using API. * * @param array $terms_data Array of term data with 'term' and 'source' keys. * @return array Array of ProductCollection objects from API. */ public function getOrCreateCollections($terms_data) { } /** * Map categories to product collections. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapCategories($product) { } /** * Map variants for variable products. * * @param \WC_Product $product WooCommerce Product. * @param bool $any_variation_manages_own_stock Whether any variation manages its own stock. * @param array $variations Pre-loaded variation objects. * @return array */ public function mapVariants($product, $any_variation_manages_own_stock = false, $variations = []) { } /** * Determine whether any variation on a variable product manages its own stock. * * Returns true if at least one variation has managing_stock() === true (strict), * meaning it has a dedicated stock quantity separate from the parent product. * * @param \WC_Product_Variation[] $variations Pre-loaded variation objects. * @return bool */ private function anyVariationManagesOwnStock($variations) { } /** * Map stock fields. * * @param \WC_Product $product WooCommerce Product. * @param bool $is_variable_with_variant_stock Whether this is a variable product where variants own the stock. * @return array */ public function mapStockFields($product, $is_variable_with_variant_stock = false) { } /** * Map shipping fields. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapShippingFields($product) { } /** * Map tax fields. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapTaxFields($product) { } /** * Map reviews fields (settings). * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapReviewsFields($product) { } /** * Map individual reviews. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapReviews($product) { } /** * Map media. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapMedia($product) { } /** * Map comprehensive metadata. * * @param \WC_Product $product WooCommerce Product. * @return array */ public function mapMetadata($product) { } } } namespace SureCart\View { /** * Register view composers and globals. * This is an example class so feel free to modify or remove it. */ class ViewServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } /** * Register view globals. * * @return void */ protected function registerGlobals() { } /** * Register view composers. * * @return void */ protected function registerComposers() { } } } namespace SureCart\Webhooks { /** * Webhooks service. */ class WebhooksService { /** * The registered webhook. * * @var \SureCart\Models\RegisteredWebhook */ protected $webhook; /** * Get the registered webhook. * * @param \SureCart\Models\RegisteredWebhook $webhook The registered webhook. */ public function __construct(\SureCart\Models\RegisteredWebhook $webhook) { } /** * Bootstrap the integration. * * @return void */ public function bootstrap() { } /** * Delete any webhook processes older than 30 days. * * @return void */ public function deleteOldWebhookProcesses() { } /** * Maybe show a notice to the user that the domain has changed. * * This will prompt them to take action to either update the webhook or create a new webhook. * * @return string|null */ public function maybeShowDomainChangeNotice() { } /** * Do we have a token. * * @return boolean */ public function hasToken(): bool { } /** * May be Create webhooks for this site. * * @return void */ public function maybeCreate(): void { } /** * Is this localhost? * * @return boolean */ public function isLocalHost() { } /** * Verify webhooks. * * @return function */ // public function verify() { // $webhook = $this->webhook->get(); // if ( is_wp_error( $webhook ) ) { // not found, let's recreate one. // if ( 'webhook_endpoint.not_found' === $webhook->get_error_code() ) { // delete saved. // $this->webhook->registration()->delete(); // create. // return $this->maybeCreate(); // } // handle other errors. // return \SureCart::notices()->add( // [ // 'name' => 'webhooks_general_error', // 'type' => 'error', // 'title' => esc_html__( 'SureCart Webhooks Error', 'surecart' ), // 'text' => sprintf( '

%s

', ( implode( '
', $webhook->get_error_messages() ?? [] ) ) ), // ] // ); // } // If webhook is not created, show notice. // This should not happen, but just in case. // if ( ! $webhook || empty( $webhook->id ) ) { // return \SureCart::notices()->add( // [ // 'name' => 'webhooks_not_created', // 'type' => 'error', // 'title' => esc_html__( 'SureCart Webhooks Error', 'surecart' ), // 'text' => '

' . esc_html__( 'Webhooks cannot be created.', 'surecart' ) . '

', // ] // ); // } // Show the grace period notice. // if ( ! empty( $webhook->erroring_grace_period_ends_at ) ) { // $message = []; // $message[] = $webhook->erroring_grace_period_ends_at > time() ? esc_html__( 'Your SureCart webhook connection is being monitored due to errors. This can cause issues with any of your SureCart integrations.', 'surecart' ) : esc_html__( 'Your SureCart webhook connection was disabled due to repeated errors. This can cause issues with any of your SureCart integrations.', 'surecart' ); // $message[] = $webhook->erroring_grace_period_ends_at > time() ? sprintf( wp_kses( 'These errors will automatically attempt to be retried, however, we will disable this in %s if it continues to fail.', 'surecart' ), human_time_diff( $webhook->erroring_grace_period_ends_at ) ) : sprintf( wp_kses( 'It was automatically disabled %s ago.', 'surecart' ), human_time_diff( $webhook->erroring_grace_period_ends_at ) ); // $message[] = __( 'If you have already fixed this you can dismiss this notice.', 'surecart' ); // $message[] = '

// ' . esc_html__( 'Resync Webhook', 'surecart' ) . ' //  ' . esc_html__( 'Troubleshoot Connection', 'surecart' ) . ' //

'; // return \SureCart::notices()->add( // [ // 'name' => 'webhooks_erroring_grace_period_' . $webhook->erroring_grace_period_ends_at, // 'type' => 'warning', // 'title' => esc_html__( 'SureCart Webhook Connection', 'surecart' ), // 'text' => sprintf( '

%s

', ( implode( '
', $message ) ) ), // ] // ); // } // } /** * Get the signing secret stored as encrypted data in the WP database. * * @return string|bool Decrypted value, or false on failure. */ public function getSigningSecret() { } } /** * WordPress Users service. */ class WebhooksServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\WordPress { /** * Main communication channel with the theme. */ class ActionsService { /** * Broadcast the php hook. * This sets the a transient so that it is not accidentally broadcasted twice. * * @param string $event Event name. * @param \SureCart\Model $model Model. * * @return void */ public function doOnce($event, $model) { } /** * Clear any previous action. * * @param string $event Event name. * @param \SureCart\Model $model Model. * * @return void */ public function clear($event, $model) { } } } namespace SureCart\WordPress\Admin\Menus { /** * Handles creation and enqueueing of admin menu pages and assets. */ class AdminMenuPageService { /** * Top level menu slug. * * @var string */ protected $slug = 'sc-dashboard'; /** * Pages * * @var array */ protected $pages = array(); /** * Essential SureCart Pages * * @var array */ const ESSENTIAL_PAGES = array('shop', 'checkout', 'dashboard'); /** * Menu hidden pages. * * @var array */ const MENU_CURRENT_OVERRIDES = array('sc-affiliate-payout-groups' => 'sc-affiliate-payouts'); /** * Add menu items. */ public function bootstrap() { } /** * Make sure these menu items get selected. * * @param string $file The file string. * * @return string */ public function forceSelect($file) { } /** * Add some divider css. * * @return void */ public function adminMenuCSS(): void { } /** * Get the menu slug. * * @return string */ public function getMenuSlug() { } /** * Register admin pages. * * @return void */ public function registerAdminPages() { } /** * Get the page link. * * @param string $slug The slug. * @param string $name The name. * @param string $post_type The post type. * * @return void */ public function getPage($slug, $name, $post_type = 'page', $divider = false) { } /** * Get the page menu slug. * * @param string $slug The slug. * @param int $page_id The page id. */ public function getSubMenuPageSlug($slug, $page_id) { } /** * Add a submenu page for a template. * * @param string $slug The slug. * @param string $name The name. * @param string $template_slug The template slug. * * @return null|string|false */ public function addTemplateSubMenuPage($slug, $name, $template_slug) { } /** * Select menu item. * * @param string $file The file. * * @return string */ public function applyMenuOverrides($file) { } /** * Get the learn menu badge showing remaining steps count. * * Total is synced from JS via the surecart_learn_total_steps option. * * @return string */ protected function getLearnBadge() { } } /** * Register plugin options. */ class AdminMenuPageServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * Handles the admin toolbar menus and items. */ class AdminToolbarService { /** * Application instance. * * @var \SureCartCore\Application\Application */ protected $app = null; /** * Constructor. * * @param \SureCartCore\Application\Application $app Application instance. */ public function __construct($app) { } /** * Bootstrap the service and hook into WordPress. * * @return void */ public function bootstrap() { } /** * Check if the admin toolbar is enabled. * * @return bool */ public function isEnabled(): bool { } /** * Check if the current user is in the admin area. * * @return bool */ public function isAdmin(): bool { } /** * Check if the admin bar is showing. * * @return bool */ public function isAdminBarShowing(): bool { } /** * Check if the current page is the admin area. * * @return bool */ public function isShopPageOnFront(): bool { } /** * Check if the admin menu should be shown. * * @return bool */ public function showAdminMenu(): bool { } /** * Check if the user is a member of the site. * * @return bool */ public function isBlogMember(): bool { } /** * Add the "Visit Store" link in admin bar main menu. * * @since 2.4.0 * @param \WP_Admin_Bar $wp_admin_bar Admin bar instance. */ public function adminBarSiteMenu($wp_admin_bar) { } /** * Add SureCart admin page links to the admin bar "+ New" menu. * * @param \WP_Admin_Bar $wp_admin_bar Admin bar instance. */ public function adminBarNewContent($wp_admin_bar) { } /** * Add SureCart main menu to the admin bar. * * @param \WP_Admin_Bar $wp_admin_bar Admin bar instance. * * @return void */ public function adminBarMenu($wp_admin_bar) { } /** * Check if the current page is rendered with blocks. * * @return bool */ public function isRenderedWithBlocks(): bool { } /** * Add product content and template items to admin toolbar. * * @param \WP_Admin_Bar $wp_admin_bar The admin bar instance. * * @return void */ public function renderProductContent($wp_admin_bar): void { } /** * Add product content item to admin toolbar. * * @param \WP_Admin_Bar $wp_admin_bar The admin bar instance. * * @return void */ public function renderProductTemplate($wp_admin_bar): void { } /** * Check if bricks is rendering the current page. * * @return bool */ public function isRenderedWithBricks(): bool { } /** * Check if elementor is rendering the current page. * * @return bool */ public function isRenderedWithElementor(): bool { } /** * Maybe add sticky purchase template to admin toolbar. * * @param \WP_Admin_Bar $wp_admin_bar The admin bar instance. * * @return void */ public function maybeAddStickyPurchaseTemplate($wp_admin_bar): void { } } /** * Service for product collection pages in WordPress menu related functions. */ class ProductCollectionsMenuService { /** * Bootstrap any actions. * * @return void */ public function bootstrap(): void { } /** * If the menu item is a collection page, add the collection slug to the menu item.. * * @param string $content Block content. * @param array $block_data Block data. * * @return array */ public function filterMenuBlockLinkHref($content, $block_data) { } } } namespace SureCart\WordPress\Admin\Notices { /** * Admin notices service */ class AdminNoticesService { /** * Notice key. * * @var string */ protected $notice_key = 'surecart_dismissed_notice'; /** * Showing the response notice? * * @var boolean */ protected $showing_response_notice = false; /** * Bootstrap notice dismissal. * * @return void */ public function bootstrap() { } /** * Reset the notice. * * @param string $name Notice name. * * @return void */ public function reset($name) { } /** * Is the notice dismissed. * * @param string $name Notice name. * * @return boolean */ public function isDismissed($name) { } /** * Dismiss the notice. * * @return void */ public function dismiss() { } /** * Show the response notice. * * @param array $notice Notice data to show. * * @return void */ public function showResponseNotice($notice = []) { } /** * Add the notice. * * @return void */ public function add($notice_data) { } /** * Render the notice * * @return string */ public function render($args = []) { } } /** * Register plugin options. */ class AdminNoticesServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\WordPress\Admin\PluginCache { /** * Admin plugin cache service. */ class AdminPluginCacheService { /** * Default documentation URL for cache plugins. */ private const DEFAULT_DOCS_URL = 'https://surecart.com/docs/caching/'; /** * Plugin-specific documentation URLs. */ private const PLUGIN_DOCS_URLS = []; /** * Bootstrap related hooks. * * @return void */ public function bootstrap() { } /** * Get list of cache plugins. * * @return array */ public function getCachePlugins(): array { } /** * Get documentation URL for a specific cache plugin. * * @param string $plugin Plugin path/slug. * @return string Documentation URL. */ public function getDocumentationUrl(string $plugin): string { } /** * Show the plugin cache notice. * * @return void */ public function showNotice(): void { } } } namespace SureCart\WordPress\Admin\Profile { /** * Admin user profile service */ class UserProfileService { /** * Bootstrap related hooks. * * @return void */ public function bootstrap() { } /** * Show customer info on user profile. * * @param \WP_User $user The user. * @return void */ public function showCustomerInfo($user) { } /** * Render a block using a template * * @param string|string[] $views A view or array of views. * @param array $context Context to send. * @return void */ public function render($views, $context = []) { } } /** * Register plugin options. */ class UserProfileServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\WordPress\Admin\SSLCheck { /** * Admin SSL check service */ class AdminSSLCheckService { /** * Bootstrap related hooks. * * @return void */ public function bootstrap() { } /** * Show the SSL notice. * * @return void */ public function showNotice() { } } } namespace SureCart\WordPress\Assets { /** * Our assets service. */ class AssetsService { /** * Holds the loader. * * @var Object */ protected $loader; /** * Holds the styles * * @var Object */ protected $styles; /** * Holds the scripts service. * * @var Object */ protected $scripts; /** * The service container. * * @var \Pimple\Container $container Service Container. */ protected $container; /** * The preload Service * * @var array */ protected $config; /** * Get the loader. * * @param Object $loader The loader. */ public function __construct($loader, $scripts, $styles, $container) { } /** * Bootstrap the service. * * @return void */ public function bootstrap() { } public function preloadBlockAssets() { } /** * Enqueue global styles. * * @return void */ public function enqueueGlobals() { } /** * Preload any components needed for block display. * * @param array $parsed_block Parsed block data. * * @return array */ public function preloadComponents($parsed_block) { } /** * Enqueue form scripts. * * @return void */ public function enqueueForm() { } /** * Enqueue editor styles and scripts. */ public function editorAssets() { } /** * EnqueueComponents. * * @return void */ public function enqueueComponents() { } /** * Print admin colors. * * @return void */ public function printAdminColors() { } /** * Output brand colors. * * @return void */ public function printBrandColors() { } /** * Shortcodes scripts add. * * @return void */ public function maybeEnqueueScriptsForNonBlocks() { } /** * This adds component data to the component when it's defined at runtime. * * @param string $tag Tag of the web component. * @param string $selector Specific selector (class or id). * @param array $data Data to add. * @return void */ public function addComponentData($tag, $selector, $data = array()) { } /** * Should we use the esm loader directly? * If false, we inject the loader script at runtime. * * @return boolean */ public function usesEsmLoader() { } /** * Output the component initialization script. * * @param string $tag Tag of the web component. * @param string $selector Specific selector (class or id). * @param array $data Data to add. */ public function outputComponentScript($tag, $selector, $data = array()) { } } /** * Register and enqueues assets. */ class AssetsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Holds the service container * * @var \Pimple\Container */ protected $container; /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Controls when to enqueue a script based on block render. */ class BlockAssetsLoadService { /** * Runs a callback when our components are detected through several means * * @param string $block_name The block name, including namespace. * @param callable|null $enqueue_callback A function to run when the block is rendered. * * @return void */ public function whenRendered($block_name, $enqueue_callback = null) { } /** * Runs a callback when a block is rendered. * Typical usage: scripts to be enqueued using this function will only get printed * when the block gets rendered on the frontend. * * @param string $block_name The block name, including namespace. * @param callable|null $enqueue_callback A function to run when the block is rendered. * * @return void */ public function whenBlockRenders($block_name, $enqueue_callback) { } /** * Handle when using a page builder. * * @param string $enqueue_callback Function Name. * @return void */ public function whenUsingPageBuilder($enqueue_callback) { } /** * Are we using a known page builder? * * @return boolean */ public function isUsingPageBuilder() { } /** * Get the page builder. * * @return string */ public function getPageBuilder() { } } /** * Handles the preloading functionality for components. */ class PreloadService { /** * The stats file path. * * @var string */ protected $stats_file; /** * Components to preload. * * @var array */ protected $components = []; /** * Get the stats file path * * @param string $stats_file The stats file path. */ public function __construct($stats_file) { } /** * Bootstrap the preload. * * @return void */ public function bootstrap() { } /** * Get the bundle stats file. * * @return object|false; */ protected function getStatsFile() { } /** * Get the filenames from the stats. * * @param array $components An array of component names. * @param string $format The format we are using. * * @return array */ public function getFileNames($components, $format = 'esmBrowser') { } /** * Render the components * * @return void */ public function renderComponents() { } /** * Render the preload tags. * * @param array $components An array of components. * @param string $format The format. * @param string $path The path to the component javascript file. * * @return void */ public function renderTag($components, $format = 'esmBrowser', $path = 'dist/components/surecart/') { } /** * Add preload components. * * @param array $components Component names. * * @return void */ public function add($components) { } } /** * Handles the component theme. */ class ScriptsService { /** * Holds the service container * * @var \Pimple\Container */ protected $container; /** * Make sure we change the script loader tag for esm loading. * * @param \Pimple\Container $container Service Container. */ public function __construct($container) { } /** * Add module to the components tag * * @param string $tag Tag output. * @param string $handle Script handle. * @param string $source Script source. * * @return string */ public function componentsTag($tag, $handle, $source) { } /** * Get the claim url. * * @return string */ public function getAccountClaimUrl() { } /** * Whether SureCart should automatically send Facebook Pixel (fbq) events. * * Stores running their own Pixel/CAPI stack can opt out to avoid double-tracking. * * @return bool */ public function isFacebookTrackingEnabled() { } /** * Whether SureCart should automatically send Google Analytics (gtag/dataLayer) events. * * Stores running their own GA4/GTM stack can opt out to avoid double-tracking. * * @return bool */ public function isGoogleTrackingEnabled() { } /** * Register the component scripts and translations. * * @return void */ public function register() { } /** * Enqueue block front scripts. * * @return void */ public function enqueueFront() { } /** * Enqueue editor scripts. * * @return void */ public function enqueueEditor() { } /** * Enqueue page templates. * * @return void */ public function enqueuePageTemplateEditor() { } /** * We only want these available in FSE. * * @return void */ public function enqueueProductBlocks() { } /** * We only want these available in FSE. * * @return void */ public function enqueueProductCollectionBlocks() { } /** * Register block scripts. * * @return void */ public function registerBlocks() { } /** * Enqueue blocks scripts. * * @return void */ public function enqueueBlocks() { } } /** * Handles the component theme. */ class StylesService { /** * Holds the service container * * @var \Pimple\Container */ protected $container; /** * Make sure we change the script loader tag for esm loading. * * @param \Pimple\Container $container Service Container. */ public function __construct($container) { } /** * Register the default theme. * * @return void */ public function register() { } /** * Enqueue the front styles. * * @return void */ public function enqueueFront() { } /** * Enqueue the editor styles. * * @return void */ public function enqueueEditor() { } /** * Add inline brand styles to theme. * * @param string $handle The handle to add the styles to. * * @return void */ public function addInlineAdminColors($handle) { } /** * Add inline brand styles to theme. * * @param string $handle The handle to add the styles to. * * @return void */ public function addInlineBrandColors($handle) { } } } namespace SureCart\WordPress\CLI { /** * Our All CLI Commands class. */ class CLICommands { /** * Seed Account * * @alias create-account * * @param Array $args Arguments in array format. * @param Array $assoc_args Key value arguments stored in associated array format. */ public function seed($args, $assoc_args) { } } /** * Our CLI service. */ class CLIService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Registers CLI commands. * * @return void */ public function registerCLICommands() { } } /** * Register and enqueues assets. */ class CLIServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Holds the service container * * @var \Pimple\Container */ protected $container; /** * Register all dependencies in the container. * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\WordPress\Cache { /** * Abstract Cache Service. */ abstract class CacheService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Disable cache for the current page. * * @param string $reason Reason for disabling cache. * @return void */ abstract protected function disableCache(string $reason): void; /** * Check if the cache plugin is active. * * @return bool */ abstract protected function isCachePluginActive(): bool; /** * Check if the current page should be excluded from cache. * * @return bool */ public function shouldExcludeFromCache(): bool { } /** * Maybe disable cache for SureCart dynamic pages. * * @return void */ public function maybeDisableCache() { } /** * Disable both server-side and browser caching. * * @param string $reason Reason for disabling cache. * @return void */ protected function disableCacheWithBrowserHeaders(string $reason): void { } /** * Maybe disable cache for SureCart REST API requests. * * @return void */ public function maybeDisableCacheForRestApi() { } /** * Check if the current request is a SureCart REST API request. * * @return bool */ protected function isSureCartRestRequest(): bool { } /** * Purge product cache when stock is adjusted. * * @param \SureCart\Models\Product $product The product model. * @return void */ public function purgeProductCacheOnStockAdjustment($product) { } /** * Check if the current page is the customer dashboard page. * * Uses is_page() instead of a URL comparison so dashboard subviews * with query args (?action=index&model=invoice) are also matched. * * @return bool */ protected function isCustomerDashboardPage(): bool { } /** * Check if the current page is the checkout page. * * @return bool */ protected function isCheckoutPage(): bool { } /** * Check if the current page has a checkout form block. * * @return bool */ protected function hasCheckoutFormBlock(): bool { } /** * Check if the current page is a buy page. * * Pretty buy permalinks (/buy/{product-slug}/) rewrite to the * sc_checkout_product_id query var; sc-buy covers legacy buy links. * * @return bool */ protected function isBuyPage(): bool { } /** * Get SureCart vary cookies. * * @return array */ protected function getVaryCookies(): array { } /** * Get core WordPress scripts that should be excluded from JS defer. * * @return array */ protected function getJsDeferExcludes(): array { } } /** * Cache Service Provider. */ class CacheServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Holds the service container. * * @var \Pimple\Container */ protected $container; /** * Register all dependencies in the container. * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Generic, plugin-agnostic cache service. * * Defines the DONOTCACHEPAGE constant on SureCart dynamic pages so any * caching layer honoring the WordPress convention (WP Rocket, WP Super Cache, * SWIS, host caches, etc.) skips them without a dedicated integration. */ class DoNotCachePageService extends \SureCart\WordPress\Cache\CacheService { /** * Always active — the constant is a WordPress-wide convention, not specific to any cache plugin. * * @return bool */ protected function isCachePluginActive(): bool { } /** * Disable cache for the current page. * * @param string $reason Reason for disabling cache. * @return void */ protected function disableCache(string $reason): void { } } /** * LiteSpeed Cache Service. */ class LiteSpeedCacheService extends \SureCart\WordPress\Cache\CacheService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Check if LiteSpeed Cache plugin is active. * * @return bool */ protected function isCachePluginActive(): bool { } /** * Disable cache for the current page. * * @param string $reason Reason for disabling cache. * @return void */ protected function disableCache(string $reason): void { } /** * Handle cache control during LiteSpeed's finalize phase. * * @param string|false $esi_id ESI block ID if this is an ESI request. * @return void */ public function onControlFinalize($esi_id = false) { } /** * Add SureCart session cookies to LiteSpeed Cache vary cookies. * * @param array $cookies Existing vary cookies. * @return array */ public function addVaryCookies($cookies) { } /** * Exclude critical scripts from JS defer. * * @param array $excludes Existing excluded scripts. * @return array */ public function excludeScriptsFromDefer($excludes) { } /** * Purge product cache when stock is adjusted. * * @param \SureCart\Models\Product $product The product model. * @return void */ public function purgeProductCacheOnStockAdjustment($product) { } } /** * W3 Total Cache Service. */ class W3TotalCacheService extends \SureCart\WordPress\Cache\CacheService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Check if W3 Total Cache plugin is active. * * @return bool */ protected function isCachePluginActive(): bool { } /** * Prevent W3TC from caching SureCart dynamic pages. * * @param bool $can_cache Whether W3TC can cache this page. * @param mixed $page_grabber The W3TC page grabber object. * @return bool */ public function maybePreventCaching($can_cache, $page_grabber = null) { } /** * Disable cache for the current page. * * @param string $reason Reason for disabling cache. * @return void */ protected function disableCache(string $reason): void { } /** * Purge product cache when stock is adjusted. * * @param \SureCart\Models\Product $product The product model. * @return void */ public function purgeProductCacheOnStockAdjustment($product) { } /** * Exclude critical scripts from W3TC minification. * * @param bool $do_minification Whether to minify this script. * @param string $script_tag The script tag HTML. * @param string $file The script file URL. * @return bool */ public function excludeScriptsFromMinify($do_minification, $script_tag, $file) { } /** * Exclude critical scripts from W3TC defer. * * @param array $script_tags Array of script tags. * @return array */ public function excludeScriptsFromDefer($script_tags) { } } /** * WP Fastest Cache Service. */ class WpFastestCacheService extends \SureCart\WordPress\Cache\CacheService { /** * Check if WP Fastest Cache plugin is active. * * @return bool */ protected function isCachePluginActive(): bool { } /** * Disable cache for the current page. * * @param string $reason Reason for disabling cache. * @return void */ protected function disableCache(string $reason): void { } } } namespace SureCart\WordPress { /** * Provides compatibility with other plugins. */ class CompatibilityService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Adds type="button" to the button in the Kadence Accordion Pane. * This prevents the button from submitting the form. * * @param string $content Block content. * @param array $block Block data. * * @return string */ public function fixKadenceAccordionPaneButtonType($content, $block) { } /** * Load Divi Compatibility CSS. * * @return void */ public function diviCompatibility() { } /** * Load Bricks Compatibility CSS. * * @return void */ public function bricksCompatibility() { } /** Prevent Yoast SEO from outputing SEO meta tags on our custom pages. * * @param array $presenters Presenters. * @return array Empty Array. */ public function yoastSEOFix($presenters) { } /** * Prevent rankmath from outputting og:tags on our custom pages. * * @return void */ public function rankMathFix() { } /** * Fix the canonical URL for rankmath. * * @param string $canonical The canonical URL. * * @return string */ public function rankMathUrlFix($canonical) { } /** * Render block data. * * @param array $parsed_block Block data. * * @return array */ public function maybeEnqueueUAGBAssets($parsed_block) { } /** * Filter SC Form Shortcode to load the Spectra Blocks Assets. * * @param string $output Content. * @param array $attributes Shortcode attributes. * @param string $name Shortcode Tag. * * @return array */ public function maybeEnqueueUAGBAssetsForShortcode($output, $attributes, $name) { } /** * Show the Gutenberg active notice. * * @return void */ public function gutenbergActiveNotice(): void { } /** * Warn admins when the site's WordPress version is below the plugin's minimum. * * @return void */ public function minimumWpVersionNotice(): void { } /** * Exclude SureCart JS modules from Siteground JS combine. * This is to prevent the JS modules from being combined and minified by Siteground. * * @param array $exclude_ids Array of JS module IDs to exclude. * * @return array */ public function sitegroundJsCombineExcludeScriptIds($exclude_ids) { } } /** * Currency Service */ class CurrencyService { /** * Should convert currency? * * @var bool */ public $is_converting = false; /** * Filter URLs * * @var bool */ private static $filter_url = true; /** * Bootstrap the currency service. * * @return void */ public function bootstrap() { } /** * Initialize the currency service. * * @return void */ public function appendUrls() { } /** * Filter paginate link * * @param string $result The page number link. * @param int $pagenum The page number. * * @return string */ public function filterPagenumLink($result, $pagenum) { } /** * Set the currency cookie. * * @return void */ public function setCurrencyCookie() { } /** * Add the currency switcher menu. * * @param string $items The menu items. * @param object $args The menu arguments. * * @return string The menu items. */ public function addCurrencySwitcherMenu($items, $args) { } /** * Convert currency. * * @param bool $convert Convert. * * @return void */ public function convert($convert = true) { } /** * Maybe Filter the link to add the currency parameter. * * @param string $permalink The permalink to filter. * * @return string The permalink or the filtered permalink. */ public function maybeAddCurrencyParam($permalink) { } /** * Filter the link to add the currency parameter. * * @param string $permalink The permalink to filter. * * @return string The filtered permalink. */ public function addCurrencyParam($permalink) { } /** * Check if the request is an XML request. * * @return bool */ private function isSitemapOrFeedRequest(): bool { } /** * Filter Home URL * * @param string $url Url. * @param string $path Path. * @param string $scheme Scheme. * * @return string */ public function addCurrencyParamToHomeUrl($url, $path, $scheme) { } /** * Determines if the URL should be modified with currency parameter. * * @param string $path Optional. The path for home_url. Default empty string. * @param string $scheme Optional. The scheme for requests. Default empty string. * * @return bool Whether the URL should be modified. */ protected function shouldModifyUrl($path = '', $scheme = '') { } /** * Remove the currency parameter from the canonical permalink. * * @param string $permalink The permalink to filter. * * @return string The filtered permalink. */ public function removeCurrencyParam($permalink) { } } /** * Google Map Api Service. */ class GoogleMapApiService { /** * Google Map API Key Option Name. */ public const API_KEY_OPTION_NAME = 'surecart_google_map_api_key'; /** * Google Map Enabled Option Name. */ public const API_KEY_ENABLED_OPTION_NAME = 'surecart_google_map_api_key_enabled'; /** * Register settings. */ public function bootstrap() { } /** * Encrypt the Google Map API key before saving it to the database. * * @param mixed $value New value. * @param mixed $old_value Old value. * @param string $option Option name. * * @return string */ public function encryptSettings($value, $old_value, $option) { } /** * Decrypt the Google Map API key before returning it. * * @param mixed $value Value. * * @return string */ public function decryptSettings($value) { } /** * Is Google Map Enabled? * * @return boolean */ public function isEnabled() { } /** * Get Google Map API key. * * @return string */ public function getApiKey() { } } class HealthService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Add debug information. * * @param array $debug_info Debug List. * * @return array */ public function debugInfo($debug_info) { } /** * Register tests for the Status Page * * @param array $tests List of tests. * * @return array */ public function tests($tests) { } /** * Neve API test pretty response * * @return array */ public function apiTest() { } /** * Check that webhooks are processing normally. * * @return array */ public function webhooksProcessingTest() { } /** * Neve API test pretty response * * @return array */ public function webhooksTest() { } } /** * LineItemStateService class */ class LineItemStateService { /** * Keeps track of already parsed blocks. * * @var array */ protected static $parsed_blocks = []; /** * Get existing line items from the checkout. * * @param string $store The store name. * @param string $key The key to get. */ public function get($store = 'checkout', $key = 'initialLineItems') { } /** * Add line items to the checkout. * * @param array $line_items The line items to add. * @param string $store The store name. * @param string $key The key to get. * * @return array The new line items. */ public function merge($line_items = [], $store = 'checkout', $key = 'initialLineItems') { } /** * Does the line item exist? * * @param array $line_item The line item to check. * * @return boolean */ public function lineItemExists($line_item, $line_items) { } } } namespace SureCart\WordPress\Pages { /** * Service for installation related functions. */ class PageSeeder { /** * SureCart instance. * * @var \SureCart\WordPress\PostTypes\FormPostTypeService */ protected $forms = null; /** * SureCart instance. * * @var \SureCart\WordPress\Pages\PageService */ protected $pages = null; /** * Constructor. * * @param \SureCart\WordPress\PostTypes\FormPostTypeService $forms Forms service. * @param \SureCart\WordPress\Pages\PageService $pages Pages service. */ public function __construct($forms, $pages) { } /** * Seed pages and forms. * * @return void */ public function seed() { } /** * Delete checkout pages. * * @return void */ public function delete() { } /** * Create the cart post. * * @return void */ public function createCartPost() { } /** * Create shop page. * * @return void */ public function createShopPage() { } /** * Create the main checkout form. * * @return void */ public function createCheckoutForm() { } /** * Get pages for seeding. * * @param \WP_Post $form Form post. * * @return array */ public function getPages($form = null) { } /** * Create pages that the plugin relies on, storing page IDs in variables. * * @return void */ public function createPages() { } /** * Delete pages that were created by the plugin. * * @return void */ public function deletePages() { } /** * Create posts from an array of post data. * * @param array $posts Array of post data. * @return void */ public function createPosts($posts) { } /** * Delete posts from an array of post data. * * @param array $posts Array of post data. * @return void */ public function deletePosts($posts) { } } /** * Handles page creation */ class PageService { /** * Bootstrap. * * @return void */ public function bootstrap() { } /** * Restrict default page deletion * * @param boolean $delete Delete status. * @param \WP_Post $post Post object. * * @return null; */ public function restrictDefaultPageDeletion($delete, $post) { } /** * Restrict default form remove * * @param boolean $maybe_empty Maybe empty. * @param array $post Post data. * * @return boolean|void */ public function restrictDefaultCheckoutRemove($maybe_empty, $post) { } /** * The option name * * @param string $option Option name. * @param string $post_type Post type slug. * @return string */ public function getOptionName($option, $post_type) { } /** * Find Post/Page by its id * * @param integer $id Post/Page ID. * * @return \WP_Post|null */ public function find($id) { } /** * Adds status indicator for this website. * * @param array $states States array. * * @return array States array with ours added */ public function displayDefaultPageStatuses($states) { } /** * Find the post for a given option and post type * * @param string $option Option name. * @param string $post_type Post type slug. * * @return \WP_Post|null */ public function get($option, $post_type = 'page') { } /** * Find the url for the given option and post type * * @param string $option Option name. * @param string $post_type Post type slug. * * @return string */ public function url($option, $post_type = 'page') { } /** * Find the post id for the given option and post type * * @param string $option Option name. * @param string $post_type Post type slug. * * @return integer */ public function getId($option, $post_type = 'page') { } /** * Find the post for a given option and post type * * @param string $option Option name. * @param string $post_type Post type slug. * * @return \WP_Post|null */ public function findByName($option, $post_type = 'page') { } /** * Find or create a page and store the ID in an option. * * @param mixed $slug Slug for the new page. * @param string $option Option name to store the page's ID. * @param string $page_title (default: '') Title for the new page. * @param string $page_content (default: '') Content for the new page. * @param int $post_parent (default: 0) Parent for the new page. * @param string $post_status (default: publish) The post status of the new page. * @param string $post_type (default: 'page') The post type of the new page. * * @return \WP_Post */ public function findOrCreate($slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0, $post_status = 'publish', $post_type = 'page', $page_template = null) { } /** * Create a page and store the ID in an option. * * @param mixed $slug Slug for the new page. * @param string $option Option name to store the page's ID. * @param string $page_title (default: '') Title for the new page. * @param string $page_content (default: '') Content for the new page. * @param int $post_parent (default: 0) Parent for the new page. * @param string $post_status (default: publish) The post status of the new page. * @param string $post_type (default: 'page') The post type of the new page. * * @return int page ID. */ public function create($slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0, $post_status = 'publish', $post_type = 'post', $page_template = null) { } /** * Check if the page is the customer dashboard page by current URL. * * @return boolean */ public function isCustomerDashboardPageByUrl(): bool { } /** * Get SureCart page screen ids. * * @return array */ public function getSureCartPageScreenIds(): array { } } /** * Provide users dependencies. */ class PageServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\WordPress { /** * Plugin Action Links service. */ class PluginActionLinksService { /** * Application instance. * * @var Application */ protected $app = null; /** * Constructor. * * @param Application $app Application instance. */ public function __construct($app) { } /** * Bootstrap the plugin. * * @return void */ public function bootstrap() { } /** * Add plugin action links. * * @param array $actions Plugin actions. * @return array */ public function addPluginActionLinks($actions) { } } /** * Main communication channel with the theme. */ class PluginService { /** * Application instance. * * @var Application */ protected $app = null; /** * Constructor. * * @param Application $app Application instance. */ public function __construct($app) { } /** * Get the plugin version * * @return string */ public function version() { } /** * Get the minimum WordPress version the plugin requires. * * @return string Required WordPress version, or empty string if not declared. */ public function requiredWPVersion() { } /** * Has the plugin version changed? * * @return boolean */ public function versionChanged() { } /** * Shortcute to \SureCart\Account\AccountService * * @return \SureCart\Account\AccountService */ public function account() { } /** * Shortcut to \SureCart\Install\InstallService. * * @return \SureCart\Install\InstallService */ public function install() { } /** * Shortcut to \SureCart\WordPress\Pages\PageService. * * @return \SureCart\WordPress\Pages\PageService */ public function pages() { } /** * Shortcut to \SureCart\WordPress\Pages\PageService. * * @return \SureCart\WordPress\Pages\PageService */ public function activation() { } /** * Shortcut to \SureCart\WordPress\Pages\PageService. * * @return \SureCart\Permissions\RolesService; */ public function roles() { } } /** * Register plugin options. */ class PluginServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } /** * Load textdomain. * * @return void */ public function loadTextdomain() { } } } namespace SureCart\WordPress\PostTypes { /** * Form post type service class. */ class CartPostTypeService { /** * Holds the page service * * @var PageService */ protected $page_service; /** * The default form name. * * @var string */ protected $default_cart_name = 'cart'; /** * The post type slug. * * @var string */ protected $post_type = 'sc_cart'; /** * Get the page service from the application container. * * @param PageService $page_service Page serice. */ public function __construct(\SureCart\WordPress\Pages\PageService $page_service) { } /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Prevent multiple cart posts. * * @param int $post_ID Post ID. * @param WP_Post $post Post object. * @param bool $update Whether this is an existing post being updated. */ public function preventMultiplePosts($post_ID, $post, $update) { } /** * Redirect to forms post type from cart list page. * * @return void */ public function redirectFromListPage() { } /** * Disallow deleting cart post. * * @param array $caps Array of caps. * @param string $cap Cap to check. * @param integer $user_id User ID. * @param array $args Arguments passed. * * @return array */ public function disallowDelete($caps, $cap, $user_id, $args) { } /** * Always publish the cart post. * * @param \WP_Post $post The post. * * @return \WP_Post */ public function forcePublish($post) { } /** * Show the header. **/ public function showHeader() { } /** * Force gutenberg in case of classic editor * * @param boolean $use Whether to use Gutenberg. * @param \WP_Post $post Post object. * * @return boolean; */ public function forceGutenberg($use, $post) { } /** * Find a form by id. * * @return WP_Post */ public function get() { } /** * Create the post. * * @return \WP_Post */ public function createPost() { } /** * Register the post type * * @return void */ public function registerPostType() { } } /** * Form post type service class. */ class FormPostTypeService { /** * Holds the page service * * @var PageService */ protected $page_service; /** * The default form name. * * @var string */ protected $default_form_name = 'checkout'; /** * The post type slug. * * @var string */ protected $post_type = 'sc_form'; /** * Group Prefix * * @var string */ protected $group_prefix = 'sc-checkout-'; /** * Get the page service from the application container. * * @param PageService $page_service Page serice. */ public function __construct(\SureCart\WordPress\Pages\PageService $page_service) { } /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Force the payments mode to "test" if the account is not claimed. * * @param string $mode "test" or "live". * * @return string */ public function forceTestModeForProvisionalAccounts($mode) { } /** * Show the header. **/ public function showHeader() { } /** * Force gutenberg in case of classic editor * * @param boolean $use Whether to use Gutenberg. * @param WP_Post $post Post object. * * @return boolean; */ public function forceGutenberg($use, $post) { } /** * Get the form post type. * * @return string post type. */ public function getPostType() { } /** * Adds status indicator for this website. * * @param array $states States array. * * @return array States array with ours added */ public function displayDefaultFormStatus($states) { } /** * Find a form by its option name. * * @return WP_Post|null */ public function findByOption() { } /** * Find a form by id. * * @param integer $id Post id. * @return WP_Post|null */ public function findById($id) { } /** * Find a form by id. * * @param integer $id Post id. * @return WP_Post|null */ public function get($id) { } /** * Get the default checkout form post. * * @return WP_Post|null */ public function getDefault() { } /** * Get the default checkout form post. * * @return int|null */ public function getDefaultId() { } /** * Get the default group id. * * @return string. */ public function getDefaultGroupId() { } /** * Register the post type * * @return void */ public function registerPostType() { } /** * Filter the post type columns. */ public function postTypeColumns($defaults) { } /** * Post type content column. * * @param string $column_name Column name. * @param integer $post_ID Post ID. * @return void */ public function postTypeContent($column_name, $post_ID) { } /** * Get the form's mode. * * @param int $post_ID Post id. * @return void */ public function columnMode($post_ID) { } /** * Get the shortcode for the current post. * * @param integer $post_ID Post ID. * @return void */ public function columnShortcode($post_ID) { } /** * Get the posts where this form appears. * * @param integer $post_ID Post ID. * @return void */ public function columnPosts($post_ID) { } /** * Get the products that are in this form by default * * @param integer $post_ID Post ID. * @return void */ public function columnProducts($post_ID) { } /** * Get the SC forms list. * * @param array $args Form query data. * * @return array */ public function get_forms($args = []) { } } /** * Register our form post type */ class PostTypeServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } /** * Form post type service class. */ class ProductPostTypeService { /** * The post type slug. * * @var string */ protected $post_type = 'sc_product'; /** * Bootstrap service. * * @return void */ public function bootstrap() { } /** * Add thumbnail support for attachments. * * @return void */ public function addThumbnailSupportForAttachments() { } /** * Show whether the product has a content block. * * @param \WP_REST_Response $response The response. * @param \WP_Post $post The post. * * @return \WP_REST_Response */ public function addTemplateToResponse($response, $post) { } /** * Modify the UI for the product content editor. * This ensures you do not modify the post type directly, except the content. * * @return void */ public function modifyProductContentEditor() { } /** * Filter the post thumbnail id. * This is used to set the featured image for the product. * * @param integer $thumbnail_id The thumbnail ID. * @param integer $post_id The post ID. * * @return integer */ public function postThumbnailId($thumbnail_id, $post_id) { } /** * Get the attachment image. * We need this for backwards compatibility for ProductMedia. * * @param string $html The HTML. * @param integer $attachment_id The attachment ID. * @param integer $post_thumbnail_id The post thumbnail ID. * @param string $size The size. * @param array $attr The attributes. * * @return string */ public function getAttachmentImage($html, $attachment_id, $post_thumbnail_id, $size, $attr) { } /** * Since we are using the first gallery image as the post thumbnail, * we need to check if the product has a featured image. * * @param boolean $has_thumbnail Whether the post has a thumbnail. * @param integer $post_id The post ID. * * @return boolean */ public function hasPostThumbnail($has_thumbnail, $post_id) { } /** * Get the post thumbnail html * * @return string */ public function postThumbnailHTML($html, $post_id, $post_thumbnail_id, $size, $attr) { } /** * Get the post thumbnail url * * @return string */ public function postThumbnailURL($url, $post_id) { } /** * Save the attachment fields. * * @param array $post The post. * @param array $attachment The attachment. * * @return array */ public function saveAttachmentFields($post, $attachment) { } /** * Add a custom variant value attachment field. * * @param array $form_fields The form fields. * @param \WP_Post $post The post. * * @return array */ public function addAttachmentFields($form_fields, $post = null) { } /** * Sync the product. * * @param \SureCart\Models\Model $model The model. * * @return void */ public function sync(\SureCart\Models\Model $model) { } /** * Delete the synced product. * * @param \SureCart\Models\Product $product The model. * * @return void */ public function deleteSynced(\SureCart\Models\Product $product) { } /** * Validate the FSE template. * * @param string $template The template. * * @return string */ public function validateFSETemplate($template) { } /** * Add edit links * * @param \WP_Admin_bar $wp_admin_bar The admin bar. * * @return void */ public function addEditLink($wp_admin_bar) { } /** * Register the meta. * * @return void */ public function registerMeta() { } /** * Update the edit post link to edit the product directly. * * @param string $link The link. * @param integer $post_id The post ID. * * @return string */ public function updateEditLink($link, $post_id) { } /** * Disables gutenburg for our post type. * * This prevents blocks from loading in the editor, and other scripts that may * expect the editor. * * @param bool $current_status The current status. * @param string $post_type The post type. * * @return bool */ public function forceGutenberg($current_status, $post_type) { } /** * For classic themes, replace the content with the product info template. * * @param string $content The content. * * @return string */ public function replaceContentWithProductInfoPart($content) { } /** * Default gallery fallback. * * Because the gallery metadata has not yet been saved, pull in the product media * as the gallery. * * @param array $value The value. * @param integer $object_id The object ID. * @param string $meta_key The meta key. * @param bool $single Whether to return a single value. * * @return array|mixed; */ public function defaultGalleryFallback($value, $object_id, $meta_key, $single) { } /** * Setup the product. * * @param \WP_Post $post The post. * * @return void */ public function setupData($post = '') { } /** * Force the account id scope. * * @param \WP_Query $query The query. * * @return \WP_Query */ public function forceAccountIdScope($query) { } /** * Redirect to 404 if we are not in the correct store. * * @return void */ public function maybeRedirectTo404() { } /** * Handle the variation option value query. * * @param string $where The WHERE clause of the query. * @param WP_Query $query The WP_Query instance (passed by reference). * * @return string */ public function handleVariationOptionValueQuery($where, $query) { } /** * When a product media is deleted, remove it from the gallery. * * @param integer $post_id The post ID. * * @return void */ public function removeFromGallery($post_id) { } /** * Register the rest fields. * * @return void */ public function registerRestFields() { } /** * Add the sc_id meta query to the REST API request. * * @param array $args The args. * @param \WP_REST_Request $request The request. * * @return array */ public function addMetaQuery($args, $request) { } /** * Register the product post type. * * @return void */ public function registerPostType() { } /** * Register the archived post status for all post types. * * @return void */ public function registerPostStatus() { } /** * Update the document title name to match the model[eg-product] name. * * @param string $title The title. */ public function disallowPreTitle($title) { } /** * Update the document title name to match the model[eg-product] name. * * @param array $parts The parts of the document title. */ public function documentTitle($parts): array { } /** * Add the JSON-LD schema for the product. * * @return void */ public function addProductJsonSchema() { } /** * Get the JSON-LD schema for the product. * * @param \SureCart\Models\Product $product The product. * * @return array */ public function getJsonSchemaArray($product): array { } /** * Get the aggregate rating schema for the product. * * @param \SureCart\Models\Product $product The product. * * @return array */ public function getAggregateRatingSchema($product): array { } /** * Add SEO Meta Tags for the product. * * @return void */ public function addProductSeoMeta() { } /** * Render the SEO meta tags for the product. * * @param \SureCart\Models\Product $product The product. * * @return void */ public function renderProductSeoMeta($product) { } /** * Filter the post type link for products. * * @param string $permalink The post's permalink. * @param \WP_Post $post The post in question. * * @return string */ public function postTypeLink(string $permalink, \WP_Post $post): string { } /** * Redirect to the canonical URL for a product. * * @return void */ public function maybeRedirectToProductCanonicalUrl(): void { } } /** * Product upsell page post type service class. */ class ProductUpsellPagePostTypeService { /** * The post type slug. * * @var string */ protected $post_type = 'sc_upsell'; /** * Bootstrap service. * * @return void */ public function bootstrap() { } /** * Register the product post type. * * @return void */ public function registerPostType() { } } } namespace SureCart\WordPress\Posts { /** * Handles Post related services. */ class PostService { /** * The post. * * @var WP_Post|null */ public $post; /** * Get the form post. * * @param WP_Post|int|null $post The form or post type post. * * @return WP_Post|null */ public function getFormPost($post = null) { } /** * Get the form post from a page. * * @param WP_Post|int|null $post The form or post type post. * * @return WP_Post|null */ public function getFormPostFromBlock($post = null) { } /** * Get the form post from a shortcode. * * @param WP_Post|null $post The form or post type post. * * @return WP_Post|null */ public function getFormPostFromShortcode($post = null) { } /** * Get the form block. * * @param WP_Post|null $post The form or post type post. * @return array|null */ public function getFormBlock($post = null) { } } /** * Provide users dependencies. */ class PostServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCart\WordPress { /** * Recaptcha Validation Service. */ class RecaptchaValidationService { /** * Is recaptcha Enabled? * * @return boolean */ public function isEnabled() { } /** * Get reCaptcha min score. * * @return string */ public function getMinScore() { } /** * Get reCaptcha secret key. * * @return string */ public function getSecretKey() { } /** * Get reCaptcha secret key. * * @return string */ public function getSiteKey() { } /** * Get reCaptcha response data. * * @param string $grecaptcha recaptcha token. * @return object */ public function makeRequest($grecaptcha) { } /** * Check is validate token. * * @param object $verify_data recaptcha token. * @return bool */ public function isTokenValid($verify_data) { } /** * Check is validate score. * * @param object $verify_data recaptcha token. * @return bool */ public function isValidScore($verify_data) { } /** * Validate the recaptcha. * * @param string $grecaptcha_token The recaptcha token * * @return true|\WP_Error */ public function validate($grecaptcha_token) { } } } namespace SureCart\WordPress\Shortcodes { /** * Wraps the render callback for shortcodes that opt in via `['supports_product_id' => true]`. */ class ProductContextShortcodeWrapper { public function bootstrap() { } /** * Wrap the render callback when the caller opted in; pass through otherwise. * * @param callable $callback Render callback supplied by ShortcodesService. * @param string $name Shortcode name (unused — opt-in is via $options). * @param array $options Caller-supplied options bag. * * @return callable */ public function maybeWrap(callable $callback, $name, array $options = array()) { } /** * Run `$fn` with `surecart_current_product` temporarily set to `$value`, * restoring the previous value afterward (even on exception). * * @param mixed $value New query var value (null clears it). * @param callable $fn Callable to invoke. * * @return mixed */ protected function withQueryVar($value, callable $fn) { } } class ShortcodesBlockConversionService { /** * Holds the attributes. * * @var array */ protected $attributes = []; /** * Holds the content. * * @var string */ protected $content = ''; /** * Get things going * * @param array $attributes Attributes. * @param string $content Content. */ public function __construct($attributes, $content) { } /** * Convert the block * * @param string $name Block name. * @param string $block Block class. * @param array $defaults Default attributes. * * @return string */ public function convert($name, $block, $defaults = []) { } } /** * The shortcodes service. */ class ShortcodesService { /** * Old Shortcode block names which we want to not render through interactivity. * * @var array */ protected $old_blocks_by_name = ['surecart/product-collection-tags' => 'surecart/product-collection-tags', 'surecart/product-media' => 'surecart/product-media-old', 'surecart/product-title' => 'surecart/product-title-old', 'surecart/product-description' => 'surecart/product-description-old', 'surecart/product-price' => 'surecart/product-price', 'surecart/product-variant-choices' => 'surecart/product-variant-choices', 'surecart/product-price-choices' => 'surecart/product-price-choices', 'surecart/product-quantity' => 'surecart/product-quantity-old', 'surecart/product-buy-button' => 'surecart/product-buy-button-old']; /** * Render shortcode notice * * @param string $name Name. * * @return string */ public function renderShortcodeNotice($name) { } /** * Check if shortcode should render itself * * @param string $name Name of the shortcode. * @return boolean */ public function cannotRenderShortcode($name) { } /** * Register shortcode by name * * @param string $name Name of the shortcode. * @param string $block_name The registered block name. * @param array $defaults Default attributes. * @param array $options Opaque options bag forwarded to the `surecart/shortcodes/render_callback` filter. * * @return void */ public function registerBlockShortcodeByName($name, $block_name, $defaults = array(), array $options = array()) { } /** * Register a pattern file as a shortcode. * * @param string $name Shortcode name (e.g. 'sc_product_review_list'). * @param string $pattern_file Pattern filename without path or extension (e.g. 'product-review-standard'). * @param array $options Opaque options bag forwarded to the `surecart/shortcodes/render_callback` filter. * * @return void */ public function registerPatternShortcodeByName($name, $pattern_file, array $options = array()) { } /** * Process the block * * @param string $block_name Block name. * @param array $shortcode_attrs Shortcode attributes. * @param string $content Content. * * @return string */ public function processBlock($block_name, $shortcode_attrs, $content) { } /** * Remove interactivity doing it wrong * * @param string $trigger Trigger. * @param string $function_name Function name. * * @return string|false */ public function removeInteractivityDoingItWrong($trigger, $function_name) { } } /** * Register shortcodes. */ class ShortcodesServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * The service container. * * @var \Pimple\Container $container Service Container. */ protected $container; /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } /** * Register shortcodes. * * @return void */ public function registerShortcodes() { } /** * Dashboard tab shortcode. * * @param array $attributes Shortcode attributes. * @param string $content Shortcode content. * @return string Shortcode output. */ public function dashboardShortcode($attributes, $content) { } /** * Form shorcode * * @param array $atts Shortcode attributes. * @param string $content Shortcode content. * @param string $name Shortcode tag. * * @return string Shortcode output. */ public function formShortcode($atts, $content, $name) { } /** * Buy button shortcode. * * @param array $atts An array of attributes. * @param string $content Content. * * @return string */ public function buyButtonShortcode($atts, $content) { } /** * Get specific shortcode atts from content * * @param string $name Name of shortcode. * @param string $content Page content. * @param array $defaults Defaults for each. * @return array */ public function getShortcodesAtts($name, $content, $defaults = []) { } /** * Convert to block. * * @param string $name The name. * @param stdClass $block The block. * @param array $defaults The defaults. * @param array $atts The atts. * @param string $content The content. * * @return string */ protected function convertToBlock($name, $block, $defaults = [], $atts = [], $content = '') { } } } namespace SureCart\WordPress { /** * InitialState class * * Manages the initial state of the store in the server and * its serialization so it can be restored in the browser upon hydration. */ class StateService { /** * Store data. * * @var array */ private $store = array(); /** * Set the store. * * @param array $store The store data. */ public function __construct($store) { } /** * Render the store in the footer. * * @return void */ public function bootstrap() { } /** * Get store data. * * @return array */ public function getData() { } /** * Get the line items service. * * @return LineItemStateService */ public function lineItems() { } /** * Merge data. * * @param array $data The data that will be merged with the existing store. */ public function mergeData($data) { } /** * Reset the store data. */ public function reset() { } /** * Render the store data. */ public function render() { } } } namespace SureCart\WordPress\Taxonomies { /** * Form post type service class. */ class CollectionTaxonomyService { /** * The post type slug. * * @var string */ protected $slug = 'sc_collection'; /** * Bootstrap service. * * @return void */ public function bootstrap() { } /** * Always fetch taxonomy terms with sc_id metadata. * * @param array $args The arguments. * @param array $taxonomies The taxonomies. * * @return array */ public function getTermsArgs($args, $taxonomies) { } /** * Update the edit collection link to edit the collection directly. * * @param string $link The link. * @param integer $term_id The term ID. * @param string $taxonomy The taxonomy. * * @return string */ public function updateEditLink($link, $term_id, $taxonomy) { } /** * Get the template for the taxonomy. * * @param string $template The template. * * @return string */ public function template($template) { } /** * Register the taxonomy * * @return void */ public function register() { } } /** * Form post type service class. */ class StoreTaxonomyService { /** * The post type slug. * * @var string */ protected $slug = 'sc_account'; /** * Bootstrap service. * * @return void */ public function bootstrap() { } /** * Register the taxonomy * * @return void */ public function register() { } } /** * Taxonomy Service. */ class TaxonomyService { /** * Bootstrap the service. */ public function bootstrap() { } /** * Removes the posts column from the taxonomy table since this can * lead them to edit the product post type directly. */ public function manageScreen() { } /** * Generate the link to edit a taxonomy. * * @param string $taxonomy_name The taxonomy name. * * @return string */ public function editLink($taxonomy_name, $post_type = '') { } } /** * Register our form post type */ class TaxonomyServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function bootstrap($container) { } } } namespace SureCart\WordPress\Templates { /** * The block templates service. */ class BlockTemplatesService { /** * The utility service. * * @var \SureCart\Support\Blocks\TemplateUtilityService */ private $utility; /** * BlockTemplatesService constructor. */ public function __construct() { } /** * Bootstrap the block templates service. * * @return void */ public function bootstrap() { } /** * Checks whether a block template with that name exists in Woo Blocks * * @param string $template_name Template to check. * @param array $template_type wp_template or wp_template_part. * * @return boolean */ public function blockTemplateIsAvailable($template_name, $template_type = 'wp_template') { } /** * This function is used on the `pre_get_block_template` hook to return the fallback template from the db in case * the template is eligible for it. * * @param \WP_Block_Template|null $template Block template object to short-circuit the default query, * or null to allow WP to run its normal queries. * @param string $id Template unique identifier (example: theme_slug//template_slug). * @param string $template_type wp_template or wp_template_part. * * @return object|null */ public function getBlockFileTemplate($template, $id, $template_type) { } /** * Add the block template objects to be used. * * @param array $query_result Array of template objects. * @param array $query Optional. Arguments to retrieve templates. * @param string $template_type wp_template or wp_template_part. * @return array */ public function addBlockTemplates($query_result, $query, $template_type) { } /** * Set the template name * * @param [type] $template * * @return void */ public function setTemplateName($template) { } /** * Get and build the block template objects from the block template files. * * @param array $slugs An array of slugs to retrieve templates for. * @param string $template_type wp_template or wp_template_part. * * @return array WP_Block_Template[] An array of block template objects. */ public function getBlockTemplates($slugs = [], $template_type = 'wp_template') { } /** * Gets the templates saved in the database. * * @param array $slugs An array of slugs to retrieve templates for. * @param string $template_type wp_template or wp_template_part. * * @return int[]|\WP_Post[] An array of found templates. */ public function getBlockTemplatesFromDB($slugs = array(), $template_type = 'wp_template') { } /** * Gets the templates from the SureCart blocks directory, skipping those for which a template already exists * in the theme directory. * * @param string[] $slugs An array of slugs to filter templates by. Templates whose slug does not match will not be returned. * @param array $already_found_templates Templates that have already been found, these are customised templates that are loaded from the database. * @param string $template_type wp_template or wp_template_part. * * @return array Templates from the SureCart blocks plugin directory. */ public function getBlockTemplatesFromSureCart($slugs, $already_found_templates, $template_type = 'wp_template') { } } /** * The template service. */ class CollectionTemplateService { /** * The template file/name associations. * * @var array */ private $templates = []; /** * The post type for the templates. * * @var string */ private $type = 'sc_collection'; /** * Get things going. * * @param array $templates The template file/name associations. */ public function __construct($templates) { } /** * Bootstrap actions and filters. * * @return void */ public function bootstrap() { } /** * Add the templates to the theme. * * @param array $templates The templates. * @return array */ public function addTemplates($templates) { } } /** * The template service. */ class TemplatesService { /** * The service container. * * @var array */ private $container; /** * The template file/name associations. * * @var array */ private $templates = []; /** * The post type for the templates. * * @var string */ private $post_type = ''; /** * SureCart plugin slug * * This is used to save templates to the DB which are stored against this value in the wp_terms table. * * @var string */ const PLUGIN_SLUG = 'surecart/surecart'; /** * Get things going. * * @param array $container The service container. * @param array $templates The template file/name associations. * @param string $post_type The post type for the templates. */ public function __construct($container, $templates, $post_type) { } /** * Bootstrap actions and filters. * * @return void */ public function bootstrap() { } /** * Fix the dashboard template. * * @param string $template The template. * @return string */ public function fixFSEDashboardTemplate($template) { } /** * Add surecart_current_product to list of query vars. * * @param array $vars The query vars. * @return array */ public function addCurrentProductQueryVar($vars) { } /** * Register any template meta we need. */ public function registerMeta() { } /** * Is one of our templates active? * * @return boolean */ public function isTemplateActive() { } /** * Add the templates. to the existing templates. * * @param array $posts_templates Existing templates. * * @return array */ public function addTemplates($posts_templates) { } /** * Include the template if it is set. * * @param string $template Template url. * * @return string */ public function includeTemplate($template) { } /** * Add to the body class if it's our template. * * @param array $body_class Array of body class names. * * @return array */ public function bodyClass($body_class) { } } /** * Templates service provider. */ class TemplatesServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * The Upsell template service. */ class UpsellTemplatesService { /** * The service container. * * @var Container $container */ private \SureCartVendors\Pimple\Container $container; /** * The template file/name associations. * * @var array */ private array $templates = []; /** * The post type for the templates. * * @var string */ private string $post_type = 'sc_upsell'; /** * SureCart plugin slug. * * This is used to save templates to the DB which are stored against this value in the wp_terms table. * * @var string */ const PLUGIN_SLUG = 'surecart/surecart'; /** * Get things going. * * @param array $container The service container. * @param array $templates The template file/name associations. */ public function __construct($container, $templates) { } /** * Bootstrap actions and filters. * * @return void */ public function bootstrap() { } /** * Add surecart_current_upsell to list of query vars. * * @param array $vars The query vars. * @return array */ public function addCurrentUpsellQueryVar(array $vars): array { } /** * Filters the posts array before the query takes place to return a product post. * Return a non-null value to bypass WordPress' default post queries. * * Filtering functions that require pagination information are encouraged to set * the `found_posts` and `max_num_pages` properties of the WP_Query object, * passed to the filter by reference. If WP_Query does not perform a database * query, it will not have enough information to generate these values itself. * * @param WP_Post[]|int[]|null $posts Return an array of post data to short-circuit WP's query, * or null to allow WP to run its normal queries. * @param \WP_Query $wp_query The WP_Query instance (passed by reference). * * @return WP_Post[]|null Array of post data, or null to allow WP to run its normal queries. */ public function overrideUpsellPostQuery($posts, \WP_Query $wp_query) { } /** * Add the templates. to the existing templates. * * @param array $posts_templates Existing templates. * * @return array */ public function addTemplates(array $posts_templates): array { } /** * Include the template if it is set. * * @param string $template Template url. * * @return string */ public function includeTemplate(string $template): string { } } } namespace SureCart\WordPress { /** * Handles theme-related functionality. */ class ThemeService { /** * Bootstrap the service. * * @return void */ public function bootstrap() { } /** * Get the current theme preference. * * Reads from brand.theme (API) as the primary source. * Falls back to the WP option if the API data is unavailable. * * @return string 'light' or 'dark' */ public function mode(): string { } /** * Get the logo URL based on the current theme. * * Returns the dark logo URL when theme is dark and a dark logo exists, * otherwise returns the standard logo URL. * * @return string The logo URL. */ public function logoUrl(): string { } /** * Get the brand color based on the current theme. * * Returns the dark color when theme is dark and a dark color exists, * otherwise returns the standard brand color. * * @return string The brand color hex value (without #). */ public function brandColor(): string { } /** * Add support for Appearance Tools. * * @return void */ public function addAppearanceToolsSupport() { } /** * Add Theme to body class admin. * * @param string $classes String of classes. * * @return string */ public function themeBodyClassAdmin($classes) { } /** * Add our theme class to the body tag. * * @param array $classes Array of body classes. * * @return array */ public function themeBodyClass($classes) { } /** * Add our color to the palette. * * @return void */ public function addColorToPalette() { } /** * Should load on demand block assets setting & functionality or not? * * @return boolean */ public function shouldLoadOnDemandBlockAssets() { } } /** * Register translations. */ class ThemeServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } /** * Register translations. */ class TranslationsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap the service. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } /** * Compile javascript translations as a single file. * We need to do this since we lazy load a lot of our scripts. * * @param string $path Path for the json file. * @param string $po_path Path of the po. * * @return string */ public function compileSingleJSON($path, $po_path) { } /** * Load the single translation file when the domain loads. * * @param string $file The file. * @param string $handle The script handle. * @param string $domain The domain. * * @return string */ public function loadSingleTranslationFile($file, $handle, $domain) { } /** * This is needed for Loco translate to work properly. */ public function loadPluginTextDomain() { } } /** * Main communication channel with the theme. */ class UpgradeNoticeService { /** * Application instance. * * @var Application */ protected $app = null; /** * List of versions to show the update notice. * * @var array */ public $show_update_notice_versions = ['3.0.0']; /** * Constructor. * * @param Application $app Application instance. */ public function __construct($app) { } /** * Bootstrap the plugin. * * @return void */ public function bootstrap() { } /** * Should show update notice? * * @return boolean */ public function shouldShowUpdateNotice() { } /** * Display the update message. * * @param array $plugin_data Plugin data. * * @return void */ public function updateMessage($plugin_data) { } /** * Display a warning if the plugin version has changed. * * @return void */ public function versionUpdateWarning() { } /** * Shortcut to \SureCart\WordPress\PluginService * * @return \SureCart\WordPress\PluginService */ public function plugin() { } } } namespace SureCart\WordPress\Users { /** * WordPress Users service. */ class CustomerLinkService { /** * Holds a password. * * @var string */ protected $password_hash = ''; /** * Holds the model for the link. * * @var \SureCart\Models\Checkout */ protected $checkout; /** * Get things going. * * @param \SureCart\Models\Checkout $checkout Model for the link. * @param string $password_hash The password. */ public function __construct(\SureCart\Models\Checkout $checkout, $password_hash = '') { } /** * Link the user to the checkout. * * @return \SureCart\Models\User|\WP_Error|false */ public function link() { } /** * Find the user by customer id. * * @return \SureCart\Models\User|false */ protected function getLinked() { } /** * Link a user with email. * * @return \SureCart\Models\User|false */ protected function linkUserWithEmail() { } /** * Get the checkout customer's email, fetching the customer when not expanded. * * @return string|null */ protected function getCustomerEmail() { } /** * Create the user and link it. * * @return \SureCart\Models\User|\WP_Error|false */ protected function linkNewUser() { } } /** * WordPress Users service. */ class UsersService { /** * Register rest related queries. * * @return void */ public function bootstrap() { } /** * Fires immediately after an existing customer is updated. * * @param object $customer Customer Data. */ public function syncCustomerProfile($customer) { } /** * Apply a customer's profile fields to its linked WP user. * * Shared by the webhook-driven syncCustomerProfile() and the REST-driven * customer edit flow so the "never sync email" rule lives in one place. * Intentionally NOT syncing user_email — CVE-2026-7655 (account takeover via lost-password). * * @param \WP_User $wp_user The linked WP user. * @param object $customer Customer data. * * @return int|\WP_Error The updated user ID or a WP_Error. */ public function applyCustomerToWPUser($wp_user, $customer) { } /** * Fires immediately after an existing user is updated. * * @param int $user_id User ID. * @param WP_User $old_user_data Object containing user's data prior to update. * @param array $userdata The raw array of data passed to wp_insert_user(). */ public function syncUserProfile($user_id, $old_user_data, $userdata) { } /** * Prevent any user who cannot 'edit_posts' (subscribers, customers etc) from seeing the admin bar. * * @param bool $show_admin_bar If should display admin bar. * @return bool */ public function disableAdminBar($show_admin_bar) { } /** * Add our query parameters to the rest api. * * @param array $query_params The query parameters. * @return array */ public function collectionParams($query_params) { } /** * Register customer id meta. * * @return void */ public function registerMeta() { } /** * Allow querying by customer id in the REST API * * @param array $args Query args. * @param \WP_REST_Request $request Request. * @return array */ public function userMetaQuery($args, $request) { } /** * Query only users who are customers or not. * * @param array $args Query args. * @param \WP_REST_Request $request Request. * @return array */ public function isCustomerQuery($args, $request) { } } /** * Provide users dependencies. */ class UsersServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * Register all dependencies in the IoC container. * * @param \Pimple\Container $container Service container. * @return void */ public function register($container) { } /** * Bootstrap any services if needed. * * @param \Pimple\Container $container Service container. * @return void */ public function bootstrap($container) { } } } namespace SureCartAppCore\AppCore { /** * Main communication channel with the theme. */ class AppCore { /** * Application instance. * * @var Application */ protected $app = null; /** * Constructor. * * @param Application $app */ public function __construct($app) { } /** * Shortcut to \SureCartAppCore\Assets\Assets. * * @return \SureCartAppCore\Assets\Assets */ public function assets() { } /** * Shortcut to \SureCartAppCore\Avatar\Avatar. * * @return \SureCartAppCore\Avatar\Avatar */ public function avatar() { } /** * Shortcut to \SureCartAppCore\Config\Config. * * @return \SureCartAppCore\Config\Config */ public function config() { } /** * Shortcut to \SureCartAppCore\Image\Image. * * @return \SureCartAppCore\Image\Image */ public function image() { } /** * Shortcut to \SureCartAppCore\Sidebar\Sidebar. * * @return \SureCartAppCore\Sidebar\Sidebar */ public function sidebar() { } } } namespace SureCartCore\ServiceProviders { /** * Allows objects to extend the config. */ trait ExtendsConfigTrait { /** * Recursively replace default values with the passed config. * - If either value is not an array, the config value will be used. * - If both are an indexed array, the config value will be used. * - If either is a keyed array, array_replace will be used with config having priority. * * @param mixed $default * @param mixed $config * @return mixed */ protected function replaceConfig($default, $config) { } /** * Extends the WP Emerge config in the container with a new key. * * @param Container $container * @param string $key * @param mixed $default * @return void */ public function extendConfig($container, $key, $default) { } } } namespace SureCartAppCore\AppCore { /** * Provide theme dependencies. * * @codeCoverageIgnore */ class AppCoreServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { use \SureCartCore\ServiceProviders\ExtendsConfigTrait; /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartAppCore\Application { /** * Can be applied to your App class via a "@mixin" annotation for better IDE support. * This class is not meant to be used in any other capacity. * * @codeCoverageIgnore */ final class ApplicationMixin { /** * Prevent class instantiation. */ private function __construct() { } /** * Get the Theme service instance. * * @return AppCore */ public static function core() { } } } namespace SureCartAppCore\Assets { class Assets { /** * App root path. * * @var string */ protected $path = ''; /** * App root URL. * * @var string */ protected $url = ''; /** * Config. * * @var Config */ protected $config = null; /** * Manifest. * * @var Manifest */ protected $manifest = null; /** * Constructor. * * @param string $path * @param string $url * @param Config $config * @param Manifest $manifest */ public function __construct($path, $url, \SureCartAppCore\Config\Config $config, \SureCartAppCore\Assets\Manifest $manifest) { } /** * Remove the protocol from an http/https url. * * @param string $url * @return string */ protected function removeProtocol($url) { } /** * Get if a url is external or not. * * @param string $url * @param string $home_url * @return boolean */ protected function isExternalUrl($url, $home_url) { } /** * Generate a version for a given asset src. * * @param string $src * @return integer|boolean */ protected function generateFileVersion($src) { } /** * Get the public URL to the app root. * * @return string */ public function getUrl() { } /** * Get the public URL to a generated asset based on manifest.json. * * @param string $asset * * @return string */ public function getAssetUrl($asset) { } /** * Get the public URL to a generated JS or CSS bundle. * Handles SCRIPT_DEBUG and hot reloading. * * @param string $name Source basename (no extension). * @param string $extension Source extension - '.js' or '.css'. * @return string */ public function getBundleUrl($name, $extension) { } /** * Enqueue a style, dynamically generating a version for it. * * @param string $handle * @param string $src * @param array $dependencies * @param string $media * @return void */ public function enqueueStyle($handle, $src, $dependencies = [], $media = 'all') { } /** * Enqueue a script, dynamically generating a version for it. * * @param string $handle * @param string $src * @param array $dependencies * @param boolean $in_footer * @return void */ public function enqueueScript($handle, $src, $dependencies = [], $in_footer = false) { } /** * Add favicon meta. * * @return void */ public function addFavicon() { } } /** * Provide assets dependencies. * * @codeCoverageIgnore */ class AssetsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartAppCore\Concerns { trait ReadsJsonTrait { /** * Cache. * * @var array|null */ protected $cache = null; /** * Get the path to the JSON that should be read. * * @return string */ abstract protected function getJsonPath(); /** * Load the json file. * * @param string $file * * @return array */ protected function load($file) { } /** * Get the entire json array. * * @return array */ protected function getAll() { } /** * Get a json value. * * @param string $key * @param mixed $default * @return mixed */ public function get($key, $default = null) { } } } namespace SureCartAppCore\Assets { class Manifest { use \SureCartAppCore\Concerns\ReadsJsonTrait { load as traitLoad; } /** * App root path. * * @var string */ protected $path = ''; /** * Constructor. * * @param string $path */ public function __construct($path) { } /** * {@inheritDoc} */ protected function getJsonPath() { } /** * {@inheritDoc} */ protected function load($file) { } } } namespace SureCartAppCore\Avatar { class Avatar { /** * Default avatar attachment id. * * @var integer */ protected $default_avatar_id = 0; /** * User meta keys that should be used as the avatar, in order. * * @var string[] */ protected $avatar_user_meta_keys = []; /** * Bootstrap. * * @return void */ public function bootstrap() { } /** * Set the default avatar to an attachment id. * * @param integer $attachment_id * @return void */ public function setDefault($attachment_id) { } /** * Add a meta key which should be checked for a valid attachment id * * @param string $user_meta_key * @return void */ public function addUserMetaKey($user_meta_key) { } /** * Remove a previously added meta key * * @param string $user_meta_key * @return void */ public function removeUserMetaKey($user_meta_key) { } /** * Converts an id_or_email to an ID if possible. * * @param integer|string|WP_Comment $id_or_email * @return integer|string */ protected function idOrEmailToId($id_or_email) { } /** * Returns a size (name or [widget, height]) for the given avatar arguments. * * @param array $arguments * @return array|string */ protected function getSize($arguments) { } /** * Get attachment fallback chain for the user avatar. * * @param integer $user_id * @return array */ protected function getAttachmentFallbackChain($user_id) { } /** * Get avatar url * * @param integer $id * @param array|string $size * @return string|null */ protected function getAvatarUrl($id, $size) { } /** * Filter an avatar url based on the default avatar attachment id and registered meta keys. * * @param string $url * @param integer|string $id_or_email * @param array $args * @return string */ public function filterAvatar($url, $id_or_email, $args) { } } /** * Provide avatar dependencies. * * @codeCoverageIgnore */ class AvatarServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartAppCore\Concerns { class JsonFileInvalidException extends \Exception { } class JsonFileNotFoundException extends \Exception { } } namespace SureCartAppCore\Config { class Config { use \SureCartAppCore\Concerns\ReadsJsonTrait { load as traitLoad; } /** * App root path. * * @var string */ protected $path = ''; /** * Constructor. * * @param string $path */ public function __construct($path) { } /** * {@inheritDoc} */ protected function getJsonPath() { } } /** * Provide assets dependencies. * * @codeCoverageIgnore */ class ConfigServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartAppCore\Image { class Image { /** * Get a suitable name for a resized version of an image file. * * @param string $filepath * @param integer $width * @param integer $height * @param boolean $crop * @return string */ protected function getResizedFilename($filepath, $width, $height, $crop) { } /** * Resize and store a copy of an image file. * * @param string $source * @param string $destination * @param integer $width * @param integer $height * @param boolean $crop * @return string */ protected function store($source, $destination, $width, $height, $crop) { } /** * Dynamically generate a thumbnail (if one is not already available) and return the url. * * @param integer $attachment_id * @param integer $width * @param integer $height * @param boolean $crop * @return string */ public function thumbnail($attachment_id, $width, $height, $crop = true) { } } /** * Provide image dependencies. * * @codeCoverageIgnore */ class ImageServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartAppCore\Sidebar { class Sidebar { /** * Check if the current page is part of the blog structure. * * @return boolean */ protected function isBlog() { } /** * Get the post id that should be checked for a custom sidebar for the current request. * * @return int */ protected function getSidebarPostId() { } /** * Get the current sidebar id. * * @param string $default Default sidebar to use if a custom one is not specified. * @param string $meta_key Meta key to check for a custom sidebar id. * @return string */ public function getCurrentSidebarId($default = 'default-sidebar', $meta_key = '_custom_sidebar') { } } /** * Provide sidebar dependencies. * * @codeCoverageIgnore */ class SidebarServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Application { /** * Add methods to classes at runtime. * Loosely based on spatie/macroable. * * @codeCoverageIgnore */ trait HasAliasesTrait { /** * Registered aliases. * * @var array */ protected $aliases = []; /** * Get whether an alias is registered. * * @param string $alias * @return boolean */ public function hasAlias($alias) { } /** * Get a registered alias. * * @param string $alias * @return array|null */ public function getAlias($alias) { } /** * Register an alias. * Useful when passed the return value of getAlias() to restore * a previously registered alias, for example. * * @param array $alias * @return void */ public function setAlias($alias) { } /** * Register an alias. * Identical to setAlias but with a more user-friendly interface. * * @codeCoverageIgnore * @param string $alias * @param string|Closure $target * @param string $method * @return void */ public function alias($alias, $target, $method = '') { } /** * Call alias if registered. * * @param string $method * @param array $parameters * @return mixed */ public function __call($method, $parameters) { } /** * Resolve a dependency from the IoC container. * * @param string $key * @return mixed|null */ abstract public function resolve($key); } /** * Load service providers. */ trait LoadsServiceProvidersTrait { /** * Array of default service providers. * * @var string[] */ protected $service_providers = [\SureCartCore\Application\ApplicationServiceProvider::class, \SureCartCore\Kernels\KernelsServiceProvider::class, \SureCartCore\Exceptions\ExceptionsServiceProvider::class, \SureCartCore\Requests\RequestsServiceProvider::class, \SureCartCore\Responses\ResponsesServiceProvider::class, \SureCartCore\Routing\RoutingServiceProvider::class, \SureCartCore\View\ViewServiceProvider::class, \SureCartCore\Controllers\ControllersServiceProvider::class, \SureCartCore\Middleware\MiddlewareServiceProvider::class, \SureCartCore\Csrf\CsrfServiceProvider::class, \SureCartCore\Flash\FlashServiceProvider::class, \SureCartCore\Input\OldInputServiceProvider::class]; /** * Register and bootstrap all service providers. * * @codeCoverageIgnore * @param Container $container * @return void */ protected function loadServiceProviders(\SureCartVendors\Pimple\Container $container) { } /** * Register all service providers. * * @param ServiceProviderInterface[] $service_providers * @param Container $container * @return void */ protected function registerServiceProviders($service_providers, \SureCartVendors\Pimple\Container $container) { } /** * Bootstrap all service providers. * * @param ServiceProviderInterface[] $service_providers * @param Container $container * @return void */ protected function bootstrapServiceProviders($service_providers, \SureCartVendors\Pimple\Container $container) { } } /** * Holds an IoC container. */ trait HasContainerTrait { /** * IoC container. * * @var Container */ protected $container = null; /** * Get the IoC container instance. * * @codeCoverageIgnore * @return Container */ public function container() { } /** * Set the IoC container instance. * * @codeCoverageIgnore * @param Container $container * @return void */ public function setContainer($container) { } /** * Resolve a dependency from the IoC container. * * @param string $key * @return mixed|null */ public function resolve($key) { } } /** * The core WP Emerge component representing an application. */ class Application { use \SureCartCore\Application\HasAliasesTrait; use \SureCartCore\Application\LoadsServiceProvidersTrait; use \SureCartCore\Application\HasContainerTrait; /** * Flag whether to intercept and render configuration exceptions. * * @var boolean */ protected $render_config_exceptions = true; /** * Flag whether the application has been bootstrapped. * * @var boolean */ protected $bootstrapped = false; /** * Make a new application instance. * * @codeCoverageIgnore * @return static */ public static function make() { } /** * Constructor. * * @param Container $container * @param boolean $render_config_exceptions */ public function __construct(\SureCartVendors\Pimple\Container $container, $render_config_exceptions = true) { } /** * Get whether the application has been bootstrapped. * * @return boolean */ public function isBootstrapped() { } /** * Bootstrap the application. * * @param array $config * @param boolean $run * @return void */ public function bootstrap($config = [], $run = true) { } /** * Load config into the service container. * * @codeCoverageIgnore * @param Container $container * @param array $config * @return void */ protected function loadConfig(\SureCartVendors\Pimple\Container $container, $config) { } /** * Load route definition files depending on the current request. * * @codeCoverageIgnore * @return void */ protected function loadRoutes() { } /** * Load a route group applying default attributes, if any. * * @codeCoverageIgnore * @param string $group * @return void */ protected function loadRoutesGroup($group) { } /** * Catch any configuration exceptions and short-circuit to an error page. * * @codeCoverageIgnore * @param Closure $action * @return void */ public function renderConfigExceptions(\Closure $action) { } } /** * Can be applied to your App class via a "@mixin" annotation for better IDE support. * This class is not meant to be used in any other capacity. * * @codeCoverageIgnore */ final class ApplicationMixin { /** * Prevent class instantiation. */ private function __construct() { } // --- Methods --------------------------------------- // /** * Get whether the application has been bootstrapped. * * @return boolean */ public static function isBootstrapped() { } /** * Bootstrap the application. * * @param array $config * @param boolean $run * @return void */ public static function bootstrap($config = [], $run = true) { } /** * Get the IoC container instance. * * @codeCoverageIgnore * @return Container */ public static function container() { } /** * Set the IoC container instance. * * @codeCoverageIgnore * @param Container $container * @return void */ public static function setContainer($container) { } /** * Resolve a dependency from the IoC container. * * @param string $key * @return mixed|null */ public static function resolve($key) { } // --- Aliases --------------------------------------- // /** * Get the Application instance. * * @codeCoverageIgnore * @return \SureCartCore\Application\Application */ public static function app() { } /** * Get the ClosureFactory instance. * * @codeCoverageIgnore * @return ClosureFactory */ public static function closure() { } /** * Get the CSRF service instance. * * @codeCoverageIgnore * @return \SureCartCore\Csrf\Csrf */ public static function csrf() { } /** * Get the Flash service instance. * * @codeCoverageIgnore * @return \SureCartCore\Flash\Flash */ public static function flash() { } /** * Get the OldInput service instance. * * @codeCoverageIgnore * @return \SureCartCore\Input\OldInput */ public static function oldInput() { } /** * Run a full middleware + handler pipeline independently of routes. * * @codeCoverageIgnore * @see \SureCartCore\Kernels\HttpKernel::run() * @param RequestInterface $request * @param string[] $middleware * @param string|\Closure $handler * @param array $arguments * @return ResponseInterface */ public static function run(\SureCartCore\Requests\RequestInterface $request, $middleware, $handler, $arguments = []) { } /** * Get the ResponseService instance. * * @codeCoverageIgnore * @return \SureCartCore\Responses\ResponseService */ public static function responses() { } /** * Create a "blank" response. * * @codeCoverageIgnore * @see \SureCartCore\Responses\ResponseService::response() * @return ResponseInterface */ public static function response() { } /** * Create a response with the specified string as its body. * * @codeCoverageIgnore * @see \SureCartCore\Responses\ResponseService::output() * @param string $output * @return ResponseInterface */ public static function output($output) { } /** * Create a response with the specified data encoded as JSON as its body. * * @codeCoverageIgnore * @see \SureCartCore\Responses\ResponseService::json() * @param mixed $data * @return ResponseInterface */ public static function json($data) { } /** * Create a redirect response. * * @codeCoverageIgnore * @see \SureCartCore\Responses\ResponseService::redirect() * @return RedirectResponse */ public static function redirect() { } /** * Create a response with the specified error status code. * * @codeCoverageIgnore * @see \SureCartCore\Responses\ResponseService::error() * @param integer $status * @return ResponseInterface */ public static function error($status) { } /** * Get the ViewService instance. * * @codeCoverageIgnore * @return \SureCartCore\View\ViewService */ public static function views() { } /** * Create a view. * * @codeCoverageIgnore * @see \SureCartCore\View\ViewService::make() * @param string|string[] $views * @return ViewInterface */ public static function view($views) { } /** * Output child layout content. * * @codeCoverageIgnore * @see \SureCartCore\View\PhpViewEngine::getLayoutContent() * @return void */ public static function layoutContent() { } /** * Create a new route. * * @codeCoverageIgnore * @return RouteBlueprint */ public static function route() { } /** * Output the specified view. * * @codeCoverageIgnore * @see \SureCartCore\View\ViewService::make() * @see \SureCartCore\View\ViewInterface::toString() * @param string|string[] $views * @param array $context * @return void */ public static function render($views, $context = []) { } } /** * Provide application dependencies. * * @codeCoverageIgnore */ class ApplicationServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { use \SureCartCore\ServiceProviders\ExtendsConfigTrait; /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } /** * Factory that makes closures which resolve values from the container. */ class ClosureFactory { /** * Factory. * * @var GenericFactory */ protected $factory = null; /** * Constructor. * * @codeCoverageIgnore * @param GenericFactory $factory */ public function __construct(\SureCartCore\Application\GenericFactory $factory) { } /** * Make a closure that resolves a value from the container. * * @param string $key * @return Closure */ public function value($key) { } /** * Make a closure that resolves a class instance from the container and * calls one of its methods. * Useful if you need to pass a callable to an API without container * support such as the REST API. * * @param string $key * @param string $method * @return Closure */ public function method($key, $method) { } } /** * Generic class instance factory. */ class GenericFactory { /** * Container. * * @var Container */ protected $container = null; /** * Constructor. * * @codeCoverageIgnore * @param Container $container */ public function __construct(\SureCartVendors\Pimple\Container $container) { } /** * Make a class instance. * * @throws ClassNotFoundException * @param string $class * @return object */ public function make($class) { } } } namespace SureCartCore\Controllers { /** * Provide controller dependencies * * @codeCoverageIgnore */ class ControllersServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } /** * Handles normal WordPress requests without interfering * Useful if you only want to add a middleware to a route without handling the output * * @codeCoverageIgnore */ class WordPressController { /** * View service. * * @var ViewService */ protected $view_service = null; /** * Constructor. * * @codeCoverageIgnore * @param ViewService $view_service */ public function __construct(\SureCartCore\View\ViewService $view_service) { } /** * Default WordPress handler. * * @param RequestInterface $request * @param string $view * @return ResponseInterface */ public function handle(\SureCartCore\Requests\RequestInterface $request, $view = '') { } } } namespace SureCartCore\Csrf { /** * Provide CSRF protection utilities through WordPress nonces. */ class Csrf { /** * Convenience header to check for the token. * * @var string */ protected $header = 'X-CSRF-TOKEN'; /** * GET/POST parameter key to check for the token. * * @var string */ protected $key = ''; /** * Maximum token lifetime. * * @link https://codex.wordpress.org/Function_Reference/wp_verify_nonce * @var integer */ protected $maximum_lifetime = 2; /** * Last generated tokens. * * @var array */ protected $tokens = []; /** * Constructor. * * @codeCoverageIgnore * @param string $key * @param integer $maximum_lifetime */ public function __construct($key = '__SureCartCsrfToken', $maximum_lifetime = 2) { } /** * Get the last generated token. * * @param int|string $action * @return string */ public function getToken($action = -1) { } /** * Get the csrf token from a request. * * @param RequestInterface $request * @return string */ public function getTokenFromRequest(\SureCartCore\Requests\RequestInterface $request) { } /** * Generate a new token. * * @param int|string $action * @return string */ public function generateToken($action = -1) { } /** * Check if a token is valid. * * @param string $token * @param int|string $action * @return boolean */ public function isValidToken($token, $action = -1) { } /** * Add the token to a URL. * * @param string $url * @param int|string $action * @return string */ public function url($url, $action = -1) { } /** * Return the markup for a hidden input which holds the current token. * * @param int|string $action * @return void */ public function field($action = -1) { } } /** * Store current request data and clear old request data */ class CsrfMiddleware { /** * CSRF service. * * @var Csrf */ protected $csrf = null; /** * Constructor. * * @param Csrf $csrf */ public function __construct($csrf) { } /** * Reject requests that fail nonce validation. * * @param RequestInterface $request * @param Closure $next * @param mixed $action * @return ResponseInterface * @throws InvalidCsrfTokenException */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $action = -1) { } } /** * Provide CSRF dependencies. * * @codeCoverageIgnore */ class CsrfServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Exceptions { class Exception extends \Exception { } } namespace SureCartCore\Csrf { class InvalidCsrfTokenException extends \SureCartCore\Exceptions\Exception { } } namespace SureCartCore\Exceptions { class ConfigurationException extends \SureCartCore\Exceptions\Exception { } class ClassNotFoundException extends \SureCartCore\Exceptions\ConfigurationException { } interface ErrorHandlerInterface { /** * Register any necessary error, exception and shutdown handlers. * * @return void */ public function register(); /** * Unregister any registered error, exception and shutdown handlers. * * @return void */ public function unregister(); /** * Get a response representing the specified exception. * * @param RequestInterface $request * @param PhpException $exception * @return ResponseInterface */ public function getResponse(\SureCartCore\Requests\RequestInterface $request, \Exception $exception); } class ErrorHandler implements \SureCartCore\Exceptions\ErrorHandlerInterface { /** * Response service. * * @var ResponseService */ protected $response_service = null; /** * Pretty handler. * * @var RunInterface|null */ protected $whoops = null; /** * Whether debug mode is enabled. * * @var boolean */ protected $debug = false; /** * Constructor. * * @codeCoverageIgnore * @param ResponseService $response_service * @param RunInterface|null $whoops * @param boolean $debug */ public function __construct($response_service, $whoops, $debug = false) { } /** * {@inheritDoc} * * @codeCoverageIgnore */ public function register() { } /** * {@inheritDoc} * * @codeCoverageIgnore */ public function unregister() { } /** * Convert an exception to a ResponseInterface instance if possible. * * @param PhpException $exception * @return ResponseInterface|false */ protected function toResponse($exception) { } /** * Convert an exception to a debug ResponseInterface instance if possible. * * @throws PhpException * @param RequestInterface $request * @param PhpException $exception * @return ResponseInterface */ protected function toDebugResponse(\SureCartCore\Requests\RequestInterface $request, \Exception $exception) { } /** * Convert an exception to a pretty error response. * * @codeCoverageIgnore * @param PhpException $exception * @return ResponseInterface */ protected function toPrettyErrorResponse($exception) { } /** * {@inheritDoc} * * @throws PhpException */ public function getResponse(\SureCartCore\Requests\RequestInterface $request, \Exception $exception) { } } /** * Provide exceptions dependencies. * * @codeCoverageIgnore */ class ExceptionsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { use \SureCartCore\ServiceProviders\ExtendsConfigTrait; /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Exceptions\Whoops { /** * Provide debug data for usage with \Whoops\Handler\PrettyPageHandler. * * @codeCoverageIgnore */ class DebugDataProvider { /** * Container. * * @var Container */ protected $container = null; /** * Constructor. * * @param Container $container */ public function __construct($container) { } /** * Convert a value to a scalar representation. * * @param mixed $value * @return mixed */ public function toScalar($value) { } /** * Return pritable data about the current route. * * @param \Whoops\Exception\Inspector $inspector * @return array */ public function route($inspector) { } } } namespace SureCartCore\Flash { /** * Provide a way to flash data into the session for the next request. */ class Flash { /** * Keys for different request contexts. */ const CURRENT_KEY = 'current'; const NEXT_KEY = 'next'; /** * Key to store flashed data in store with. * * @var string */ protected $store_key = ''; /** * Root store array or object implementing ArrayAccess. * * @var array|ArrayAccess */ protected $store = null; /** * Flash store array. * * @var array */ protected $flashed = []; /** * Constructor. * * @codeCoverageIgnore * @param array|ArrayAccess $store * @param string $store_key */ public function __construct(&$store, $store_key = '__SureCartFlash') { } /** * Get whether a store object is valid. * * @param mixed $store * @return boolean */ protected function isValidStore($store) { } /** * Throw an exception if store is not valid. * * @return void */ protected function validateStore() { } /** * Get the store for flash messages. * * @return array|ArrayAccess */ public function getStore() { } /** * Set the store for flash messages. * * @param array|ArrayAccess $store * @return void */ public function setStore(&$store) { } /** * Get whether the flash service is enabled. * * @return boolean */ public function enabled() { } /** * Get the entire store or the values for a key for a request. * * @param string $request_key * @param string|null $key * @param mixed $default * @return mixed */ protected function getFromRequest($request_key, $key = null, $default = []) { } /** * Add values for a key for a request. * * @param string $request_key * @param string $key * @param mixed $new_items * @return void */ protected function addToRequest($request_key, $key, $new_items) { } /** * Remove all values or values for a key from a request. * * @param string $request_key * @param string|null $key * @return void */ protected function clearFromRequest($request_key, $key = null) { } /** * Add values for a key for the next request. * * @param string $key * @param mixed $new_items * @return void */ public function add($key, $new_items) { } /** * Add values for a key for the current request. * * @param string $key * @param mixed $new_items * @return void */ public function addNow($key, $new_items) { } /** * Get the entire store or the values for a key for the current request. * * @param string|null $key * @param mixed $default * @return mixed */ public function get($key = null, $default = []) { } /** * Get the entire store or the values for a key for the next request. * * @param string|null $key * @param mixed $default * @return mixed */ public function getNext($key = null, $default = []) { } /** * Clear the entire store or the values for a key for the current request. * * @param string|null $key * @return void */ public function clear($key = null) { } /** * Clear the entire store or the values for a key for the next request. * * @param string|null $key * @return void */ public function clearNext($key = null) { } /** * Shift current store and replace it with next store. * * @return void */ public function shift() { } /** * Save flashed data to store. * * @return void */ public function save() { } } /** * Store current request data and clear old request data */ class FlashMiddleware { /** * Flash service. * * @var Flash */ protected $flash = null; /** * Constructor. * * @codeCoverageIgnore * @param Flash $flash */ public function __construct(\SureCartCore\Flash\Flash $flash) { } /** * {@inheritDoc} */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Provide flash dependencies. * * @codeCoverageIgnore */ class FlashServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Helpers { /** * A collection of tools dealing with urls */ class Arguments { /** * Get a closure which will flip preceding optional arguments around. * * @example list( $argument1, $argument2 ) = Arguments::flip( $argument1, $argument2 ); * * @return array */ public static function flip() { } } /** * Represent a generic handler - a Closure or a class method to be resolved from the service container */ class Handler { /** * Injection Factory. * * @var GenericFactory */ protected $factory = null; /** * Parsed handler * * @var array|Closure */ protected $handler = null; /** * Constructor * * @param GenericFactory $factory * @param string|Closure $raw_handler * @param string $default_method * @param string $namespace */ public function __construct(\SureCartCore\Application\GenericFactory $factory, $raw_handler, $default_method = '', $namespace = '') { } /** * Parse a raw handler to a Closure or a [class, method] array * * @param string|Closure $raw_handler * @param string $default_method * @param string $namespace * @return array|Closure|null */ protected function parse($raw_handler, $default_method, $namespace) { } /** * Parse a raw string handler to a [class, method] array * * @param string $raw_handler * @param string $default_method * @param string $namespace * @return array|null */ protected function parseFromString($raw_handler, $default_method, $namespace) { } /** * Get the parsed handler * * @return array|Closure */ public function get() { } /** * Make an instance of the handler. * * @return object */ public function make() { } /** * Execute the parsed handler with any provided arguments and return the result. * * @param mixed , ...$arguments * @return mixed */ public function execute() { } } /** * Handler factory. */ class HandlerFactory { /** * Injection Factory. * * @var GenericFactory */ protected $factory = null; /** * Constructor. * * @codeCoverageIgnore * @param GenericFactory $factory */ public function __construct(\SureCartCore\Application\GenericFactory $factory) { } /** * Make a Handler. * * @codeCoverageIgnore * @param string|Closure $raw_handler * @param string $default_method * @param string $namespace * @return Handler */ public function make($raw_handler, $default_method = '', $namespace = '') { } } /** * Represent an object which has an array of attributes. */ interface HasAttributesInterface { /** * Get attribute. * * @param string $attribute * @param mixed $default * @return mixed */ public function getAttribute($attribute, $default = ''); /** * Get all attributes. * * @return array */ public function getAttributes(); /** * Set attribute. * * @param string $attribute * @param mixed $value * @return void */ public function setAttribute($attribute, $value); /** * Fluent alias for setAttribute(). * * @param string $attribute * @param mixed $value * @return static $this */ public function attribute($attribute, $value); /** * Set attributes. * No attempt to merge attributes is done - this is a direct overwrite operation. * * @param array $attributes * @return void */ public function setAttributes($attributes); /** * Fluent alias for setAttributes(). * * @param array $attributes * @return static $this */ public function attributes($attributes); } /** * Represent an object which has an array of attributes. */ trait HasAttributesTrait { /** * Attributes. * * @var array */ protected $attributes = []; /** * Get attribute. * * @param string $attribute * @param mixed $default * @return mixed */ public function getAttribute($attribute, $default = '') { } /** * Get all attributes. * * @return array */ public function getAttributes() { } /** * Set attribute. * * @param string $attribute * @param mixed $value * @return void */ public function setAttribute($attribute, $value) { } /** * Fluent alias for setAttribute(). * * @codeCoverageIgnore * @param string $attribute * @param mixed $value * @return static $this */ public function attribute($attribute, $value) { } /** * Set all attributes. * No attempt to merge attributes is done - this is a direct overwrite operation. * * @param array $attributes * @return void */ public function setAttributes($attributes) { } /** * Fluent alias for setAttributes(). * * @codeCoverageIgnore * @param array $attributes * @return static $this */ public function attributes($attributes) { } } class MixedType { /** * Converts a value to an array containing this value unless it is an array. * This will not convert objects like (array) casting does. * * @param mixed $argument * @return array */ public static function toArray($argument) { } /** * Executes a value depending on what type it is and returns the result * Callable: call; return result * Instance: call method; return result * Class: instantiate; call method; return result * Other: return value without taking any action * * @noinspection PhpDocSignatureInspection * @param mixed $entity * @param array $arguments * @param string $method * @param callable $instantiator * @return mixed */ public static function value($entity, $arguments = [], $method = '__invoke', $instantiator = 'static::instantiate') { } /** * Check if a value is a valid class name * * @param mixed $class_name * @return boolean */ public static function isClass($class_name) { } /** * Create a new instance of the given class. * * @param string $class_name * @return object */ public static function instantiate($class_name) { } /** * Normalize a path's slashes according to the current OS. * Solves mixed slashes that are sometimes returned by WordPress core functions. * * @param string $path * @param string $slash * @return string */ public static function normalizePath($path, $slash = DIRECTORY_SEPARATOR) { } /** * Ensure path has a trailing slash. * * @param string $path * @param string $slash * @return string */ public static function addTrailingSlash($path, $slash = DIRECTORY_SEPARATOR) { } /** * Ensure path does not have a trailing slash. * * @param string $path * @param string $slash * @return string */ public static function removeTrailingSlash($path, $slash = DIRECTORY_SEPARATOR) { } } /** * A collection of tools dealing with URLs. */ class Url { /** * Get the path for the request relative to the home url. * Works only with absolute URLs. * * @param RequestInterface $request * @param string $home_url * @return string */ public static function getPath(\SureCartCore\Requests\RequestInterface $request, $home_url = '') { } /** * Ensure url has a leading slash * * @param string $url * @param boolean $leave_blank * @return string */ public static function addLeadingSlash($url, $leave_blank = false) { } /** * Ensure url does not have a leading slash * * @param string $url * @return string */ public static function removeLeadingSlash($url) { } /** * Ensure url has a trailing slash * * @param string $url * @param boolean $leave_blank * @return string */ public static function addTrailingSlash($url, $leave_blank = false) { } /** * Ensure url does not have a trailing slash * * @param string $url * @return string */ public static function removeTrailingSlash($url) { } } } namespace SureCartCore\Input { /** * Provide a way to get values from the previous request. */ class OldInput { /** * Flash service. * * @var Flash */ protected $flash = null; /** * Key to store the flashed data with. * * @var string */ protected $flash_key = ''; /** * Constructor. * * @codeCoverageIgnore * @param Flash $flash * @param string $flash_key */ public function __construct(\SureCartCore\Flash\Flash $flash, $flash_key = '__SureCartOldInput') { } /** * Get whether the old input service is enabled. * * @return boolean */ public function enabled() { } /** * Get request value for key from the previous request. * * @param string $key * @param mixed $default * @return mixed */ public function get($key, $default = null) { } /** * Set input for the next request. * * @param array $input */ public function set($input) { } /** * Clear input for the next request. * * @return void */ public function clear() { } } /** * Store current request data and clear old request data */ class OldInputMiddleware { /** * OldInput service. * * @var OldInput */ protected $old_input = null; /** * Constructor. * * @codeCoverageIgnore * @param OldInput $old_input */ public function __construct(\SureCartCore\Input\OldInput $old_input) { } /** * {@inheritDoc} */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } /** * Provide old input dependencies. * * @codeCoverageIgnore */ class OldInputServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Middleware { /** * Provide middleware definitions. */ interface HasMiddlewareDefinitionsInterface { /** * Register middleware. * * @codeCoverageIgnore * @param array $middleware * @return void */ public function setMiddleware($middleware); /** * Register middleware groups. * * @codeCoverageIgnore * @param array $middleware_groups * @return void */ public function setMiddlewareGroups($middleware_groups); /** * Filter array of middleware into a unique set. * * @param array[] $middleware * @return string[] */ public function uniqueMiddleware($middleware); /** * Expand array of middleware into an array of fully qualified class names. * * @param string[] $middleware * @return array[] */ public function expandMiddleware($middleware); /** * Expand a middleware group into an array of fully qualified class names. * * @param string $group * @return array[] */ public function expandMiddlewareGroup($group); /** * Expand middleware into an array of fully qualified class names and any companion arguments. * * @param string $middleware * @return array[] */ public function expandMiddlewareMolecule($middleware); /** * Expand a single middleware a fully qualified class name. * * @param string $middleware * @return string */ public function expandMiddlewareAtom($middleware); } } namespace SureCartCore\Kernels { /** * Describes how a request is handled. */ interface HttpKernelInterface extends \SureCartCore\Middleware\HasMiddlewareDefinitionsInterface { /** * Bootstrap the kernel. * * @return void */ public function bootstrap(); /** * Run a response pipeline for the given request. * * @param RequestInterface $request * @param string[] $middleware * @param string|Closure|Handler $handler * @param array $arguments * @return ResponseInterface */ public function run(\SureCartCore\Requests\RequestInterface $request, $middleware, $handler, $arguments = []); /** * Return a response for the given request. * * @param RequestInterface $request * @param array $arguments * @return ResponseInterface|null */ public function handle(\SureCartCore\Requests\RequestInterface $request, $arguments = []); } } namespace SureCartCore\Middleware { /** * Provide middleware definitions. */ trait HasMiddlewareDefinitionsTrait { /** * Middleware available to the application. * * @var array */ protected $middleware = []; /** * Middleware groups. * * @var array */ protected $middleware_groups = []; /** * Middleware groups that should have the 'surecart' and 'global' groups prepended to them. * * @var string[] */ protected $prepend_special_groups_to = ['web', 'admin', 'ajax']; /** * Register middleware. * * @codeCoverageIgnore * @param array $middleware * @return void */ public function setMiddleware($middleware) { } /** * Register middleware groups. * * @codeCoverageIgnore * @param array $middleware_groups * @return void */ public function setMiddlewareGroups($middleware_groups) { } /** * Filter array of middleware into a unique set. * * @param array[] $middleware * @return string[] */ public function uniqueMiddleware($middleware) { } /** * Expand array of middleware into an array of fully qualified class names. * * @param string[] $middleware * @return array[] */ public function expandMiddleware($middleware) { } /** * Expand a middleware group into an array of fully qualified class names. * * @param string $group * @return array[] */ public function expandMiddlewareGroup($group) { } /** * Expand middleware into an array of fully qualified class names and any companion arguments. * * @param string $middleware * @return array[] */ public function expandMiddlewareMolecule($middleware) { } /** * Expand a single middleware a fully qualified class name. * * @param string $middleware * @return string */ public function expandMiddlewareAtom($middleware) { } } } namespace SureCartCore\Routing { /** * Provide middleware sorting. */ trait SortsMiddlewareTrait { /** * Middleware sorted in order of execution. * * @var string[] */ protected $middleware_priority = []; /** * Get middleware execution priority. * * @codeCoverageIgnore * @return string[] */ public function getMiddlewarePriority() { } /** * Set middleware execution priority. * * @codeCoverageIgnore * @param string[] $middleware_priority * @return void */ public function setMiddlewarePriority($middleware_priority) { } /** * Get priority for a specific middleware. * This is in reverse compared to definition order. * Middleware with unspecified priority will yield -1. * * @param string|array $middleware * @return integer */ public function getMiddlewarePriorityForMiddleware($middleware) { } /** * Sort array of fully qualified middleware class names by priority in ascending order. * * @param string[] $middleware * @return array */ public function sortMiddleware($middleware) { } } } namespace SureCartCore\Responses { /** * Converts values to a response. */ trait ConvertsToResponseTrait { /** * Get a Response Service instance. * * @return ResponseService */ abstract protected function getResponseService(); /** * Convert a user returned response to a ResponseInterface instance if possible. * Return the original value if unsupported. * * @param mixed $response * @return mixed */ protected function toResponse($response) { } } } namespace SureCartCore\Middleware { /** * Describes how a request is handled. */ trait ReadsHandlerMiddlewareTrait { /** * Get middleware registered with the given handler. * * @param Handler $handler * @return string[] */ protected function getHandlerMiddleware(\SureCartCore\Helpers\Handler $handler) { } } /** * Executes middleware. */ trait ExecutesMiddlewareTrait { /** * Make a middleware class instance. * * @param string $class * @return object */ abstract protected function makeMiddleware($class); /** * Execute an array of middleware recursively (last in, first out). * * @param string[][] $middleware * @param RequestInterface $request * @param Closure $next * @return ResponseInterface */ protected function executeMiddleware($middleware, \SureCartCore\Requests\RequestInterface $request, \Closure $next) { } } } namespace SureCartCore\Kernels { /** * Describes how a request is handled. */ class HttpKernel implements \SureCartCore\Kernels\HttpKernelInterface { use \SureCartCore\Middleware\HasMiddlewareDefinitionsTrait; use \SureCartCore\Routing\SortsMiddlewareTrait; use \SureCartCore\Responses\ConvertsToResponseTrait; use \SureCartCore\Middleware\ReadsHandlerMiddlewareTrait; use \SureCartCore\Middleware\ExecutesMiddlewareTrait; /** * Container. * * @var Container */ protected $container = null; /** * Injection factory. * * @var GenericFactory */ protected $factory = null; /** * Handler factory. * * @var HandlerFactory */ protected $handler_factory = null; /** * Response service. * * @var ResponseService */ protected $response_service = null; /** * Request. * * @var RequestInterface */ protected $request = null; /** * Router. * * @var Router */ protected $router = null; /** * View Service. * * @var ViewService */ protected $view_service = null; /** * Error handler. * * @var ErrorHandlerInterface */ protected $error_handler = null; /** * Template WordPress attempted to load. * * @var string */ protected $template = ''; /** * Constructor. * * @codeCoverageIgnore * @param Container $container * @param GenericFactory $factory * @param HandlerFactory $handler_factory * @param ResponseService $response_service * @param RequestInterface $request * @param Router $router * @param ViewService $view_service * @param ErrorHandlerInterface $error_handler */ public function __construct(\SureCartVendors\Pimple\Container $container, \SureCartCore\Application\GenericFactory $factory, \SureCartCore\Helpers\HandlerFactory $handler_factory, \SureCartCore\Responses\ResponseService $response_service, \SureCartCore\Requests\RequestInterface $request, \SureCartCore\Routing\Router $router, \SureCartCore\View\ViewService $view_service, \SureCartCore\Exceptions\ErrorHandlerInterface $error_handler) { } /** * Get the current response. * * @codeCoverageIgnore * @return ResponseInterface|null */ protected function getResponse() { } /** * Get a Response Service instance. * * @codeCoverageIgnore * @return ResponseService */ protected function getResponseService() { } /** * Make a middleware class instance. * * @codeCoverageIgnore * @param string $class * @return object */ protected function makeMiddleware($class) { } /** * Execute a handler. * * @param Handler $handler * @param array $arguments * @return ResponseInterface */ protected function executeHandler(\SureCartCore\Helpers\Handler $handler, $arguments = []) { } /** * {@inheritDoc} */ public function run(\SureCartCore\Requests\RequestInterface $request, $middleware, $handler, $arguments = []) { } /** * {@inheritDoc} */ public function handle(\SureCartCore\Requests\RequestInterface $request, $arguments = []) { } /** * Respond with the current response. * * @return void */ public function respond() { } /** * Output the current view outside of the routing flow. * * @return void */ public function compose() { } /** * {@inheritDoc} * * @codeCoverageIgnore */ public function bootstrap() { } /** * Filter the main query vars. * * @param array $query_vars * @return array */ public function filterRequest($query_vars) { } /** * Filter the main template file. * * @param string $template * @return string */ public function filterTemplateInclude($template) { } /** * Register ajax action to hook into current one. * * @return void */ public function registerAjaxAction() { } /** * Act on ajax action. * * @return void */ public function actionAjax() { } /** * Get page hook. * Slightly modified version of code from wp-admin/admin.php. * * @return string */ protected function getAdminPageHook() { } /** * Get admin page hook. * Slightly modified version of code from wp-admin/admin.php. * * @param string $page_hook * @return string */ protected function getAdminHook($page_hook) { } /** * Register admin action to hook into current one. * * @return void */ public function registerAdminAction() { } /** * Act on admin action load. * * @return void */ public function actionAdminLoad() { } /** * Act on admin action. * * @return void */ public function actionAdmin() { } } /** * Provide old input dependencies. * * @codeCoverageIgnore */ class KernelsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { use \SureCartCore\ServiceProviders\ExtendsConfigTrait; /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Middleware { /** * Redirect users who do not have a capability to a specific URL. */ class ControllerMiddleware { /** * Middleware. * * @var string[] */ protected $middleware = []; /** * Methods the middleware applies to. * * @var string[] */ protected $whitelist = []; /** * Methods the middleware does not apply to. * * @var string[] */ protected $blacklist = []; /** * Constructor. * * @codeCoverageIgnore * @param string|string[] $middleware */ public function __construct($middleware) { } /** * Get middleware. * * @codeCoverageIgnore * @return string[] */ public function get() { } /** * Set methods the middleware should apply to. * * @codeCoverageIgnore * @param string|string[] $methods * @return static */ public function only($methods) { } /** * Set methods the middleware should not apply to. * * @codeCoverageIgnore * @param string|string[] $methods * @return static */ public function except($methods) { } /** * Get whether the middleware applies to the specified method. * * @param string $method * @return boolean */ public function appliesTo($method) { } } /** * Interface for HasControllerMiddlewareTrait. */ interface HasControllerMiddlewareInterface { /** * Get middleware. * * @param string $method * @return string[] */ public function getMiddleware($method); /** * Add middleware. * * @param string|string[] $middleware * @return ControllerMiddleware */ public function addMiddleware($middleware); /** * Fluent alias for addMiddleware(). * * @param string|string[] $middleware * @return ControllerMiddleware */ public function middleware($middleware); } /** * Allow objects to have controller middleware. */ trait HasControllerMiddlewareTrait { /** * Array of middleware. * * @var ControllerMiddleware[] */ protected $middleware = []; /** * Get middleware. * * @param string $method * @return string[] */ public function getMiddleware($method) { } /** * Add middleware. * * @param string|string[] $middleware * @return ControllerMiddleware */ public function addMiddleware($middleware) { } /** * Fluent alias for addMiddleware(). * * @codeCoverageIgnore * @param string|string[] $middleware * @return ControllerMiddleware */ public function middleware($middleware) { } } /** * Provide middleware dependencies. * * @codeCoverageIgnore */ class MiddlewareServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } /** * Redirect users who do not have a capability to a specific URL. */ class UserCanMiddleware { /** * Response service. * * @var ResponseService */ protected $response_service = null; /** * Constructor. * * @codeCoverageIgnore * @param ResponseService $response_service */ public function __construct(\SureCartCore\Responses\ResponseService $response_service) { } /** * {@inheritDoc} */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $capability = '', $object_id = '0', $url = '') { } } /** * Redirect non-logged in users to a specific URL. */ class UserLoggedInMiddleware { /** * Response service. * * @var ResponseService */ protected $response_service = null; /** * Constructor. * * @codeCoverageIgnore * @param ResponseService $response_service */ public function __construct(\SureCartCore\Responses\ResponseService $response_service) { } /** * {@inheritDoc} */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $url = '') { } } /** * Redirect logged in users to a specific URL. */ class UserLoggedOutMiddleware { /** * Response service. * * @var ResponseService */ protected $response_service = null; /** * Constructor. * * @codeCoverageIgnore * @param ResponseService $response_service */ public function __construct(\SureCartCore\Responses\ResponseService $response_service) { } /** * {@inheritDoc} */ public function handle(\SureCartCore\Requests\RequestInterface $request, \Closure $next, $url = '') { } } } namespace SureCartVendors\Psr\Http\Message { /** * HTTP messages consist of requests from a client to a server and responses * from a server to a client. This interface defines the methods common to * each. * * Messages are considered immutable; all methods that might change state MUST * be implemented such that they retain the internal state of the current * message and return an instance that contains the changed state. * * @link http://www.ietf.org/rfc/rfc7230.txt * @link http://www.ietf.org/rfc/rfc7231.txt */ interface MessageInterface { /** * Retrieves the HTTP protocol version as a string. * * The string MUST contain only the HTTP version number (e.g., "1.1", "1.0"). * * @return string HTTP protocol version. */ public function getProtocolVersion(); /** * Return an instance with the specified HTTP protocol version. * * The version string MUST contain only the HTTP version number (e.g., * "1.1", "1.0"). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * new protocol version. * * @param string $version HTTP protocol version * @return static */ public function withProtocolVersion(string $version); /** * Retrieves all message header values. * * The keys represent the header name as it will be sent over the wire, and * each value is an array of strings associated with the header. * * // Represent the headers as a string * foreach ($message->getHeaders() as $name => $values) { * echo $name . ": " . implode(", ", $values); * } * * // Emit headers iteratively: * foreach ($message->getHeaders() as $name => $values) { * foreach ($values as $value) { * header(sprintf('%s: %s', $name, $value), false); * } * } * * While header names are not case-sensitive, getHeaders() will preserve the * exact case in which headers were originally specified. * * @return string[][] Returns an associative array of the message's headers. Each * key MUST be a header name, and each value MUST be an array of strings * for that header. */ public function getHeaders(); /** * Checks if a header exists by the given case-insensitive name. * * @param string $name Case-insensitive header field name. * @return bool Returns true if any header names match the given header * name using a case-insensitive string comparison. Returns false if * no matching header name is found in the message. */ public function hasHeader(string $name); /** * Retrieves a message header value by the given case-insensitive name. * * This method returns an array of all the header values of the given * case-insensitive header name. * * If the header does not appear in the message, this method MUST return an * empty array. * * @param string $name Case-insensitive header field name. * @return string[] An array of string values as provided for the given * header. If the header does not appear in the message, this method MUST * return an empty array. */ public function getHeader(string $name); /** * Retrieves a comma-separated string of the values for a single header. * * This method returns all of the header values of the given * case-insensitive header name as a string concatenated together using * a comma. * * NOTE: Not all header values may be appropriately represented using * comma concatenation. For such headers, use getHeader() instead * and supply your own delimiter when concatenating. * * If the header does not appear in the message, this method MUST return * an empty string. * * @param string $name Case-insensitive header field name. * @return string A string of values as provided for the given header * concatenated together using a comma. If the header does not appear in * the message, this method MUST return an empty string. */ public function getHeaderLine(string $name); /** * Return an instance with the provided value replacing the specified header. * * While header names are case-insensitive, the casing of the header will * be preserved by this function, and returned from getHeaders(). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * new and/or updated header and value. * * @param string $name Case-insensitive header field name. * @param string|string[] $value Header value(s). * @return static * @throws \InvalidArgumentException for invalid header names or values. */ public function withHeader(string $name, $value); /** * Return an instance with the specified header appended with the given value. * * Existing values for the specified header will be maintained. The new * value(s) will be appended to the existing list. If the header did not * exist previously, it will be added. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * new header and/or value. * * @param string $name Case-insensitive header field name to add. * @param string|string[] $value Header value(s). * @return static * @throws \InvalidArgumentException for invalid header names or values. */ public function withAddedHeader(string $name, $value); /** * Return an instance without the specified header. * * Header resolution MUST be done without case-sensitivity. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that removes * the named header. * * @param string $name Case-insensitive header field name to remove. * @return static */ public function withoutHeader(string $name); /** * Gets the body of the message. * * @return StreamInterface Returns the body as a stream. */ public function getBody(); /** * Return an instance with the specified message body. * * The body MUST be a StreamInterface object. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return a new instance that has the * new body stream. * * @param StreamInterface $body Body. * @return static * @throws \InvalidArgumentException When the body is not valid. */ public function withBody(\SureCartVendors\Psr\Http\Message\StreamInterface $body); } /** * Representation of an outgoing, client-side request. * * Per the HTTP specification, this interface includes properties for * each of the following: * * - Protocol version * - HTTP method * - URI * - Headers * - Message body * * During construction, implementations MUST attempt to set the Host header from * a provided URI if no Host header is provided. * * Requests are considered immutable; all methods that might change state MUST * be implemented such that they retain the internal state of the current * message and return an instance that contains the changed state. */ interface RequestInterface extends \SureCartVendors\Psr\Http\Message\MessageInterface { /** * Retrieves the message's request target. * * Retrieves the message's request-target either as it will appear (for * clients), as it appeared at request (for servers), or as it was * specified for the instance (see withRequestTarget()). * * In most cases, this will be the origin-form of the composed URI, * unless a value was provided to the concrete implementation (see * withRequestTarget() below). * * If no URI is available, and no request-target has been specifically * provided, this method MUST return the string "/". * * @return string */ public function getRequestTarget(); /** * Return an instance with the specific request-target. * * If the request needs a non-origin-form request-target — e.g., for * specifying an absolute-form, authority-form, or asterisk-form — * this method may be used to create an instance with the specified * request-target, verbatim. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * changed request target. * * @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various * request-target forms allowed in request messages) * @param string $requestTarget * @return static */ public function withRequestTarget(string $requestTarget); /** * Retrieves the HTTP method of the request. * * @return string Returns the request method. */ public function getMethod(); /** * Return an instance with the provided HTTP method. * * While HTTP method names are typically all uppercase characters, HTTP * method names are case-sensitive and thus implementations SHOULD NOT * modify the given string. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * changed request method. * * @param string $method Case-sensitive method. * @return static * @throws \InvalidArgumentException for invalid HTTP methods. */ public function withMethod(string $method); /** * Retrieves the URI instance. * * This method MUST return a UriInterface instance. * * @link http://tools.ietf.org/html/rfc3986#section-4.3 * @return UriInterface Returns a UriInterface instance * representing the URI of the request. */ public function getUri(); /** * Returns an instance with the provided URI. * * This method MUST update the Host header of the returned request by * default if the URI contains a host component. If the URI does not * contain a host component, any pre-existing Host header MUST be carried * over to the returned request. * * You can opt-in to preserving the original state of the Host header by * setting `$preserveHost` to `true`. When `$preserveHost` is set to * `true`, this method interacts with the Host header in the following ways: * * - If the Host header is missing or empty, and the new URI contains * a host component, this method MUST update the Host header in the returned * request. * - If the Host header is missing or empty, and the new URI does not contain a * host component, this method MUST NOT update the Host header in the returned * request. * - If a Host header is present and non-empty, this method MUST NOT update * the Host header in the returned request. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * new UriInterface instance. * * @link http://tools.ietf.org/html/rfc3986#section-4.3 * @param UriInterface $uri New request URI to use. * @param bool $preserveHost Preserve the original state of the Host header. * @return static */ public function withUri(\SureCartVendors\Psr\Http\Message\UriInterface $uri, bool $preserveHost = false); } /** * Representation of an incoming, server-side HTTP request. * * Per the HTTP specification, this interface includes properties for * each of the following: * * - Protocol version * - HTTP method * - URI * - Headers * - Message body * * Additionally, it encapsulates all data as it has arrived to the * application from the CGI and/or PHP environment, including: * * - The values represented in $_SERVER. * - Any cookies provided (generally via $_COOKIE) * - Query string arguments (generally via $_GET, or as parsed via parse_str()) * - Upload files, if any (as represented by $_FILES) * - Deserialized body parameters (generally from $_POST) * * $_SERVER values MUST be treated as immutable, as they represent application * state at the time of request; as such, no methods are provided to allow * modification of those values. The other values provide such methods, as they * can be restored from $_SERVER or the request body, and may need treatment * during the application (e.g., body parameters may be deserialized based on * content type). * * Additionally, this interface recognizes the utility of introspecting a * request to derive and match additional parameters (e.g., via URI path * matching, decrypting cookie values, deserializing non-form-encoded body * content, matching authorization headers to users, etc). These parameters * are stored in an "attributes" property. * * Requests are considered immutable; all methods that might change state MUST * be implemented such that they retain the internal state of the current * message and return an instance that contains the changed state. */ interface ServerRequestInterface extends \SureCartVendors\Psr\Http\Message\RequestInterface { /** * Retrieve server parameters. * * Retrieves data related to the incoming request environment, * typically derived from PHP's $_SERVER superglobal. The data IS NOT * REQUIRED to originate from $_SERVER. * * @return array */ public function getServerParams(); /** * Retrieve cookies. * * Retrieves cookies sent by the client to the server. * * The data MUST be compatible with the structure of the $_COOKIE * superglobal. * * @return array */ public function getCookieParams(); /** * Return an instance with the specified cookies. * * The data IS NOT REQUIRED to come from the $_COOKIE superglobal, but MUST * be compatible with the structure of $_COOKIE. Typically, this data will * be injected at instantiation. * * This method MUST NOT update the related Cookie header of the request * instance, nor related values in the server params. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated cookie values. * * @param array $cookies Array of key/value pairs representing cookies. * @return static */ public function withCookieParams(array $cookies); /** * Retrieve query string arguments. * * Retrieves the deserialized query string arguments, if any. * * Note: the query params might not be in sync with the URI or server * params. If you need to ensure you are only getting the original * values, you may need to parse the query string from `getUri()->getQuery()` * or from the `QUERY_STRING` server param. * * @return array */ public function getQueryParams(); /** * Return an instance with the specified query string arguments. * * These values SHOULD remain immutable over the course of the incoming * request. They MAY be injected during instantiation, such as from PHP's * $_GET superglobal, or MAY be derived from some other value such as the * URI. In cases where the arguments are parsed from the URI, the data * MUST be compatible with what PHP's parse_str() would return for * purposes of how duplicate query parameters are handled, and how nested * sets are handled. * * Setting query string arguments MUST NOT change the URI stored by the * request, nor the values in the server params. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated query string arguments. * * @param array $query Array of query string arguments, typically from * $_GET. * @return static */ public function withQueryParams(array $query); /** * Retrieve normalized file upload data. * * This method returns upload metadata in a normalized tree, with each leaf * an instance of Psr\Http\Message\UploadedFileInterface. * * These values MAY be prepared from $_FILES or the message body during * instantiation, or MAY be injected via withUploadedFiles(). * * @return array An array tree of UploadedFileInterface instances; an empty * array MUST be returned if no data is present. */ public function getUploadedFiles(); /** * Create a new instance with the specified uploaded files. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated body parameters. * * @param array $uploadedFiles An array tree of UploadedFileInterface instances. * @return static * @throws \InvalidArgumentException if an invalid structure is provided. */ public function withUploadedFiles(array $uploadedFiles); /** * Retrieve any parameters provided in the request body. * * If the request Content-Type is either application/x-www-form-urlencoded * or multipart/form-data, and the request method is POST, this method MUST * return the contents of $_POST. * * Otherwise, this method may return any results of deserializing * the request body content; as parsing returns structured content, the * potential types MUST be arrays or objects only. A null value indicates * the absence of body content. * * @return null|array|object The deserialized body parameters, if any. * These will typically be an array or object. */ public function getParsedBody(); /** * Return an instance with the specified body parameters. * * These MAY be injected during instantiation. * * If the request Content-Type is either application/x-www-form-urlencoded * or multipart/form-data, and the request method is POST, use this method * ONLY to inject the contents of $_POST. * * The data IS NOT REQUIRED to come from $_POST, but MUST be the results of * deserializing the request body content. Deserialization/parsing returns * structured data, and, as such, this method ONLY accepts arrays or objects, * or a null value if nothing was available to parse. * * As an example, if content negotiation determines that the request data * is a JSON payload, this method could be used to create a request * instance with the deserialized parameters. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated body parameters. * * @param null|array|object $data The deserialized body data. This will * typically be in an array or object. * @return static * @throws \InvalidArgumentException if an unsupported argument type is * provided. */ public function withParsedBody($data); /** * Retrieve attributes derived from the request. * * The request "attributes" may be used to allow injection of any * parameters derived from the request: e.g., the results of path * match operations; the results of decrypting cookies; the results of * deserializing non-form-encoded message bodies; etc. Attributes * will be application and request specific, and CAN be mutable. * * @return array Attributes derived from the request. */ public function getAttributes(); /** * Retrieve a single derived request attribute. * * Retrieves a single derived request attribute as described in * getAttributes(). If the attribute has not been previously set, returns * the default value as provided. * * This method obviates the need for a hasAttribute() method, as it allows * specifying a default value to return if the attribute is not found. * * @see getAttributes() * @param string $name The attribute name. * @param mixed $default Default value to return if the attribute does not exist. * @return mixed */ public function getAttribute(string $name, $default = null); /** * Return an instance with the specified derived request attribute. * * This method allows setting a single derived request attribute as * described in getAttributes(). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated attribute. * * @see getAttributes() * @param string $name The attribute name. * @param mixed $value The value of the attribute. * @return static */ public function withAttribute(string $name, $value); /** * Return an instance that removes the specified derived request attribute. * * This method allows removing a single derived request attribute as * described in getAttributes(). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that removes * the attribute. * * @see getAttributes() * @param string $name The attribute name. * @return static */ public function withoutAttribute(string $name); } } namespace SureCartCore\Requests { /** * A representation of a request to the server. */ interface RequestInterface extends \SureCartVendors\Psr\Http\Message\ServerRequestInterface { /** * Alias for ::getUri(). * Even though URI and URL are slightly different things this alias returns the URI for simplicity/familiarity. * * @return string */ public function getUrl(); /** * Check if the request method is GET. * * @return boolean */ public function isGet(); /** * Check if the request method is HEAD. * * @return boolean */ public function isHead(); /** * Check if the request method is POST. * * @return boolean */ public function isPost(); /** * Check if the request method is PUT. * * @return boolean */ public function isPut(); /** * Check if the request method is PATCH. * * @return boolean */ public function isPatch(); /** * Check if the request method is DELETE. * * @return boolean */ public function isDelete(); /** * Check if the request method is OPTIONS. * * @return boolean */ public function isOptions(); /** * Check if the request method is a "read" verb. * * @return boolean */ public function isReadVerb(); /** * Check if the request is an ajax request. * * @return boolean */ public function isAjax(); /** * Get a value from the request attributes. * * @param string $key * @param mixed $default * @return mixed */ public function attributes($key = '', $default = null); /** * Get a value from the request query (i.e. $_GET). * * @param string $key * @param mixed $default * @return mixed */ public function query($key = '', $default = null); /** * Get a value from the request body (i.e. $_POST). * * @param string $key * @param mixed $default * @return mixed */ public function body($key = '', $default = null); /** * Get a value from the COOKIE parameters. * * @param string $key * @param mixed $default * @return mixed */ public function cookies($key = '', $default = null); /** * Get a value from the FILES parameters. * * @param string $key * @param mixed $default * @return mixed */ public function files($key = '', $default = null); /** * Get a value from the SERVER parameters. * * @param string $key * @param mixed $default * @return mixed */ public function server($key = '', $default = null); /** * Get a value from the headers. * * @param string $key * @param mixed $default * @return mixed */ public function headers($key = '', $default = null); } } namespace SureCartVendors\GuzzleHttp\Psr7 { /** * Trait implementing functionality common to requests and responses. */ trait MessageTrait { /** @var string[][] Map of all registered headers, as original name => array of values */ private $headers = []; /** @var string[] Map of lowercase header name => original name at registration */ private $headerNames = []; /** @var string */ private $protocol = '1.1'; /** @var StreamInterface|null */ private $stream; public function getProtocolVersion(): string { } public function withProtocolVersion($version): \SureCartVendors\Psr\Http\Message\MessageInterface { } public function getHeaders(): array { } public function hasHeader($header): bool { } public function getHeader($header): array { } public function getHeaderLine($header): string { } public function withHeader($header, $value): \SureCartVendors\Psr\Http\Message\MessageInterface { } public function withAddedHeader($header, $value): \SureCartVendors\Psr\Http\Message\MessageInterface { } public function withoutHeader($header): \SureCartVendors\Psr\Http\Message\MessageInterface { } public function getBody(): \SureCartVendors\Psr\Http\Message\StreamInterface { } public function withBody(\SureCartVendors\Psr\Http\Message\StreamInterface $body): \SureCartVendors\Psr\Http\Message\MessageInterface { } /** * @param (string|string[])[] $headers */ private function setHeaders(array $headers): void { } /** * @param mixed $value * * @return string[] */ private function normalizeHeaderValue($value): array { } /** * Trims whitespace from the header values. * * Spaces and tabs ought to be excluded by parsers when extracting the field value from a header field. * * header-field = field-name ":" OWS field-value OWS * OWS = *( SP / HTAB ) * * @param mixed[] $values Header values * * @return string[] Trimmed header values * * @see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4 */ private function trimAndValidateHeaderValues(array $values): array { } /** * @see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 * * @param mixed $header */ private function assertHeader($header): void { } /** * @see https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 * * field-value = *( field-content / obs-fold ) * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] * field-vchar = VCHAR / obs-text * VCHAR = %x21-7E * obs-text = %x80-FF * obs-fold = CRLF 1*( SP / HTAB ) */ private function assertValue(string $value): void { } } /** * PSR-7 request implementation. */ class Request implements \SureCartVendors\Psr\Http\Message\RequestInterface { use \SureCartVendors\GuzzleHttp\Psr7\MessageTrait; /** @var string */ private $method; /** @var string|null */ private $requestTarget; /** @var UriInterface */ private $uri; /** * @param string $method HTTP method * @param string|UriInterface $uri URI * @param (string|string[])[] $headers Request headers * @param string|resource|StreamInterface|null $body Request body * @param string $version Protocol version */ public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1') { } public function getRequestTarget(): string { } public function withRequestTarget($requestTarget): \SureCartVendors\Psr\Http\Message\RequestInterface { } public function getMethod(): string { } public function withMethod($method): \SureCartVendors\Psr\Http\Message\RequestInterface { } public function getUri(): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withUri(\SureCartVendors\Psr\Http\Message\UriInterface $uri, $preserveHost = false): \SureCartVendors\Psr\Http\Message\RequestInterface { } private function updateHostFromUri(): void { } /** * @param mixed $method */ private function assertMethod($method): void { } } /** * Server-side HTTP request * * Extends the Request definition to add methods for accessing incoming data, * specifically server parameters, cookies, matched path parameters, query * string arguments, body parameters, and upload file information. * * "Attributes" are discovered via decomposing the request (and usually * specifically the URI path), and typically will be injected by the application. * * Requests are considered immutable; all methods that might change state are * implemented such that they retain the internal state of the current * message and return a new instance that contains the changed state. */ class ServerRequest extends \SureCartVendors\GuzzleHttp\Psr7\Request implements \SureCartVendors\Psr\Http\Message\ServerRequestInterface { /** * @var array */ private $attributes = []; /** * @var array */ private $cookieParams = []; /** * @var array|object|null */ private $parsedBody; /** * @var array */ private $queryParams = []; /** * @var array */ private $serverParams; /** * @var array */ private $uploadedFiles = []; /** * @param string $method HTTP method * @param string|UriInterface $uri URI * @param (string|string[])[] $headers Request headers * @param string|resource|StreamInterface|null $body Request body * @param string $version Protocol version * @param array $serverParams Typically the $_SERVER superglobal */ public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1', array $serverParams = []) { } /** * Return an UploadedFile instance array. * * @param array $files An array which respect $_FILES structure * * @throws InvalidArgumentException for unrecognized values */ public static function normalizeFiles(array $files): array { } /** * Create and return an UploadedFile instance from a $_FILES specification. * * If the specification represents an array of values, this method will * delegate to normalizeNestedFileSpec() and return that return value. * * @param array $value $_FILES struct * * @return UploadedFileInterface|UploadedFileInterface[] */ private static function createUploadedFileFromSpec(array $value) { } /** * Normalize an array of file specifications. * * Loops through all nested files and returns a normalized array of * UploadedFileInterface instances. * * @return UploadedFileInterface[] */ private static function normalizeNestedFileSpec(array $files = []): array { } /** * Return a ServerRequest populated with superglobals: * $_GET * $_POST * $_COOKIE * $_FILES * $_SERVER */ public static function fromGlobals(): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } private static function extractHostAndPortFromAuthority(string $authority): array { } /** * Get a Uri populated with values from $_SERVER. */ public static function getUriFromGlobals(): \SureCartVendors\Psr\Http\Message\UriInterface { } public function getServerParams(): array { } public function getUploadedFiles(): array { } public function withUploadedFiles(array $uploadedFiles): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } public function getCookieParams(): array { } public function withCookieParams(array $cookies): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } public function getQueryParams(): array { } public function withQueryParams(array $query): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } /** * @return array|object|null */ public function getParsedBody() { } public function withParsedBody($data): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } public function getAttributes(): array { } /** * @return mixed */ public function getAttribute($attribute, $default = null) { } public function withAttribute($attribute, $value): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } public function withoutAttribute($attribute): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } } } namespace SureCartCore\Requests { /** * A representation of a request to the server. */ class Request extends \SureCartVendors\GuzzleHttp\Psr7\ServerRequest implements \SureCartCore\Requests\RequestInterface { /** * @codeCoverageIgnore * {@inheritDoc} * @return static */ public static function fromGlobals(): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } /** * @codeCoverageIgnore * {@inheritDoc} */ public function getUrl() { } /** * {@inheritDoc} */ protected function getMethodOverride($default) { } /** * {@inheritDoc} */ public function getMethod(): string { } /** * {@inheritDoc} */ public function isGet(): bool { } /** * {@inheritDoc} */ public function isHead(): bool { } /** * {@inheritDoc} */ public function isPost(): bool { } /** * {@inheritDoc} */ public function isPut(): bool { } /** * {@inheritDoc} */ public function isPatch(): bool { } /** * {@inheritDoc} */ public function isDelete(): bool { } /** * {@inheritDoc} */ public function isOptions(): bool { } /** * {@inheritDoc} */ public function isReadVerb(): bool { } /** * {@inheritDoc} */ public function isAjax(): bool { } /** * Get all values or a single one from an input type. * * @param array $source * @param string $key * @param mixed $default * @return mixed */ protected function get($source, $key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function attributes($key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function query($key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function body($key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function cookies($key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function files($key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function server($key = '', $default = null) { } /** * {@inheritDoc} * * @see ::get() */ public function headers($key = '', $default = null) { } /** * Send no-cache headers. * This will prevent cloudflare, etc. from caching a specific page. * * @return void */ public function noCache() { } } /** * Provide request dependencies. * * @codeCoverageIgnore */ class RequestsServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartVendors\Psr\Http\Message { /** * Representation of an outgoing, server-side response. * * Per the HTTP specification, this interface includes properties for * each of the following: * * - Protocol version * - Status code and reason phrase * - Headers * - Message body * * Responses are considered immutable; all methods that might change state MUST * be implemented such that they retain the internal state of the current * message and return an instance that contains the changed state. */ interface ResponseInterface extends \SureCartVendors\Psr\Http\Message\MessageInterface { /** * Gets the response status code. * * The status code is a 3-digit integer result code of the server's attempt * to understand and satisfy the request. * * @return int Status code. */ public function getStatusCode(); /** * Return an instance with the specified status code and, optionally, reason phrase. * * If no reason phrase is specified, implementations MAY choose to default * to the RFC 7231 or IANA recommended reason phrase for the response's * status code. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated status and reason phrase. * * @link http://tools.ietf.org/html/rfc7231#section-6 * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml * @param int $code The 3-digit integer result code to set. * @param string $reasonPhrase The reason phrase to use with the * provided status code; if none is provided, implementations MAY * use the defaults as suggested in the HTTP specification. * @return static * @throws \InvalidArgumentException For invalid status code arguments. */ public function withStatus(int $code, string $reasonPhrase = ''); /** * Gets the response reason phrase associated with the status code. * * Because a reason phrase is not a required element in a response * status line, the reason phrase value MAY be null. Implementations MAY * choose to return the default RFC 7231 recommended reason phrase (or those * listed in the IANA HTTP Status Code Registry) for the response's * status code. * * @link http://tools.ietf.org/html/rfc7231#section-6 * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml * @return string Reason phrase; must return an empty string if none present. */ public function getReasonPhrase(); } } namespace SureCartVendors\GuzzleHttp\Psr7 { /** * PSR-7 response implementation. */ class Response implements \SureCartVendors\Psr\Http\Message\ResponseInterface { use \SureCartVendors\GuzzleHttp\Psr7\MessageTrait; /** Map of standard HTTP status code/reason phrases */ private const PHRASES = [100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-status', 208 => 'Already Reported', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Switch Proxy', 307 => 'Temporary Redirect', 308 => 'Permanent Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Unordered Collection', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 510 => 'Not Extended', 511 => 'Network Authentication Required']; /** @var string */ private $reasonPhrase; /** @var int */ private $statusCode; /** * @param int $status Status code * @param (string|string[])[] $headers Response headers * @param string|resource|StreamInterface|null $body Response body * @param string $version Protocol version * @param string|null $reason Reason phrase (when empty a default will be used based on the status code) */ public function __construct(int $status = 200, array $headers = [], $body = null, string $version = '1.1', ?string $reason = null) { } public function getStatusCode(): int { } public function getReasonPhrase(): string { } public function withStatus($code, $reasonPhrase = ''): \SureCartVendors\Psr\Http\Message\ResponseInterface { } /** * @param mixed $statusCode */ private function assertStatusCodeIsInteger($statusCode): void { } private function assertStatusCodeRange(int $statusCode): void { } } } namespace SureCartCore\Responses { /** * A collection of tools for the creation of responses */ class RedirectResponse extends \SureCartVendors\GuzzleHttp\Psr7\Response { /** * Current request. * * @var RequestInterface */ protected $request = null; /** * Constructor. * * @codeCoverageIgnore * @param RequestInterface $request */ public function __construct(\SureCartCore\Requests\RequestInterface $request) { } /** * Get a response redirecting to a specific url. * * @param string $url * @param integer $status * @return ResponseInterface */ public function to($url, $status = 302) { } /** * Get a response redirecting back to the referrer or a fallback. * * @param string $fallback * @param integer $status * @return ResponseInterface */ public function back($fallback = '', $status = 302) { } } interface ResponsableInterface { /** * Convert to SureCartVendors\Psr\Http\Message\ResponseInterface. * * @return ResponseInterface */ public function toResponse(); } /** * A collection of tools for the creation of responses. */ class ResponseService { /** * Current request. * * @var RequestInterface */ protected $request = null; /** * View service. * * @var ViewService */ protected $view_service = null; /** * Constructor. * * @codeCoverageIgnore * @param RequestInterface $request * @param ViewService $view_service */ public function __construct(\SureCartCore\Requests\RequestInterface $request, \SureCartCore\View\ViewService $view_service) { } /** * Send output based on a response object. * * @credit heavily modified version of slimphp/slim - Slim/App.php * * @codeCoverageIgnore * @param ResponseInterface $response * @return void */ public function respond(\SureCartVendors\Psr\Http\Message\ResponseInterface $response) { } /** * Send a request's headers to the client. * * @codeCoverageIgnore * @param ResponseInterface $response * @return void */ public function sendHeaders(\SureCartVendors\Psr\Http\Message\ResponseInterface $response) { } /** * Get a response's body stream so it is ready to be read. * * @codeCoverageIgnore * @param ResponseInterface $response * @return StreamInterface */ protected function getBody(\SureCartVendors\Psr\Http\Message\ResponseInterface $response) { } /** * Get a response's body's content length. * * @codeCoverageIgnore * @param ResponseInterface $response * @return integer */ protected function getBodyContentLength(\SureCartVendors\Psr\Http\Message\ResponseInterface $response) { } /** * Send a request's body to the client. * * @codeCoverageIgnore * @param ResponseInterface $response * @param integer $chunk_size * @return void */ public function sendBody(\SureCartVendors\Psr\Http\Message\ResponseInterface $response, $chunk_size = 4096) { } /** * Send a body with an unknown length to the client. * * @codeCoverageIgnore * @param StreamInterface $body * @param integer $chunk_size * @return void */ protected function sendBodyWithoutLength(\SureCartVendors\Psr\Http\Message\StreamInterface $body, $chunk_size) { } /** * Send a body with a known length to the client. * * @codeCoverageIgnore * @param StreamInterface $body * @param integer $length * @param integer $chunk_size * @return void */ protected function sendBodyWithLength(\SureCartVendors\Psr\Http\Message\StreamInterface $body, $length, $chunk_size) { } /** * Create a new response object. * * @return ResponseInterface */ public function response() { } /** * Get a cloned response with the passed string as the body. * * @param string $output * @return ResponseInterface */ public function output($output) { } /** * Get a cloned response, json encoding the passed data as the body. * * @param mixed $data * @return ResponseInterface */ public function json($data) { } /** * Get a cloned response, with location and status headers. * * @param RequestInterface|null $request * @return RedirectResponse */ public function redirect(?\SureCartCore\Requests\RequestInterface $request = null) { } /** * Get an error response, with status headers and rendering a suitable view as the body. * * @param integer $status * @return ResponseInterface */ public function error($status) { } } /** * Provide responses dependencies. * * @codeCoverageIgnore */ class ResponsesServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Routing\Conditions { /** * Interface that condition types must implement */ interface ConditionInterface { /** * Get whether the condition is satisfied * * @param RequestInterface $request * @return boolean */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request); /** * Get an array of arguments for use in request * * @param RequestInterface $request * @return array */ public function getArguments(\SureCartCore\Requests\RequestInterface $request); } /** * Interface signifying that an object can be converted to a URL. */ interface UrlableInterface { /** * Convert to URL. * * @param array $arguments * @return string */ public function toUrl($arguments = []); } /** * Check against the current ajax action. * * @codeCoverageIgnore */ class AdminCondition implements \SureCartCore\Routing\Conditions\ConditionInterface, \SureCartCore\Routing\Conditions\UrlableInterface { /** * Menu slug. * * @var string */ protected $menu = ''; /** * Parent menu slug. * * @var string */ protected $parent_menu = ''; /** * Constructor * * @codeCoverageIgnore * @param string $menu * @param string $parent_menu */ public function __construct($menu, $parent_menu = '') { } /** * Check if the admin page requirement matches. * * @return boolean */ protected function isAdminPage() { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function toUrl($arguments = []) { } } /** * Check against the current ajax action. * * @codeCoverageIgnore */ class AjaxCondition implements \SureCartCore\Routing\Conditions\ConditionInterface, \SureCartCore\Routing\Conditions\UrlableInterface { /** * Ajax action to check against. * * @var string */ protected $action = ''; /** * Flag whether to check against ajax actions which run for authenticated users. * * @var boolean */ protected $private = true; /** * Flag whether to check against ajax actions which run for unauthenticated users. * * @var boolean */ protected $public = false; /** * Constructor * * @codeCoverageIgnore * @param string $action * @param boolean $private * @param boolean $public */ public function __construct($action, $private = true, $public = false) { } /** * Check if the private authentication requirement matches. * * @return boolean */ protected function matchesPrivateRequirement() { } /** * Check if the public authentication requirement matches. * * @return boolean */ protected function matchesPublicRequirement() { } /** * Check if the ajax action matches the requirement. * * @param RequestInterface $request * @return boolean */ protected function matchesActionRequirement(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function toUrl($arguments = []) { } } /** * Interface signifying that an object can filter the main WordPress query. */ interface CanFilterQueryInterface { } /** * Check against the current url */ class ConditionFactory { const NEGATE_CONDITION_PREFIX = '!'; /** * Registered condition types. * * @var array */ protected $condition_types = []; /** * Constructor. * * @codeCoverageIgnore * @param array $condition_types */ public function __construct($condition_types) { } /** * Create a new condition. * * @param string|array|Closure $options * @return ConditionInterface */ public function make($options) { } /** * Ensure value is a condition. * * @param string|array|Closure|ConditionInterface $value * @return ConditionInterface */ public function condition($value) { } /** * Get condition class for condition type. * * @param string $condition_type * @return string|null */ protected function getConditionTypeClass($condition_type) { } /** * Check if the passed argument is a registered condition type. * * @param mixed $condition_type * @return boolean */ protected function conditionTypeRegistered($condition_type) { } /** * Check if a condition is negated. * * @param mixed $condition * @return boolean */ protected function isNegatedCondition($condition) { } /** * Parse a negated condition and its arguments. * * @param string $type * @param array $arguments * @return array */ protected function parseNegatedCondition($type, $arguments) { } /** * Parse the condition type and its arguments from an options array. * * @param array $options * @return array */ protected function parseConditionOptions($options) { } /** * Create a new condition from a url. * * @param string $url * @return ConditionInterface */ protected function makeFromUrl($url) { } /** * Create a new condition from an array. * * @param array $options * @return ConditionInterface */ protected function makeFromArray($options) { } /** * Create a new condition from an array of conditions. * * @param array $options * @return ConditionInterface */ protected function makeFromArrayOfConditions($options) { } /** * Create a new condition from a closure. * * @param Closure $closure * @return ConditionInterface */ protected function makeFromClosure(\Closure $closure) { } /** * Merge group condition attribute. * * @param string|array|Closure|ConditionInterface|null $old * @param string|array|Closure|ConditionInterface|null $new * @return ConditionInterface|null */ public function merge($old, $new) { } /** * Merge condition instances. * * @param ConditionInterface $old * @param ConditionInterface $new * @return ConditionInterface */ public function mergeConditions(\SureCartCore\Routing\Conditions\ConditionInterface $old, \SureCartCore\Routing\Conditions\ConditionInterface $new) { } } /** * Check against a custom callable. */ class CustomCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Callable to use * * @var callable */ protected $callable = null; /** * Arguments to pass to the callable and controller * * @var array */ protected $arguments = []; /** * Constructor * * @codeCoverageIgnore * @param callable $callable * @param mixed , ...$arguments */ public function __construct($callable) { } /** * Get the assigned callable * * @codeCoverageIgnore * @return callable */ public function getCallable() { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against an array of conditions in an AND logical relationship. */ class MultipleCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Array of conditions to check. * * @var ConditionInterface[] */ protected $conditions = []; /** * Constructor. * * @codeCoverageIgnore * @param ConditionInterface[] $conditions */ public function __construct($conditions) { } /** * Get all assigned conditions * * @codeCoverageIgnore * @return ConditionInterface[] */ public function getConditions() { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Negate another condition's result. */ class NegateCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Condition to negate. * * @var ConditionInterface */ protected $condition = null; /** * Constructor. * * @codeCoverageIgnore * @param ConditionInterface $condition */ public function __construct($condition) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against the current post's id. * * @codeCoverageIgnore */ class PostIdCondition implements \SureCartCore\Routing\Conditions\ConditionInterface, \SureCartCore\Routing\Conditions\UrlableInterface { /** * Post id to check against * * @var integer */ protected $post_id = 0; /** * Constructor * * @codeCoverageIgnore * @param integer $post_id */ public function __construct($post_id) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function toUrl($arguments = []) { } } /** * Check against the current post's slug. * * @codeCoverageIgnore */ class PostSlugCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Post slug to check against * * @var string */ protected $post_slug = ''; /** * Constructor * * @codeCoverageIgnore * @param string $post_slug */ public function __construct($post_slug) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against the current post's status. * * @codeCoverageIgnore */ class PostStatusCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Post status to check against. * * @var string */ protected $post_status = ''; /** * Constructor * * @codeCoverageIgnore * @param string $post_status */ public function __construct($post_status) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against the current post's template. * * @codeCoverageIgnore */ class PostTemplateCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Post template to check against * * @var string */ protected $post_template = ''; /** * Post types to check against * * @var string[] */ protected $post_types = []; /** * Constructor * * @codeCoverageIgnore * @param string $post_template * @param string|string[] $post_types */ public function __construct($post_template, $post_types = []) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against the current post's type. * * @codeCoverageIgnore */ class PostTypeCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Post type to check against * * @var string */ protected $post_type = ''; /** * Constructor * * @codeCoverageIgnore * @param string $post_type */ public function __construct($post_type) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against a query var value. * * @codeCoverageIgnore */ class QueryVarCondition implements \SureCartCore\Routing\Conditions\ConditionInterface { /** * Query var name to check against. * * @var string|null */ protected $query_var = null; /** * Query var value to check against. * * @var string|null */ protected $value = ''; /** * Constructor. * * @codeCoverageIgnore * @param string $query_var * @param string|null $value */ public function __construct($query_var, $value = null) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Check against the current url */ class UrlCondition implements \SureCartCore\Routing\Conditions\ConditionInterface, \SureCartCore\Routing\Conditions\UrlableInterface, \SureCartCore\Routing\Conditions\CanFilterQueryInterface { const WILDCARD = '*'; /** * URL to check against. * * @var string */ protected $url = ''; /** * URL where. * * @var array */ protected $url_where = []; /** * Pattern to detect parameters in urls. * * @suppress HtmlUnknownTag * @var string */ protected $url_pattern = '~ (?:/) # match leading slash (?:\{) # opening curly brace (?P[a-z]\w*) # string starting with a-z and followed by word characters for the parameter name (?P\?)? # optionally allow the user to mark the parameter as option using a literal ? (?:\}) # closing curly brace (?=/) # lookahead for a trailing slash ~ix'; /** * Pattern to detect valid parameters in url segments. * * @var string */ protected $parameter_pattern = '[^/]+'; /** * Constructor. * * @codeCoverageIgnore * @param string $url * @param array $where */ public function __construct($url, $where = []) { } /** * Make a new instance. * * @codeCoverageIgnore * @param string $url * @param array $where * @return self */ protected function make($url, $where = []) { } /** * {@inheritDoc} */ protected function whereIsSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } /** * Get the url for this condition. * * @return string */ public function getUrl() { } /** * Set the url for this condition. * * @param string $url * @return void */ public function setUrl($url) { } /** * {@inheritDoc} */ public function getUrlWhere() { } /** * {@inheritDoc} */ public function setUrlWhere($where) { } /** * Append a url to this one returning a new instance. * * @param string $url * @param array $where * @return static */ public function concatenate($url, $where = []) { } /** * Get parameter names as defined in the url. * * @param string $url * @return string[] */ protected function getParameterNames($url) { } /** * Validation pattern replace callback. * * @param array $matches * @param array $parameters * @return string */ protected function replacePatternParameterWithPlaceholder($matches, &$parameters) { } /** * Get pattern to test whether normal urls match the parameter-based one. * * @param string $url * @param boolean $wrap * @return string */ public function getValidationPattern($url, $wrap = true) { } /** * {@inheritDoc} */ public function toUrl($arguments = []) { } } } namespace SureCartCore\Routing { /** * Represent an object which has a WordPress query filter. */ interface HasQueryFilterInterface { /** * Apply the query filter, if any. * * @param RequestInterface $request * @param array $query_vars * @return array */ public function applyQueryFilter($request, $query_vars); } /** * Represent an object which has a WordPress query filter attribute. */ trait HasQueryFilterTrait { /** * Query filter. * * @var callable|null */ protected $query_filter = null; /** * Get attribute. * * @param string $attribute * @param mixed $default * @return mixed */ abstract public function getAttribute($attribute, $default = ''); /** * Apply the query filter, if any. * * @param RequestInterface $request * @param array $query_vars * @return array */ public function applyQueryFilter($request, $query_vars) { } } /** * Interface for HasRoutesTrait */ interface HasRoutesInterface { /** * Get routes. * * @return RouteInterface[] */ public function getRoutes(); /** * Add a route. * * @param RouteInterface $route * @return void */ public function addRoute(\SureCartCore\Routing\RouteInterface $route); /** * Remove a route. * * @param RouteInterface $route * @return void */ public function removeRoute(\SureCartCore\Routing\RouteInterface $route); } /** * Allow objects to have routes */ trait HasRoutesTrait { /** * Array of registered routes * * @var RouteInterface[] */ protected $routes = []; /** * Get routes. * * @codeCoverageIgnore * @return RouteInterface[] */ public function getRoutes() { } /** * Add a route. * * @param RouteInterface $route * @return void */ public function addRoute(\SureCartCore\Routing\RouteInterface $route) { } /** * Remove a route. * * @param RouteInterface $route * @return void */ public function removeRoute(\SureCartCore\Routing\RouteInterface $route) { } } class NotFoundException extends \SureCartCore\Exceptions\Exception { } /** * Interface that routes must implement */ interface RouteInterface extends \SureCartCore\Helpers\HasAttributesInterface { /** * Get whether the route is satisfied. * * @param RequestInterface $request * @return boolean */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request); /** * Get arguments. * * @param RequestInterface $request * @return array */ public function getArguments(\SureCartCore\Requests\RequestInterface $request); } /** * Represent a route */ class Route implements \SureCartCore\Routing\RouteInterface, \SureCartCore\Routing\HasQueryFilterInterface { use \SureCartCore\Helpers\HasAttributesTrait; use \SureCartCore\Routing\HasQueryFilterTrait; /** * {@inheritDoc} */ public function isSatisfied(\SureCartCore\Requests\RequestInterface $request) { } /** * {@inheritDoc} */ public function getArguments(\SureCartCore\Requests\RequestInterface $request) { } } /** * Provide a fluent interface for registering routes with the router. */ class RouteBlueprint { use \SureCartCore\Helpers\HasAttributesTrait; /** * Router. * * @var Router */ protected $router = null; /** * View service. * * @var ViewService */ protected $view_service = null; /** * Constructor. * * @codeCoverageIgnore * @param Router $router * @param ViewService $view_service */ public function __construct(\SureCartCore\Routing\Router $router, \SureCartCore\View\ViewService $view_service) { } /** * Match requests using one of the specified methods. * * @param string[] $methods * @return static $this */ public function methods($methods) { } /** * Set the condition attribute to a URL. * * @param string $url * @param array $where * @return static $this */ public function url($url, $where = []) { } /** * Set the condition attribute. * * @param string|array|ConditionInterface $condition * @param mixed , ...$arguments * @return static $this */ public function where($condition) { } /** * Set the middleware attribute. * * @param string|string[] $middleware * @return static $this */ public function middleware($middleware) { } /** * Set the namespace attribute. * This should be renamed to namespace for consistency once minimum PHP * version is increased to 7+. * * @param string $namespace * @return static $this */ public function setNamespace($namespace) { } /** * Set the query attribute. * * @param callable $query * @return static $this */ public function query($query) { } /** * Set the name attribute. * * @param string $name * @return static $this */ public function name($name) { } /** * Create a route group. * * @param Closure|string $routes Closure or path to file. * @return void */ public function group($routes) { } /** * Create a route. * * @param string|Closure $handler * @return void */ public function handle($handler = '') { } /** * Handle a request by directly rendering a view. * * @param string|string[] $views * @return void */ public function view($views) { } /** * Match ALL requests. * * @param string|Closure $handler * @return void */ public function all($handler = '') { } /** * Match requests with a method of GET or HEAD. * * @return static $this */ public function get() { } /** * Match requests with a method of POST. * * @return static $this */ public function post() { } /** * Match requests with a method of PUT. * * @return static $this */ public function put() { } /** * Match requests with a method of PATCH. * * @return static $this */ public function patch() { } /** * Match requests with a method of DELETE. * * @return static $this */ public function delete() { } /** * Match requests with a method of OPTIONS. * * @return static $this */ public function options() { } /** * Match requests with any method. * * @return static $this */ public function any() { } } /** * Provide routing for site requests (i.e. all non-api requests). */ class Router implements \SureCartCore\Routing\HasRoutesInterface { use \SureCartCore\Routing\HasRoutesTrait; /** * Condition factory. * * @var ConditionFactory */ protected $condition_factory = null; /** * Handler factory. * * @var HandlerFactory */ protected $handler_factory = null; /** * Group stack. * * @var array> */ protected $group_stack = []; /** * Current active route. * * @var RouteInterface|null */ protected $current_route = null; /** * Constructor. * * @codeCoverageIgnore * @param ConditionFactory $condition_factory * @param HandlerFactory $handler_factory */ public function __construct(\SureCartCore\Routing\Conditions\ConditionFactory $condition_factory, \SureCartCore\Helpers\HandlerFactory $handler_factory) { } /** * Get the current route. * * @return RouteInterface */ public function getCurrentRoute() { } /** * Set the current route. * * @param RouteInterface $current_route * @return void */ public function setCurrentRoute(\SureCartCore\Routing\RouteInterface $current_route) { } /** * Merge the methods attribute combining values. * * @param string[] $old * @param string[] $new * @return string[] */ public function mergeMethodsAttribute($old, $new) { } /** * Merge the condition attribute. * * @param string|array|Closure|ConditionInterface|null $old * @param string|array|Closure|ConditionInterface|null $new * @return ConditionInterface|string */ public function mergeConditionAttribute($old, $new) { } /** * Merge the middleware attribute combining values. * * @param string[] $old * @param string[] $new * @return string[] */ public function mergeMiddlewareAttribute($old, $new) { } /** * Merge the namespace attribute taking the latest value. * * @param string $old * @param string $new * @return string */ public function mergeNamespaceAttribute($old, $new) { } /** * Merge the handler attribute taking the latest value. * * @param string|Closure $old * @param string|Closure $new * @return string|Closure */ public function mergeHandlerAttribute($old, $new) { } /** * Merge the handler attribute taking the latest value. * * @param callable|null $old * @param callable|null $new * @return string|Closure */ public function mergeQueryAttribute($old, $new) { } /** * Merge the name attribute combining values with a dot. * * @param string $old * @param string $new * @return string */ public function mergeNameAttribute($old, $new) { } /** * Merge attributes into route. * * @param array $old * @param array $new * @return array */ public function mergeAttributes($old, $new) { } /** * Get the top group from the stack. * * @codeCoverageIgnore * @return array */ protected function getGroup() { } /** * Add a group to the group stack, merging all previous attributes. * * @codeCoverageIgnore * @param array $group * @return void */ protected function pushGroup($group) { } /** * Remove last group from the group stack. * * @codeCoverageIgnore * @return void */ protected function popGroup() { } /** * Create a route group. * * @codeCoverageIgnore * @param array $attributes * @param Closure|string $routes Closure or path to file. * @return void */ public function group($attributes, $routes) { } /** * Make a route condition. * * @param mixed $condition * @return ConditionInterface */ protected function routeCondition($condition) { } /** * Make a route handler. * * @codeCoverageIgnore * @param string|Closure|null $handler * @param string $namespace * @return Handler */ protected function routeHandler($handler, $namespace) { } /** * Make a route. * * @param array $attributes * @return RouteInterface */ public function route($attributes) { } /** * Assign and return the first satisfied route (if any) as the current one for the given request. * * @param RequestInterface $request * @return RouteInterface|null */ public function execute($request) { } /** * Get the url for a named route. * * @param string $name * @param array $arguments * @return string */ public function getRouteUrl($name, $arguments = []) { } } /** * Provide routing dependencies * * @codeCoverageIgnore */ class RoutingServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { use \SureCartCore\ServiceProviders\ExtendsConfigTrait; /** * Key=>Class dictionary of condition types * * @var array */ protected static $condition_types = ['url' => \SureCartCore\Routing\Conditions\UrlCondition::class, 'custom' => \SureCartCore\Routing\Conditions\CustomCondition::class, 'multiple' => \SureCartCore\Routing\Conditions\MultipleCondition::class, 'negate' => \SureCartCore\Routing\Conditions\NegateCondition::class, 'post_id' => \SureCartCore\Routing\Conditions\PostIdCondition::class, 'post_slug' => \SureCartCore\Routing\Conditions\PostSlugCondition::class, 'post_status' => \SureCartCore\Routing\Conditions\PostStatusCondition::class, 'post_template' => \SureCartCore\Routing\Conditions\PostTemplateCondition::class, 'post_type' => \SureCartCore\Routing\Conditions\PostTypeCondition::class, 'query_var' => \SureCartCore\Routing\Conditions\QueryVarCondition::class, 'ajax' => \SureCartCore\Routing\Conditions\AjaxCondition::class, 'admin' => \SureCartCore\Routing\Conditions\AdminCondition::class]; /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartCore\Support { /** * A collection of tools dealing with arrays * * @credit (limited version of) illuminate/support * @codeCoverageIgnore */ class Arr { /** * Determine whether the given value is array accessible. * * @param mixed $value * @return bool */ public static function accessible($value) { } /** * Add an element to an array using "dot" notation if it doesn't exist. * * @param array $array * @param string $key * @param mixed $value * @return array */ public static function add($array, $key, $value) { } /** * Collapse an array of arrays into a single array. * * @param array $array * @return array */ public static function collapse($array) { } /** * Divide an array into two arrays. One with keys and the other with values. * * @param array $array * @return array */ public static function divide($array) { } /** * Flatten a multi-dimensional associative array with dots. * * @param array $array * @param string $prepend * @return array */ public static function dot($array, $prepend = '') { } /** * Get all of the given array except for a specified array of items. * * @param array $array * @param array|string $keys * @return array */ public static function except($array, $keys) { } /** * Determine if the given key exists in the provided array. * * @param \ArrayAccess|array $array * @param string|int $key * @return bool */ public static function exists($array, $key) { } /** * Get the first element in an array passing a given truth test. * * @param array $array * @param callable|null $callback * @param mixed $default * @return mixed */ public static function first($array, $callback = null, $default = null) { } /** * Get the last element in an array passing a given truth test. * * @param array $array * @param callable|null $callback * @param mixed $default * @return mixed */ public static function last($array, $callback = null, $default = null) { } /** * Remove one or many array items from a given array using "dot" notation. * * @param array $array * @param array|string $keys * @return void */ public static function forget(&$array, $keys) { } /** * Get an item from an array using "dot" notation. * * @param \ArrayAccess|array $array * @param string $key * @param mixed $default * @return mixed */ public static function get($array, $key, $default = null) { } /** * Check if an item or items exist in an array using "dot" notation. * * @param \ArrayAccess|array $array * @param string|array $keys * @return bool */ public static function has($array, $keys) { } /** * Determines if an array is associative. * * An array is "associative" if it doesn't have sequential numerical keys beginning with zero. * * @param array $array * @return bool */ public static function isAssoc(array $array) { } /** * Get a subset of the items from the given array. * * @param array $array * @param array|string $keys * @return array */ public static function only($array, $keys) { } /** * Pluck an array of values from an array. * * @param array $array * @param string|array $value * @param string|array|null $key * @return array */ public static function pluck($array, $value, $key = null) { } /** * Explode the "value" and "key" arguments passed to "pluck". * * @param string|array $value * @param string|array|null $key * @return array */ protected static function explodePluckParameters($value, $key) { } /** * Push an item onto the beginning of an array. * * @param array $array * @param mixed $value * @param mixed $key * @return array */ public static function prepend($array, $value, $key = null) { } /** * Get a value from the array, and remove it. * * @param array $array * @param string $key * @param mixed $default * @return mixed */ public static function pull(&$array, $key, $default = null) { } /** * Set an array item to a given value using "dot" notation. * * If no key is given to the method, the entire array will be replaced. * * @param array $array * @param string $key * @param mixed $value * @return array */ public static function set(&$array, $key, $value) { } /** * Shuffle the given array and return the result. * * @param array $array * @return array */ public static function shuffle($array) { } /** * Recursively sort an array by keys and values. * * @param array $array * @return array */ public static function sortRecursive($array) { } /** * Get an item from an array or object using "dot" notation. * * @param mixed $target * @param string|array $key * @param mixed $default * @return mixed */ public static function data_get($target, $key, $default = null) { } } } namespace SureCartCore\View { interface HasContextInterface { /** * Get context values. * * @param string|null $key * @param mixed|null $default * @return mixed */ public function getContext($key = null, $default = null); /** * Add context values. * * @param string|array $key * @param mixed $value * @return static $this */ public function with($key, $value = null); } trait HasContextTrait { /** * Context. * * @var array */ protected $context = []; /** * Get context values. * * @param string|null $key * @param mixed|null $default * @return mixed */ public function getContext($key = null, $default = null) { } /** * Add context values. * * @param string|array $key * @param mixed $value * @return static $this */ public function with($key, $value = null) { } } trait HasNameTrait { /** * Name. * * @var string */ protected $name = ''; /** * Get name. * * @return string */ public function getName() { } /** * Set name. * * @param string $name * @return static $this */ public function setName($name) { } } /** * Interface that view finders must implement. */ interface ViewFinderInterface { /** * Check if a view exists. * * @param string $view * @return boolean */ public function exists($view); /** * Return a canonical string representation of the view name. * * @param string $view * @return string */ public function canonical($view); } /** * Interface that view engines must implement */ interface ViewEngineInterface extends \SureCartCore\View\ViewFinderInterface { /** * Create a view instance from the first view name that exists. * * @param string[] $views * @return ViewInterface */ public function make($views); } /** * Render view files with different engines depending on their filename */ class NameProxyViewEngine implements \SureCartCore\View\ViewEngineInterface { /** * Container key of default engine to use * * @var string */ protected $default = SURECART_VIEW_PHP_VIEW_ENGINE_KEY; /** * Application. * * @var Application */ protected $app = null; /** * Array of filename_suffix=>engine_container_key bindings * * @var array */ protected $bindings = []; /** * Constructor * * @param Application $app * @param array $bindings * @param string $default */ public function __construct(\SureCartCore\Application\Application $app, $bindings, $default = '') { } /** * {@inheritDoc} */ public function exists($view) { } /** * {@inheritDoc} */ public function canonical($view) { } /** * {@inheritDoc} * * @throws ViewNotFoundException */ public function make($views) { } /** * Get the default binding * * @return string $binding */ public function getDefaultBinding() { } /** * Get all bindings * * @return array $bindings */ public function getBindings() { } /** * Get the engine key binding for a specific file * * @param string $file * @return string */ public function getBindingForFile($file) { } } /** * Represent and render a view to a string. */ interface ViewInterface extends \SureCartCore\View\HasContextInterface, \SureCartCore\Responses\ResponsableInterface { /** * Get name. * * @return string */ public function getName(); /** * Set name. * * @param string $name * @return static $this */ public function setName($name); /** * Render the view to a string. * * @return string */ public function toString(); } /** * Render a view file with php. */ class PhpView implements \SureCartCore\View\ViewInterface { use \SureCartCore\View\HasNameTrait, \SureCartCore\View\HasContextTrait; /** * PHP view engine. * * @var PhpViewEngine */ protected $engine = null; /** * Filepath to view. * * @var string */ protected $filepath = ''; /** * Layout to use. * * @var ViewInterface|null */ protected $layout = null; /** * Constructor. * * @codeCoverageIgnore * @param PhpViewEngine $engine */ public function __construct(\SureCartCore\View\PhpViewEngine $engine) { } /** * Get filepath. * * @return string */ public function getFilepath() { } /** * Set filepath. * * @param string $filepath * @return static $this */ public function setFilepath($filepath) { } /** * Get layout. * * @return ViewInterface|null */ public function getLayout() { } /** * Set layout. * * @param ViewInterface|null $layout * @return static $this */ public function setLayout($layout) { } /** * {@inheritDoc} * * @throws ViewException */ public function toString() { } /** * {@inheritDoc} * * @throws ViewException */ public function toResponse() { } } /** * Render view files with php. */ class PhpViewEngine implements \SureCartCore\View\ViewEngineInterface { /** * Name of view file header based on which to resolve layouts. * * @var string */ protected $layout_file_header = 'Layout'; /** * View compose action. * * @var callable */ protected $compose = null; /** * View finder. * * @var PhpViewFilesystemFinder */ protected $finder = null; /** * Stack of views ready to be rendered. * * @var PhpView[] */ protected $layout_content_stack = []; /** * Constructor. * * @codeCoverageIgnore * @param callable $compose * @param PhpViewFilesystemFinder $finder */ public function __construct(callable $compose, \SureCartCore\View\PhpViewFilesystemFinder $finder) { } /** * {@inheritDoc} */ public function exists($view) { } /** * {@inheritDoc} */ public function canonical($view) { } /** * {@inheritDoc} * * @throws ViewNotFoundException */ public function make($views) { } /** * Create a view instance. * * @param string $name * @param string $filepath * @return ViewInterface * @throws ViewNotFoundException */ protected function makeView($name, $filepath) { } /** * Create a view instance for the given view's layout header, if any. * * @param PhpView $view * @return ViewInterface|null * @throws ViewNotFoundException */ protected function getViewLayout(\SureCartCore\View\PhpView $view) { } /** * Render a view. * * @param PhpView $__view * @return string */ protected function renderView(\SureCartCore\View\PhpView $__view) { } /** * Push layout content to the top of the stack. * * @codeCoverageIgnore * @param PhpView $view * @return void */ public function pushLayoutContent(\SureCartCore\View\PhpView $view) { } /** * Pop the top-most layout content from the stack. * * @codeCoverageIgnore * @return PhpView|null */ public function popLayoutContent() { } /** * Pop the top-most layout content from the stack, render and return it. * * @codeCoverageIgnore * @return string */ public function getLayoutContent() { } } /** * Render view files with php. */ class PhpViewFilesystemFinder implements \SureCartCore\View\ViewFinderInterface { /** * Custom views directories to check first. * * @var string[] */ protected $directories = []; /** * Constructor. * * @codeCoverageIgnore * @param string[] $directories */ public function __construct($directories = []) { } /** * Get the custom views directories. * * @codeCoverageIgnore * @return string[] */ public function getDirectories() { } /** * Set the custom views directories. * * @codeCoverageIgnore * @param string[] $directories * @return void */ public function setDirectories($directories) { } /** * {@inheritDoc} */ public function exists($view) { } /** * {@inheritDoc} */ public function canonical($view) { } /** * Resolve a view to an absolute filepath. * * @param string $view * @return string */ public function resolveFilepath($view) { } /** * Resolve a view if it is a valid absolute filepath. * * @param string $view * @return string */ protected function resolveFromAbsoluteFilepath($view) { } /** * Resolve a view if it exists in the custom views directories. * * @param string $view * @return string */ protected function resolveFromCustomDirectories($view) { } } class ViewException extends \SureCartCore\Exceptions\Exception { } class ViewNotFoundException extends \SureCartCore\Exceptions\Exception { } /** * Provide general view-related functionality. */ class ViewService { /** * Configuration. * * @var array */ protected $config = []; /** * View engine. * * @var ViewEngineInterface */ protected $engine = null; /** * Handler factory. * * @var HandlerFactory */ protected $handler_factory = null; /** * Global variables. * * @var array */ protected $globals = []; /** * View composers. * * @var array */ protected $composers = []; /** * Constructor. * * @codeCoverageIgnore * @param array $config * @param ViewEngineInterface $engine * @param HandlerFactory $handler_factory */ public function __construct($config, \SureCartCore\View\ViewEngineInterface $engine, \SureCartCore\Helpers\HandlerFactory $handler_factory) { } /** * Get global variables. * * @return array */ public function getGlobals() { } /** * Set a global variable. * * @param string $key * @param mixed $value * @return void */ public function addGlobal($key, $value) { } /** * Set an array of global variables. * * @param array $globals * @return void */ public function addGlobals($globals) { } /** * Get view composer. * * @param string $view * @return Handler[] */ public function getComposersForView($view) { } /** * Add view composer. * * @param string|string[] $views * @param string|Closure $composer * @return void */ public function addComposer($views, $composer) { } /** * Composes a view instance with contexts in the following order: Global, Composers, Local. * * @param ViewInterface $view * @return void */ public function compose(\SureCartCore\View\ViewInterface $view) { } /** * Create a view instance. * * @param string|string[] $views * @return ViewInterface */ public function make($views) { } /** * Trigger core hooks for a partial, if any. * * @codeCoverageIgnore * @param string $name * @return void */ public function triggerPartialHooks($name) { } /** * Render a view. * * @codeCoverageIgnore * @param string|string[] $views * @param array $context * @return void */ public function render($views, $context = []) { } } /** * Provide view dependencies * * @codeCoverageIgnore */ class ViewServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { use \SureCartCore\ServiceProviders\ExtendsConfigTrait; /** * {@inheritDoc} */ public function register($container) { } /** * {@inheritDoc} */ public function bootstrap($container) { } } } namespace SureCartBlocks\Blocks { /** * Checkout block */ abstract class BaseBlock { /** * Optional directory to .json block data files. * * @var string */ protected $directory = ''; /** * Holds the block. * * @var object */ protected $block; /** * Get the style for the block * * @param array $attributes Style variables. * @return string */ public function getVars($attr, $prefix) { } /** * Get the class name for the color. * * @param string $color_context_name The color context name (color, background-color). * @param string $color_slug (foreground, background, etc.). * * @return string */ public function getColorClassName($color_context_name, $color_slug) { } /** * Get the classes. * * @param array $attributes The block attributes. * * @return string */ public function getClasses($attributes) { } /** * Get the styles * * @param array $attributes The block attributes. * * @return string */ public function getStyles($attributes) { } /** * Get the spacing preset css variable. * * @param string $value The value. * * @return string|void */ public function getSpacingPresetCssVar($value) { } /** * Get the font size preset css variable. * * @param string $value The value. * * @return string|void */ public function getFontSizePresetCssVar($value) { } /** * Get the color preset css variable. * * @param string $value The value. * * @return string|void */ public function getColorPresetCssVar($value) { } /** * Register the block for dynamic output * * @param \Pimple\Container $container Service container. * * @return void */ public function register() { } /** * Get the called class directory path * * @return string */ public function getDir() { } /** * Optionally run a function to modify attibuutes before rendering. * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function preRender($attributes, $content, $block) { } /** * Run any block middleware before rendering. * * @param array $attributes Block attributes. * @param string $content Post content. * @return boolean|\WP_Error; */ protected function middleware($attributes, $content) { } /** * Allows filtering of attributes before rendering. * * @param array $attributes Block attributes. * @return array $attributes */ public function getAttributes($attributes) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\BuyButton { /** * Buy Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } /** * Build the line items array. * * @param array $line_items Line items. * @return array Line items. */ public function lineItems($line_items) { } /** * Build the button url. * * @param array $line_items Line items. * @return string url */ public function href($line_items = []) { } } } namespace SureCartBlocks\Blocks\AddToCartButton { /** * AddToCart Button Block. */ class Block extends \SureCartBlocks\Blocks\BuyButton\Block { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks\Address { /** * Address Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks { /** * Provide general block-related functionality. */ class BlockService { /** * View engine. * * @var Application */ protected $app = null; /** * Constructor. * * @param Application $app Application Instance. */ public function __construct(\SureCartCore\Application\Application $app) { } /** * Render a block using a template * * @param string|string[] $views A view or array of views. * @param array $context Context to send. * @return string View html output. */ public function render($views, $context = []) { } /** * Find all blocks and nested blocks by name. * * @param string $type Block item to filter by. * @param string $name Block name. * @param array $blocks Array of blocks. * @return array */ public function filterBy($type, $name, $blocks) { } } /** * Block Service Provider Class * Registers block service used throughout the plugin * * @author SureCart * @since 1.0.0 * @license GPL */ class BlockServiceProvider implements \SureCartCore\ServiceProviders\ServiceProviderInterface { /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. */ public function register($container) { } /** * {@inheritDoc} * * @param \Pimple\Container $container Service Container. * * @return void * * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter */ public function bootstrap($container) { } /** * Add iFrame to allowed wp_kses_post tags * * @param array $tags Allowed tags, attributes, and/or entities. * * @return array */ public function ksesComponents($tags) { } /** * Register blocks from config * * @param \Pimple\Container $container Service Container. * * @return void */ public function registerBlocks($container) { } } } namespace SureCartBlocks\Blocks\Cart { /** * Cart CTA Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block. * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks { /** * Cart block. */ abstract class CartBlock extends \SureCartBlocks\Blocks\BaseBlock { /** * Get the cart block style. * * @param array $attributes Array of block attributes. * * @return string */ public function getStyle($attributes) { } } } namespace SureCartBlocks\Blocks\CartBumpLineItem { /** * Cart CTA Block. */ class Block extends \SureCartBlocks\Blocks\CartBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * @param object $block Block object. * * @return string */ public function render($attributes, $content, $block = null) { } } } namespace SureCartBlocks\Blocks\CartCoupon { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\CartBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\CartMenuButton { /** * Cart Menu Button CTA Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks\CartSubmit { /** * Cart Submit Block */ class Block extends \SureCartBlocks\Blocks\CartBlock { /** * Get the style for the block * * @param array $attr Style variables. * @param string $prefix Prefix for the css variable. * * @return string */ public function getVars($attr, $prefix) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\CartSubtotal { /** * Cart CTA Block. */ class Block extends \SureCartBlocks\Blocks\CartBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * @param object $block Block object. * * @return string */ public function render($attributes, $content, $block = null) { } } } namespace SureCartBlocks\Blocks\CheckoutForm { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\CollapsibleRow { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\CollectionPage { /** * Collection Pages Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks\Column { /** * Logout Button Block. */ class Block { /** * Optional directory to .json block data files. * * @var string */ protected $directory = ''; /** * Register the block for dynamic output * * @return void */ public function register() { } /** * Get the called class directory path * * @return string */ public function getDir() { } } } namespace SureCartBlocks\Blocks\Columns { /** * Logout Button Block. */ class Block { /** * Optional directory to .json block data files. * * @var string */ protected $directory = ''; /** * Register the block for dynamic output * * @return void */ public function register() { } /** * Get the called class directory path * * @return string */ public function getDir() { } } } namespace SureCartBlocks\Blocks\ConditionalForm { /** * Cart CTA Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of number of instances. * * @var integer */ public static $instance = 0; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * @param object $block Block object. * * @return string */ public function render($attributes, $content, $block = null) { } } } namespace SureCartBlocks\Blocks\Confirmation { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Coupon { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\CustomerDashboardButton { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks\Dashboard { /** * Checkout block */ abstract class DashboardPage extends \SureCartBlocks\Blocks\BaseBlock { /** * Holds the customer object. * * @var \SureCart\Models\Customer|null|\WP_Error; */ protected $customer = null; /** * Holds the customer id. * * @var string */ protected $customer_id = null; /** * Get the current tab. */ protected function getTab() { } /** * Run middleware before rendering the block. * * @param array $attributes Block attributes. * @param string $content Post content. * @return boolean|\WP_Error; */ protected function middleware($attributes, $content) { } protected function isLiveMode() { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerBillingDetails { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerDashboard { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Individual block controllers. * * @var array */ protected $blocks = ['subscription' => \SureCartBlocks\Controllers\SubscriptionController::class, 'payment_method' => \SureCartBlocks\Controllers\PaymentMethodController::class, 'charge' => \SureCartBlocks\Controllers\ChargeController::class, 'order' => \SureCartBlocks\Controllers\OrderController::class, 'user' => \SureCartBlocks\Controllers\UserController::class, 'customer' => \SureCartBlocks\Controllers\CustomerController::class, 'download' => \SureCartBlocks\Controllers\DownloadController::class, 'invoice' => \SureCartBlocks\Controllers\InvoiceController::class, 'license' => \SureCartBlocks\Controllers\LicenseController::class]; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Render the passowrd nag if needed. * * @return string */ public function passwordNag() { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerDashboardArea { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage\Block { } } namespace SureCartBlocks\Blocks\Dashboard\CustomerDownloads { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the preview (overview) * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerInvoices { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the preview (overview) * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerLicenses { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the preview (overview) * * @param array $attributes Block attributes * @param string $content Post content * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerOrders { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the preview (overview) * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerPaymentMethods { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\CustomerSubscriptions { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } /** * Show and individual checkout session. * * @param string $id Session ID. * * @return function */ public function show($id) { } /** * Show and individual checkout session. * * @return function */ public function edit() { } /** * Show and individual checkout session. * * @param array $attributes Block attributes. * * @return function */ public function index($attributes) { } } } namespace SureCartBlocks\Blocks\Dashboard\DashboardTab { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return void */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\Deprecated\CustomerCharges { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\Deprecated\CustomerShippingAddress { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\OrderDownloads { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the preview (overview) * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Dashboard\WordPressAccount { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\Dashboard\DashboardPage { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return function */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Divider { /** * Logout Button Block. */ class Block { /** * Optional directory to .json block data files. * * @var string */ protected $directory = ''; /** * Register the block for dynamic output * * @return void */ public function register() { } /** * Get the called class directory path * * @return string */ public function getDir() { } } } namespace SureCartBlocks\Blocks\Email { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks\Form { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Get the style for the block * * @param array $attributes Block attributes. * @return string */ public function getStyle($attributes) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Get the URL the customer is sent to after a successful checkout. * * @param array $attributes Block attributes. * @return string */ public function getSuccessUrl($attributes) { } /** * Get persistent mode. * * @param array $attributes Block attributes. * @return string|false */ public function getPeristance($attributes, $id = null) { } /** * Convert price blocks to line items * * @param array $prices Array of prices. * * @return array Array of line items. */ public function convertPricesToLineItems($prices) { } } } namespace SureCartBlocks\Blocks\LogoutButton { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Run any block middleware before rendering. * * @param array $attributes Block attributes. * @param string $content Post content. * * @return boolean */ public function middleware($attributes, $content) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\OrderConfirmationLineItems { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Password { /** * Password block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Payment { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of number of instances. * * @var integer */ public static $instance = 0; /** * Block attributes. * * @var array */ public $attributes = []; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } /** * Get the processor by type. * * @param string $type The processor type. * @param array $processors Array of processors. * * @return \SureCart/Models/Processor|null; */ protected function getProcessorByType($type, $processors) { } } } namespace SureCartBlocks\Blocks\PriceChoice { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of number of instances. * * @var integer */ public static $instance = 0; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\PriceSelector { /** * Checkout block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Get the initial line items. * * @return array */ public function getInitialLineItems() { } /** * Get the inner price choice blocks. * * @return array */ public function getInnerPriceChoices() { } /** * Convert price blocks to line items * * @param array $blocks Array of parsed blocks. * * @return array Array of line items. */ public function convertPriceBlocksToLineItems($blocks) { } /** * Remove price choice wrapper and return the html. * * @param string $content Block content. * * @return string */ public function getRemovedPriceChoicesWrapper($content): string { } } } namespace SureCartBlocks\Blocks\Product { /** * Product Block */ abstract class ProductBlock extends \SureCartBlocks\Blocks\BaseBlock { /** * Set initial product state * * @param Product $product The current product. * * @return void */ public function setInitialState($product) { } /** * Get the product * * @param string $id The product id. * * @return Product|null */ public function getProduct(string $id) { } /** * Get product and call set state. * * @param string $id The product id. * * @return \SureCart\Models\Product|null */ public function getProductAndSetInitialState($id) { } } } namespace SureCartBlocks\Blocks\Product\BuyButton { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Get the style for the block. * * @param array $attr Style variables. * @param string $prefix Prefix. * @return string */ public function getVars($attr, $prefix) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\CollectionBadges { /** * Product Collection Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\Description { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\Media { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Get the block classes. * * @param \SureCart\Models\Product` $product Product object. * @param integer $width Image width. * * @return array */ public function getImages($product, $width, $srcset = []) { } } } namespace SureCartBlocks\Blocks\Product\Price { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\PriceChoices { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\Quantity { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\Title { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Product\VariantChoices { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\Product\ProductBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductItemList { /** * ProductItemList block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keeps track of instances of this block. * * @var integer */ public static $instance; /** * Default block template. * * @var array */ protected $default_block_template = [['blockName' => 'surecart/product-item-image', 'attrs' => ['sizing' => 'cover', 'ratio' => '1/1.33', 'style' => ['border' => ['radius' => '6px'], 'spacing' => ['margin' => ['bottom' => '16px']]]]], ['blockName' => 'surecart/product-item-title', 'attrs' => ['level' => 3, 'style' => ['typography' => ['fontSize' => '18px'], 'color' => ['text' => '#000000'], 'spacing' => ['margin' => ['bottom' => '8px']]]]], ['blockName' => 'surecart/product-item-price', 'attrs' => ['style' => ['typography' => ['fontSize' => '16px'], 'color' => ['text' => '#000000'], 'spacing' => ['margin' => ['bottom' => '8px']]]]]]; /** * Get the style for the block. * * @param array $attr Product List attributes. * @return string */ public function getProductListStyle($attr) { } /** * Get the style for the block * * @param array $attr Style variables. * @param string $prefix Prefix for the css variable. * @return string */ public function getVars($attr, $prefix) { } /** * Get the style for the block * * @param array $attr Product List attributes. * @param array $item_attributes Product item attributes. * @return string */ public function getStyle($attr, $item_attributes) { } /** * Get the dummy products array. * * @param int $limit Limit per page. * @return array Dummy Products. */ public function getDummyProducts($limit = 15) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Get the query for the products. * * @param array $attributes Block attributes. * * @return array */ public function getQuery($attributes) { } } } namespace SureCartBlocks\Blocks\ProductCollection { /** * Product Collection block. */ class Block extends \SureCartBlocks\Blocks\ProductItemList\Block { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Get query for the block. * * @param array $attributes Block attributes. */ public function getQuery($attributes) { } /** * Get collection id for the block. * * @param array $attributes Block attributes. */ public function getCollectionId($attributes) { } } } namespace SureCartBlocks\Blocks\ProductCollectionDescription { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductCollectionImage { /** * Product Collection Image Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Get image styles. * * @param array $attributes * * @return string */ private function getImageStyle($attributes): string { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductCollectionTitle { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductDonation { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } /** * Get the initial line items. * * @return array */ public function getInitialLineItems($product, $amounts) { } /** * Get the amounts. * * @return array */ public function getAmounts() { } } } namespace SureCartBlocks\Blocks\ProductDonationAmount { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductDonationAmounts { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductDonationCustomAmount { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductDonationPrices { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\ProductDonationRecurringPrices { /** * Product Title Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\StoreLogo { /** * Logout Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Submit { /** * Submit Button Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Blocks\TrialLineItem { /** * Trial Line Item block class */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Upsell\CountdownTimer { /** * Upsell Count Down Timer Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Get the style for the block * * @param array $attr Style variables. * @param string $prefix Prefix for the css variables. * @return string */ public function getVars($attr, $prefix) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Upsell\NoThanksButton { /** * Upsell No thanks Button block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Get the style for the block * * @param array $attributes Style variables. * @return string */ public function getVars($attr, $prefix) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Upsell\SubmitButton { /** * Upsell Submit Button block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of the instance number of this block. * * @var integer */ public static $instance; /** * Get the style for the block * * @param array $attr Style variables. * @param string $prefix Prefix for the css variables. * @return string */ public function getVars($attr, $prefix) { } /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Upsell\Title { /** * Upsell CTA Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Upsell\Upsell { /** * Upsell Description Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\Upsell\UpsellTotals { /** * Upsell Description Block */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content) { } } } namespace SureCartBlocks\Blocks\VariantPriceSelector { /** * Product Variant Selector Block. */ class Block extends \SureCartBlocks\Blocks\BaseBlock { /** * Keep track of number of instances. * * @var integer */ public static $instance = 0; /** * Render the block * * @param array $attributes Block attributes. * @param string $content Post content. * * @return string */ public function render($attributes, $content = '') { } } } namespace SureCartBlocks\Controllers { /** * Base controller for dashboard pages. */ abstract class BaseController { /** * The middleware for this controller. * * @var array */ protected $middleware = array(); /** * Block controller middleware. * * @param string[] $middleware Middleware. * @param string $action Action. * @param Closure $next Next. * * @return function */ public function executeMiddleware($middleware, $action = null, $next = null) { } /** * Handle the request. * * @param string $action The action. * * @return $this */ public function handle($action) { } /** * Get a query param. * * @param string $name The query param name. * @param mixed $fallback The fallback value. * * @return string|false */ protected function getParam($name, $fallback = false) { } /** * Get the current tab. * * @return string|false */ protected function getTab() { } /** * Get the current page. * * @return integer */ protected function getPage() { } /** * Get the current id. * * @return integer|false */ protected function getId() { } /** * Get the users customer ids. * * @return array */ protected function customerIds() { } /** * Render not found view. * * @return string */ protected function notFound() { } /** * Render not found view. * * @return string */ protected function noAccess() { } /** * Check if this is in live mode. * * @return boolean */ protected function isLiveMode() { } } class ChargeController extends \SureCartBlocks\Controllers\BaseController { /** * List all charges and paginate. * * @return function */ public function index() { } } /** * Payment method block controller class. */ class CustomerController extends \SureCartBlocks\Controllers\BaseController { /** * List all payment methods. * * @param array $attributes Block attributes. * @param string $content Block content. * * @return function */ public function preview($attributes, $content) { } public function show() { } /** * Show a view to add a payment method. * * @return function */ public function edit() { } } /** * The subscription controller. */ class DownloadController extends \SureCartBlocks\Controllers\BaseController { /** * Preview. * * @param array $attributes Block attributes. */ public function preview($attributes = []) { } /** * Index. */ public function index($attributes = []) { } public function show() { } } /** * The invoice controller. */ class InvoiceController extends \SureCartBlocks\Controllers\BaseController { /** * Preview. */ public function preview($attributes = []) { } /** * Index. */ public function index() { } } /** * The subscription controller. */ class LicenseController extends \SureCartBlocks\Controllers\BaseController { /** * Preview. * * @param array $attributes Block attributes. */ public function preview($attributes = []) { } /** * Index. */ public function index() { } public function show() { } } } namespace SureCartBlocks\Controllers\Middleware { /** * Handles a showing a view for the missing payment element. * If the subscription is missing it. */ class MissingPaymentMethodMiddleware { /** * Handle the middleware. * * @param string $action Action. * @param Closure $next Next. * @return function */ public function handle(string $action, \Closure $next) { } } /** * Handles nonce check for controller. */ class SubscriptionNonceVerificationMiddleware { /** * Handle the middleware. * * @param string $action Action. * @param Closure $next Next. * @return function */ public function handle(string $action, \Closure $next) { } } /** * Handles permissions check for subscription controller. */ class SubscriptionPermissionsControllerMiddleware { /** * Handle the middleware. * * @param string $action Action. * @param Closure $next Next. * @return function */ public function handle(string $action, \Closure $next) { } } /** * Middleware for handling model archiving. */ class UpdateSubscriptionMiddleware { /** * Handle the middleware. * * @param string $action Action. * @param Closure $next Next. * @return function */ public function handle(string $action, \Closure $next) { } /** * Get the intent from the url. * * @return \WP_Error|\SureCart\Models\PaymentIntent; */ public function getIntentFromUrl() { } } } namespace SureCartBlocks\Controllers { /** * The subscription controller. */ class OrderController extends \SureCartBlocks\Controllers\BaseController { /** * Preview. */ public function preview($attributes = []) { } /** * Index. */ public function index() { } /** * Index. */ public function show() { } } /** * Payment method block controller class. */ class PaymentMethodController extends \SureCartBlocks\Controllers\BaseController { /** * List all payment methods. * * @param array $attributes Block attributes. * @param string $content Block content. * * @return function */ public function index($attributes, $content) { } public function getProcessors() { } /** * Get the processor by type. * * @param string $type The processor type. * @param array $processors Array of processors. * * @return \SureCart/Models/Processor|null; */ protected function getProcessorByType($type) { } /** * Get the success url. * * @param array $attributes The block attributes. * * @return string */ public function getSuccessUrl($attributes = []) { } /** * Show a view to add a payment method. * * @param array $attributes The block attributes. * * @return string */ public function create($attributes = []) { } } /** * The subscription controller. */ class SubscriptionController extends \SureCartBlocks\Controllers\BaseController { /** * The middleware for this controller. * * @var array */ protected $middleware = ['confirm' => [\SureCartBlocks\Controllers\Middleware\SubscriptionPermissionsControllerMiddleware::class, \SureCartBlocks\Controllers\Middleware\UpdateSubscriptionMiddleware::class, \SureCartBlocks\Controllers\Middleware\MissingPaymentMethodMiddleware::class], 'confirm_amount' => [\SureCartBlocks\Controllers\Middleware\SubscriptionPermissionsControllerMiddleware::class, \SureCartBlocks\Controllers\Middleware\UpdateSubscriptionMiddleware::class, \SureCartBlocks\Controllers\Middleware\MissingPaymentMethodMiddleware::class], 'confirm_variation' => [\SureCartBlocks\Controllers\Middleware\SubscriptionPermissionsControllerMiddleware::class, \SureCartBlocks\Controllers\Middleware\UpdateSubscriptionMiddleware::class, \SureCartBlocks\Controllers\Middleware\MissingPaymentMethodMiddleware::class], 'update_payment_method' => [\SureCartBlocks\Controllers\Middleware\SubscriptionNonceVerificationMiddleware::class, \SureCartBlocks\Controllers\Middleware\SubscriptionPermissionsControllerMiddleware::class, \SureCartBlocks\Controllers\Middleware\UpdateSubscriptionMiddleware::class, \SureCartBlocks\Controllers\Middleware\MissingPaymentMethodMiddleware::class]]; /** * Render the block * * @param array $attributes Block attributes. * @return function */ public function preview($attributes = []) { } /** * Render the block * * @return function */ public function index() { } /** * Show and individual checkout session. * * @return function */ public function edit() { } /** * Update the subscription payment method * * @return string */ public function update_payment_method() { } /** * Get the terms text. */ public function getTermsText() { } /** * Confirm the ad_hoc amount. * * @return void */ public function confirm_amount() { } /** * Confirm the product variation. * * @return void */ public function confirm_variation() { } /** * Confirm changing subscription * * @return function */ public function confirm() { } /** * Confirm cancel subscription * * @return function */ public function cancel() { } /** * Update payment * * @return function */ public function payment() { } } /** * Payment method block controller class. */ class UserController extends \SureCartBlocks\Controllers\BaseController { /** * List all payment methods. * * @param array $attributes Block attributes. * @param string $content Block content. * * @return function */ public function show($attributes, $content) { } /** * Show a view to add a payment method. * * @return function */ public function edit() { } } } namespace SureCartBlocks\Util { /** * BlockStyleAttributes class used for getting class and style from attributes. */ class BlockStyleAttributes { /** * Get class and style for font-size from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getFontSizeClassAndStyle($attributes) { } /** * Get class and style for font-weight from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getFontWeightClassAndStyle($attributes) { } /** * Get class and style for font-weight from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getTextTransformClassAndStyle($attributes) { } /** * Get class and style for font-style from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getFontStyleClassAndStyle($attributes) { } /** * Get class and style for font-family from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getFontFamilyClassAndStyle($attributes) { } /** * Get class and style for text-color from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getTextColorClassAndStyle($attributes) { } /** * Get class and style for link-color from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getLinkColorClassAndStyle($attributes) { } /** * Get class and style for line height from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getLineHeightClassAndStyle($attributes) { } /** * Get class and style for background-color from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getBackgroundColorClassAndStyle($attributes) { } /** * Get class and style for background-color from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getGradientClassAndStyle($attributes) { } /** * Get class and style for border-color from attributes. * * Data passed to this function is not always consistent. It can be: * Linked - preset color: $attributes['borderColor'] => 'luminous-vivid-orange'. * Linked - custom color: $attributes['style']['border']['color'] => '#681228'. * Unlinked - preset color: $attributes['style']['border']['top']['color'] => 'var:preset|color|luminous-vivid-orange' * Unlinked - custom color: $attributes['style']['border']['top']['color'] => '#681228'. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getBorderColorClassAndStyle($attributes) { } /** * Get class and style for border-radius from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getBorderRadiusClassAndStyle($attributes) { } /** * Get class and style for border width from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getBorderWidthClassAndStyle($attributes) { } /** * Get class and style for align from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getAlignClassAndStyle($attributes) { } /** * Get class and style for text align from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getTextAlignClassAndStyle($attributes) { } /** * If spacing value is in preset format, convert it to a CSS var. Else return same value * For example: * "var:preset|spacing|50" -> "var(--wp--preset--spacing--50)" * "50px" -> "50px" * * @param string $spacing_value value to be processed. * * @return (string) */ public static function getSpacingValue($spacing_value) { } /** * Get class and style for padding from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getPaddingClassAndStyle($attributes) { } /** * Get class and style for margin from attributes. * * @param array $attributes Block attributes. * * @return (array | null) */ public static function getMarginClassAndStyle($attributes) { } /** * Get classes and styles from attributes. * * @param array $attributes Block attributes. * @param array $properties Properties to get classes/styles from. * * @return array */ public static function getClassesAndStylesFromAttributes($attributes, $properties = array()) { } /** * Get space-separated classes from block attributes. * * @param array $attributes Block attributes. * @param array $properties Properties to get classes from. * * @return string Space-separated classes. */ public static function getClassesByAttributes($attributes, $properties = array()) { } /** * Get space-separated style rules from block attributes. * * @param array $attributes Block attributes. * @param array $properties Properties to get styles from. * * @return string Space-separated style rules. */ public static function getStylesByAttributes($attributes, $properties = array()) { } /** * Get CSS value for color preset. * * @param string $preset_name Preset name. * * @return string CSS value for color preset. */ public static function getPresetValue($preset_name) { } /** * If color value is in preset format, convert it to a CSS var. Else return same value * For example: * "var:preset|color|pale-pink" -> "var(--wp--preset--color--pale-pink)" * "#98b66e" -> "#98b66e" * * @param string $color_value value to be processed. * * @return (string) */ public static function getColorValue($color_value) { } } } namespace { /** * Nps_Survey */ class Nps_Survey { /** * Instance * * @access private * @var object Class Instance. * @since 1.0.0 */ private static $instance = \null; /** * Constructor. * * @since 1.0.0 */ public function __construct() { } /** * Initiator * * @since 1.0.0 * @return object initialized object of class. */ public static function get_instance() { } /** * Render NPS Survey. * * @param string $id ID of the root element, should start with nps-survey- . * @param array $vars Variables to be passed to the NPS. * @since 1.0.0 * @return void */ public static function show_nps_notice(string $id, array $vars = []): void { } /** * Generate and return the Google fonts url. * * @since 1.0.2 * @return string */ public static function google_fonts_url() { } /** * Load script. * * @param array $show_on_screens An array of screen IDs where the scripts should be loaded. * @since 1.0.0 * @return void */ public static function editor_load_scripts($show_on_screens): void { } /** * Load all the required files in the importer. * * @since 1.0.0 * @return void */ public static function register_route(): void { } /** * Get the API URL. * * @since 1.0.0 * * @return string */ public static function get_api_domain() { } /** * Get api namespace * * @since 1.0.0 * @return string */ public static function get_api_namespace() { } /** * Get API headers * * @since 1.0.0 * @return array */ public static function get_api_headers() { } /** * Check whether a given request has permission to read notes. * * @param object $request WP_REST_Request Full details about the request. * @return object|bool */ public static function get_item_permissions_check($request) { } /** * Method to determine if the NPS survey status update should be skipped for database option. * * @param string $nps_id NPS ID. * @param string $type Type of action (e.g., 'submit', 'dismiss'). * @param array $data Additional data related to the NPS survey. * * @since 1.0.13 * @return bool * @phpstan-ignore-next-line */ public static function should_skip_status_update($nps_id, $type, $data = array()): bool { } /** * Submit Ratings. * * @param \WP_REST_Request $request Request object. * @return void * @phpstan-ignore-next-line */ public static function submit_rating($request) { } /** * Dismiss NPS Survey. * * @param \WP_REST_Request $request Request object. * @return void * @phpstan-ignore-next-line */ public static function dismiss_nps_survey_panel($request) { } /** * Get dismiss status of NPS Survey. * * @param string $plugin_slug slug of unique NPS Survey. * @return array */ public static function get_nps_survey_dismiss_status(string $plugin_slug) { } /** * Show status of NPS Survey. * * @param string $plugin_slug slug of unique NPS Survey. * @param int $display_after number of days after which NPS Survey should be displayed. * @return bool */ public static function is_show_nps_survey_form(string $plugin_slug, int $display_after) { } /** * Check if NPS Survey is enabled for admin only. Default is true. * * @since 1.0.13 * @return bool */ public static function is_nps_survey_enabled_for_admin_only() { } /** * Get NPS Dismiss Option Name. * * @param string $plugin_slug Plugin name. * @return string */ public static function get_nps_id($plugin_slug) { } } } namespace NPS_Survey { /** * Plugin_Loader * * @since 1.0.0 */ class NPS_Survey_Plugin_Loader { /** * Instance * * @access private * @var object Class Instance. * @since 1.0.0 */ private static $instance; /** * Constructor * * @since 1.0.0 */ public function __construct() { } /** * Initiator * * @since 1.0.0 * @return object initialized object of class. */ public static function get_instance() { } /** * Autoload classes. * * @param string $class class name. * @return void */ public function autoload($class): void { } /** * Load Files * * @since 1.0.0 * * @return void */ public function load_files(): void { } } } namespace { // autoload_real.php @generated by Composer class ComposerAutoloaderInitb9dce34efcc86fc0cbd5b4acb6ef2c69 { private static $loader; public static function loadClassLoader($class) { } /** * @return \Composer\Autoload\ClassLoader */ public static function getLoader() { } } } namespace Composer\Autoload { class ComposerStaticInitb9dce34efcc86fc0cbd5b4acb6ef2c69 { public static $files = array('7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', '09274e489ba2f7aa73f570ebb25e818b' => __DIR__ . '/../..' . '/core/core/config.php', '9fd9118c4694682c5336fdfe5d3dc5f0' => __DIR__ . '/../..' . '/core/app-core/config.php', '37e6c5242b1b45513994b42aca1b8bbd' => __DIR__ . '/..' . '/woocommerce/action-scheduler/action-scheduler.php'); public static $prefixLengthsPsr4 = array('T' => array('TypistTech\Imposter\Plugin\\' => 27, 'TypistTech\Imposter\\' => 20), 'S' => array('SureCart\\' => 9, 'SureCartCore\\' => 13, 'SureCartBlocks\\' => 15, 'SureCartAppCore\\' => 16), 'P' => array('Psr\Http\Message\\' => 17, 'Psr\Container\\' => 14), 'G' => array('GuzzleHttp\Psr7\\' => 16), 'C' => array('Composer\Installers\\' => 20)); public static $prefixDirsPsr4 = array('TypistTech\Imposter\Plugin\\' => array(0 => __DIR__ . '/..' . '/typisttech/imposter-plugin/src'), 'TypistTech\Imposter\\' => array(0 => __DIR__ . '/..' . '/typisttech/imposter/src'), 'SureCart\\' => array(0 => __DIR__ . '/../..' . '/app/src'), 'SureCartCore\\' => array(0 => __DIR__ . '/../..' . '/core/core/src'), 'SureCartBlocks\\' => array(0 => __DIR__ . '/../..' . '/packages/blocks'), 'SureCartAppCore\\' => array(0 => __DIR__ . '/../..' . '/core/app-core/src'), 'Psr\Http\Message\\' => array(0 => __DIR__ . '/..' . '/psr/http-factory/src', 1 => __DIR__ . '/..' . '/psr/http-message/src'), 'Psr\Container\\' => array(0 => __DIR__ . '/..' . '/psr/container/src'), 'GuzzleHttp\Psr7\\' => array(0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src'), 'Composer\Installers\\' => array(0 => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers')); public static $prefixesPsr0 = array('P' => array('Pimple' => array(0 => __DIR__ . '/..' . '/pimple/pimple/src'))); public static $classMap = array('Composer\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'Composer\Installers\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php', 'Composer\Installers\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php', 'Composer\Installers\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php', 'Composer\Installers\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php', 'Composer\Installers\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php', 'Composer\Installers\BaseInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BaseInstaller.php', 'Composer\Installers\BitrixInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BitrixInstaller.php', 'Composer\Installers\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php', 'Composer\Installers\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php', 'Composer\Installers\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php', 'Composer\Installers\CiviCrmInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php', 'Composer\Installers\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php', 'Composer\Installers\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php', 'Composer\Installers\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php', 'Composer\Installers\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php', 'Composer\Installers\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php', 'Composer\Installers\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php', 'Composer\Installers\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php', 'Composer\Installers\DframeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DframeInstaller.php', 'Composer\Installers\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php', 'Composer\Installers\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php', 'Composer\Installers\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php', 'Composer\Installers\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php', 'Composer\Installers\EliasisInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EliasisInstaller.php', 'Composer\Installers\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php', 'Composer\Installers\EzPlatformInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php', 'Composer\Installers\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php', 'Composer\Installers\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php', 'Composer\Installers\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php', 'Composer\Installers\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php', 'Composer\Installers\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php', 'Composer\Installers\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php', 'Composer\Installers\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php', 'Composer\Installers\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php', 'Composer\Installers\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php', 'Composer\Installers\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php', 'Composer\Installers\KnownInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KnownInstaller.php', 'Composer\Installers\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php', 'Composer\Installers\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php', 'Composer\Installers\LanManagementSystemInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php', 'Composer\Installers\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php', 'Composer\Installers\LavaLiteInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php', 'Composer\Installers\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php', 'Composer\Installers\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php', 'Composer\Installers\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php', 'Composer\Installers\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php', 'Composer\Installers\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php', 'Composer\Installers\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php', 'Composer\Installers\MantisBTInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php', 'Composer\Installers\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php', 'Composer\Installers\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php', 'Composer\Installers\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php', 'Composer\Installers\MiaoxingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.php', 'Composer\Installers\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php', 'Composer\Installers\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php', 'Composer\Installers\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php', 'Composer\Installers\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php', 'Composer\Installers\OntoWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php', 'Composer\Installers\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php', 'Composer\Installers\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php', 'Composer\Installers\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php', 'Composer\Installers\PantheonInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PantheonInstaller.php', 'Composer\Installers\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php', 'Composer\Installers\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php', 'Composer\Installers\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php', 'Composer\Installers\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php', 'Composer\Installers\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php', 'Composer\Installers\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php', 'Composer\Installers\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php', 'Composer\Installers\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php', 'Composer\Installers\ProcessWireInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php', 'Composer\Installers\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php', 'Composer\Installers\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php', 'Composer\Installers\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php', 'Composer\Installers\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php', 'Composer\Installers\Redaxo5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Redaxo5Installer.php', 'Composer\Installers\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php', 'Composer\Installers\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php', 'Composer\Installers\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php', 'Composer\Installers\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php', 'Composer\Installers\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php', 'Composer\Installers\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php', 'Composer\Installers\StarbugInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/StarbugInstaller.php', 'Composer\Installers\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php', 'Composer\Installers\SyliusInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyliusInstaller.php', 'Composer\Installers\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php', 'Composer\Installers\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php', 'Composer\Installers\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php', 'Composer\Installers\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php', 'Composer\Installers\TastyIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php', 'Composer\Installers\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php', 'Composer\Installers\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php', 'Composer\Installers\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php', 'Composer\Installers\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php', 'Composer\Installers\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php', 'Composer\Installers\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php', 'Composer\Installers\WinterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WinterInstaller.php', 'Composer\Installers\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php', 'Composer\Installers\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php', 'Composer\Installers\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php', 'Composer\Installers\ZendInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZendInstaller.php', 'Composer\Installers\ZikulaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ZikulaInstaller.php', 'SureCartAppCore\AppCore\AppCore' => __DIR__ . '/../..' . '/core/app-core/src/AppCore/AppCore.php', 'SureCartAppCore\AppCore\AppCoreServiceProvider' => __DIR__ . '/../..' . '/core/app-core/src/AppCore/AppCoreServiceProvider.php', 'SureCartAppCore\Application\ApplicationMixin' => __DIR__ . '/../..' . '/core/app-core/src/Application/ApplicationMixin.php', 'SureCartAppCore\Assets\Assets' => __DIR__ . '/../..' . '/core/app-core/src/Assets/Assets.php', 'SureCartAppCore\Assets\AssetsServiceProvider' => __DIR__ . '/../..' . '/core/app-core/src/Assets/AssetsServiceProvider.php', 'SureCartAppCore\Assets\Manifest' => __DIR__ . '/../..' . '/core/app-core/src/Assets/Manifest.php', 'SureCartAppCore\Avatar\Avatar' => __DIR__ . '/../..' . '/core/app-core/src/Avatar/Avatar.php', 'SureCartAppCore\Avatar\AvatarServiceProvider' => __DIR__ . '/../..' . '/core/app-core/src/Avatar/AvatarServiceProvider.php', 'SureCartAppCore\Concerns\JsonFileInvalidException' => __DIR__ . '/../..' . '/core/app-core/src/Concerns/JsonFileInvalidException.php', 'SureCartAppCore\Concerns\JsonFileNotFoundException' => __DIR__ . '/../..' . '/core/app-core/src/Concerns/JsonFileNotFoundException.php', 'SureCartAppCore\Concerns\ReadsJsonTrait' => __DIR__ . '/../..' . '/core/app-core/src/Concerns/ReadsJsonTrait.php', 'SureCartAppCore\Config\Config' => __DIR__ . '/../..' . '/core/app-core/src/Config/Config.php', 'SureCartAppCore\Config\ConfigServiceProvider' => __DIR__ . '/../..' . '/core/app-core/src/Config/ConfigServiceProvider.php', 'SureCartAppCore\Image\Image' => __DIR__ . '/../..' . '/core/app-core/src/Image/Image.php', 'SureCartAppCore\Image\ImageServiceProvider' => __DIR__ . '/../..' . '/core/app-core/src/Image/ImageServiceProvider.php', 'SureCartAppCore\Sidebar\Sidebar' => __DIR__ . '/../..' . '/core/app-core/src/Sidebar/Sidebar.php', 'SureCartAppCore\Sidebar\SidebarServiceProvider' => __DIR__ . '/../..' . '/core/app-core/src/Sidebar/SidebarServiceProvider.php', 'SureCartBlocks\Blocks\AddToCartButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/AddToCartButton/Block.php', 'SureCartBlocks\Blocks\Address\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Address/Block.php', 'SureCartBlocks\Blocks\BaseBlock' => __DIR__ . '/../..' . '/packages/blocks/Blocks/BaseBlock.php', 'SureCartBlocks\Blocks\BlockService' => __DIR__ . '/../..' . '/packages/blocks/Blocks/BlockService.php', 'SureCartBlocks\Blocks\BlockServiceProvider' => __DIR__ . '/../..' . '/packages/blocks/Blocks/BlockServiceProvider.php', 'SureCartBlocks\Blocks\BuyButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/BuyButton/Block.php', 'SureCartBlocks\Blocks\CartBlock' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CartBlock.php', 'SureCartBlocks\Blocks\CartBumpLineItem\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CartBumpLineItem/Block.php', 'SureCartBlocks\Blocks\CartCoupon\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CartCoupon/Block.php', 'SureCartBlocks\Blocks\CartMenuButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CartMenuButton/Block.php', 'SureCartBlocks\Blocks\CartSubmit\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CartSubmit/Block.php', 'SureCartBlocks\Blocks\CartSubtotal\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CartSubtotal/Block.php', 'SureCartBlocks\Blocks\Cart\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Cart/Block.php', 'SureCartBlocks\Blocks\CheckoutForm\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CheckoutForm/Block.php', 'SureCartBlocks\Blocks\CollapsibleRow\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CollapsibleRow/Block.php', 'SureCartBlocks\Blocks\CollectionPage\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CollectionPage/Block.php', 'SureCartBlocks\Blocks\Column\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Column/Block.php', 'SureCartBlocks\Blocks\Columns\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Columns/Block.php', 'SureCartBlocks\Blocks\ConditionalForm\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ConditionalForm/Block.php', 'SureCartBlocks\Blocks\Confirmation\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Confirmation/Block.php', 'SureCartBlocks\Blocks\Coupon\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Coupon/Block.php', 'SureCartBlocks\Blocks\CustomerDashboardButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/CustomerDashboardButton/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerBillingDetails\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerBillingDetails/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerDashboardArea\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerDashboardArea/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerDashboard\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerDashboard/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerDownloads\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerDownloads/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerInvoices\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerInvoices/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerLicenses\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerLicenses/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerOrders\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerOrders/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerPaymentMethods\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerPaymentMethods/Block.php', 'SureCartBlocks\Blocks\Dashboard\CustomerSubscriptions\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/CustomerSubscriptions/Block.php', 'SureCartBlocks\Blocks\Dashboard\DashboardPage' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/DashboardPage.php', 'SureCartBlocks\Blocks\Dashboard\DashboardPage\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/DashboardPage/Block.php', 'SureCartBlocks\Blocks\Dashboard\DashboardTab\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/DashboardTab/Block.php', 'SureCartBlocks\Blocks\Dashboard\Deprecated\CustomerCharges\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/Deprecated/CustomerCharges/Block.php', 'SureCartBlocks\Blocks\Dashboard\Deprecated\CustomerShippingAddress\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/Deprecated/CustomerShippingAddress/Block.php', 'SureCartBlocks\Blocks\Dashboard\OrderDownloads\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/OrderDownloads/Block.php', 'SureCartBlocks\Blocks\Dashboard\WordPressAccount\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Dashboard/WordPressAccount/Block.php', 'SureCartBlocks\Blocks\Divider\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Divider/Block.php', 'SureCartBlocks\Blocks\Email\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Email/Block.php', 'SureCartBlocks\Blocks\Form\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Form/Block.php', 'SureCartBlocks\Blocks\LogoutButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/LogoutButton/Block.php', 'SureCartBlocks\Blocks\OrderConfirmationLineItems\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/OrderConfirmationLineItems/Block.php', 'SureCartBlocks\Blocks\Password\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Password/Block.php', 'SureCartBlocks\Blocks\Payment\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Payment/Block.php', 'SureCartBlocks\Blocks\PriceChoice\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/PriceChoice/Block.php', 'SureCartBlocks\Blocks\PriceSelector\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/PriceSelector/Block.php', 'SureCartBlocks\Blocks\ProductCollectionDescription\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductCollectionDescription/Block.php', 'SureCartBlocks\Blocks\ProductCollectionImage\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductCollectionImage/Block.php', 'SureCartBlocks\Blocks\ProductCollectionTitle\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductCollectionTitle/Block.php', 'SureCartBlocks\Blocks\ProductCollection\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductCollection/Block.php', 'SureCartBlocks\Blocks\ProductDonationAmount\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductDonationAmount/Block.php', 'SureCartBlocks\Blocks\ProductDonationAmounts\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductDonationAmounts/Block.php', 'SureCartBlocks\Blocks\ProductDonationCustomAmount\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductDonationCustomAmount/Block.php', 'SureCartBlocks\Blocks\ProductDonationPrices\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductDonationPrices/Block.php', 'SureCartBlocks\Blocks\ProductDonationRecurringPrices\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductDonationRecurringPrices/Block.php', 'SureCartBlocks\Blocks\ProductDonation\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductDonation/Block.php', 'SureCartBlocks\Blocks\ProductItemList\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/ProductItemList/Block.php', 'SureCartBlocks\Blocks\Product\BuyButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/BuyButton/Block.php', 'SureCartBlocks\Blocks\Product\CollectionBadges\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/CollectionBadges/Block.php', 'SureCartBlocks\Blocks\Product\Description\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/Description/Block.php', 'SureCartBlocks\Blocks\Product\Media\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/Media/Block.php', 'SureCartBlocks\Blocks\Product\PriceChoices\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/PriceChoices/Block.php', 'SureCartBlocks\Blocks\Product\Price\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/Price/Block.php', 'SureCartBlocks\Blocks\Product\ProductBlock' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/ProductBlock.php', 'SureCartBlocks\Blocks\Product\Quantity\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/Quantity/Block.php', 'SureCartBlocks\Blocks\Product\Title\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/Title/Block.php', 'SureCartBlocks\Blocks\Product\VariantChoices\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Product/VariantChoices/Block.php', 'SureCartBlocks\Blocks\StoreLogo\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/StoreLogo/Block.php', 'SureCartBlocks\Blocks\Submit\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Submit/Block.php', 'SureCartBlocks\Blocks\TrialLineItem\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/TrialLineItem/Block.php', 'SureCartBlocks\Blocks\Upsell\CountdownTimer\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Upsell/CountdownTimer/Block.php', 'SureCartBlocks\Blocks\Upsell\NoThanksButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Upsell/NoThanksButton/Block.php', 'SureCartBlocks\Blocks\Upsell\SubmitButton\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Upsell/SubmitButton/Block.php', 'SureCartBlocks\Blocks\Upsell\Title\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Upsell/Title/Block.php', 'SureCartBlocks\Blocks\Upsell\UpsellTotals\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Upsell/UpsellTotals/Block.php', 'SureCartBlocks\Blocks\Upsell\Upsell\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/Upsell/Upsell/Block.php', 'SureCartBlocks\Blocks\VariantPriceSelector\Block' => __DIR__ . '/../..' . '/packages/blocks/Blocks/VariantPriceSelector/Block.php', 'SureCartBlocks\Controllers\BaseController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/BaseController.php', 'SureCartBlocks\Controllers\ChargeController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/ChargeController.php', 'SureCartBlocks\Controllers\CustomerController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/CustomerController.php', 'SureCartBlocks\Controllers\DownloadController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/DownloadController.php', 'SureCartBlocks\Controllers\InvoiceController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/InvoiceController.php', 'SureCartBlocks\Controllers\LicenseController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/LicenseController.php', 'SureCartBlocks\Controllers\Middleware\MissingPaymentMethodMiddleware' => __DIR__ . '/../..' . '/packages/blocks/Controllers/Middleware/MissingPaymentMethodMiddleware.php', 'SureCartBlocks\Controllers\Middleware\SubscriptionNonceVerificationMiddleware' => __DIR__ . '/../..' . '/packages/blocks/Controllers/Middleware/SubscriptionNonceVerificationMiddleware.php', 'SureCartBlocks\Controllers\Middleware\SubscriptionPermissionsControllerMiddleware' => __DIR__ . '/../..' . '/packages/blocks/Controllers/Middleware/SubscriptionPermissionsControllerMiddleware.php', 'SureCartBlocks\Controllers\Middleware\UpdateSubscriptionMiddleware' => __DIR__ . '/../..' . '/packages/blocks/Controllers/Middleware/UpdateSubscriptionMiddleware.php', 'SureCartBlocks\Controllers\OrderController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/OrderController.php', 'SureCartBlocks\Controllers\PaymentMethodController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/PaymentMethodController.php', 'SureCartBlocks\Controllers\SubscriptionController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/SubscriptionController.php', 'SureCartBlocks\Controllers\UserController' => __DIR__ . '/../..' . '/packages/blocks/Controllers/UserController.php', 'SureCartBlocks\Util\BlockStyleAttributes' => __DIR__ . '/../..' . '/packages/blocks/Util/BlockStyleAttributes.php', 'SureCartCore\Application\Application' => __DIR__ . '/../..' . '/core/core/src/Application/Application.php', 'SureCartCore\Application\ApplicationMixin' => __DIR__ . '/../..' . '/core/core/src/Application/ApplicationMixin.php', 'SureCartCore\Application\ApplicationServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Application/ApplicationServiceProvider.php', 'SureCartCore\Application\ApplicationTrait' => __DIR__ . '/../..' . '/core/core/src/Application/ApplicationTrait.php', 'SureCartCore\Application\ClosureFactory' => __DIR__ . '/../..' . '/core/core/src/Application/ClosureFactory.php', 'SureCartCore\Application\GenericFactory' => __DIR__ . '/../..' . '/core/core/src/Application/GenericFactory.php', 'SureCartCore\Application\HasAliasesTrait' => __DIR__ . '/../..' . '/core/core/src/Application/HasAliasesTrait.php', 'SureCartCore\Application\HasContainerTrait' => __DIR__ . '/../..' . '/core/core/src/Application/HasContainerTrait.php', 'SureCartCore\Application\LoadsServiceProvidersTrait' => __DIR__ . '/../..' . '/core/core/src/Application/LoadsServiceProvidersTrait.php', 'SureCartCore\Controllers\ControllersServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Controllers/ControllersServiceProvider.php', 'SureCartCore\Controllers\WordPressController' => __DIR__ . '/../..' . '/core/core/src/Controllers/WordPressController.php', 'SureCartCore\Csrf\Csrf' => __DIR__ . '/../..' . '/core/core/src/Csrf/Csrf.php', 'SureCartCore\Csrf\CsrfMiddleware' => __DIR__ . '/../..' . '/core/core/src/Csrf/CsrfMiddleware.php', 'SureCartCore\Csrf\CsrfServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Csrf/CsrfServiceProvider.php', 'SureCartCore\Csrf\InvalidCsrfTokenException' => __DIR__ . '/../..' . '/core/core/src/Csrf/InvalidCsrfTokenException.php', 'SureCartCore\Exceptions\ClassNotFoundException' => __DIR__ . '/../..' . '/core/core/src/Exceptions/ClassNotFoundException.php', 'SureCartCore\Exceptions\ConfigurationException' => __DIR__ . '/../..' . '/core/core/src/Exceptions/ConfigurationException.php', 'SureCartCore\Exceptions\ErrorHandler' => __DIR__ . '/../..' . '/core/core/src/Exceptions/ErrorHandler.php', 'SureCartCore\Exceptions\ErrorHandlerInterface' => __DIR__ . '/../..' . '/core/core/src/Exceptions/ErrorHandlerInterface.php', 'SureCartCore\Exceptions\Exception' => __DIR__ . '/../..' . '/core/core/src/Exceptions/Exception.php', 'SureCartCore\Exceptions\ExceptionsServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Exceptions/ExceptionsServiceProvider.php', 'SureCartCore\Exceptions\Whoops\DebugDataProvider' => __DIR__ . '/../..' . '/core/core/src/Exceptions/Whoops/DebugDataProvider.php', 'SureCartCore\Flash\Flash' => __DIR__ . '/../..' . '/core/core/src/Flash/Flash.php', 'SureCartCore\Flash\FlashMiddleware' => __DIR__ . '/../..' . '/core/core/src/Flash/FlashMiddleware.php', 'SureCartCore\Flash\FlashServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Flash/FlashServiceProvider.php', 'SureCartCore\Helpers\Arguments' => __DIR__ . '/../..' . '/core/core/src/Helpers/Arguments.php', 'SureCartCore\Helpers\Handler' => __DIR__ . '/../..' . '/core/core/src/Helpers/Handler.php', 'SureCartCore\Helpers\HandlerFactory' => __DIR__ . '/../..' . '/core/core/src/Helpers/HandlerFactory.php', 'SureCartCore\Helpers\HasAttributesInterface' => __DIR__ . '/../..' . '/core/core/src/Helpers/HasAttributesInterface.php', 'SureCartCore\Helpers\HasAttributesTrait' => __DIR__ . '/../..' . '/core/core/src/Helpers/HasAttributesTrait.php', 'SureCartCore\Helpers\MixedType' => __DIR__ . '/../..' . '/core/core/src/Helpers/MixedType.php', 'SureCartCore\Helpers\Url' => __DIR__ . '/../..' . '/core/core/src/Helpers/Url.php', 'SureCartCore\Input\OldInput' => __DIR__ . '/../..' . '/core/core/src/Input/OldInput.php', 'SureCartCore\Input\OldInputMiddleware' => __DIR__ . '/../..' . '/core/core/src/Input/OldInputMiddleware.php', 'SureCartCore\Input\OldInputServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Input/OldInputServiceProvider.php', 'SureCartCore\Kernels\HttpKernel' => __DIR__ . '/../..' . '/core/core/src/Kernels/HttpKernel.php', 'SureCartCore\Kernels\HttpKernelInterface' => __DIR__ . '/../..' . '/core/core/src/Kernels/HttpKernelInterface.php', 'SureCartCore\Kernels\KernelsServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Kernels/KernelsServiceProvider.php', 'SureCartCore\Middleware\ControllerMiddleware' => __DIR__ . '/../..' . '/core/core/src/Middleware/ControllerMiddleware.php', 'SureCartCore\Middleware\ExecutesMiddlewareTrait' => __DIR__ . '/../..' . '/core/core/src/Middleware/ExecutesMiddlewareTrait.php', 'SureCartCore\Middleware\HasControllerMiddlewareInterface' => __DIR__ . '/../..' . '/core/core/src/Middleware/HasControllerMiddlewareInterface.php', 'SureCartCore\Middleware\HasControllerMiddlewareTrait' => __DIR__ . '/../..' . '/core/core/src/Middleware/HasControllerMiddlewareTrait.php', 'SureCartCore\Middleware\HasMiddlewareDefinitionsInterface' => __DIR__ . '/../..' . '/core/core/src/Middleware/HasMiddlewareDefinitionsInterface.php', 'SureCartCore\Middleware\HasMiddlewareDefinitionsTrait' => __DIR__ . '/../..' . '/core/core/src/Middleware/HasMiddlewareDefinitionsTrait.php', 'SureCartCore\Middleware\MiddlewareServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Middleware/MiddlewareServiceProvider.php', 'SureCartCore\Middleware\ReadsHandlerMiddlewareTrait' => __DIR__ . '/../..' . '/core/core/src/Middleware/ReadsHandlerMiddlewareTrait.php', 'SureCartCore\Middleware\UserCanMiddleware' => __DIR__ . '/../..' . '/core/core/src/Middleware/UserCanMiddleware.php', 'SureCartCore\Middleware\UserLoggedInMiddleware' => __DIR__ . '/../..' . '/core/core/src/Middleware/UserLoggedInMiddleware.php', 'SureCartCore\Middleware\UserLoggedOutMiddleware' => __DIR__ . '/../..' . '/core/core/src/Middleware/UserLoggedOutMiddleware.php', 'SureCartCore\Requests\Request' => __DIR__ . '/../..' . '/core/core/src/Requests/Request.php', 'SureCartCore\Requests\RequestInterface' => __DIR__ . '/../..' . '/core/core/src/Requests/RequestInterface.php', 'SureCartCore\Requests\RequestsServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Requests/RequestsServiceProvider.php', 'SureCartCore\Responses\ConvertsToResponseTrait' => __DIR__ . '/../..' . '/core/core/src/Responses/ConvertsToResponseTrait.php', 'SureCartCore\Responses\RedirectResponse' => __DIR__ . '/../..' . '/core/core/src/Responses/RedirectResponse.php', 'SureCartCore\Responses\ResponsableInterface' => __DIR__ . '/../..' . '/core/core/src/Responses/ResponsableInterface.php', 'SureCartCore\Responses\ResponseService' => __DIR__ . '/../..' . '/core/core/src/Responses/ResponseService.php', 'SureCartCore\Responses\ResponsesServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Responses/ResponsesServiceProvider.php', 'SureCartCore\Routing\Conditions\AdminCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/AdminCondition.php', 'SureCartCore\Routing\Conditions\AjaxCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/AjaxCondition.php', 'SureCartCore\Routing\Conditions\CanFilterQueryInterface' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/CanFilterQueryInterface.php', 'SureCartCore\Routing\Conditions\ConditionFactory' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/ConditionFactory.php', 'SureCartCore\Routing\Conditions\ConditionInterface' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/ConditionInterface.php', 'SureCartCore\Routing\Conditions\CustomCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/CustomCondition.php', 'SureCartCore\Routing\Conditions\MultipleCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/MultipleCondition.php', 'SureCartCore\Routing\Conditions\NegateCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/NegateCondition.php', 'SureCartCore\Routing\Conditions\PostIdCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/PostIdCondition.php', 'SureCartCore\Routing\Conditions\PostSlugCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/PostSlugCondition.php', 'SureCartCore\Routing\Conditions\PostStatusCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/PostStatusCondition.php', 'SureCartCore\Routing\Conditions\PostTemplateCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/PostTemplateCondition.php', 'SureCartCore\Routing\Conditions\PostTypeCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/PostTypeCondition.php', 'SureCartCore\Routing\Conditions\QueryVarCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/QueryVarCondition.php', 'SureCartCore\Routing\Conditions\UrlCondition' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/UrlCondition.php', 'SureCartCore\Routing\Conditions\UrlableInterface' => __DIR__ . '/../..' . '/core/core/src/Routing/Conditions/UrlableInterface.php', 'SureCartCore\Routing\HasQueryFilterInterface' => __DIR__ . '/../..' . '/core/core/src/Routing/HasQueryFilterInterface.php', 'SureCartCore\Routing\HasQueryFilterTrait' => __DIR__ . '/../..' . '/core/core/src/Routing/HasQueryFilterTrait.php', 'SureCartCore\Routing\HasRoutesInterface' => __DIR__ . '/../..' . '/core/core/src/Routing/HasRoutesInterface.php', 'SureCartCore\Routing\HasRoutesTrait' => __DIR__ . '/../..' . '/core/core/src/Routing/HasRoutesTrait.php', 'SureCartCore\Routing\NotFoundException' => __DIR__ . '/../..' . '/core/core/src/Routing/NotFoundException.php', 'SureCartCore\Routing\Route' => __DIR__ . '/../..' . '/core/core/src/Routing/Route.php', 'SureCartCore\Routing\RouteBlueprint' => __DIR__ . '/../..' . '/core/core/src/Routing/RouteBlueprint.php', 'SureCartCore\Routing\RouteInterface' => __DIR__ . '/../..' . '/core/core/src/Routing/RouteInterface.php', 'SureCartCore\Routing\Router' => __DIR__ . '/../..' . '/core/core/src/Routing/Router.php', 'SureCartCore\Routing\RoutingServiceProvider' => __DIR__ . '/../..' . '/core/core/src/Routing/RoutingServiceProvider.php', 'SureCartCore\Routing\SortsMiddlewareTrait' => __DIR__ . '/../..' . '/core/core/src/Routing/SortsMiddlewareTrait.php', 'SureCartCore\ServiceProviders\ExtendsConfigTrait' => __DIR__ . '/../..' . '/core/core/src/ServiceProviders/ExtendsConfigTrait.php', 'SureCartCore\ServiceProviders\ServiceProviderInterface' => __DIR__ . '/../..' . '/core/core/src/ServiceProviders/ServiceProviderInterface.php', 'SureCartCore\Support\Arr' => __DIR__ . '/../..' . '/core/core/src/Support/Arr.php', 'SureCartCore\View\HasContextInterface' => __DIR__ . '/../..' . '/core/core/src/View/HasContextInterface.php', 'SureCartCore\View\HasContextTrait' => __DIR__ . '/../..' . '/core/core/src/View/HasContextTrait.php', 'SureCartCore\View\HasNameTrait' => __DIR__ . '/../..' . '/core/core/src/View/HasNameTrait.php', 'SureCartCore\View\NameProxyViewEngine' => __DIR__ . '/../..' . '/core/core/src/View/NameProxyViewEngine.php', 'SureCartCore\View\PhpView' => __DIR__ . '/../..' . '/core/core/src/View/PhpView.php', 'SureCartCore\View\PhpViewEngine' => __DIR__ . '/../..' . '/core/core/src/View/PhpViewEngine.php', 'SureCartCore\View\PhpViewFilesystemFinder' => __DIR__ . '/../..' . '/core/core/src/View/PhpViewFilesystemFinder.php', 'SureCartCore\View\ViewEngineInterface' => __DIR__ . '/../..' . '/core/core/src/View/ViewEngineInterface.php', 'SureCartCore\View\ViewException' => __DIR__ . '/../..' . '/core/core/src/View/ViewException.php', 'SureCartCore\View\ViewFinderInterface' => __DIR__ . '/../..' . '/core/core/src/View/ViewFinderInterface.php', 'SureCartCore\View\ViewInterface' => __DIR__ . '/../..' . '/core/core/src/View/ViewInterface.php', 'SureCartCore\View\ViewNotFoundException' => __DIR__ . '/../..' . '/core/core/src/View/ViewNotFoundException.php', 'SureCartCore\View\ViewService' => __DIR__ . '/../..' . '/core/core/src/View/ViewService.php', 'SureCartCore\View\ViewServiceProvider' => __DIR__ . '/../..' . '/core/core/src/View/ViewServiceProvider.php', 'SureCartVendors\GuzzleHttp\Psr7\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/AppendStream.php', 'SureCartVendors\GuzzleHttp\Psr7\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php', 'SureCartVendors\GuzzleHttp\Psr7\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php', 'SureCartVendors\GuzzleHttp\Psr7\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php', 'SureCartVendors\GuzzleHttp\Psr7\Exception\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', 'SureCartVendors\GuzzleHttp\Psr7\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php', 'SureCartVendors\GuzzleHttp\Psr7\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php', 'SureCartVendors\GuzzleHttp\Psr7\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php', 'SureCartVendors\GuzzleHttp\Psr7\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php', 'SureCartVendors\GuzzleHttp\Psr7\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php', 'SureCartVendors\GuzzleHttp\Psr7\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php', 'SureCartVendors\GuzzleHttp\Psr7\Message' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Message.php', 'SureCartVendors\GuzzleHttp\Psr7\MessageTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MessageTrait.php', 'SureCartVendors\GuzzleHttp\Psr7\MimeType' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MimeType.php', 'SureCartVendors\GuzzleHttp\Psr7\MultipartStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MultipartStream.php', 'SureCartVendors\GuzzleHttp\Psr7\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/NoSeekStream.php', 'SureCartVendors\GuzzleHttp\Psr7\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php', 'SureCartVendors\GuzzleHttp\Psr7\Query' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Query.php', 'SureCartVendors\GuzzleHttp\Psr7\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php', 'SureCartVendors\GuzzleHttp\Psr7\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php', 'SureCartVendors\GuzzleHttp\Psr7\Rfc7230' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Rfc7230.php', 'SureCartVendors\GuzzleHttp\Psr7\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php', 'SureCartVendors\GuzzleHttp\Psr7\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php', 'SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php', 'SureCartVendors\GuzzleHttp\Psr7\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php', 'SureCartVendors\GuzzleHttp\Psr7\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php', 'SureCartVendors\GuzzleHttp\Psr7\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php', 'SureCartVendors\GuzzleHttp\Psr7\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php', 'SureCartVendors\GuzzleHttp\Psr7\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php', 'SureCartVendors\GuzzleHttp\Psr7\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php', 'SureCartVendors\GuzzleHttp\Psr7\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php', 'SureCartVendors\Pimple\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php', 'SureCartVendors\Pimple\Exception\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', 'SureCartVendors\Pimple\Exception\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', 'SureCartVendors\Pimple\Exception\InvalidServiceIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php', 'SureCartVendors\Pimple\Exception\UnknownIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php', 'SureCartVendors\Pimple\Psr11\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/Container.php', 'SureCartVendors\Pimple\Psr11\ServiceLocator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php', 'SureCartVendors\Pimple\ServiceIterator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceIterator.php', 'SureCartVendors\Pimple\ServiceProviderInterface' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php', 'SureCartVendors\Pimple\Tests\Fixtures\Invokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php', 'SureCartVendors\Pimple\Tests\Fixtures\NonInvokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php', 'SureCartVendors\Pimple\Tests\Fixtures\PimpleServiceProvider' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php', 'SureCartVendors\Pimple\Tests\Fixtures\Service' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php', 'SureCartVendors\Pimple\Tests\PimpleServiceProviderInterfaceTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php', 'SureCartVendors\Pimple\Tests\PimpleTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php', 'SureCartVendors\Pimple\Tests\Psr11\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', 'SureCartVendors\Pimple\Tests\Psr11\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', 'SureCartVendors\Pimple\Tests\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', 'SureCartVendors\PluginEver\QueryBuilder\Collection' => __DIR__ . '/..' . '/surecart/wp-query-builder/src/Collection.php', 'SureCartVendors\PluginEver\QueryBuilder\Interfaces\Arrayable' => __DIR__ . '/..' . '/surecart/wp-query-builder/src/Interfaces/Arrayable.php', 'SureCartVendors\PluginEver\QueryBuilder\Interfaces\JSONable' => __DIR__ . '/..' . '/surecart/wp-query-builder/src/Interfaces/JSONable.php', 'SureCartVendors\PluginEver\QueryBuilder\Interfaces\Stringable' => __DIR__ . '/..' . '/surecart/wp-query-builder/src/Interfaces/Stringable.php', 'SureCartVendors\PluginEver\QueryBuilder\Query' => __DIR__ . '/..' . '/surecart/wp-query-builder/src/Query.php', 'SureCartVendors\Psr\Container\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php', 'SureCartVendors\Psr\Container\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', 'SureCartVendors\Psr\Container\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', 'SureCartVendors\Psr\Http\Message\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php', 'SureCartVendors\Psr\Http\Message\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php', 'SureCartVendors\Psr\Http\Message\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php', 'SureCartVendors\Psr\Http\Message\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php', 'SureCartVendors\Psr\Http\Message\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php', 'SureCartVendors\Psr\Http\Message\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php', 'SureCartVendors\Psr\Http\Message\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php', 'SureCartVendors\Psr\Http\Message\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php', 'SureCartVendors\Psr\Http\Message\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php', 'SureCartVendors\Psr\Http\Message\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php', 'SureCartVendors\Psr\Http\Message\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php', 'SureCartVendors\Psr\Http\Message\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php', 'SureCartVendors\Psr\Http\Message\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php', 'SureCart\Abilities\AbilitiesServiceProvider' => __DIR__ . '/../..' . '/app/src/Abilities/AbilitiesServiceProvider.php', 'SureCart\Abilities\Abilities\AbstractAbility' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/AbstractAbility.php', 'SureCart\Abilities\Abilities\ArchiveProduct' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ArchiveProduct.php', 'SureCart\Abilities\Abilities\CancelSubscription' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CancelSubscription.php', 'SureCart\Abilities\Abilities\CreateCoupon' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreateCoupon.php', 'SureCart\Abilities\Abilities\CreateCustomer' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreateCustomer.php', 'SureCart\Abilities\Abilities\CreateFulfillment' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreateFulfillment.php', 'SureCart\Abilities\Abilities\CreateInvoice' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreateInvoice.php', 'SureCart\Abilities\Abilities\CreatePrice' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreatePrice.php', 'SureCart\Abilities\Abilities\CreateProduct' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreateProduct.php', 'SureCart\Abilities\Abilities\CreatePromotion' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreatePromotion.php', 'SureCart\Abilities\Abilities\CreateRefund' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/CreateRefund.php', 'SureCart\Abilities\Abilities\DeleteCoupon' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/DeleteCoupon.php', 'SureCart\Abilities\Abilities\DeleteCustomer' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/DeleteCustomer.php', 'SureCart\Abilities\Abilities\DeleteFulfillment' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/DeleteFulfillment.php', 'SureCart\Abilities\Abilities\DeletePromotion' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/DeletePromotion.php', 'SureCart\Abilities\Abilities\DuplicateProduct' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/DuplicateProduct.php', 'SureCart\Abilities\Abilities\FilterCustomers' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/FilterCustomers.php', 'SureCart\Abilities\Abilities\FilterOrders' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/FilterOrders.php', 'SureCart\Abilities\Abilities\FilterSubscriptions' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/FilterSubscriptions.php', 'SureCart\Abilities\Abilities\GetAbandonedCheckout' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetAbandonedCheckout.php', 'SureCart\Abilities\Abilities\GetCoupon' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetCoupon.php', 'SureCart\Abilities\Abilities\GetCustomer' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetCustomer.php', 'SureCart\Abilities\Abilities\GetCustomersFilterSchema' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetCustomersFilterSchema.php', 'SureCart\Abilities\Abilities\GetFulfillment' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetFulfillment.php', 'SureCart\Abilities\Abilities\GetFulfillmentItem' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetFulfillmentItem.php', 'SureCart\Abilities\Abilities\GetLicense' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetLicense.php', 'SureCart\Abilities\Abilities\GetOrder' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetOrder.php', 'SureCart\Abilities\Abilities\GetOrderStatistics' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetOrderStatistics.php', 'SureCart\Abilities\Abilities\GetOrdersFilterSchema' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetOrdersFilterSchema.php', 'SureCart\Abilities\Abilities\GetProduct' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetProduct.php', 'SureCart\Abilities\Abilities\GetPromotion' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetPromotion.php', 'SureCart\Abilities\Abilities\GetRefund' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetRefund.php', 'SureCart\Abilities\Abilities\GetStoreDashboard' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetStoreDashboard.php', 'SureCart\Abilities\Abilities\GetStoreInfo' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetStoreInfo.php', 'SureCart\Abilities\Abilities\GetSubscription' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetSubscription.php', 'SureCart\Abilities\Abilities\GetSubscriptionsFilterSchema' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/GetSubscriptionsFilterSchema.php', 'SureCart\Abilities\Abilities\ListAbandonedCheckouts' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListAbandonedCheckouts.php', 'SureCart\Abilities\Abilities\ListCoupons' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListCoupons.php', 'SureCart\Abilities\Abilities\ListCustomers' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListCustomers.php', 'SureCart\Abilities\Abilities\ListFulfillments' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListFulfillments.php', 'SureCart\Abilities\Abilities\ListLicenses' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListLicenses.php', 'SureCart\Abilities\Abilities\ListOrders' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListOrders.php', 'SureCart\Abilities\Abilities\ListPrices' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListPrices.php', 'SureCart\Abilities\Abilities\ListProducts' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListProducts.php', 'SureCart\Abilities\Abilities\ListPromotions' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListPromotions.php', 'SureCart\Abilities\Abilities\ListRefunds' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListRefunds.php', 'SureCart\Abilities\Abilities\ListSubscriptions' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/ListSubscriptions.php', 'SureCart\Abilities\Abilities\UpdateCoupon' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdateCoupon.php', 'SureCart\Abilities\Abilities\UpdateCustomer' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdateCustomer.php', 'SureCart\Abilities\Abilities\UpdateFulfillment' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdateFulfillment.php', 'SureCart\Abilities\Abilities\UpdateInvoice' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdateInvoice.php', 'SureCart\Abilities\Abilities\UpdatePrice' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdatePrice.php', 'SureCart\Abilities\Abilities\UpdateProduct' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdateProduct.php', 'SureCart\Abilities\Abilities\UpdatePromotion' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdatePromotion.php', 'SureCart\Abilities\Abilities\UpdateSubscriptionRenewalDate' => __DIR__ . '/../..' . '/app/src/Abilities/Abilities/UpdateSubscriptionRenewalDate.php', 'SureCart\Abilities\AbilityRegistrar' => __DIR__ . '/../..' . '/app/src/Abilities/AbilityRegistrar.php', 'SureCart\Abilities\Concerns\MapsGenericAddress' => __DIR__ . '/../..' . '/app/src/Abilities/Concerns/MapsGenericAddress.php', 'SureCart\Account\AccountService' => __DIR__ . '/../..' . '/app/src/Account/AccountService.php', 'SureCart\Account\AccountServiceProvider' => __DIR__ . '/../..' . '/app/src/Account/AccountServiceProvider.php', 'SureCart\Account\ProvisionalAccountSeedService' => __DIR__ . '/../..' . '/app/src/Account/ProvisionalAccountSeedService.php', 'SureCart\Activation\ActivationService' => __DIR__ . '/../..' . '/app/src/Activation/ActivationService.php', 'SureCart\Activation\ActivationServiceProvider' => __DIR__ . '/../..' . '/app/src/Activation/ActivationServiceProvider.php', 'SureCart\Activation\DeactivationSurveyForm' => __DIR__ . '/../..' . '/app/src/Activation/DeactivationSurveyForm.php', 'SureCart\Background\AsyncRequest' => __DIR__ . '/../..' . '/app/src/Background/AsyncRequest.php', 'SureCart\Background\AsyncWebhookService' => __DIR__ . '/../..' . '/app/src/Background/AsyncWebhookService.php', 'SureCart\Background\BackgroundProcess' => __DIR__ . '/../..' . '/app/src/Background/BackgroundProcess.php', 'SureCart\Background\BackgroundServiceProvider' => __DIR__ . '/../..' . '/app/src/Background/BackgroundServiceProvider.php', 'SureCart\Background\BulkActionService' => __DIR__ . '/../..' . '/app/src/Background/BulkActionService.php', 'SureCart\Background\Job' => __DIR__ . '/../..' . '/app/src/Background/Job.php', 'SureCart\Background\QueueService' => __DIR__ . '/../..' . '/app/src/Background/QueueService.php', 'SureCart\BlockLibrary\BlockAnchorSupportService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockAnchorSupportService.php', 'SureCart\BlockLibrary\BlockCurrencyConversionSupportService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockCurrencyConversionSupportService.php', 'SureCart\BlockLibrary\BlockPatternsService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockPatternsService.php', 'SureCart\BlockLibrary\BlockService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockService.php', 'SureCart\BlockLibrary\BlockServiceProvider' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockServiceProvider.php', 'SureCart\BlockLibrary\BlockStylesService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockStylesService.php', 'SureCart\BlockLibrary\BlockValidationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/BlockValidationService.php', 'SureCart\BlockLibrary\CartMenuIconMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/CartMenuIconMigrationService.php', 'SureCart\BlockLibrary\CartMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/CartMigrationService.php', 'SureCart\BlockLibrary\FormModeSwitcherService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/FormModeSwitcherService.php', 'SureCart\BlockLibrary\ProductCollectionBadgesMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductCollectionBadgesMigrationService.php', 'SureCart\BlockLibrary\ProductListFilterTagsMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductListFilterTagsMigrationService.php', 'SureCart\BlockLibrary\ProductListMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductListMigrationService.php', 'SureCart\BlockLibrary\ProductListService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductListService.php', 'SureCart\BlockLibrary\ProductPageBlocksMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductPageBlocksMigrationService.php', 'SureCart\BlockLibrary\ProductPriceChoicesMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductPriceChoicesMigrationService.php', 'SureCart\BlockLibrary\ProductQuickViewService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductQuickViewService.php', 'SureCart\BlockLibrary\ProductReviewFormService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductReviewFormService.php', 'SureCart\BlockLibrary\ProductSelectedPriceMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductSelectedPriceMigrationService.php', 'SureCart\BlockLibrary\ProductVariantsMigrationService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/ProductVariantsMigrationService.php', 'SureCart\BlockLibrary\URLParamService' => __DIR__ . '/../..' . '/app/src/BlockLibrary/URLParamService.php', 'SureCart\BlockValidator\BlockValidator' => __DIR__ . '/../..' . '/app/src/BlockValidator/BlockValidator.php', 'SureCart\BlockValidator\VariantChoice' => __DIR__ . '/../..' . '/app/src/BlockValidator/VariantChoice.php', 'SureCart\Cart\CartService' => __DIR__ . '/../..' . '/app/src/Cart/CartService.php', 'SureCart\Cart\CartServiceProvider' => __DIR__ . '/../..' . '/app/src/Cart/CartServiceProvider.php', 'SureCart\Concerns\Arrayable' => __DIR__ . '/../..' . '/app/src/Concerns/Arrayable.php', 'SureCart\Concerns\HasBlockTheme' => __DIR__ . '/../..' . '/app/src/Concerns/HasBlockTheme.php', 'SureCart\Concerns\Objectable' => __DIR__ . '/../..' . '/app/src/Concerns/Objectable.php', 'SureCart\Concerns\RestrictsAnonymousReads' => __DIR__ . '/../..' . '/app/src/Concerns/RestrictsAnonymousReads.php', 'SureCart\Concerns\SanitizesRestParams' => __DIR__ . '/../..' . '/app/src/Concerns/SanitizesRestParams.php', 'SureCart\Concerns\StripsPrivateCatalogFields' => __DIR__ . '/../..' . '/app/src/Concerns/StripsPrivateCatalogFields.php', 'SureCart\Controllers\Admin\Abandoned\AbandonedCheckoutListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Abandoned/AbandonedCheckoutListTable.php', 'SureCart\Controllers\Admin\Abandoned\AbandonedCheckoutScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Abandoned/AbandonedCheckoutScriptsController.php', 'SureCart\Controllers\Admin\Abandoned\AbandonedCheckoutViewController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Abandoned/AbandonedCheckoutViewController.php', 'SureCart\Controllers\Admin\Account' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Account.php', 'SureCart\Controllers\Admin\AdminController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AdminController.php', 'SureCart\Controllers\Admin\AffiliationClicks\AffiliationClicksController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationClicks/AffiliationClicksController.php', 'SureCart\Controllers\Admin\AffiliationClicks\AffiliationClicksListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationClicks/AffiliationClicksListTable.php', 'SureCart\Controllers\Admin\AffiliationPayoutGroups\AffiliationPayoutGroupsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationPayoutGroups/AffiliationPayoutGroupsController.php', 'SureCart\Controllers\Admin\AffiliationPayoutGroups\AffiliationPayoutGroupsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationPayoutGroups/AffiliationPayoutGroupsScriptsController.php', 'SureCart\Controllers\Admin\AffiliationPayouts\AffiliationPayoutsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationPayouts/AffiliationPayoutsController.php', 'SureCart\Controllers\Admin\AffiliationPayouts\AffiliationPayoutsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationPayouts/AffiliationPayoutsListTable.php', 'SureCart\Controllers\Admin\AffiliationPayouts\AffiliationPayoutsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationPayouts/AffiliationPayoutsScriptsController.php', 'SureCart\Controllers\Admin\AffiliationReferrals\AffiliationReferralsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationReferrals/AffiliationReferralsController.php', 'SureCart\Controllers\Admin\AffiliationReferrals\AffiliationReferralsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationReferrals/AffiliationReferralsListTable.php', 'SureCart\Controllers\Admin\AffiliationReferrals\AffiliationReferralsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationReferrals/AffiliationReferralsScriptsController.php', 'SureCart\Controllers\Admin\AffiliationRequests\AffiliationRequestsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationRequests/AffiliationRequestsController.php', 'SureCart\Controllers\Admin\AffiliationRequests\AffiliationRequestsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationRequests/AffiliationRequestsListTable.php', 'SureCart\Controllers\Admin\AffiliationRequests\AffiliationRequestsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AffiliationRequests/AffiliationRequestsScriptsController.php', 'SureCart\Controllers\Admin\Affiliations\AffiliationsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Affiliations/AffiliationsController.php', 'SureCart\Controllers\Admin\Affiliations\AffiliationsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Affiliations/AffiliationsListTable.php', 'SureCart\Controllers\Admin\Affiliations\AffiliationsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Affiliations/AffiliationsScriptsController.php', 'SureCart\Controllers\Admin\AutoFees\AutoFeesController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AutoFees/AutoFeesController.php', 'SureCart\Controllers\Admin\AutoFees\AutoFeesListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AutoFees/AutoFeesListTable.php', 'SureCart\Controllers\Admin\AutoFees\AutoFeesScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/AutoFees/AutoFeesScriptsController.php', 'SureCart\Controllers\Admin\Bumps\BumpScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Bumps/BumpScriptsController.php', 'SureCart\Controllers\Admin\Bumps\BumpsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Bumps/BumpsController.php', 'SureCart\Controllers\Admin\Bumps\BumpsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Bumps/BumpsListTable.php', 'SureCart\Controllers\Admin\Bundles\BundleScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Bundles/BundleScriptsController.php', 'SureCart\Controllers\Admin\Bundles\BundlesController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Bundles/BundlesController.php', 'SureCart\Controllers\Admin\Bundles\BundlesListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Bundles/BundlesListTable.php', 'SureCart\Controllers\Admin\CancellationInsights\CancellationInsightsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/CancellationInsights/CancellationInsightsController.php', 'SureCart\Controllers\Admin\CancellationInsights\CancellationInsightsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/CancellationInsights/CancellationInsightsListTable.php', 'SureCart\Controllers\Admin\Cart\CartController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Cart/CartController.php', 'SureCart\Controllers\Admin\Cart\CartScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Cart/CartScriptsController.php', 'SureCart\Controllers\Admin\Checkouts\CheckoutScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Checkouts/CheckoutScriptsController.php', 'SureCart\Controllers\Admin\Checkouts\CheckoutsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Checkouts/CheckoutsController.php', 'SureCart\Controllers\Admin\Coupons\CouponScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Coupons/CouponScriptsController.php', 'SureCart\Controllers\Admin\Coupons\CouponsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Coupons/CouponsController.php', 'SureCart\Controllers\Admin\Coupons\CouponsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Coupons/CouponsListTable.php', 'SureCart\Controllers\Admin\Customers\CustomersController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Customers/CustomersController.php', 'SureCart\Controllers\Admin\Customers\CustomersListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Customers/CustomersListTable.php', 'SureCart\Controllers\Admin\Customers\CustomersScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Customers/CustomersScriptsController.php', 'SureCart\Controllers\Admin\Dashboard\DashboardController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Dashboard/DashboardController.php', 'SureCart\Controllers\Admin\Dashboard\DashboardScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Dashboard/DashboardScriptsController.php', 'SureCart\Controllers\Admin\Invoices\InvoiceScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Invoices/InvoiceScriptsController.php', 'SureCart\Controllers\Admin\Invoices\InvoicesListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Invoices/InvoicesListTable.php', 'SureCart\Controllers\Admin\Invoices\InvoicesViewController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Invoices/InvoicesViewController.php', 'SureCart\Controllers\Admin\Learn\LearnController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Learn/LearnController.php', 'SureCart\Controllers\Admin\Learn\LearnScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Learn/LearnScriptsController.php', 'SureCart\Controllers\Admin\Licenses\LicensesController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Licenses/LicensesController.php', 'SureCart\Controllers\Admin\Licenses\LicensesListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Licenses/LicensesListTable.php', 'SureCart\Controllers\Admin\Licenses\LicensesScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Licenses/LicensesScriptsController.php', 'SureCart\Controllers\Admin\Onboarding\OnboardingController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Onboarding/OnboardingController.php', 'SureCart\Controllers\Admin\Onboarding\OnboardingScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Onboarding/OnboardingScriptsController.php', 'SureCart\Controllers\Admin\Orders\OrderScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Orders/OrderScriptsController.php', 'SureCart\Controllers\Admin\Orders\OrdersListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Orders/OrdersListTable.php', 'SureCart\Controllers\Admin\Orders\OrdersViewController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Orders/OrdersViewController.php', 'SureCart\Controllers\Admin\PluginSettings' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/PluginSettings.php', 'SureCart\Controllers\Admin\ProductCollections\ProductCollectionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/ProductCollections/ProductCollectionsController.php', 'SureCart\Controllers\Admin\ProductCollections\ProductCollectionsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/ProductCollections/ProductCollectionsListTable.php', 'SureCart\Controllers\Admin\ProductCollections\ProductCollectionsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/ProductCollections/ProductCollectionsScriptsController.php', 'SureCart\Controllers\Admin\ProductGroups\ProductGroupsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/ProductGroups/ProductGroupsController.php', 'SureCart\Controllers\Admin\ProductGroups\ProductGroupsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/ProductGroups/ProductGroupsListTable.php', 'SureCart\Controllers\Admin\ProductGroups\ProductGroupsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/ProductGroups/ProductGroupsScriptsController.php', 'SureCart\Controllers\Admin\Products\ProductScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Products/ProductScriptsController.php', 'SureCart\Controllers\Admin\Products\ProductsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Products/ProductsController.php', 'SureCart\Controllers\Admin\Products\ProductsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Products/ProductsListTable.php', 'SureCart\Controllers\Admin\RendersEnhancedAdminView' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/RendersEnhancedAdminView.php', 'SureCart\Controllers\Admin\Restore\RestoreController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Restore/RestoreController.php', 'SureCart\Controllers\Admin\Reviews\ReviewsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Reviews/ReviewsController.php', 'SureCart\Controllers\Admin\Reviews\ReviewsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Reviews/ReviewsListTable.php', 'SureCart\Controllers\Admin\Reviews\ReviewsScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Reviews/ReviewsScriptsController.php', 'SureCart\Controllers\Admin\Settings\CacheSettings' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Settings/CacheSettings.php', 'SureCart\Controllers\Admin\Settings\MCPSettings' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Settings/MCPSettings.php', 'SureCart\Controllers\Admin\Settings\Settings' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Settings/Settings.php', 'SureCart\Controllers\Admin\Subscriptions\Scripts\EditScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Subscriptions/Scripts/EditScriptsController.php', 'SureCart\Controllers\Admin\Subscriptions\Scripts\ShowScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Subscriptions/Scripts/ShowScriptsController.php', 'SureCart\Controllers\Admin\Subscriptions\SubscriptionScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Subscriptions/SubscriptionScriptsController.php', 'SureCart\Controllers\Admin\Subscriptions\SubscriptionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Subscriptions/SubscriptionsController.php', 'SureCart\Controllers\Admin\Subscriptions\SubscriptionsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Subscriptions/SubscriptionsListTable.php', 'SureCart\Controllers\Admin\Tables\HasModeFilter' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Tables/HasModeFilter.php', 'SureCart\Controllers\Admin\Tables\ListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Tables/ListTable.php', 'SureCart\Controllers\Admin\Upsells\UpsellScriptsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Upsells/UpsellScriptsController.php', 'SureCart\Controllers\Admin\Upsells\UpsellsController' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Upsells/UpsellsController.php', 'SureCart\Controllers\Admin\Upsells\UpsellsListTable' => __DIR__ . '/../..' . '/app/src/Controllers/Admin/Upsells/UpsellsListTable.php', 'SureCart\Controllers\Ajax\NonceController' => __DIR__ . '/../..' . '/app/src/Controllers/Ajax/NonceController.php', 'SureCart\Controllers\Rest\AbandonedCheckoutProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AbandonedCheckoutProtocolController.php', 'SureCart\Controllers\Rest\AbandonedCheckoutsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AbandonedCheckoutsController.php', 'SureCart\Controllers\Rest\AccountController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AccountController.php', 'SureCart\Controllers\Rest\ActivationsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ActivationsController.php', 'SureCart\Controllers\Rest\AffiliationProductsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AffiliationProductsController.php', 'SureCart\Controllers\Rest\AffiliationProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AffiliationProtocolController.php', 'SureCart\Controllers\Rest\AffiliationRequestsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AffiliationRequestsController.php', 'SureCart\Controllers\Rest\AffiliationsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AffiliationsController.php', 'SureCart\Controllers\Rest\AutoFeeProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AutoFeeProtocolController.php', 'SureCart\Controllers\Rest\AutoFeesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/AutoFeesController.php', 'SureCart\Controllers\Rest\BalanceTransactionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/BalanceTransactionsController.php', 'SureCart\Controllers\Rest\BatchesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/BatchesController.php', 'SureCart\Controllers\Rest\BrandController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/BrandController.php', 'SureCart\Controllers\Rest\BumpsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/BumpsController.php', 'SureCart\Controllers\Rest\BundleItemsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/BundleItemsController.php', 'SureCart\Controllers\Rest\CancellationActsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CancellationActsController.php', 'SureCart\Controllers\Rest\CancellationReasonsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CancellationReasonsController.php', 'SureCart\Controllers\Rest\ChargesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ChargesController.php', 'SureCart\Controllers\Rest\CheckEmailController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CheckEmailController.php', 'SureCart\Controllers\Rest\CheckoutsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CheckoutsController.php', 'SureCart\Controllers\Rest\ClicksController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ClicksController.php', 'SureCart\Controllers\Rest\CouponsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CouponsController.php', 'SureCart\Controllers\Rest\CustomerController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CustomerController.php', 'SureCart\Controllers\Rest\CustomerNotificationProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CustomerNotificationProtocolController.php', 'SureCart\Controllers\Rest\CustomerPortalProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/CustomerPortalProtocolController.php', 'SureCart\Controllers\Rest\DisplayCurrencyController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/DisplayCurrencyController.php', 'SureCart\Controllers\Rest\DisputesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/DisputesController.php', 'SureCart\Controllers\Rest\DownloadsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/DownloadsController.php', 'SureCart\Controllers\Rest\DraftCheckoutsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/DraftCheckoutsController.php', 'SureCart\Controllers\Rest\ExportsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ExportsController.php', 'SureCart\Controllers\Rest\FulfillmentsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/FulfillmentsController.php', 'SureCart\Controllers\Rest\ImportRowsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ImportRowsController.php', 'SureCart\Controllers\Rest\IncomingWebhooksController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/IncomingWebhooksController.php', 'SureCart\Controllers\Rest\IntegrationCatalogController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/IntegrationCatalogController.php', 'SureCart\Controllers\Rest\IntegrationProvidersController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/IntegrationProvidersController.php', 'SureCart\Controllers\Rest\IntegrationsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/IntegrationsController.php', 'SureCart\Controllers\Rest\InvoicesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/InvoicesController.php', 'SureCart\Controllers\Rest\LicensesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/LicensesController.php', 'SureCart\Controllers\Rest\LineItemsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/LineItemsController.php', 'SureCart\Controllers\Rest\LoginController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/LoginController.php', 'SureCart\Controllers\Rest\ManualPaymentMethodsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ManualPaymentMethodsController.php', 'SureCart\Controllers\Rest\MediasController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/MediasController.php', 'SureCart\Controllers\Rest\OrderController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/OrderController.php', 'SureCart\Controllers\Rest\OrderProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/OrderProtocolController.php', 'SureCart\Controllers\Rest\ParcelTemplateController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ParcelTemplateController.php', 'SureCart\Controllers\Rest\PaymentIntentsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PaymentIntentsController.php', 'SureCart\Controllers\Rest\PaymentMethodsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PaymentMethodsController.php', 'SureCart\Controllers\Rest\PayoutGroupsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PayoutGroupsController.php', 'SureCart\Controllers\Rest\PayoutsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PayoutsController.php', 'SureCart\Controllers\Rest\PeriodsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PeriodsController.php', 'SureCart\Controllers\Rest\PluginInstallerController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PluginInstallerController.php', 'SureCart\Controllers\Rest\PricesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PricesController.php', 'SureCart\Controllers\Rest\ProcessorController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ProcessorController.php', 'SureCart\Controllers\Rest\ProductCollectionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ProductCollectionsController.php', 'SureCart\Controllers\Rest\ProductGroupsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ProductGroupsController.php', 'SureCart\Controllers\Rest\ProductMediaController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ProductMediaController.php', 'SureCart\Controllers\Rest\ProductsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ProductsController.php', 'SureCart\Controllers\Rest\PromotionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PromotionsController.php', 'SureCart\Controllers\Rest\ProvisionalAccountController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ProvisionalAccountController.php', 'SureCart\Controllers\Rest\PurchasesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/PurchasesController.php', 'SureCart\Controllers\Rest\ReferralItemsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReferralItemsController.php', 'SureCart\Controllers\Rest\ReferralsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReferralsController.php', 'SureCart\Controllers\Rest\RefundsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/RefundsController.php', 'SureCart\Controllers\Rest\RegisteredWebhookController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/RegisteredWebhookController.php', 'SureCart\Controllers\Rest\RestController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/RestController.php', 'SureCart\Controllers\Rest\ReturnItemsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReturnItemsController.php', 'SureCart\Controllers\Rest\ReturnReasonsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReturnReasonsController.php', 'SureCart\Controllers\Rest\ReturnRequestsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReturnRequestsController.php', 'SureCart\Controllers\Rest\ReviewProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReviewProtocolController.php', 'SureCart\Controllers\Rest\ReviewsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ReviewsController.php', 'SureCart\Controllers\Rest\RuleSchemaController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/RuleSchemaController.php', 'SureCart\Controllers\Rest\SettingsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/SettingsController.php', 'SureCart\Controllers\Rest\ShippingMethodController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ShippingMethodController.php', 'SureCart\Controllers\Rest\ShippingProfileController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ShippingProfileController.php', 'SureCart\Controllers\Rest\ShippingProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ShippingProtocolController.php', 'SureCart\Controllers\Rest\ShippingRateController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ShippingRateController.php', 'SureCart\Controllers\Rest\ShippingZoneController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/ShippingZoneController.php', 'SureCart\Controllers\Rest\StatisticsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/StatisticsController.php', 'SureCart\Controllers\Rest\SubscriptionProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/SubscriptionProtocolController.php', 'SureCart\Controllers\Rest\SubscriptionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/SubscriptionsController.php', 'SureCart\Controllers\Rest\SwapsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/SwapsController.php', 'SureCart\Controllers\Rest\TaxOverrideController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/TaxOverrideController.php', 'SureCart\Controllers\Rest\TaxProtocolController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/TaxProtocolController.php', 'SureCart\Controllers\Rest\TaxRegistrationController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/TaxRegistrationController.php', 'SureCart\Controllers\Rest\TaxZoneController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/TaxZoneController.php', 'SureCart\Controllers\Rest\UploadsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/UploadsController.php', 'SureCart\Controllers\Rest\UpsellFunnelsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/UpsellFunnelsController.php', 'SureCart\Controllers\Rest\UpsellsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/UpsellsController.php', 'SureCart\Controllers\Rest\VariantOptionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/VariantOptionsController.php', 'SureCart\Controllers\Rest\VariantValuesController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/VariantValuesController.php', 'SureCart\Controllers\Rest\VariantsController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/VariantsController.php', 'SureCart\Controllers\Rest\VerificationCodeController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/VerificationCodeController.php', 'SureCart\Controllers\Rest\WebhookController' => __DIR__ . '/../..' . '/app/src/Controllers/Rest/WebhookController.php', 'SureCart\Controllers\Web\BasePageController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/BasePageController.php', 'SureCart\Controllers\Web\BuyPageController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/BuyPageController.php', 'SureCart\Controllers\Web\CheckoutFormsController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/CheckoutFormsController.php', 'SureCart\Controllers\Web\DashboardController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/DashboardController.php', 'SureCart\Controllers\Web\PurchaseController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/PurchaseController.php', 'SureCart\Controllers\Web\SubscriptionsController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/SubscriptionsController.php', 'SureCart\Controllers\Web\UpsellPageController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/UpsellPageController.php', 'SureCart\Controllers\Web\WebhookController' => __DIR__ . '/../..' . '/app/src/Controllers/Web/WebhookController.php', 'SureCart\Database\CartLineItemDetailsMigrationService' => __DIR__ . '/../..' . '/app/src/Database/CartLineItemDetailsMigrationService.php', 'SureCart\Database\GeneralMigration' => __DIR__ . '/../..' . '/app/src/Database/GeneralMigration.php', 'SureCart\Database\MigrationsServiceProvider' => __DIR__ . '/../..' . '/app/src/Database/MigrationsServiceProvider.php', 'SureCart\Database\ProductPageMigrationService' => __DIR__ . '/../..' . '/app/src/Database/ProductPageMigrationService.php', 'SureCart\Database\RewriteRulesMigrationService' => __DIR__ . '/../..' . '/app/src/Database/RewriteRulesMigrationService.php', 'SureCart\Database\Table' => __DIR__ . '/../..' . '/app/src/Database/Table.php', 'SureCart\Database\Tables\IncomingWebhook' => __DIR__ . '/../..' . '/app/src/Database/Tables/IncomingWebhook.php', 'SureCart\Database\Tables\Integrations' => __DIR__ . '/../..' . '/app/src/Database/Tables/Integrations.php', 'SureCart\Database\Tables\VariantOptionValues' => __DIR__ . '/../..' . '/app/src/Database/Tables/VariantOptionValues.php', 'SureCart\Database\ThemeMigrationService' => __DIR__ . '/../..' . '/app/src/Database/ThemeMigrationService.php', 'SureCart\Database\UpdateMigrationServiceProvider' => __DIR__ . '/../..' . '/app/src/Database/UpdateMigrationServiceProvider.php', 'SureCart\Database\UserMetaMigrationsService' => __DIR__ . '/../..' . '/app/src/Database/UserMetaMigrationsService.php', 'SureCart\Database\VersionMigration' => __DIR__ . '/../..' . '/app/src/Database/VersionMigration.php', 'SureCart\Database\WebhookMigrationsService' => __DIR__ . '/../..' . '/app/src/Database/WebhookMigrationsService.php', 'SureCart\Form\FormValidationService' => __DIR__ . '/../..' . '/app/src/Form/FormValidationService.php', 'SureCart\Install\InstallService' => __DIR__ . '/../..' . '/app/src/Install/InstallService.php', 'SureCart\Install\InstallServiceProvider' => __DIR__ . '/../..' . '/app/src/Install/InstallServiceProvider.php', 'SureCart\Integrations\AIOSEO\AIOSEOService' => __DIR__ . '/../..' . '/app/src/Integrations/AIOSEO/AIOSEOService.php', 'SureCart\Integrations\AIOSEO\AIOSEOServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/AIOSEO/AIOSEOServiceProvider.php', 'SureCart\Integrations\AbstractIntegration' => __DIR__ . '/../..' . '/app/src/Integrations/AbstractIntegration.php', 'SureCart\Integrations\Abstracts\NoIndexService' => __DIR__ . '/../..' . '/app/src/Integrations/Abstracts/NoIndexService.php', 'SureCart\Integrations\AffiliateWP\AffiliateWPIntegration' => __DIR__ . '/../..' . '/app/src/Integrations/AffiliateWP/AffiliateWPIntegration.php', 'SureCart\Integrations\AffiliateWP\AffiliateWPRecurringIntegration' => __DIR__ . '/../..' . '/app/src/Integrations/AffiliateWP/AffiliateWPRecurringIntegration.php', 'SureCart\Integrations\AffiliateWP\AffiliateWPService' => __DIR__ . '/../..' . '/app/src/Integrations/AffiliateWP/AffiliateWPService.php', 'SureCart\Integrations\AffiliateWP\AffiliateWPServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/AffiliateWP/AffiliateWPServiceProvider.php', 'SureCart\Integrations\Avada\AvadaService' => __DIR__ . '/../..' . '/app/src/Integrations/Avada/AvadaService.php', 'SureCart\Integrations\Avada\AvadaServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/Avada/AvadaServiceProvider.php', 'SureCart\Integrations\Beaver\BeaverFormModule' => __DIR__ . '/../..' . '/app/src/Integrations/Beaver/BeaverFormModule.php', 'SureCart\Integrations\Beaver\BeaverServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/Beaver/BeaverServiceProvider.php', 'SureCart\Integrations\Bricks\BricksDynamicDataService' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/BricksDynamicDataService.php', 'SureCart\Integrations\Bricks\BricksElementsService' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/BricksElementsService.php', 'SureCart\Integrations\Bricks\BricksServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/BricksServiceProvider.php', 'SureCart\Integrations\Bricks\BricksTemplateService' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/BricksTemplateService.php', 'SureCart\Integrations\Bricks\Concerns\ConvertsBlocks' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Concerns/ConvertsBlocks.php', 'SureCart\Integrations\Bricks\Elements\BuyButton' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/BuyButton.php', 'SureCart\Integrations\Bricks\Elements\CartMenuIcon' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/CartMenuIcon.php', 'SureCart\Integrations\Bricks\Elements\CollectionTag' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/CollectionTag.php', 'SureCart\Integrations\Bricks\Elements\CollectionTags' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/CollectionTags.php', 'SureCart\Integrations\Bricks\Elements\Media' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/Media.php', 'SureCart\Integrations\Bricks\Elements\PriceChoiceTemplate' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/PriceChoiceTemplate.php', 'SureCart\Integrations\Bricks\Elements\PriceChooser' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/PriceChooser.php', 'SureCart\Integrations\Bricks\Elements\PriceData' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/PriceData.php', 'SureCart\Integrations\Bricks\Elements\Product' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/Product.php', 'SureCart\Integrations\Bricks\Elements\ProductCard' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductCard.php', 'SureCart\Integrations\Bricks\Elements\ProductContent' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductContent.php', 'SureCart\Integrations\Bricks\Elements\ProductData' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductData.php', 'SureCart\Integrations\Bricks\Elements\ProductLineItemNote' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductLineItemNote.php', 'SureCart\Integrations\Bricks\Elements\ProductQuickAddButton' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductQuickAddButton.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewAverageRatingStars' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewAverageRatingStars.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewAverageRatingValue' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewAverageRatingValue.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewBreakdown' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewBreakdown.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewContent' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewContent.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewList' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewList.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewRating' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewRating.php', 'SureCart\Integrations\Bricks\Elements\ProductReviewTotalRating' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviewTotalRating.php', 'SureCart\Integrations\Bricks\Elements\ProductReviews' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/ProductReviews.php', 'SureCart\Integrations\Bricks\Elements\Quantity' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/Quantity.php', 'SureCart\Integrations\Bricks\Elements\SaleBadge' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/SaleBadge.php', 'SureCart\Integrations\Bricks\Elements\SelectedPriceAdHocAmount' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/SelectedPriceAdHocAmount.php', 'SureCart\Integrations\Bricks\Elements\VariantPill' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/VariantPill.php', 'SureCart\Integrations\Bricks\Elements\VariantPills' => __DIR__ . '/../..' . '/app/src/Integrations/Bricks/Elements/VariantPills.php', 'SureCart\Integrations\BuddyBoss\BuddyBossService' => __DIR__ . '/../..' . '/app/src/Integrations/BuddyBoss/BuddyBossService.php', 'SureCart\Integrations\BuddyBoss\BuddyBossServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/BuddyBoss/BuddyBossServiceProvider.php', 'SureCart\Integrations\Contracts\IntegrationInterface' => __DIR__ . '/../..' . '/app/src/Integrations/Contracts/IntegrationInterface.php', 'SureCart\Integrations\Contracts\PurchaseSyncInterface' => __DIR__ . '/../..' . '/app/src/Integrations/Contracts/PurchaseSyncInterface.php', 'SureCart\Integrations\DiviServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/DiviServiceProvider.php', 'SureCart\Integrations\Elementor\Conditions\Conditions' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Conditions/Conditions.php', 'SureCart\Integrations\Elementor\Conditions\ProductCondition' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Conditions/ProductCondition.php', 'SureCart\Integrations\Elementor\Conditions\ProductSingle' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Conditions/ProductSingle.php', 'SureCart\Integrations\Elementor\Documents\ProductDocument' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Documents/ProductDocument.php', 'SureCart\Integrations\Elementor\DynamicTags\Price' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/Price.php', 'SureCart\Integrations\Elementor\DynamicTags\PriceAmount' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/PriceAmount.php', 'SureCart\Integrations\Elementor\DynamicTags\PriceName' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/PriceName.php', 'SureCart\Integrations\Elementor\DynamicTags\PriceRange' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/PriceRange.php', 'SureCart\Integrations\Elementor\DynamicTags\PriceSetupFee' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/PriceSetupFee.php', 'SureCart\Integrations\Elementor\DynamicTags\PriceTrial' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/PriceTrial.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductAverageRating' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductAverageRating.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductBillingInterval' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductBillingInterval.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductDescription' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductDescription.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductOnSale' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductOnSale.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductReviewTotalRatings' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductReviewTotalRatings.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductSetupFee' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductSetupFee.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductSku' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductSku.php', 'SureCart\Integrations\Elementor\DynamicTags\ProductStock' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ProductStock.php', 'SureCart\Integrations\Elementor\DynamicTags\ScratchPrice' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/ScratchPrice.php', 'SureCart\Integrations\Elementor\DynamicTags\SelectedBillingInterval' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/SelectedBillingInterval.php', 'SureCart\Integrations\Elementor\DynamicTags\SelectedPrice' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/SelectedPrice.php', 'SureCart\Integrations\Elementor\DynamicTags\SelectedPriceTrial' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/SelectedPriceTrial.php', 'SureCart\Integrations\Elementor\DynamicTags\SelectedScratchPrice' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/SelectedScratchPrice.php', 'SureCart\Integrations\Elementor\DynamicTags\SelectedSetupFee' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/DynamicTags/SelectedSetupFee.php', 'SureCart\Integrations\Elementor\ElementorBlockAdapterService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorBlockAdapterService.php', 'SureCart\Integrations\Elementor\ElementorCoreBlockStylesService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorCoreBlockStylesService.php', 'SureCart\Integrations\Elementor\ElementorDocumentsService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorDocumentsService.php', 'SureCart\Integrations\Elementor\ElementorDynamicTagsService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorDynamicTagsService.php', 'SureCart\Integrations\Elementor\ElementorEditorService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorEditorService.php', 'SureCart\Integrations\Elementor\ElementorFseScriptLoaderService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorFseScriptLoaderService.php', 'SureCart\Integrations\Elementor\ElementorServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorServiceProvider.php', 'SureCart\Integrations\Elementor\ElementorShortcodeService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorShortcodeService.php', 'SureCart\Integrations\Elementor\ElementorTemplatesService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorTemplatesService.php', 'SureCart\Integrations\Elementor\ElementorWidgetsService' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/ElementorWidgetsService.php', 'SureCart\Integrations\Elementor\Widgets\AddToCartButton' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/AddToCartButton.php', 'SureCart\Integrations\Elementor\Widgets\CartMenuIcon' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/CartMenuIcon.php', 'SureCart\Integrations\Elementor\Widgets\CollectionTags' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/CollectionTags.php', 'SureCart\Integrations\Elementor\Widgets\Media' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/Media.php', 'SureCart\Integrations\Elementor\Widgets\PriceChooser' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/PriceChooser.php', 'SureCart\Integrations\Elementor\Widgets\Product' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/Product.php', 'SureCart\Integrations\Elementor\Widgets\ProductCard' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductCard.php', 'SureCart\Integrations\Elementor\Widgets\ProductContent' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductContent.php', 'SureCart\Integrations\Elementor\Widgets\ProductLineItemNote' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductLineItemNote.php', 'SureCart\Integrations\Elementor\Widgets\ProductPricing' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductPricing.php', 'SureCart\Integrations\Elementor\Widgets\ProductQuickAddButton' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductQuickAddButton.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewAverageRatingStars' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewAverageRatingStars.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewAverageRatingValue' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewAverageRatingValue.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewBreakdown' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewBreakdown.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewContent' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewContent.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewList' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewList.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewRating' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewRating.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviewTotalRating' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviewTotalRating.php', 'SureCart\Integrations\Elementor\Widgets\ProductReviews' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ProductReviews.php', 'SureCart\Integrations\Elementor\Widgets\Quantity' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/Quantity.php', 'SureCart\Integrations\Elementor\Widgets\ReusableFormWidget' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/ReusableFormWidget.php', 'SureCart\Integrations\Elementor\Widgets\SaleBadge' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/SaleBadge.php', 'SureCart\Integrations\Elementor\Widgets\SelectedPriceAdHocAmount' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/SelectedPriceAdHocAmount.php', 'SureCart\Integrations\Elementor\Widgets\VariantPills' => __DIR__ . '/../..' . '/app/src/Integrations/Elementor/Widgets/VariantPills.php', 'SureCart\Integrations\Etch\EtchService' => __DIR__ . '/../..' . '/app/src/Integrations/Etch/EtchService.php', 'SureCart\Integrations\Etch\EtchServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/Etch/EtchServiceProvider.php', 'SureCart\Integrations\HelpWidget\HelpWidget' => __DIR__ . '/../..' . '/app/src/Integrations/HelpWidget/HelpWidget.php', 'SureCart\Integrations\HelpWidget\HelpWidgetServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/HelpWidget/HelpWidgetServiceProvider.php', 'SureCart\Integrations\IntegrationService' => __DIR__ . '/../..' . '/app/src/Integrations/IntegrationService.php', 'SureCart\Integrations\LearnDashGroup\LearnDashGroupService' => __DIR__ . '/../..' . '/app/src/Integrations/LearnDashGroup/LearnDashGroupService.php', 'SureCart\Integrations\LearnDashGroup\LearnDashGroupServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/LearnDashGroup/LearnDashGroupServiceProvider.php', 'SureCart\Integrations\LearnDash\LearnDashService' => __DIR__ . '/../..' . '/app/src/Integrations/LearnDash/LearnDashService.php', 'SureCart\Integrations\LearnDash\LearnDashServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/LearnDash/LearnDashServiceProvider.php', 'SureCart\Integrations\LifterLMS\LifterLMSService' => __DIR__ . '/../..' . '/app/src/Integrations/LifterLMS/LifterLMSService.php', 'SureCart\Integrations\LifterLMS\LifterLMSServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/LifterLMS/LifterLMSServiceProvider.php', 'SureCart\Integrations\MemberPress\MemberPressService' => __DIR__ . '/../..' . '/app/src/Integrations/MemberPress/MemberPressService.php', 'SureCart\Integrations\MemberPress\MemberPressServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/MemberPress/MemberPressServiceProvider.php', 'SureCart\Integrations\NpsSurvey\NpsSurveyNotice' => __DIR__ . '/../..' . '/app/src/Integrations/NpsSurvey/NpsSurveyNotice.php', 'SureCart\Integrations\NpsSurvey\NpsSurveyServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/NpsSurvey/NpsSurveyServiceProvider.php', 'SureCart\Integrations\RankMath\RankMathService' => __DIR__ . '/../..' . '/app/src/Integrations/RankMath/RankMathService.php', 'SureCart\Integrations\RankMath\RankMathServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/RankMath/RankMathServiceProvider.php', 'SureCart\Integrations\SEOPress\SEOPressService' => __DIR__ . '/../..' . '/app/src/Integrations/SEOPress/SEOPressService.php', 'SureCart\Integrations\SEOPress\SEOPressServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/SEOPress/SEOPressServiceProvider.php', 'SureCart\Integrations\SureRank\SureRankService' => __DIR__ . '/../..' . '/app/src/Integrations/SureRank/SureRankService.php', 'SureCart\Integrations\SureRank\SureRankServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/SureRank/SureRankServiceProvider.php', 'SureCart\Integrations\TheSEOFramework\TheSEOFrameworkService' => __DIR__ . '/../..' . '/app/src/Integrations/TheSEOFramework/TheSEOFrameworkService.php', 'SureCart\Integrations\TheSEOFramework\TheSEOFrameworkServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/TheSEOFramework/TheSEOFrameworkServiceProvider.php', 'SureCart\Integrations\ThriveAutomator\DataFields\PreviousProductDataField' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataFields/PreviousProductDataField.php', 'SureCart\Integrations\ThriveAutomator\DataFields\PreviousProductIDDataField' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataFields/PreviousProductIDDataField.php', 'SureCart\Integrations\ThriveAutomator\DataFields\PreviousProductNameField' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataFields/PreviousProductNameField.php', 'SureCart\Integrations\ThriveAutomator\DataFields\ProductDataField' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataFields/ProductDataField.php', 'SureCart\Integrations\ThriveAutomator\DataFields\ProductIDDataField' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataFields/ProductIDDataField.php', 'SureCart\Integrations\ThriveAutomator\DataFields\ProductNameDataField' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataFields/ProductNameDataField.php', 'SureCart\Integrations\ThriveAutomator\DataObjects\PreviousProductDataObject' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataObjects/PreviousProductDataObject.php', 'SureCart\Integrations\ThriveAutomator\DataObjects\ProductDataObject' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/DataObjects/ProductDataObject.php', 'SureCart\Integrations\ThriveAutomator\ThriveAutomatorApp' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/ThriveAutomatorApp.php', 'SureCart\Integrations\ThriveAutomator\ThriveAutomatorService' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/ThriveAutomatorService.php', 'SureCart\Integrations\ThriveAutomator\ThriveAutomatorServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/ThriveAutomatorServiceProvider.php', 'SureCart\Integrations\ThriveAutomator\Triggers\PurchaseCreatedTrigger' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/Triggers/PurchaseCreatedTrigger.php', 'SureCart\Integrations\ThriveAutomator\Triggers\PurchaseInvokedTrigger' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/Triggers/PurchaseInvokedTrigger.php', 'SureCart\Integrations\ThriveAutomator\Triggers\PurchaseRevokedTrigger' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/Triggers/PurchaseRevokedTrigger.php', 'SureCart\Integrations\ThriveAutomator\Triggers\PurchaseUpdatedTrigger' => __DIR__ . '/../..' . '/app/src/Integrations/ThriveAutomator/Triggers/PurchaseUpdatedTrigger.php', 'SureCart\Integrations\TutorLMS\TutorLMSService' => __DIR__ . '/../..' . '/app/src/Integrations/TutorLMS/TutorLMSService.php', 'SureCart\Integrations\TutorLMS\TutorLMSServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/TutorLMS/TutorLMSServiceProvider.php', 'SureCart\Integrations\User\UserService' => __DIR__ . '/../..' . '/app/src/Integrations/User/UserService.php', 'SureCart\Integrations\User\UserServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/User/UserServiceProvider.php', 'SureCart\Integrations\Yoast\YoastService' => __DIR__ . '/../..' . '/app/src/Integrations/Yoast/YoastService.php', 'SureCart\Integrations\Yoast\YoastServiceProvider' => __DIR__ . '/../..' . '/app/src/Integrations/Yoast/YoastServiceProvider.php', 'SureCart\MCP\McpServerServiceProvider' => __DIR__ . '/../..' . '/app/src/MCP/McpServerServiceProvider.php', 'SureCart\Middleware\AccountClaimMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/AccountClaimMiddleware.php', 'SureCart\Middleware\AdminColorMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/AdminColorMiddleware.php', 'SureCart\Middleware\ArchiveModelMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/ArchiveModelMiddleware.php', 'SureCart\Middleware\BrandColorMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/BrandColorMiddleware.php', 'SureCart\Middleware\CheckoutFormModeMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/CheckoutFormModeMiddleware.php', 'SureCart\Middleware\CheckoutRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/CheckoutRedirectMiddleware.php', 'SureCart\Middleware\ComponentAssetsMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/ComponentAssetsMiddleware.php', 'SureCart\Middleware\CustomerDashboardLinkRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/CustomerDashboardLinkRedirectMiddleware.php', 'SureCart\Middleware\CustomerDashboardRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/CustomerDashboardRedirectMiddleware.php', 'SureCart\Middleware\EditModelMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/EditModelMiddleware.php', 'SureCart\Middleware\InvoiceRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/InvoiceRedirectMiddleware.php', 'SureCart\Middleware\LoginLinkMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/LoginLinkMiddleware.php', 'SureCart\Middleware\LoginMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/LoginMiddleware.php', 'SureCart\Middleware\NonceMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/NonceMiddleware.php', 'SureCart\Middleware\OrderRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/OrderRedirectMiddleware.php', 'SureCart\Middleware\PathRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/PathRedirectMiddleware.php', 'SureCart\Middleware\PaymentFailureRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/PaymentFailureRedirectMiddleware.php', 'SureCart\Middleware\ProductReviewRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/ProductReviewRedirectMiddleware.php', 'SureCart\Middleware\PurchaseRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/PurchaseRedirectMiddleware.php', 'SureCart\Middleware\SubscriptionRedirectMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/SubscriptionRedirectMiddleware.php', 'SureCart\Middleware\UpsellMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/UpsellMiddleware.php', 'SureCart\Middleware\WebhooksMiddleware' => __DIR__ . '/../..' . '/app/src/Middleware/WebhooksMiddleware.php', 'SureCart\Migration\ProductPageWrapperService' => __DIR__ . '/../..' . '/app/src/Migration/ProductPageWrapperService.php', 'SureCart\Models\AbandonedCheckout' => __DIR__ . '/../..' . '/app/src/Models/AbandonedCheckout.php', 'SureCart\Models\AbandonedCheckoutProtocol' => __DIR__ . '/../..' . '/app/src/Models/AbandonedCheckoutProtocol.php', 'SureCart\Models\Account' => __DIR__ . '/../..' . '/app/src/Models/Account.php', 'SureCart\Models\AccountPortalSession' => __DIR__ . '/../..' . '/app/src/Models/AccountPortalSession.php', 'SureCart\Models\Activation' => __DIR__ . '/../..' . '/app/src/Models/Activation.php', 'SureCart\Models\Affiliation' => __DIR__ . '/../..' . '/app/src/Models/Affiliation.php', 'SureCart\Models\AffiliationProduct' => __DIR__ . '/../..' . '/app/src/Models/AffiliationProduct.php', 'SureCart\Models\AffiliationProtocol' => __DIR__ . '/../..' . '/app/src/Models/AffiliationProtocol.php', 'SureCart\Models\AffiliationRequest' => __DIR__ . '/../..' . '/app/src/Models/AffiliationRequest.php', 'SureCart\Models\ApiToken' => __DIR__ . '/../..' . '/app/src/Models/ApiToken.php', 'SureCart\Models\AutoFee' => __DIR__ . '/../..' . '/app/src/Models/AutoFee.php', 'SureCart\Models\AutoFeeProtocol' => __DIR__ . '/../..' . '/app/src/Models/AutoFeeProtocol.php', 'SureCart\Models\BalanceTransaction' => __DIR__ . '/../..' . '/app/src/Models/BalanceTransaction.php', 'SureCart\Models\Batch' => __DIR__ . '/../..' . '/app/src/Models/Batch.php', 'SureCart\Models\Blocks\AbstractProductListBlock' => __DIR__ . '/../..' . '/app/src/Models/Blocks/AbstractProductListBlock.php', 'SureCart\Models\Blocks\ProductListBlock' => __DIR__ . '/../..' . '/app/src/Models/Blocks/ProductListBlock.php', 'SureCart\Models\Blocks\ProductPageBlock' => __DIR__ . '/../..' . '/app/src/Models/Blocks/ProductPageBlock.php', 'SureCart\Models\Blocks\ProductReviewBlock' => __DIR__ . '/../..' . '/app/src/Models/Blocks/ProductReviewBlock.php', 'SureCart\Models\Blocks\ProductReviewListBlock' => __DIR__ . '/../..' . '/app/src/Models/Blocks/ProductReviewListBlock.php', 'SureCart\Models\Blocks\RelatedProductsBlock' => __DIR__ . '/../..' . '/app/src/Models/Blocks/RelatedProductsBlock.php', 'SureCart\Models\Brand' => __DIR__ . '/../..' . '/app/src/Models/Brand.php', 'SureCart\Models\BulkAction' => __DIR__ . '/../..' . '/app/src/Models/BulkAction.php', 'SureCart\Models\Bump' => __DIR__ . '/../..' . '/app/src/Models/Bump.php', 'SureCart\Models\BundleItem' => __DIR__ . '/../..' . '/app/src/Models/BundleItem.php', 'SureCart\Models\BuyLink' => __DIR__ . '/../..' . '/app/src/Models/BuyLink.php', 'SureCart\Models\CancellationAct' => __DIR__ . '/../..' . '/app/src/Models/CancellationAct.php', 'SureCart\Models\CancellationReason' => __DIR__ . '/../..' . '/app/src/Models/CancellationReason.php', 'SureCart\Models\Charge' => __DIR__ . '/../..' . '/app/src/Models/Charge.php', 'SureCart\Models\Checkout' => __DIR__ . '/../..' . '/app/src/Models/Checkout.php', 'SureCart\Models\Click' => __DIR__ . '/../..' . '/app/src/Models/Click.php', 'SureCart\Models\Collection' => __DIR__ . '/../..' . '/app/src/Models/Collection.php', 'SureCart\Models\CommissionStructure' => __DIR__ . '/../..' . '/app/src/Models/CommissionStructure.php', 'SureCart\Models\Component' => __DIR__ . '/../..' . '/app/src/Models/Component.php', 'SureCart\Models\Concerns\Facade' => __DIR__ . '/../..' . '/app/src/Models/Concerns/Facade.php', 'SureCart\Models\Concerns\ImportModel' => __DIR__ . '/../..' . '/app/src/Models/Concerns/ImportModel.php', 'SureCart\Models\Coupon' => __DIR__ . '/../..' . '/app/src/Models/Coupon.php', 'SureCart\Models\Customer' => __DIR__ . '/../..' . '/app/src/Models/Customer.php', 'SureCart\Models\CustomerLink' => __DIR__ . '/../..' . '/app/src/Models/CustomerLink.php', 'SureCart\Models\CustomerNotificationProtocol' => __DIR__ . '/../..' . '/app/src/Models/CustomerNotificationProtocol.php', 'SureCart\Models\CustomerPortalProtocol' => __DIR__ . '/../..' . '/app/src/Models/CustomerPortalProtocol.php', 'SureCart\Models\DatabaseModel' => __DIR__ . '/../..' . '/app/src/Models/DatabaseModel.php', 'SureCart\Models\Discount' => __DIR__ . '/../..' . '/app/src/Models/Discount.php', 'SureCart\Models\DisplayCurrency' => __DIR__ . '/../..' . '/app/src/Models/DisplayCurrency.php', 'SureCart\Models\Dispute' => __DIR__ . '/../..' . '/app/src/Models/Dispute.php', 'SureCart\Models\Download' => __DIR__ . '/../..' . '/app/src/Models/Download.php', 'SureCart\Models\Event' => __DIR__ . '/../..' . '/app/src/Models/Event.php', 'SureCart\Models\Export' => __DIR__ . '/../..' . '/app/src/Models/Export.php', 'SureCart\Models\ExternalApiModel' => __DIR__ . '/../..' . '/app/src/Models/ExternalApiModel.php', 'SureCart\Models\Fee' => __DIR__ . '/../..' . '/app/src/Models/Fee.php', 'SureCart\Models\Form' => __DIR__ . '/../..' . '/app/src/Models/Form.php', 'SureCart\Models\Fulfillment' => __DIR__ . '/../..' . '/app/src/Models/Fulfillment.php', 'SureCart\Models\FulfillmentItem' => __DIR__ . '/../..' . '/app/src/Models/FulfillmentItem.php', 'SureCart\Models\GalleryItem' => __DIR__ . '/../..' . '/app/src/Models/GalleryItem.php', 'SureCart\Models\GalleryItemAttachment' => __DIR__ . '/../..' . '/app/src/Models/GalleryItemAttachment.php', 'SureCart\Models\GalleryItemImageAttachment' => __DIR__ . '/../..' . '/app/src/Models/GalleryItemImageAttachment.php', 'SureCart\Models\GalleryItemMedia' => __DIR__ . '/../..' . '/app/src/Models/GalleryItemMedia.php', 'SureCart\Models\GalleryItemProductMedia' => __DIR__ . '/../..' . '/app/src/Models/GalleryItemProductMedia.php', 'SureCart\Models\GalleryItemVideoAttachment' => __DIR__ . '/../..' . '/app/src/Models/GalleryItemVideoAttachment.php', 'SureCart\Models\Import' => __DIR__ . '/../..' . '/app/src/Models/Import.php', 'SureCart\Models\ImportRow' => __DIR__ . '/../..' . '/app/src/Models/ImportRow.php', 'SureCart\Models\IncomingWebhook' => __DIR__ . '/../..' . '/app/src/Models/IncomingWebhook.php', 'SureCart\Models\Integration' => __DIR__ . '/../..' . '/app/src/Models/Integration.php', 'SureCart\Models\IntegrationCatalog' => __DIR__ . '/../..' . '/app/src/Models/IntegrationCatalog.php', 'SureCart\Models\Invoice' => __DIR__ . '/../..' . '/app/src/Models/Invoice.php', 'SureCart\Models\License' => __DIR__ . '/../..' . '/app/src/Models/License.php', 'SureCart\Models\LineItem' => __DIR__ . '/../..' . '/app/src/Models/LineItem.php', 'SureCart\Models\ManualPaymentMethod' => __DIR__ . '/../..' . '/app/src/Models/ManualPaymentMethod.php', 'SureCart\Models\Media' => __DIR__ . '/../..' . '/app/src/Models/Media.php', 'SureCart\Models\Model' => __DIR__ . '/../..' . '/app/src/Models/Model.php', 'SureCart\Models\ModelInterface' => __DIR__ . '/../..' . '/app/src/Models/ModelInterface.php', 'SureCart\Models\Order' => __DIR__ . '/../..' . '/app/src/Models/Order.php', 'SureCart\Models\OrderProtocol' => __DIR__ . '/../..' . '/app/src/Models/OrderProtocol.php', 'SureCart\Models\ParcelTemplate' => __DIR__ . '/../..' . '/app/src/Models/ParcelTemplate.php', 'SureCart\Models\PaymentFailure' => __DIR__ . '/../..' . '/app/src/Models/PaymentFailure.php', 'SureCart\Models\PaymentInstrument' => __DIR__ . '/../..' . '/app/src/Models/PaymentInstrument.php', 'SureCart\Models\PaymentIntent' => __DIR__ . '/../..' . '/app/src/Models/PaymentIntent.php', 'SureCart\Models\PaymentMethod' => __DIR__ . '/../..' . '/app/src/Models/PaymentMethod.php', 'SureCart\Models\Payout' => __DIR__ . '/../..' . '/app/src/Models/Payout.php', 'SureCart\Models\PayoutGroup' => __DIR__ . '/../..' . '/app/src/Models/PayoutGroup.php', 'SureCart\Models\Period' => __DIR__ . '/../..' . '/app/src/Models/Period.php', 'SureCart\Models\PlatformFee' => __DIR__ . '/../..' . '/app/src/Models/PlatformFee.php', 'SureCart\Models\PortalSession' => __DIR__ . '/../..' . '/app/src/Models/PortalSession.php', 'SureCart\Models\Price' => __DIR__ . '/../..' . '/app/src/Models/Price.php', 'SureCart\Models\Processor' => __DIR__ . '/../..' . '/app/src/Models/Processor.php', 'SureCart\Models\Product' => __DIR__ . '/../..' . '/app/src/Models/Product.php', 'SureCart\Models\ProductCollection' => __DIR__ . '/../..' . '/app/src/Models/ProductCollection.php', 'SureCart\Models\ProductCollectionImport' => __DIR__ . '/../..' . '/app/src/Models/ProductCollectionImport.php', 'SureCart\Models\ProductGroup' => __DIR__ . '/../..' . '/app/src/Models/ProductGroup.php', 'SureCart\Models\ProductImport' => __DIR__ . '/../..' . '/app/src/Models/ProductImport.php', 'SureCart\Models\ProductMedia' => __DIR__ . '/../..' . '/app/src/Models/ProductMedia.php', 'SureCart\Models\Promotion' => __DIR__ . '/../..' . '/app/src/Models/Promotion.php', 'SureCart\Models\ProvisionalAccount' => __DIR__ . '/../..' . '/app/src/Models/ProvisionalAccount.php', 'SureCart\Models\Purchase' => __DIR__ . '/../..' . '/app/src/Models/Purchase.php', 'SureCart\Models\Referral' => __DIR__ . '/../..' . '/app/src/Models/Referral.php', 'SureCart\Models\ReferralItem' => __DIR__ . '/../..' . '/app/src/Models/ReferralItem.php', 'SureCart\Models\Refund' => __DIR__ . '/../..' . '/app/src/Models/Refund.php', 'SureCart\Models\RefundItem' => __DIR__ . '/../..' . '/app/src/Models/RefundItem.php', 'SureCart\Models\RegisteredWebhook' => __DIR__ . '/../..' . '/app/src/Models/RegisteredWebhook.php', 'SureCart\Models\ReturnItem' => __DIR__ . '/../..' . '/app/src/Models/ReturnItem.php', 'SureCart\Models\ReturnReason' => __DIR__ . '/../..' . '/app/src/Models/ReturnReason.php', 'SureCart\Models\ReturnRequest' => __DIR__ . '/../..' . '/app/src/Models/ReturnRequest.php', 'SureCart\Models\Review' => __DIR__ . '/../..' . '/app/src/Models/Review.php', 'SureCart\Models\ReviewProtocol' => __DIR__ . '/../..' . '/app/src/Models/ReviewProtocol.php', 'SureCart\Models\RuleSchema' => __DIR__ . '/../..' . '/app/src/Models/RuleSchema.php', 'SureCart\Models\ServiceFee' => __DIR__ . '/../..' . '/app/src/Models/ServiceFee.php', 'SureCart\Models\ShippingChoice' => __DIR__ . '/../..' . '/app/src/Models/ShippingChoice.php', 'SureCart\Models\ShippingMethod' => __DIR__ . '/../..' . '/app/src/Models/ShippingMethod.php', 'SureCart\Models\ShippingProfile' => __DIR__ . '/../..' . '/app/src/Models/ShippingProfile.php', 'SureCart\Models\ShippingProtocol' => __DIR__ . '/../..' . '/app/src/Models/ShippingProtocol.php', 'SureCart\Models\ShippingRate' => __DIR__ . '/../..' . '/app/src/Models/ShippingRate.php', 'SureCart\Models\ShippingZone' => __DIR__ . '/../..' . '/app/src/Models/ShippingZone.php', 'SureCart\Models\Statistic' => __DIR__ . '/../..' . '/app/src/Models/Statistic.php', 'SureCart\Models\Subscription' => __DIR__ . '/../..' . '/app/src/Models/Subscription.php', 'SureCart\Models\SubscriptionProtocol' => __DIR__ . '/../..' . '/app/src/Models/SubscriptionProtocol.php', 'SureCart\Models\Swap' => __DIR__ . '/../..' . '/app/src/Models/Swap.php', 'SureCart\Models\TaxOverride' => __DIR__ . '/../..' . '/app/src/Models/TaxOverride.php', 'SureCart\Models\TaxProtocol' => __DIR__ . '/../..' . '/app/src/Models/TaxProtocol.php', 'SureCart\Models\TaxRegistration' => __DIR__ . '/../..' . '/app/src/Models/TaxRegistration.php', 'SureCart\Models\TaxZone' => __DIR__ . '/../..' . '/app/src/Models/TaxZone.php', 'SureCart\Models\Traits\CanDuplicate' => __DIR__ . '/../..' . '/app/src/Models/Traits/CanDuplicate.php', 'SureCart\Models\Traits\CanFilter' => __DIR__ . '/../..' . '/app/src/Models/Traits/CanFilter.php', 'SureCart\Models\Traits\CanFinalize' => __DIR__ . '/../..' . '/app/src/Models/Traits/CanFinalize.php', 'SureCart\Models\Traits\CanResendNotifications' => __DIR__ . '/../..' . '/app/src/Models/Traits/CanResendNotifications.php', 'SureCart\Models\Traits\HasAffiliation' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasAffiliation.php', 'SureCart\Models\Traits\HasAttributes' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasAttributes.php', 'SureCart\Models\Traits\HasAutoFeeRules' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasAutoFeeRules.php', 'SureCart\Models\Traits\HasBillingAddress' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasBillingAddress.php', 'SureCart\Models\Traits\HasCharge' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasCharge.php', 'SureCart\Models\Traits\HasCheckout' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasCheckout.php', 'SureCart\Models\Traits\HasCommissionStructure' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasCommissionStructure.php', 'SureCart\Models\Traits\HasCoupon' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasCoupon.php', 'SureCart\Models\Traits\HasCustomer' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasCustomer.php', 'SureCart\Models\Traits\HasDates' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasDates.php', 'SureCart\Models\Traits\HasDiscount' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasDiscount.php', 'SureCart\Models\Traits\HasDisputes' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasDisputes.php', 'SureCart\Models\Traits\HasFees' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasFees.php', 'SureCart\Models\Traits\HasImageSizes' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasImageSizes.php', 'SureCart\Models\Traits\HasInvoice' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasInvoice.php', 'SureCart\Models\Traits\HasLicense' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasLicense.php', 'SureCart\Models\Traits\HasLineItem' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasLineItem.php', 'SureCart\Models\Traits\HasOrder' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasOrder.php', 'SureCart\Models\Traits\HasPaymentFailures' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPaymentFailures.php', 'SureCart\Models\Traits\HasPaymentInstrument' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPaymentInstrument.php', 'SureCart\Models\Traits\HasPaymentIntent' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPaymentIntent.php', 'SureCart\Models\Traits\HasPaymentMethod' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPaymentMethod.php', 'SureCart\Models\Traits\HasPayout' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPayout.php', 'SureCart\Models\Traits\HasPayouts' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPayouts.php', 'SureCart\Models\Traits\HasPlatformFee' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPlatformFee.php', 'SureCart\Models\Traits\HasPrice' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPrice.php', 'SureCart\Models\Traits\HasProcessorType' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasProcessorType.php', 'SureCart\Models\Traits\HasProduct' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasProduct.php', 'SureCart\Models\Traits\HasPromotion' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPromotion.php', 'SureCart\Models\Traits\HasPurchase' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPurchase.php', 'SureCart\Models\Traits\HasPurchases' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasPurchases.php', 'SureCart\Models\Traits\HasReferral' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasReferral.php', 'SureCart\Models\Traits\HasReferralItems' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasReferralItems.php', 'SureCart\Models\Traits\HasReferrals' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasReferrals.php', 'SureCart\Models\Traits\HasRefund' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasRefund.php', 'SureCart\Models\Traits\HasRefundItems' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasRefundItems.php', 'SureCart\Models\Traits\HasServiceFee' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasServiceFee.php', 'SureCart\Models\Traits\HasShippingAddress' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasShippingAddress.php', 'SureCart\Models\Traits\HasShippingChoices' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasShippingChoices.php', 'SureCart\Models\Traits\HasShippingMethod' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasShippingMethod.php', 'SureCart\Models\Traits\HasSubscription' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasSubscription.php', 'SureCart\Models\Traits\HasSubscriptions' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasSubscriptions.php', 'SureCart\Models\Traits\HasSwap' => __DIR__ . '/../..' . '/app/src/Models/Traits/HasSwap.php', 'SureCart\Models\Traits\SyncsCustomer' => __DIR__ . '/../..' . '/app/src/Models/Traits/SyncsCustomer.php', 'SureCart\Models\Upload' => __DIR__ . '/../..' . '/app/src/Models/Upload.php', 'SureCart\Models\Upsell' => __DIR__ . '/../..' . '/app/src/Models/Upsell.php', 'SureCart\Models\UpsellFunnel' => __DIR__ . '/../..' . '/app/src/Models/UpsellFunnel.php', 'SureCart\Models\User' => __DIR__ . '/../..' . '/app/src/Models/User.php', 'SureCart\Models\Variant' => __DIR__ . '/../..' . '/app/src/Models/Variant.php', 'SureCart\Models\VariantOption' => __DIR__ . '/../..' . '/app/src/Models/VariantOption.php', 'SureCart\Models\VariantOptionValue' => __DIR__ . '/../..' . '/app/src/Models/VariantOptionValue.php', 'SureCart\Models\VariantValue' => __DIR__ . '/../..' . '/app/src/Models/VariantValue.php', 'SureCart\Models\VerificationCode' => __DIR__ . '/../..' . '/app/src/Models/VerificationCode.php', 'SureCart\Models\Webhook' => __DIR__ . '/../..' . '/app/src/Models/Webhook.php', 'SureCart\Models\WebhookRegistration' => __DIR__ . '/../..' . '/app/src/Models/WebhookRegistration.php', 'SureCart\Models\Wordpress\Collection' => __DIR__ . '/../..' . '/app/src/Models/Wordpress/Collection.php', 'SureCart\Permissions\AdminAccessService' => __DIR__ . '/../..' . '/app/src/Permissions/AdminAccessService.php', 'SureCart\Permissions\Models\ActivationPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/ActivationPermissionsController.php', 'SureCart\Permissions\Models\BalanceTransactionPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/BalanceTransactionPermissionsController.php', 'SureCart\Permissions\Models\ChargePermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/ChargePermissionsController.php', 'SureCart\Permissions\Models\CheckoutPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/CheckoutPermissionsController.php', 'SureCart\Permissions\Models\CustomerPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/CustomerPermissionsController.php', 'SureCart\Permissions\Models\DownloadPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/DownloadPermissionsController.php', 'SureCart\Permissions\Models\InvoicePermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/InvoicePermissionsController.php', 'SureCart\Permissions\Models\LicensePermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/LicensePermissionsController.php', 'SureCart\Permissions\Models\MediaPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/MediaPermissionsController.php', 'SureCart\Permissions\Models\ModelPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/ModelPermissionsController.php', 'SureCart\Permissions\Models\OrderPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/OrderPermissionsController.php', 'SureCart\Permissions\Models\PaymentMethodPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/PaymentMethodPermissionsController.php', 'SureCart\Permissions\Models\PurchasePermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/PurchasePermissionsController.php', 'SureCart\Permissions\Models\RefundPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/RefundPermissionsController.php', 'SureCart\Permissions\Models\SubscriptionPermissionsController' => __DIR__ . '/../..' . '/app/src/Permissions/Models/SubscriptionPermissionsController.php', 'SureCart\Permissions\PermissionsService' => __DIR__ . '/../..' . '/app/src/Permissions/PermissionsService.php', 'SureCart\Permissions\PermissionsServiceProvider' => __DIR__ . '/../..' . '/app/src/Permissions/PermissionsServiceProvider.php', 'SureCart\Permissions\RolesService' => __DIR__ . '/../..' . '/app/src/Permissions/RolesService.php', 'SureCart\Permissions\SureCartSaltService' => __DIR__ . '/../..' . '/app/src/Permissions/SureCartSaltService.php', 'SureCart\Permissions\WPConfig\WPConfigTransformService' => __DIR__ . '/../..' . '/app/src/Permissions/WPConfig/WPConfigTransformService.php', 'SureCart\Request\RequestCacheService' => __DIR__ . '/../..' . '/app/src/Request/RequestCacheService.php', 'SureCart\Request\RequestService' => __DIR__ . '/../..' . '/app/src/Request/RequestService.php', 'SureCart\Request\RequestServiceProvider' => __DIR__ . '/../..' . '/app/src/Request/RequestServiceProvider.php', 'SureCart\Rest\AbandonedCheckoutProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AbandonedCheckoutProtocolRestServiceProvider.php', 'SureCart\Rest\AbandonedCheckoutRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AbandonedCheckoutRestServiceProvider.php', 'SureCart\Rest\AccountRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AccountRestServiceProvider.php', 'SureCart\Rest\ActivationRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ActivationRestServiceProvider.php', 'SureCart\Rest\AffiliationProductsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AffiliationProductsRestServiceProvider.php', 'SureCart\Rest\AffiliationProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AffiliationProtocolRestServiceProvider.php', 'SureCart\Rest\AffiliationRequestsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AffiliationRequestsRestServiceProvider.php', 'SureCart\Rest\AffiliationsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AffiliationsRestServiceProvider.php', 'SureCart\Rest\AutoFeeProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AutoFeeProtocolRestServiceProvider.php', 'SureCart\Rest\AutoFeeRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/AutoFeeRestServiceProvider.php', 'SureCart\Rest\BalanceTransactionRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/BalanceTransactionRestServiceProvider.php', 'SureCart\Rest\BatchesRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/BatchesRestServiceProvider.php', 'SureCart\Rest\BlockPatternsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/BlockPatternsRestServiceProvider.php', 'SureCart\Rest\BrandRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/BrandRestServiceProvider.php', 'SureCart\Rest\BumpRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/BumpRestServiceProvider.php', 'SureCart\Rest\BundleItemsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/BundleItemsRestServiceProvider.php', 'SureCart\Rest\CancellationActRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CancellationActRestServiceProvider.php', 'SureCart\Rest\CancellationReasonRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CancellationReasonRestServiceProvider.php', 'SureCart\Rest\ChargesRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ChargesRestServiceProvider.php', 'SureCart\Rest\CheckEmailRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CheckEmailRestServiceProvider.php', 'SureCart\Rest\CheckoutRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CheckoutRestServiceProvider.php', 'SureCart\Rest\ClicksRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ClicksRestServiceProvider.php', 'SureCart\Rest\CouponRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CouponRestServiceProvider.php', 'SureCart\Rest\CustomerNotificationProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CustomerNotificationProtocolRestServiceProvider.php', 'SureCart\Rest\CustomerPortalProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CustomerPortalProtocolRestServiceProvider.php', 'SureCart\Rest\CustomerRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/CustomerRestServiceProvider.php', 'SureCart\Rest\DisplayCurrencyRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/DisplayCurrencyRestServiceProvider.php', 'SureCart\Rest\DisputesRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/DisputesRestServiceProvider.php', 'SureCart\Rest\DownloadRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/DownloadRestServiceProvider.php', 'SureCart\Rest\DraftCheckoutRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/DraftCheckoutRestServiceProvider.php', 'SureCart\Rest\ExportsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ExportsRestServiceProvider.php', 'SureCart\Rest\FulfillmentRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/FulfillmentRestServiceProvider.php', 'SureCart\Rest\ImportRowsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ImportRowsRestServiceProvider.php', 'SureCart\Rest\IncomingWebhooksRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/IncomingWebhooksRestServiceProvider.php', 'SureCart\Rest\IntegrationProvidersRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/IntegrationProvidersRestServiceProvider.php', 'SureCart\Rest\IntegrationsCatalogRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/IntegrationsCatalogRestServiceProvider.php', 'SureCart\Rest\IntegrationsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/IntegrationsRestServiceProvider.php', 'SureCart\Rest\InvoicesRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/InvoicesRestServiceProvider.php', 'SureCart\Rest\LicenseRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/LicenseRestServiceProvider.php', 'SureCart\Rest\LineItemsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/LineItemsRestServiceProvider.php', 'SureCart\Rest\LoginRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/LoginRestServiceProvider.php', 'SureCart\Rest\ManualPaymentMethodsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ManualPaymentMethodsRestServiceProvider.php', 'SureCart\Rest\MediaRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/MediaRestServiceProvider.php', 'SureCart\Rest\OrderProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/OrderProtocolRestServiceProvider.php', 'SureCart\Rest\OrderRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/OrderRestServiceProvider.php', 'SureCart\Rest\ParcelTemplateRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ParcelTemplateRestServiceProvider.php', 'SureCart\Rest\PaymentIntentsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PaymentIntentsRestServiceProvider.php', 'SureCart\Rest\PaymentMethodsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PaymentMethodsRestServiceProvider.php', 'SureCart\Rest\PayoutGroupsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PayoutGroupsRestServiceProvider.php', 'SureCart\Rest\PayoutsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PayoutsRestServiceProvider.php', 'SureCart\Rest\PeriodRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PeriodRestServiceProvider.php', 'SureCart\Rest\PluginInstallerRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PluginInstallerRestServiceProvider.php', 'SureCart\Rest\PriceRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PriceRestServiceProvider.php', 'SureCart\Rest\ProcessorRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ProcessorRestServiceProvider.php', 'SureCart\Rest\ProductCollectionsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ProductCollectionsRestServiceProvider.php', 'SureCart\Rest\ProductGroupsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ProductGroupsRestServiceProvider.php', 'SureCart\Rest\ProductMediaRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ProductMediaRestServiceProvider.php', 'SureCart\Rest\ProductsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ProductsRestServiceProvider.php', 'SureCart\Rest\PromotionRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PromotionRestServiceProvider.php', 'SureCart\Rest\ProvisionalAccountRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ProvisionalAccountRestServiceProvider.php', 'SureCart\Rest\PurchasesRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/PurchasesRestServiceProvider.php', 'SureCart\Rest\ReferralItemsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReferralItemsRestServiceProvider.php', 'SureCart\Rest\ReferralsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReferralsRestServiceProvider.php', 'SureCart\Rest\RefundsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/RefundsRestServiceProvider.php', 'SureCart\Rest\RegisteredWebhookRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/RegisteredWebhookRestServiceProvider.php', 'SureCart\Rest\RestServiceInterface' => __DIR__ . '/../..' . '/app/src/Rest/RestServiceInterface.php', 'SureCart\Rest\RestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/RestServiceProvider.php', 'SureCart\Rest\ReturnItemsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReturnItemsRestServiceProvider.php', 'SureCart\Rest\ReturnReasonsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReturnReasonsRestServiceProvider.php', 'SureCart\Rest\ReturnRequestsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReturnRequestsRestServiceProvider.php', 'SureCart\Rest\ReviewProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReviewProtocolRestServiceProvider.php', 'SureCart\Rest\ReviewsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ReviewsRestServiceProvider.php', 'SureCart\Rest\RuleSchemaRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/RuleSchemaRestServiceProvider.php', 'SureCart\Rest\SettingsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/SettingsRestServiceProvider.php', 'SureCart\Rest\ShippingMethodRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ShippingMethodRestServiceProvider.php', 'SureCart\Rest\ShippingProfileRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ShippingProfileRestServiceProvider.php', 'SureCart\Rest\ShippingProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ShippingProtocolRestServiceProvider.php', 'SureCart\Rest\ShippingRateRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ShippingRateRestServiceProvider.php', 'SureCart\Rest\ShippingZoneRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/ShippingZoneRestServiceProvider.php', 'SureCart\Rest\SiteHealthRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/SiteHealthRestServiceProvider.php', 'SureCart\Rest\StatisticRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/StatisticRestServiceProvider.php', 'SureCart\Rest\SubscriptionProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/SubscriptionProtocolRestServiceProvider.php', 'SureCart\Rest\SubscriptionRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/SubscriptionRestServiceProvider.php', 'SureCart\Rest\SwapRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/SwapRestServiceProvider.php', 'SureCart\Rest\TaxOverrideRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/TaxOverrideRestServiceProvider.php', 'SureCart\Rest\TaxProtocolRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/TaxProtocolRestServiceProvider.php', 'SureCart\Rest\TaxRegistrationRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/TaxRegistrationRestServiceProvider.php', 'SureCart\Rest\TaxZoneRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/TaxZoneRestServiceProvider.php', 'SureCart\Rest\UploadsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/UploadsRestServiceProvider.php', 'SureCart\Rest\UpsellFunnelRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/UpsellFunnelRestServiceProvider.php', 'SureCart\Rest\UpsellRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/UpsellRestServiceProvider.php', 'SureCart\Rest\VariantOptionsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/VariantOptionsRestServiceProvider.php', 'SureCart\Rest\VariantValuesRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/VariantValuesRestServiceProvider.php', 'SureCart\Rest\VariantsRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/VariantsRestServiceProvider.php', 'SureCart\Rest\VerificationCodeRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/VerificationCodeRestServiceProvider.php', 'SureCart\Rest\WebhooksRestServiceProvider' => __DIR__ . '/../..' . '/app/src/Rest/WebhooksRestServiceProvider.php', 'SureCart\Routing\AdminRouteService' => __DIR__ . '/../..' . '/app/src/Routing/AdminRouteService.php', 'SureCart\Routing\AdminRouteServiceProvider' => __DIR__ . '/../..' . '/app/src/Routing/AdminRouteServiceProvider.php', 'SureCart\Routing\AdminURLService' => __DIR__ . '/../..' . '/app/src/Routing/AdminURLService.php', 'SureCart\Routing\PermalinkService' => __DIR__ . '/../..' . '/app/src/Routing/PermalinkService.php', 'SureCart\Routing\PermalinkServiceProvider' => __DIR__ . '/../..' . '/app/src/Routing/PermalinkServiceProvider.php', 'SureCart\Routing\PermalinkSettingService' => __DIR__ . '/../..' . '/app/src/Routing/PermalinkSettingService.php', 'SureCart\Routing\PermalinksSettingsService' => __DIR__ . '/../..' . '/app/src/Routing/PermalinksSettingsService.php', 'SureCart\Routing\RouteConditionsServiceProvider' => __DIR__ . '/../..' . '/app/src/Routing/RouteConditionsServiceProvider.php', 'SureCart\Settings\RegisterSettingService' => __DIR__ . '/../..' . '/app/src/Settings/RegisterSettingService.php', 'SureCart\Settings\SettingService' => __DIR__ . '/../..' . '/app/src/Settings/SettingService.php', 'SureCart\Settings\SettingsServiceProvider' => __DIR__ . '/../..' . '/app/src/Settings/SettingsServiceProvider.php', 'SureCart\Support\Arrays' => __DIR__ . '/../..' . '/app/src/Support/Arrays.php', 'SureCart\Support\Blocks\TemplateUtilityService' => __DIR__ . '/../..' . '/app/src/Support/Blocks/TemplateUtilityService.php', 'SureCart\Support\ColorService' => __DIR__ . '/../..' . '/app/src/Support/ColorService.php', 'SureCart\Support\Contracts\GalleryItem' => __DIR__ . '/../..' . '/app/src/Support/Contracts/GalleryItem.php', 'SureCart\Support\Contracts\PageModel' => __DIR__ . '/../..' . '/app/src/Support/Contracts/PageModel.php', 'SureCart\Support\Currency' => __DIR__ . '/../..' . '/app/src/Support/Currency.php', 'SureCart\Support\Encryption' => __DIR__ . '/../..' . '/app/src/Support/Encryption.php', 'SureCart\Support\Errors\ErrorsService' => __DIR__ . '/../..' . '/app/src/Support/Errors/ErrorsService.php', 'SureCart\Support\Errors\ErrorsServiceProvider' => __DIR__ . '/../..' . '/app/src/Support/Errors/ErrorsServiceProvider.php', 'SureCart\Support\Errors\ErrorsTranslationService' => __DIR__ . '/../..' . '/app/src/Support/Errors/ErrorsTranslationService.php', 'SureCart\Support\GitHubInstaller' => __DIR__ . '/../..' . '/app/src/Support/GitHubInstaller.php', 'SureCart\Support\Interval' => __DIR__ . '/../..' . '/app/src/Support/Interval.php', 'SureCart\Support\PublicCatalogData' => __DIR__ . '/../..' . '/app/src/Support/PublicCatalogData.php', 'SureCart\Support\Scripts\AdminModelEditController' => __DIR__ . '/../..' . '/app/src/Support/Scripts/AdminModelEditController.php', 'SureCart\Support\Server' => __DIR__ . '/../..' . '/app/src/Support/Server.php', 'SureCart\Support\TimeDate' => __DIR__ . '/../..' . '/app/src/Support/TimeDate.php', 'SureCart\Support\URL' => __DIR__ . '/../..' . '/app/src/Support/URL.php', 'SureCart\Support\UtilityService' => __DIR__ . '/../..' . '/app/src/Support/UtilityService.php', 'SureCart\Support\UtilityServiceProvider' => __DIR__ . '/../..' . '/app/src/Support/UtilityServiceProvider.php', 'SureCart\Svg\Svg' => __DIR__ . '/../..' . '/app/src/Svg/Svg.php', 'SureCart\Svg\SvgServiceProvider' => __DIR__ . '/../..' . '/app/src/Svg/SvgServiceProvider.php', 'SureCart\Sync\BatchCheckService' => __DIR__ . '/../..' . '/app/src/Sync/BatchCheckService.php', 'SureCart\Sync\Concerns\HasLockProcess' => __DIR__ . '/../..' . '/app/src/Sync/Concerns/HasLockProcess.php', 'SureCart\Sync\ContentSyncService' => __DIR__ . '/../..' . '/app/src/Sync/ContentSyncService.php', 'SureCart\Sync\CustomerSyncService' => __DIR__ . '/../..' . '/app/src/Sync/CustomerSyncService.php', 'SureCart\Sync\ImportState' => __DIR__ . '/../..' . '/app/src/Sync/ImportState.php', 'SureCart\Sync\Jobs\CleanupJob' => __DIR__ . '/../..' . '/app/src/Sync/Jobs/CleanupJob.php', 'SureCart\Sync\Jobs\Cleanup\CollectionsCleanupJob' => __DIR__ . '/../..' . '/app/src/Sync/Jobs/Cleanup/CollectionsCleanupJob.php', 'SureCart\Sync\Jobs\Cleanup\ProductsCleanupJob' => __DIR__ . '/../..' . '/app/src/Sync/Jobs/Cleanup/ProductsCleanupJob.php', 'SureCart\Sync\Jobs\JobService' => __DIR__ . '/../..' . '/app/src/Sync/Jobs/JobService.php', 'SureCart\Sync\Jobs\SyncJob' => __DIR__ . '/../..' . '/app/src/Sync/Jobs/SyncJob.php', 'SureCart\Sync\Jobs\Sync\ProductsSyncJob' => __DIR__ . '/../..' . '/app/src/Sync/Jobs/Sync/ProductsSyncJob.php', 'SureCart\Sync\PostSyncService' => __DIR__ . '/../..' . '/app/src/Sync/PostSyncService.php', 'SureCart\Sync\ProductSyncService' => __DIR__ . '/../..' . '/app/src/Sync/ProductSyncService.php', 'SureCart\Sync\ProductsSyncService' => __DIR__ . '/../..' . '/app/src/Sync/ProductsSyncService.php', 'SureCart\Sync\StoreSyncService' => __DIR__ . '/../..' . '/app/src/Sync/StoreSyncService.php', 'SureCart\Sync\SyncService' => __DIR__ . '/../..' . '/app/src/Sync/SyncService.php', 'SureCart\Sync\SyncServiceProvider' => __DIR__ . '/../..' . '/app/src/Sync/SyncServiceProvider.php', 'SureCart\Sync\Tasks\CollectionCleanupTask' => __DIR__ . '/../..' . '/app/src/Sync/Tasks/CollectionCleanupTask.php', 'SureCart\Sync\Tasks\ProductCleanupTask' => __DIR__ . '/../..' . '/app/src/Sync/Tasks/ProductCleanupTask.php', 'SureCart\Sync\Tasks\ProductSyncTask' => __DIR__ . '/../..' . '/app/src/Sync/Tasks/ProductSyncTask.php', 'SureCart\Sync\Tasks\Task' => __DIR__ . '/../..' . '/app/src/Sync/Tasks/Task.php', 'SureCart\Sync\WooCommerce\WooCommerceImportCleanupService' => __DIR__ . '/../..' . '/app/src/Sync/WooCommerce/WooCommerceImportCleanupService.php', 'SureCart\Sync\WooCommerce\WooCommerceImportJob' => __DIR__ . '/../..' . '/app/src/Sync/WooCommerce/WooCommerceImportJob.php', 'SureCart\Sync\WooCommerce\WooCommerceImportService' => __DIR__ . '/../..' . '/app/src/Sync/WooCommerce/WooCommerceImportService.php', 'SureCart\Sync\WooCommerce\WooCommerceImportTask' => __DIR__ . '/../..' . '/app/src/Sync/WooCommerce/WooCommerceImportTask.php', 'SureCart\Sync\WooCommerce\WooCommerceProductMapper' => __DIR__ . '/../..' . '/app/src/Sync/WooCommerce/WooCommerceProductMapper.php', 'SureCart\View\ViewServiceProvider' => __DIR__ . '/../..' . '/app/src/View/ViewServiceProvider.php', 'SureCart\Webhooks\WebhooksService' => __DIR__ . '/../..' . '/app/src/Webhooks/WebhooksService.php', 'SureCart\Webhooks\WebhooksServiceProvider' => __DIR__ . '/../..' . '/app/src/Webhooks/WebhooksServiceProvider.php', 'SureCart\WordPress\ActionsService' => __DIR__ . '/../..' . '/app/src/WordPress/ActionsService.php', 'SureCart\WordPress\Admin\Menus\AdminMenuPageService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Menus/AdminMenuPageService.php', 'SureCart\WordPress\Admin\Menus\AdminMenuPageServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Menus/AdminMenuPageServiceProvider.php', 'SureCart\WordPress\Admin\Menus\AdminToolbarService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Menus/AdminToolbarService.php', 'SureCart\WordPress\Admin\Menus\ProductCollectionsMenuService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Menus/ProductCollectionsMenuService.php', 'SureCart\WordPress\Admin\Notices\AdminNoticesService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Notices/AdminNoticesService.php', 'SureCart\WordPress\Admin\Notices\AdminNoticesServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Notices/AdminNoticesServiceProvider.php', 'SureCart\WordPress\Admin\PluginCache\AdminPluginCacheService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/PluginCache/AdminPluginCacheService.php', 'SureCart\WordPress\Admin\Profile\UserProfileService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Profile/UserProfileService.php', 'SureCart\WordPress\Admin\Profile\UserProfileServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/Profile/UserProfileServiceProvider.php', 'SureCart\WordPress\Admin\SSLCheck\AdminSSLCheckService' => __DIR__ . '/../..' . '/app/src/WordPress/Admin/SSLCheck/AdminSSLCheckService.php', 'SureCart\WordPress\Assets\AssetsService' => __DIR__ . '/../..' . '/app/src/WordPress/Assets/AssetsService.php', 'SureCart\WordPress\Assets\AssetsServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Assets/AssetsServiceProvider.php', 'SureCart\WordPress\Assets\BlockAssetsLoadService' => __DIR__ . '/../..' . '/app/src/WordPress/Assets/BlockAssetsLoadService.php', 'SureCart\WordPress\Assets\PreloadService' => __DIR__ . '/../..' . '/app/src/WordPress/Assets/PreloadService.php', 'SureCart\WordPress\Assets\ScriptsService' => __DIR__ . '/../..' . '/app/src/WordPress/Assets/ScriptsService.php', 'SureCart\WordPress\Assets\StylesService' => __DIR__ . '/../..' . '/app/src/WordPress/Assets/StylesService.php', 'SureCart\WordPress\CLI\CLICommands' => __DIR__ . '/../..' . '/app/src/WordPress/CLI/CLICommands.php', 'SureCart\WordPress\CLI\CLIService' => __DIR__ . '/../..' . '/app/src/WordPress/CLI/CLIService.php', 'SureCart\WordPress\CLI\CLIServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/CLI/CLIServiceProvider.php', 'SureCart\WordPress\Cache\CacheService' => __DIR__ . '/../..' . '/app/src/WordPress/Cache/CacheService.php', 'SureCart\WordPress\Cache\CacheServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Cache/CacheServiceProvider.php', 'SureCart\WordPress\Cache\DoNotCachePageService' => __DIR__ . '/../..' . '/app/src/WordPress/Cache/DoNotCachePageService.php', 'SureCart\WordPress\Cache\LiteSpeedCacheService' => __DIR__ . '/../..' . '/app/src/WordPress/Cache/LiteSpeedCacheService.php', 'SureCart\WordPress\Cache\W3TotalCacheService' => __DIR__ . '/../..' . '/app/src/WordPress/Cache/W3TotalCacheService.php', 'SureCart\WordPress\Cache\WpFastestCacheService' => __DIR__ . '/../..' . '/app/src/WordPress/Cache/WpFastestCacheService.php', 'SureCart\WordPress\CompatibilityService' => __DIR__ . '/../..' . '/app/src/WordPress/CompatibilityService.php', 'SureCart\WordPress\CurrencyService' => __DIR__ . '/../..' . '/app/src/WordPress/CurrencyService.php', 'SureCart\WordPress\GoogleMapApiService' => __DIR__ . '/../..' . '/app/src/WordPress/GoogleMapApiService.php', 'SureCart\WordPress\HealthService' => __DIR__ . '/../..' . '/app/src/WordPress/HealthService.php', 'SureCart\WordPress\LineItemStateService' => __DIR__ . '/../..' . '/app/src/WordPress/LineItemStateService.php', 'SureCart\WordPress\Pages\PageSeeder' => __DIR__ . '/../..' . '/app/src/WordPress/Pages/PageSeeder.php', 'SureCart\WordPress\Pages\PageService' => __DIR__ . '/../..' . '/app/src/WordPress/Pages/PageService.php', 'SureCart\WordPress\Pages\PageServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Pages/PageServiceProvider.php', 'SureCart\WordPress\PluginActionLinksService' => __DIR__ . '/../..' . '/app/src/WordPress/PluginActionLinksService.php', 'SureCart\WordPress\PluginService' => __DIR__ . '/../..' . '/app/src/WordPress/PluginService.php', 'SureCart\WordPress\PluginServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/PluginServiceProvider.php', 'SureCart\WordPress\PostTypes\CartPostTypeService' => __DIR__ . '/../..' . '/app/src/WordPress/PostTypes/CartPostTypeService.php', 'SureCart\WordPress\PostTypes\FormPostTypeService' => __DIR__ . '/../..' . '/app/src/WordPress/PostTypes/FormPostTypeService.php', 'SureCart\WordPress\PostTypes\PostTypeServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/PostTypes/PostTypeServiceProvider.php', 'SureCart\WordPress\PostTypes\ProductPostTypeService' => __DIR__ . '/../..' . '/app/src/WordPress/PostTypes/ProductPostTypeService.php', 'SureCart\WordPress\PostTypes\ProductUpsellPagePostTypeService' => __DIR__ . '/../..' . '/app/src/WordPress/PostTypes/ProductUpsellPagePostTypeService.php', 'SureCart\WordPress\Posts\PostService' => __DIR__ . '/../..' . '/app/src/WordPress/Posts/PostService.php', 'SureCart\WordPress\Posts\PostServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Posts/PostServiceProvider.php', 'SureCart\WordPress\RecaptchaValidationService' => __DIR__ . '/../..' . '/app/src/WordPress/RecaptchaValidationService.php', 'SureCart\WordPress\Shortcodes\ProductContextShortcodeWrapper' => __DIR__ . '/../..' . '/app/src/WordPress/Shortcodes/ProductContextShortcodeWrapper.php', 'SureCart\WordPress\Shortcodes\ShortcodesBlockConversionService' => __DIR__ . '/../..' . '/app/src/WordPress/Shortcodes/ShortcodesBlockConversionService.php', 'SureCart\WordPress\Shortcodes\ShortcodesService' => __DIR__ . '/../..' . '/app/src/WordPress/Shortcodes/ShortcodesService.php', 'SureCart\WordPress\Shortcodes\ShortcodesServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Shortcodes/ShortcodesServiceProvider.php', 'SureCart\WordPress\StateService' => __DIR__ . '/../..' . '/app/src/WordPress/StateService.php', 'SureCart\WordPress\Taxonomies\CollectionTaxonomyService' => __DIR__ . '/../..' . '/app/src/WordPress/Taxonomies/CollectionTaxonomyService.php', 'SureCart\WordPress\Taxonomies\StoreTaxonomyService' => __DIR__ . '/../..' . '/app/src/WordPress/Taxonomies/StoreTaxonomyService.php', 'SureCart\WordPress\Taxonomies\TaxonomyService' => __DIR__ . '/../..' . '/app/src/WordPress/Taxonomies/TaxonomyService.php', 'SureCart\WordPress\Taxonomies\TaxonomyServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Taxonomies/TaxonomyServiceProvider.php', 'SureCart\WordPress\Templates\BlockTemplatesService' => __DIR__ . '/../..' . '/app/src/WordPress/Templates/BlockTemplatesService.php', 'SureCart\WordPress\Templates\CollectionTemplateService' => __DIR__ . '/../..' . '/app/src/WordPress/Templates/CollectionTemplateService.php', 'SureCart\WordPress\Templates\TemplatesService' => __DIR__ . '/../..' . '/app/src/WordPress/Templates/TemplatesService.php', 'SureCart\WordPress\Templates\TemplatesServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Templates/TemplatesServiceProvider.php', 'SureCart\WordPress\Templates\UpsellTemplatesService' => __DIR__ . '/../..' . '/app/src/WordPress/Templates/UpsellTemplatesService.php', 'SureCart\WordPress\ThemeService' => __DIR__ . '/../..' . '/app/src/WordPress/ThemeService.php', 'SureCart\WordPress\ThemeServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/ThemeServiceProvider.php', 'SureCart\WordPress\TranslationsServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/TranslationsServiceProvider.php', 'SureCart\WordPress\UpgradeNoticeService' => __DIR__ . '/../..' . '/app/src/WordPress/UpgradeNoticeService.php', 'SureCart\WordPress\Users\CustomerLinkService' => __DIR__ . '/../..' . '/app/src/WordPress/Users/CustomerLinkService.php', 'SureCart\WordPress\Users\UsersService' => __DIR__ . '/../..' . '/app/src/WordPress/Users/UsersService.php', 'SureCart\WordPress\Users\UsersServiceProvider' => __DIR__ . '/../..' . '/app/src/WordPress/Users/UsersServiceProvider.php', 'TypistTech\Imposter\ArrayUtil' => __DIR__ . '/..' . '/typisttech/imposter/src/ArrayUtil.php', 'TypistTech\Imposter\Config' => __DIR__ . '/..' . '/typisttech/imposter/src/Config.php', 'TypistTech\Imposter\ConfigCollection' => __DIR__ . '/..' . '/typisttech/imposter/src/ConfigCollection.php', 'TypistTech\Imposter\ConfigCollectionFactory' => __DIR__ . '/..' . '/typisttech/imposter/src/ConfigCollectionFactory.php', 'TypistTech\Imposter\ConfigCollectionInterface' => __DIR__ . '/..' . '/typisttech/imposter/src/ConfigCollectionInterface.php', 'TypistTech\Imposter\ConfigFactory' => __DIR__ . '/..' . '/typisttech/imposter/src/ConfigFactory.php', 'TypistTech\Imposter\ConfigInterface' => __DIR__ . '/..' . '/typisttech/imposter/src/ConfigInterface.php', 'TypistTech\Imposter\Filesystem' => __DIR__ . '/..' . '/typisttech/imposter/src/Filesystem.php', 'TypistTech\Imposter\FilesystemInterface' => __DIR__ . '/..' . '/typisttech/imposter/src/FilesystemInterface.php', 'TypistTech\Imposter\Imposter' => __DIR__ . '/..' . '/typisttech/imposter/src/Imposter.php', 'TypistTech\Imposter\ImposterFactory' => __DIR__ . '/..' . '/typisttech/imposter/src/ImposterFactory.php', 'TypistTech\Imposter\ImposterInterface' => __DIR__ . '/..' . '/typisttech/imposter/src/ImposterInterface.php', 'TypistTech\Imposter\Plugin\AutoloadMerger' => __DIR__ . '/..' . '/typisttech/imposter-plugin/src/AutoloadMerger.php', 'TypistTech\Imposter\Plugin\ImposterPlugin' => __DIR__ . '/..' . '/typisttech/imposter-plugin/src/ImposterPlugin.php', 'TypistTech\Imposter\Plugin\Transformer' => __DIR__ . '/..' . '/typisttech/imposter-plugin/src/Transformer.php', 'TypistTech\Imposter\ProjectConfig' => __DIR__ . '/..' . '/typisttech/imposter/src/ProjectConfig.php', 'TypistTech\Imposter\ProjectConfigInterface' => __DIR__ . '/..' . '/typisttech/imposter/src/ProjectConfigInterface.php', 'TypistTech\Imposter\StringUtil' => __DIR__ . '/..' . '/typisttech/imposter/src/StringUtil.php', 'TypistTech\Imposter\Transformer' => __DIR__ . '/..' . '/typisttech/imposter/src/Transformer.php', 'TypistTech\Imposter\TransformerInterface' => __DIR__ . '/..' . '/typisttech/imposter/src/TransformerInterface.php'); public static function getInitializer(\Composer\Autoload\ClassLoader $loader) { } } } namespace Composer\Installers { abstract class BaseInstaller { protected $locations = array(); protected $composer; protected $package; protected $io; /** * Initializes base installer. * * @param PackageInterface $package * @param Composer $composer * @param IOInterface $io */ public function __construct(\Composer\Package\PackageInterface $package = null, \Composer\Composer $composer = null, \Composer\IO\IOInterface $io = null) { } /** * Return the install path based on package type. * * @param PackageInterface $package * @param string $frameworkType * @return string */ public function getInstallPath(\Composer\Package\PackageInterface $package, $frameworkType = '') { } /** * For an installer to override to modify the vars per installer. * * @param array $vars This will normally receive array{name: string, vendor: string, type: string} * @return array */ public function inflectPackageVars($vars) { } /** * Gets the installer's locations * * @return array map of package types => install path */ public function getLocations() { } /** * Replace vars in a path * * @param string $path * @param array $vars * @return string */ protected function templatePath($path, array $vars = array()) { } /** * Search through a passed paths array for a custom install path. * * @param array $paths * @param string $name * @param string $type * @param string $vendor = NULL * @return string|false */ protected function mapCustomInstallPaths(array $paths, $name, $type, $vendor = NULL) { } } class AglInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'More/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class AimeosInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extension' => 'ext/{$name}/'); } class AnnotateCmsInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'addons/modules/{$name}/', 'component' => 'addons/components/{$name}/', 'service' => 'addons/services/{$name}/'); } class AsgardInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'Modules/{$name}/', 'theme' => 'Themes/{$name}/'); /** * Format package name. * * For package type asgard-module, cut off a trailing '-plugin' if present. * * For package type asgard-theme, cut off a trailing '-theme' if present. * */ public function inflectPackageVars($vars) { } protected function inflectPluginVars($vars) { } protected function inflectThemeVars($vars) { } } class AttogramInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/'); } /** * Installer for Bitrix Framework. Supported types of extensions: * - `bitrix-d7-module` — copy the module to directory `bitrix/modules/.`. * - `bitrix-d7-component` — copy the component to directory `bitrix/components//`. * - `bitrix-d7-template` — copy the template to directory `bitrix/templates/_`. * * You can set custom path to directory with Bitrix kernel in `composer.json`: * * ```json * { * "extra": { * "bitrix-dir": "s1/bitrix" * } * } * ``` * * @author Nik Samokhvalov * @author Denis Kulichkin */ class BitrixInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array( 'module' => '{$bitrix_dir}/modules/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) 'component' => '{$bitrix_dir}/components/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) 'theme' => '{$bitrix_dir}/templates/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken) 'd7-module' => '{$bitrix_dir}/modules/{$vendor}.{$name}/', 'd7-component' => '{$bitrix_dir}/components/{$vendor}/{$name}/', 'd7-template' => '{$bitrix_dir}/templates/{$vendor}_{$name}/', ); /** * @var array Storage for informations about duplicates at all the time of installation packages. */ private static $checkedDuplicates = array(); /** * {@inheritdoc} */ public function inflectPackageVars($vars) { } /** * {@inheritdoc} */ protected function templatePath($path, array $vars = array()) { } /** * Duplicates search packages. * * @param string $path * @param array $vars */ protected function checkDuplicates($path, array $vars = array()) { } } class BonefishInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('package' => 'Packages/{$vendor}/{$name}/'); } class CakePHPInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'Plugin/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } /** * Change the default plugin location when cakephp >= 3.0 */ public function getLocations() { } /** * Check if CakePHP version matches against a version * * @param string $matcher * @param string $version * @return bool * @phpstan-param Constraint::STR_OP_* $matcher */ protected function matchesCakeVersion($matcher, $version) { } } class ChefInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('cookbook' => 'Chef/{$vendor}/{$name}/', 'role' => 'Chef/roles/{$name}/'); } class CiviCrmInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('ext' => 'ext/{$name}/'); } class ClanCatsFrameworkInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('ship' => 'CCF/orbit/{$name}/', 'theme' => 'CCF/app/themes/{$name}/'); } class CockpitInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'cockpit/modules/addons/{$name}/'); /** * Format module name. * * Strip `module-` prefix from package name. * * {@inheritDoc} */ public function inflectPackageVars($vars) { } public function inflectModuleVars($vars) { } } class CodeIgniterInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('library' => 'application/libraries/{$name}/', 'third-party' => 'application/third_party/{$name}/', 'module' => 'application/modules/{$name}/'); } class Concrete5Installer extends \Composer\Installers\BaseInstaller { protected $locations = array('core' => 'concrete/', 'block' => 'application/blocks/{$name}/', 'package' => 'packages/{$name}/', 'theme' => 'application/themes/{$name}/', 'update' => 'updates/{$name}/'); } /** * Installer for Craft Plugins */ class CraftInstaller extends \Composer\Installers\BaseInstaller { const NAME_PREFIX = 'craft'; const NAME_SUFFIX = 'plugin'; protected $locations = array('plugin' => 'craft/plugins/{$name}/'); /** * Strip `craft-` prefix and/or `-plugin` suffix from package names * * @param array $vars * * @return array */ final public function inflectPackageVars($vars) { } private function inflectPluginVars($vars) { } } class CroogoInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'Plugin/{$name}/', 'theme' => 'View/Themed/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class DecibelInstaller extends \Composer\Installers\BaseInstaller { /** @var array */ protected $locations = array('app' => 'app/{$name}/'); } class DframeInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$vendor}/{$name}/'); } class DokuWikiInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'lib/plugins/{$name}/', 'template' => 'lib/tpl/{$name}/'); /** * Format package name. * * For package type dokuwiki-plugin, cut off a trailing '-plugin', * or leading dokuwiki_ if present. * * For package type dokuwiki-template, cut off a trailing '-template' if present. * */ public function inflectPackageVars($vars) { } protected function inflectPluginVars($vars) { } protected function inflectTemplateVars($vars) { } } /** * Class DolibarrInstaller * * @package Composer\Installers * @author Raphaël Doursenaud */ class DolibarrInstaller extends \Composer\Installers\BaseInstaller { //TODO: Add support for scripts and themes protected $locations = array('module' => 'htdocs/custom/{$name}/'); } class DrupalInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('core' => 'core/', 'module' => 'modules/{$name}/', 'theme' => 'themes/{$name}/', 'library' => 'libraries/{$name}/', 'profile' => 'profiles/{$name}/', 'database-driver' => 'drivers/lib/Drupal/Driver/Database/{$name}/', 'drush' => 'drush/{$name}/', 'custom-theme' => 'themes/custom/{$name}/', 'custom-module' => 'modules/custom/{$name}/', 'custom-profile' => 'profiles/custom/{$name}/', 'drupal-multisite' => 'sites/{$name}/', 'console' => 'console/{$name}/', 'console-language' => 'console/language/{$name}/', 'config' => 'config/sync/'); } class ElggInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'mod/{$name}/'); } class EliasisInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('component' => 'components/{$name}/', 'module' => 'modules/{$name}/', 'plugin' => 'plugins/{$name}/', 'template' => 'templates/{$name}/'); } class ExpressionEngineInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array(); private $ee2Locations = array('addon' => 'system/expressionengine/third_party/{$name}/', 'theme' => 'themes/third_party/{$name}/'); private $ee3Locations = array('addon' => 'system/user/addons/{$name}/', 'theme' => 'themes/user/{$name}/'); public function getInstallPath(\Composer\Package\PackageInterface $package, $frameworkType = '') { } } class EzPlatformInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('meta-assets' => 'web/assets/ezplatform/', 'assets' => 'web/assets/ezplatform/{$name}/'); } class FuelInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'fuel/app/modules/{$name}/', 'package' => 'fuel/packages/{$name}/', 'theme' => 'fuel/app/themes/{$name}/'); } class FuelphpInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('component' => 'components/{$name}/'); } class GravInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'user/plugins/{$name}/', 'theme' => 'user/themes/{$name}/'); /** * Format package name * * @param array $vars * * @return array */ public function inflectPackageVars($vars) { } } class HuradInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/', 'theme' => 'plugins/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class ImageCMSInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('template' => 'templates/{$name}/', 'module' => 'application/modules/{$name}/', 'library' => 'application/libraries/{$name}/'); } class Installer extends \Composer\Installer\LibraryInstaller { /** * Package types to installer class map * * @var array */ private $supportedTypes = array('aimeos' => 'AimeosInstaller', 'asgard' => 'AsgardInstaller', 'attogram' => 'AttogramInstaller', 'agl' => 'AglInstaller', 'annotatecms' => 'AnnotateCmsInstaller', 'bitrix' => 'BitrixInstaller', 'bonefish' => 'BonefishInstaller', 'cakephp' => 'CakePHPInstaller', 'chef' => 'ChefInstaller', 'civicrm' => 'CiviCrmInstaller', 'ccframework' => 'ClanCatsFrameworkInstaller', 'cockpit' => 'CockpitInstaller', 'codeigniter' => 'CodeIgniterInstaller', 'concrete5' => 'Concrete5Installer', 'craft' => 'CraftInstaller', 'croogo' => 'CroogoInstaller', 'dframe' => 'DframeInstaller', 'dokuwiki' => 'DokuWikiInstaller', 'dolibarr' => 'DolibarrInstaller', 'decibel' => 'DecibelInstaller', 'drupal' => 'DrupalInstaller', 'elgg' => 'ElggInstaller', 'eliasis' => 'EliasisInstaller', 'ee3' => 'ExpressionEngineInstaller', 'ee2' => 'ExpressionEngineInstaller', 'ezplatform' => 'EzPlatformInstaller', 'fuel' => 'FuelInstaller', 'fuelphp' => 'FuelphpInstaller', 'grav' => 'GravInstaller', 'hurad' => 'HuradInstaller', 'tastyigniter' => 'TastyIgniterInstaller', 'imagecms' => 'ImageCMSInstaller', 'itop' => 'ItopInstaller', 'joomla' => 'JoomlaInstaller', 'kanboard' => 'KanboardInstaller', 'kirby' => 'KirbyInstaller', 'known' => 'KnownInstaller', 'kodicms' => 'KodiCMSInstaller', 'kohana' => 'KohanaInstaller', 'lms' => 'LanManagementSystemInstaller', 'laravel' => 'LaravelInstaller', 'lavalite' => 'LavaLiteInstaller', 'lithium' => 'LithiumInstaller', 'magento' => 'MagentoInstaller', 'majima' => 'MajimaInstaller', 'mantisbt' => 'MantisBTInstaller', 'mako' => 'MakoInstaller', 'maya' => 'MayaInstaller', 'mautic' => 'MauticInstaller', 'mediawiki' => 'MediaWikiInstaller', 'miaoxing' => 'MiaoxingInstaller', 'microweber' => 'MicroweberInstaller', 'modulework' => 'MODULEWorkInstaller', 'modx' => 'ModxInstaller', 'modxevo' => 'MODXEvoInstaller', 'moodle' => 'MoodleInstaller', 'october' => 'OctoberInstaller', 'ontowiki' => 'OntoWikiInstaller', 'oxid' => 'OxidInstaller', 'osclass' => 'OsclassInstaller', 'pxcms' => 'PxcmsInstaller', 'phpbb' => 'PhpBBInstaller', 'pimcore' => 'PimcoreInstaller', 'piwik' => 'PiwikInstaller', 'plentymarkets' => 'PlentymarketsInstaller', 'ppi' => 'PPIInstaller', 'puppet' => 'PuppetInstaller', 'radphp' => 'RadPHPInstaller', 'phifty' => 'PhiftyInstaller', 'porto' => 'PortoInstaller', 'processwire' => 'ProcessWireInstaller', 'quicksilver' => 'PantheonInstaller', 'redaxo' => 'RedaxoInstaller', 'redaxo5' => 'Redaxo5Installer', 'reindex' => 'ReIndexInstaller', 'roundcube' => 'RoundcubeInstaller', 'shopware' => 'ShopwareInstaller', 'sitedirect' => 'SiteDirectInstaller', 'silverstripe' => 'SilverStripeInstaller', 'smf' => 'SMFInstaller', 'starbug' => 'StarbugInstaller', 'sydes' => 'SyDESInstaller', 'sylius' => 'SyliusInstaller', 'symfony1' => 'Symfony1Installer', 'tao' => 'TaoInstaller', 'thelia' => 'TheliaInstaller', 'tusk' => 'TuskInstaller', 'typo3-cms' => 'TYPO3CmsInstaller', 'typo3-flow' => 'TYPO3FlowInstaller', 'userfrosting' => 'UserFrostingInstaller', 'vanilla' => 'VanillaInstaller', 'whmcs' => 'WHMCSInstaller', 'winter' => 'WinterInstaller', 'wolfcms' => 'WolfCMSInstaller', 'wordpress' => 'WordPressInstaller', 'yawik' => 'YawikInstaller', 'zend' => 'ZendInstaller', 'zikula' => 'ZikulaInstaller', 'prestashop' => 'PrestashopInstaller'); /** * Installer constructor. * * Disables installers specified in main composer extra installer-disable * list * * @param IOInterface $io * @param Composer $composer * @param string $type * @param Filesystem|null $filesystem * @param BinaryInstaller|null $binaryInstaller */ public function __construct(\Composer\IO\IOInterface $io, \Composer\Composer $composer, $type = 'library', \Composer\Util\Filesystem $filesystem = null, \Composer\Installer\BinaryInstaller $binaryInstaller = null) { } /** * {@inheritDoc} */ public function getInstallPath(\Composer\Package\PackageInterface $package) { } public function uninstall(\Composer\Repository\InstalledRepositoryInterface $repo, \Composer\Package\PackageInterface $package) { } /** * {@inheritDoc} */ public function supports($packageType) { } /** * Finds a supported framework type if it exists and returns it * * @param string $type * @return string|false */ protected function findFrameworkType($type) { } /** * Get the second part of the regular expression to check for support of a * package type * * @param string $frameworkType * @return string */ protected function getLocationPattern($frameworkType) { } /** * Get I/O object * * @return IOInterface */ private function getIO() { } /** * Look for installers set to be disabled in composer's extra config and * remove them from the list of supported installers. * * Globals: * - true, "all", and "*" - disable all installers. * - false - enable all installers (useful with * wikimedia/composer-merge-plugin or similar) * * @return void */ protected function removeDisabledInstallers() { } } class ItopInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extension' => 'extensions/{$name}/'); } class JoomlaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('component' => 'components/{$name}/', 'module' => 'modules/{$name}/', 'template' => 'templates/{$name}/', 'plugin' => 'plugins/{$name}/', 'library' => 'libraries/{$name}/'); // TODO: Add inflector for mod_ and com_ names } /** * * Installer for kanboard plugins * * kanboard.net * * Class KanboardInstaller * @package Composer\Installers */ class KanboardInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); } class KirbyInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'site/plugins/{$name}/', 'field' => 'site/fields/{$name}/', 'tag' => 'site/tags/{$name}/'); } class KnownInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'IdnoPlugins/{$name}/', 'theme' => 'Themes/{$name}/', 'console' => 'ConsolePlugins/{$name}/'); } class KodiCMSInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'cms/plugins/{$name}/', 'media' => 'cms/media/vendor/{$name}/'); } class KohanaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/'); } class LanManagementSystemInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/', 'template' => 'templates/{$name}/', 'document-template' => 'documents/templates/{$name}/', 'userpanel-module' => 'userpanel/modules/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class LaravelInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('library' => 'libraries/{$name}/'); } class LavaLiteInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('package' => 'packages/{$vendor}/{$name}/', 'theme' => 'public/themes/{$name}/'); } class LithiumInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('library' => 'libraries/{$name}/', 'source' => 'libraries/_source/{$name}/'); } class MODULEWorkInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/'); } /** * An installer to handle MODX Evolution specifics when installing packages. */ class MODXEvoInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('snippet' => 'assets/snippets/{$name}/', 'plugin' => 'assets/plugins/{$name}/', 'module' => 'assets/modules/{$name}/', 'template' => 'assets/templates/{$name}/', 'lib' => 'assets/lib/{$name}/'); } class MagentoInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('theme' => 'app/design/frontend/{$name}/', 'skin' => 'skin/frontend/default/{$name}/', 'library' => 'lib/{$name}/'); } /** * Plugin/theme installer for majima * @author David Neustadt */ class MajimaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); /** * Transforms the names * @param array $vars * @return array */ public function inflectPackageVars($vars) { } /** * Change hyphenated names to camelcase * @param array $vars * @return array */ private function correctPluginName($vars) { } } class MakoInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('package' => 'app/packages/{$name}/'); } class MantisBTInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class MauticInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/', 'theme' => 'themes/{$name}/', 'core' => 'app/'); private function getDirectoryName() { } /** * @param string $packageName * * @return string */ private function toCamelCase($packageName) { } /** * Format package name of mautic-plugins to CamelCase */ public function inflectPackageVars($vars) { } } class MayaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/'); /** * Format package name. * * For package type maya-module, cut off a trailing '-module' if present. * */ public function inflectPackageVars($vars) { } protected function inflectModuleVars($vars) { } } class MediaWikiInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('core' => 'core/', 'extension' => 'extensions/{$name}/', 'skin' => 'skins/{$name}/'); /** * Format package name. * * For package type mediawiki-extension, cut off a trailing '-extension' if present and transform * to CamelCase keeping existing uppercase chars. * * For package type mediawiki-skin, cut off a trailing '-skin' if present. * */ public function inflectPackageVars($vars) { } protected function inflectExtensionVars($vars) { } protected function inflectSkinVars($vars) { } } class MiaoxingInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); } class MicroweberInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'userfiles/modules/{$install_item_dir}/', 'module-skin' => 'userfiles/modules/{$install_item_dir}/templates/', 'template' => 'userfiles/templates/{$install_item_dir}/', 'element' => 'userfiles/elements/{$install_item_dir}/', 'vendor' => 'vendor/{$install_item_dir}/', 'components' => 'components/{$install_item_dir}/'); /** * Format package name. * * For package type microweber-module, cut off a trailing '-module' if present * * For package type microweber-template, cut off a trailing '-template' if present. * */ public function inflectPackageVars($vars) { } protected function inflectTemplateVars($vars) { } protected function inflectTemplatesVars($vars) { } protected function inflectCoreVars($vars) { } protected function inflectModuleVars($vars) { } protected function inflectModulesVars($vars) { } protected function inflectSkinVars($vars) { } protected function inflectElementVars($vars) { } } /** * An installer to handle MODX specifics when installing packages. */ class ModxInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extra' => 'core/packages/{$name}/'); } class MoodleInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('mod' => 'mod/{$name}/', 'admin_report' => 'admin/report/{$name}/', 'atto' => 'lib/editor/atto/plugins/{$name}/', 'tool' => 'admin/tool/{$name}/', 'assignment' => 'mod/assignment/type/{$name}/', 'assignsubmission' => 'mod/assign/submission/{$name}/', 'assignfeedback' => 'mod/assign/feedback/{$name}/', 'auth' => 'auth/{$name}/', 'availability' => 'availability/condition/{$name}/', 'block' => 'blocks/{$name}/', 'booktool' => 'mod/book/tool/{$name}/', 'cachestore' => 'cache/stores/{$name}/', 'cachelock' => 'cache/locks/{$name}/', 'calendartype' => 'calendar/type/{$name}/', 'fileconverter' => 'files/converter/{$name}/', 'format' => 'course/format/{$name}/', 'coursereport' => 'course/report/{$name}/', 'customcertelement' => 'mod/customcert/element/{$name}/', 'datafield' => 'mod/data/field/{$name}/', 'datapreset' => 'mod/data/preset/{$name}/', 'editor' => 'lib/editor/{$name}/', 'enrol' => 'enrol/{$name}/', 'filter' => 'filter/{$name}/', 'gradeexport' => 'grade/export/{$name}/', 'gradeimport' => 'grade/import/{$name}/', 'gradereport' => 'grade/report/{$name}/', 'gradingform' => 'grade/grading/form/{$name}/', 'local' => 'local/{$name}/', 'logstore' => 'admin/tool/log/store/{$name}/', 'ltisource' => 'mod/lti/source/{$name}/', 'ltiservice' => 'mod/lti/service/{$name}/', 'message' => 'message/output/{$name}/', 'mnetservice' => 'mnet/service/{$name}/', 'plagiarism' => 'plagiarism/{$name}/', 'portfolio' => 'portfolio/{$name}/', 'qbehaviour' => 'question/behaviour/{$name}/', 'qformat' => 'question/format/{$name}/', 'qtype' => 'question/type/{$name}/', 'quizaccess' => 'mod/quiz/accessrule/{$name}/', 'quiz' => 'mod/quiz/report/{$name}/', 'report' => 'report/{$name}/', 'repository' => 'repository/{$name}/', 'scormreport' => 'mod/scorm/report/{$name}/', 'search' => 'search/engine/{$name}/', 'theme' => 'theme/{$name}/', 'tinymce' => 'lib/editor/tinymce/plugins/{$name}/', 'profilefield' => 'user/profile/field/{$name}/', 'webservice' => 'webservice/{$name}/', 'workshopallocation' => 'mod/workshop/allocation/{$name}/', 'workshopeval' => 'mod/workshop/eval/{$name}/', 'workshopform' => 'mod/workshop/form/{$name}/'); } class OctoberInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/', 'plugin' => 'plugins/{$vendor}/{$name}/', 'theme' => 'themes/{$vendor}-{$name}/'); /** * Format package name. * * For package type october-plugin, cut off a trailing '-plugin' if present. * * For package type october-theme, cut off a trailing '-theme' if present. * */ public function inflectPackageVars($vars) { } protected function inflectPluginVars($vars) { } protected function inflectThemeVars($vars) { } } class OntoWikiInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extension' => 'extensions/{$name}/', 'theme' => 'extensions/themes/{$name}/', 'translation' => 'extensions/translations/{$name}/'); /** * Format package name to lower case and remove ".ontowiki" suffix */ public function inflectPackageVars($vars) { } } class OsclassInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'oc-content/plugins/{$name}/', 'theme' => 'oc-content/themes/{$name}/', 'language' => 'oc-content/languages/{$name}/'); } class OxidInstaller extends \Composer\Installers\BaseInstaller { const VENDOR_PATTERN = '/^modules\/(?P.+)\/.+/'; protected $locations = array('module' => 'modules/{$name}/', 'theme' => 'application/views/{$name}/', 'out' => 'out/{$name}/'); /** * getInstallPath * * @param PackageInterface $package * @param string $frameworkType * @return string */ public function getInstallPath(\Composer\Package\PackageInterface $package, $frameworkType = '') { } /** * prepareVendorDirectory * * Makes sure there is a vendormetadata.php file inside * the vendor folder if there is a vendor folder. * * @param string $installPath * @return void */ protected function prepareVendorDirectory($installPath) { } } class PPIInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/'); } class PantheonInstaller extends \Composer\Installers\BaseInstaller { /** @var array */ protected $locations = array('script' => 'web/private/scripts/quicksilver/{$name}', 'module' => 'web/private/scripts/quicksilver/{$name}'); } class PhiftyInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('bundle' => 'bundles/{$name}/', 'library' => 'libraries/{$name}/', 'framework' => 'frameworks/{$name}/'); } class PhpBBInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extension' => 'ext/{$vendor}/{$name}/', 'language' => 'language/{$name}/', 'style' => 'styles/{$name}/'); } class PimcoreInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } /** * Class PiwikInstaller * * @package Composer\Installers */ class PiwikInstaller extends \Composer\Installers\BaseInstaller { /** * @var array */ protected $locations = array('plugin' => 'plugins/{$name}/'); /** * Format package name to CamelCase * @param array $vars * * @return array */ public function inflectPackageVars($vars) { } } class PlentymarketsInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => '{$name}/'); /** * Remove hyphen, "plugin" and format to camelcase * @param array $vars * * @return array */ public function inflectPackageVars($vars) { } } class Plugin implements \Composer\Plugin\PluginInterface { private $installer; public function activate(\Composer\Composer $composer, \Composer\IO\IOInterface $io) { } public function deactivate(\Composer\Composer $composer, \Composer\IO\IOInterface $io) { } public function uninstall(\Composer\Composer $composer, \Composer\IO\IOInterface $io) { } } class PortoInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('container' => 'app/Containers/{$name}/'); } class PrestashopInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/', 'theme' => 'themes/{$name}/'); } class ProcessWireInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'site/modules/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class PuppetInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/'); } class PxcmsInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'app/Modules/{$name}/', 'theme' => 'themes/{$name}/'); /** * Format package name. * * @param array $vars * * @return array */ public function inflectPackageVars($vars) { } /** * For package type pxcms-module, cut off a trailing '-plugin' if present. * * return string */ protected function inflectModuleVars($vars) { } /** * For package type pxcms-module, cut off a trailing '-plugin' if present. * * return string */ protected function inflectThemeVars($vars) { } } class RadPHPInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('bundle' => 'src/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } class ReIndexInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('theme' => 'themes/{$name}/', 'plugin' => 'plugins/{$name}/'); } class Redaxo5Installer extends \Composer\Installers\BaseInstaller { protected $locations = array('addon' => 'redaxo/src/addons/{$name}/', 'bestyle-plugin' => 'redaxo/src/addons/be_style/plugins/{$name}/'); } class RedaxoInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('addon' => 'redaxo/include/addons/{$name}/', 'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'); } class RoundcubeInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); /** * Lowercase name and changes the name to a underscores * * @param array $vars * @return array */ public function inflectPackageVars($vars) { } } class SMFInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'Sources/{$name}/', 'theme' => 'Themes/{$name}/'); } /** * Plugin/theme installer for shopware * @author Benjamin Boit */ class ShopwareInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/', 'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/', 'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/', 'theme' => 'templates/{$name}/', 'plugin' => 'custom/plugins/{$name}/', 'frontend-theme' => 'themes/Frontend/{$name}/'); /** * Transforms the names * @param array $vars * @return array */ public function inflectPackageVars($vars) { } /** * Changes the name to a camelcased combination of vendor and name * @param array $vars * @return array */ private function correctPluginName($vars) { } /** * Changes the name to a underscore separated name * @param array $vars * @return array */ private function correctThemeName($vars) { } } class SilverStripeInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => '{$name}/', 'theme' => 'themes/{$name}/'); /** * Return the install path based on package type. * * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0 * * @param PackageInterface $package * @param string $frameworkType * @return string */ public function getInstallPath(\Composer\Package\PackageInterface $package, $frameworkType = '') { } } class SiteDirectInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$vendor}/{$name}/', 'plugin' => 'plugins/{$vendor}/{$name}/'); public function inflectPackageVars($vars) { } protected function parseVars($vars) { } } class StarbugInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/', 'theme' => 'themes/{$name}/', 'custom-module' => 'app/modules/{$name}/', 'custom-theme' => 'app/themes/{$name}/'); } class SyDESInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'app/modules/{$name}/', 'theme' => 'themes/{$name}/'); /** * Format module name. * * Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present. * * {@inerhitDoc} */ public function inflectPackageVars($vars) { } public function inflectModuleVars($vars) { } protected function inflectThemeVars($vars) { } } class SyliusInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('theme' => 'themes/{$name}/'); } /** * Plugin installer for symfony 1.x * * @author Jérôme Tamarelle */ class Symfony1Installer extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/'); /** * Format package name to CamelCase */ public function inflectPackageVars($vars) { } } /** * Extension installer for TYPO3 CMS * * @deprecated since 1.0.25, use https://packagist.org/packages/typo3/cms-composer-installers instead * * @author Sascha Egerer */ class TYPO3CmsInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extension' => 'typo3conf/ext/{$name}/'); } /** * An installer to handle TYPO3 Flow specifics when installing packages. */ class TYPO3FlowInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('package' => 'Packages/Application/{$name}/', 'framework' => 'Packages/Framework/{$name}/', 'plugin' => 'Packages/Plugins/{$name}/', 'site' => 'Packages/Sites/{$name}/', 'boilerplate' => 'Packages/Boilerplates/{$name}/', 'build' => 'Build/{$name}/'); /** * Modify the package name to be a TYPO3 Flow style key. * * @param array $vars * @return array */ public function inflectPackageVars($vars) { } } /** * An installer to handle TAO extensions. */ class TaoInstaller extends \Composer\Installers\BaseInstaller { const EXTRA_TAO_EXTENSION_NAME = 'tao-extension-name'; protected $locations = array('extension' => '{$name}'); public function inflectPackageVars($vars) { } } class TastyIgniterInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('extension' => 'extensions/{$vendor}/{$name}/', 'theme' => 'themes/{$name}/'); /** * Format package name. * * Cut off leading 'ti-ext-' or 'ti-theme-' if present. * Strip vendor name of characters that is not alphanumeric or an underscore * */ public function inflectPackageVars($vars) { } } class TheliaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'local/modules/{$name}/', 'frontoffice-template' => 'templates/frontOffice/{$name}/', 'backoffice-template' => 'templates/backOffice/{$name}/', 'email-template' => 'templates/email/{$name}/'); } /** * Composer installer for 3rd party Tusk utilities * @author Drew Ewing */ class TuskInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('task' => '.tusk/tasks/{$name}/', 'command' => '.tusk/commands/{$name}/', 'asset' => 'assets/tusk/{$name}/'); } class UserFrostingInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('sprinkle' => 'app/sprinkles/{$name}/'); } class VanillaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'plugins/{$name}/', 'theme' => 'themes/{$name}/'); } class VgmcpInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('bundle' => 'src/{$vendor}/{$name}/', 'theme' => 'themes/{$name}/'); /** * Format package name. * * For package type vgmcp-bundle, cut off a trailing '-bundle' if present. * * For package type vgmcp-theme, cut off a trailing '-theme' if present. * */ public function inflectPackageVars($vars) { } protected function inflectPluginVars($vars) { } protected function inflectThemeVars($vars) { } } class WHMCSInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('addons' => 'modules/addons/{$vendor}_{$name}/', 'fraud' => 'modules/fraud/{$vendor}_{$name}/', 'gateways' => 'modules/gateways/{$vendor}_{$name}/', 'notifications' => 'modules/notifications/{$vendor}_{$name}/', 'registrars' => 'modules/registrars/{$vendor}_{$name}/', 'reports' => 'modules/reports/{$vendor}_{$name}/', 'security' => 'modules/security/{$vendor}_{$name}/', 'servers' => 'modules/servers/{$vendor}_{$name}/', 'social' => 'modules/social/{$vendor}_{$name}/', 'support' => 'modules/support/{$vendor}_{$name}/', 'templates' => 'templates/{$vendor}_{$name}/', 'includes' => 'includes/{$vendor}_{$name}/'); } class WinterInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$name}/', 'plugin' => 'plugins/{$vendor}/{$name}/', 'theme' => 'themes/{$name}/'); /** * Format package name. * * For package type winter-plugin, cut off a trailing '-plugin' if present. * * For package type winter-theme, cut off a trailing '-theme' if present. * */ public function inflectPackageVars($vars) { } protected function inflectModuleVars($vars) { } protected function inflectPluginVars($vars) { } protected function inflectThemeVars($vars) { } } class WolfCMSInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'wolf/plugins/{$name}/'); } class WordPressInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('plugin' => 'wp-content/plugins/{$name}/', 'theme' => 'wp-content/themes/{$name}/', 'muplugin' => 'wp-content/mu-plugins/{$name}/', 'dropin' => 'wp-content/{$name}/'); } class YawikInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'module/{$name}/'); /** * Format package name to CamelCase * @param array $vars * * @return array */ public function inflectPackageVars($vars) { } } class ZendInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('library' => 'library/{$name}/', 'extra' => 'extras/library/{$name}/', 'module' => 'module/{$name}/'); } class ZikulaInstaller extends \Composer\Installers\BaseInstaller { protected $locations = array('module' => 'modules/{$vendor}-{$name}/', 'theme' => 'themes/{$vendor}-{$name}/'); } } namespace SureCartVendors\Psr\Http\Message { /** * Describes a data stream. * * Typically, an instance will wrap a PHP stream; this interface provides * a wrapper around the most common operations, including serialization of * the entire stream to a string. */ interface StreamInterface { /** * Reads all data from the stream into a string, from the beginning to end. * * This method MUST attempt to seek to the beginning of the stream before * reading data and read the stream until the end is reached. * * Warning: This could attempt to load a large amount of data into memory. * * This method MUST NOT raise an exception in order to conform with PHP's * string casting operations. * * @see http://php.net/manual/en/language.oop5.magic.php#object.tostring * @return string */ public function __toString(); /** * Closes the stream and any underlying resources. * * @return void */ public function close(); /** * Separates any underlying resources from the stream. * * After the stream has been detached, the stream is in an unusable state. * * @return resource|null Underlying PHP stream, if any */ public function detach(); /** * Get the size of the stream if known. * * @return int|null Returns the size in bytes if known, or null if unknown. */ public function getSize(); /** * Returns the current position of the file read/write pointer * * @return int Position of the file pointer * @throws \RuntimeException on error. */ public function tell(); /** * Returns true if the stream is at the end of the stream. * * @return bool */ public function eof(); /** * Returns whether or not the stream is seekable. * * @return bool */ public function isSeekable(); /** * Seek to a position in the stream. * * @link http://www.php.net/manual/en/function.fseek.php * @param int $offset Stream offset * @param int $whence Specifies how the cursor position will be calculated * based on the seek offset. Valid values are identical to the built-in * PHP $whence values for `fseek()`. SEEK_SET: Set position equal to * offset bytes SEEK_CUR: Set position to current location plus offset * SEEK_END: Set position to end-of-stream plus offset. * @throws \RuntimeException on failure. */ public function seek(int $offset, int $whence = SEEK_SET); /** * Seek to the beginning of the stream. * * If the stream is not seekable, this method will raise an exception; * otherwise, it will perform a seek(0). * * @see seek() * @link http://www.php.net/manual/en/function.fseek.php * @throws \RuntimeException on failure. */ public function rewind(); /** * Returns whether or not the stream is writable. * * @return bool */ public function isWritable(); /** * Write data to the stream. * * @param string $string The string that is to be written. * @return int Returns the number of bytes written to the stream. * @throws \RuntimeException on failure. */ public function write(string $string); /** * Returns whether or not the stream is readable. * * @return bool */ public function isReadable(); /** * Read data from the stream. * * @param int $length Read up to $length bytes from the object and return * them. Fewer than $length bytes may be returned if underlying stream * call returns fewer bytes. * @return string Returns the data read from the stream, or an empty string * if no bytes are available. * @throws \RuntimeException if an error occurs. */ public function read(int $length); /** * Returns the remaining contents in a string * * @return string * @throws \RuntimeException if unable to read or an error occurs while * reading. */ public function getContents(); /** * Get stream metadata as an associative array or retrieve a specific key. * * The keys returned are identical to the keys returned from PHP's * stream_get_meta_data() function. * * @link http://php.net/manual/en/function.stream-get-meta-data.php * @param string|null $key Specific metadata to retrieve. * @return array|mixed|null Returns an associative array if no key is * provided. Returns a specific key value if a key is provided and the * value is found, or null if the key is not found. */ public function getMetadata(?string $key = null); } } namespace SureCartVendors\GuzzleHttp\Psr7 { /** * Reads from multiple streams, one after the other. * * This is a read-only stream decorator. */ final class AppendStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { /** @var StreamInterface[] Streams being decorated */ private $streams = []; /** @var bool */ private $seekable = true; /** @var int */ private $current = 0; /** @var int */ private $pos = 0; /** * @param StreamInterface[] $streams Streams to decorate. Each stream must * be readable. */ public function __construct(array $streams = []) { } public function __toString(): string { } /** * Add a stream to the AppendStream * * @param StreamInterface $stream Stream to append. Must be readable. * * @throws \InvalidArgumentException if the stream is not readable */ public function addStream(\SureCartVendors\Psr\Http\Message\StreamInterface $stream): void { } public function getContents(): string { } /** * Closes each attached stream. */ public function close(): void { } /** * Detaches each attached stream. * * Returns null as it's not clear which underlying stream resource to return. */ public function detach() { } public function tell(): int { } /** * Tries to calculate the size by adding the size of each stream. * * If any of the streams do not return a valid number, then the size of the * append stream cannot be determined and null is returned. */ public function getSize(): ?int { } public function eof(): bool { } public function rewind(): void { } /** * Attempts to seek to the given position. Only supports SEEK_SET. */ public function seek($offset, $whence = SEEK_SET): void { } /** * Reads from all of the appended streams until the length is met or EOF. */ public function read($length): string { } public function isReadable(): bool { } public function isWritable(): bool { } public function isSeekable(): bool { } public function write($string): int { } /** * @return mixed */ public function getMetadata($key = null) { } } /** * Provides a buffer stream that can be written to to fill a buffer, and read * from to remove bytes from the buffer. * * This stream returns a "hwm" metadata value that tells upstream consumers * what the configured high water mark of the stream is, or the maximum * preferred size of the buffer. */ final class BufferStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { /** @var int */ private $hwm; /** @var string */ private $buffer = ''; /** * @param int $hwm High water mark, representing the preferred maximum * buffer size. If the size of the buffer exceeds the high * water mark, then calls to write will continue to succeed * but will return 0 to inform writers to slow down * until the buffer has been drained by reading from it. */ public function __construct(int $hwm = 16384) { } public function __toString(): string { } public function getContents(): string { } public function close(): void { } public function detach() { } public function getSize(): ?int { } public function isReadable(): bool { } public function isWritable(): bool { } public function isSeekable(): bool { } public function rewind(): void { } public function seek($offset, $whence = SEEK_SET): void { } public function eof(): bool { } public function tell(): int { } /** * Reads data from the buffer. */ public function read($length): string { } /** * Writes data to the buffer. */ public function write($string): int { } /** * @return mixed */ public function getMetadata($key = null) { } } /** * Stream decorator trait * * @property StreamInterface $stream */ trait StreamDecoratorTrait { /** * @param StreamInterface $stream Stream to decorate */ public function __construct(\SureCartVendors\Psr\Http\Message\StreamInterface $stream) { } /** * Magic method used to create a new stream if streams are not added in * the constructor of a decorator (e.g., LazyOpenStream). * * @return StreamInterface */ public function __get(string $name) { } public function __toString(): string { } public function getContents(): string { } /** * Allow decorators to implement custom methods * * @return mixed */ public function __call(string $method, array $args) { } public function close(): void { } /** * @return mixed */ public function getMetadata($key = null) { } public function detach() { } public function getSize(): ?int { } public function eof(): bool { } public function tell(): int { } public function isReadable(): bool { } public function isWritable(): bool { } public function isSeekable(): bool { } public function rewind(): void { } public function seek($offset, $whence = SEEK_SET): void { } public function read($length): string { } public function write($string): int { } /** * Implement in subclasses to dynamically create streams when requested. * * @throws \BadMethodCallException */ protected function createStream(): \SureCartVendors\Psr\Http\Message\StreamInterface { } } /** * Stream decorator that can cache previously read bytes from a sequentially * read stream. */ final class CachingStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var StreamInterface Stream being wrapped */ private $remoteStream; /** @var int Number of bytes to skip reading due to a write on the buffer */ private $skipReadBytes = 0; /** * @var StreamInterface */ private $stream; /** * We will treat the buffer object as the body of the stream * * @param StreamInterface $stream Stream to cache. The cursor is assumed to be at the beginning of the stream. * @param StreamInterface $target Optionally specify where data is cached */ public function __construct(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, ?\SureCartVendors\Psr\Http\Message\StreamInterface $target = null) { } public function getSize(): ?int { } public function rewind(): void { } public function seek($offset, $whence = SEEK_SET): void { } public function read($length): string { } public function write($string): int { } public function eof(): bool { } /** * Close both the remote stream and buffer stream */ public function close(): void { } private function cacheEntireStream(): int { } } /** * Stream decorator that begins dropping data once the size of the underlying * stream becomes too full. */ final class DroppingStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var int */ private $maxLength; /** @var StreamInterface */ private $stream; /** * @param StreamInterface $stream Underlying stream to decorate. * @param int $maxLength Maximum size before dropping data. */ public function __construct(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, int $maxLength) { } public function write($string): int { } } } namespace SureCartVendors\GuzzleHttp\Psr7\Exception { /** * Exception thrown if a URI cannot be parsed because it's malformed. */ class MalformedUriException extends \InvalidArgumentException { } } namespace SureCartVendors\GuzzleHttp\Psr7 { /** * Compose stream implementations based on a hash of functions. * * Allows for easy testing and extension of a provided stream without needing * to create a concrete class for a simple extension point. */ #[\AllowDynamicProperties] final class FnStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { private const SLOTS = ['__toString', 'close', 'detach', 'rewind', 'getSize', 'tell', 'eof', 'isSeekable', 'seek', 'isWritable', 'write', 'isReadable', 'read', 'getContents', 'getMetadata']; /** @var array */ private $methods; /** * @param array $methods Hash of method name to a callable. */ public function __construct(array $methods) { } /** * Lazily determine which methods are not implemented. * * @throws \BadMethodCallException */ public function __get(string $name): void { } /** * The close method is called on the underlying stream only if possible. */ public function __destruct() { } /** * An unserialize would allow the __destruct to run when the unserialized value goes out of scope. * * @throws \LogicException */ public function __wakeup(): void { } /** * Adds custom functionality to an underlying stream by intercepting * specific method calls. * * @param StreamInterface $stream Stream to decorate * @param array $methods Hash of method name to a closure * * @return FnStream */ public static function decorate(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, array $methods) { } public function __toString(): string { } public function close(): void { } public function detach() { } public function getSize(): ?int { } public function tell(): int { } public function eof(): bool { } public function isSeekable(): bool { } public function rewind(): void { } public function seek($offset, $whence = SEEK_SET): void { } public function isWritable(): bool { } public function write($string): int { } public function isReadable(): bool { } public function read($length): string { } public function getContents(): string { } /** * @return mixed */ public function getMetadata($key = null) { } } final class Header { /** * Parse an array of header values containing ";" separated data into an * array of associative arrays representing the header key value pair data * of the header. When a parameter does not contain a value, but just * contains a key, this function will inject a key with a '' string value. * * @param string|array $header Header to parse into components. */ public static function parse($header): array { } /** * Converts an array of header values that may contain comma separated * headers into an array of headers with no comma separated values. * * @param string|array $header Header to normalize. * * @deprecated Use self::splitList() instead. */ public static function normalize($header): array { } /** * Splits a HTTP header defined to contain a comma-separated list into * each individual value. Empty values will be removed. * * Example headers include 'accept', 'cache-control' and 'if-none-match'. * * This method must not be used to parse headers that are not defined as * a list, such as 'user-agent' or 'set-cookie'. * * @param string|string[] $values Header value as returned by MessageInterface::getHeader() * * @return string[] */ public static function splitList($values): array { } } } namespace SureCartVendors\Psr\Http\Message { interface RequestFactoryInterface { /** * Create a new request. * * @param string $method The HTTP method associated with the request. * @param UriInterface|string $uri The URI associated with the request. If * the value is a string, the factory MUST create a UriInterface * instance based on it. * * @return RequestInterface */ public function createRequest(string $method, $uri): \SureCartVendors\Psr\Http\Message\RequestInterface; } interface ResponseFactoryInterface { /** * Create a new response. * * @param int $code HTTP status code; defaults to 200 * @param string $reasonPhrase Reason phrase to associate with status code * in generated response; if none is provided implementations MAY use * the defaults as suggested in the HTTP specification. * * @return ResponseInterface */ public function createResponse(int $code = 200, string $reasonPhrase = ''): \SureCartVendors\Psr\Http\Message\ResponseInterface; } interface ServerRequestFactoryInterface { /** * Create a new server request. * * Note that server-params are taken precisely as given - no parsing/processing * of the given values is performed, and, in particular, no attempt is made to * determine the HTTP method or URI, which must be provided explicitly. * * @param string $method The HTTP method associated with the request. * @param UriInterface|string $uri The URI associated with the request. If * the value is a string, the factory MUST create a UriInterface * instance based on it. * @param array $serverParams Array of SAPI parameters with which to seed * the generated request instance. * * @return ServerRequestInterface */ public function createServerRequest(string $method, $uri, array $serverParams = []): \SureCartVendors\Psr\Http\Message\ServerRequestInterface; } interface StreamFactoryInterface { /** * Create a new stream from a string. * * The stream SHOULD be created with a temporary resource. * * @param string $content String content with which to populate the stream. * * @return StreamInterface */ public function createStream(string $content = ''): \SureCartVendors\Psr\Http\Message\StreamInterface; /** * Create a stream from an existing file. * * The file MUST be opened using the given mode, which may be any mode * supported by the `fopen` function. * * The `$filename` MAY be any string supported by `fopen()`. * * @param string $filename Filename or stream URI to use as basis of stream. * @param string $mode Mode with which to open the underlying filename/stream. * * @return StreamInterface * @throws \RuntimeException If the file cannot be opened. * @throws \InvalidArgumentException If the mode is invalid. */ public function createStreamFromFile(string $filename, string $mode = 'r'): \SureCartVendors\Psr\Http\Message\StreamInterface; /** * Create a new stream from an existing resource. * * The stream MUST be readable and may be writable. * * @param resource $resource PHP resource to use as basis of stream. * * @return StreamInterface */ public function createStreamFromResource($resource): \SureCartVendors\Psr\Http\Message\StreamInterface; } interface UploadedFileFactoryInterface { /** * Create a new uploaded file. * * If a size is not provided it will be determined by checking the size of * the file. * * @see http://php.net/manual/features.file-upload.post-method.php * @see http://php.net/manual/features.file-upload.errors.php * * @param StreamInterface $stream Underlying stream representing the * uploaded file content. * @param int|null $size in bytes * @param int $error PHP file upload error * @param string|null $clientFilename Filename as provided by the client, if any. * @param string|null $clientMediaType Media type as provided by the client, if any. * * @return UploadedFileInterface * * @throws \InvalidArgumentException If the file resource is not readable. */ public function createUploadedFile(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, ?int $size = null, int $error = \UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null): \SureCartVendors\Psr\Http\Message\UploadedFileInterface; } interface UriFactoryInterface { /** * Create a new URI. * * @param string $uri * * @return UriInterface * * @throws \InvalidArgumentException If the given URI cannot be parsed. */ public function createUri(string $uri = ''): \SureCartVendors\Psr\Http\Message\UriInterface; } } namespace SureCartVendors\GuzzleHttp\Psr7 { /** * Implements all of the PSR-17 interfaces. * * Note: in consuming code it is recommended to require the implemented interfaces * and inject the instance of this class multiple times. */ final class HttpFactory implements \SureCartVendors\Psr\Http\Message\RequestFactoryInterface, \SureCartVendors\Psr\Http\Message\ResponseFactoryInterface, \SureCartVendors\Psr\Http\Message\ServerRequestFactoryInterface, \SureCartVendors\Psr\Http\Message\StreamFactoryInterface, \SureCartVendors\Psr\Http\Message\UploadedFileFactoryInterface, \SureCartVendors\Psr\Http\Message\UriFactoryInterface { public function createUploadedFile(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, ?int $size = null, int $error = \UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null): \SureCartVendors\Psr\Http\Message\UploadedFileInterface { } public function createStream(string $content = ''): \SureCartVendors\Psr\Http\Message\StreamInterface { } public function createStreamFromFile(string $file, string $mode = 'r'): \SureCartVendors\Psr\Http\Message\StreamInterface { } public function createStreamFromResource($resource): \SureCartVendors\Psr\Http\Message\StreamInterface { } public function createServerRequest(string $method, $uri, array $serverParams = []): \SureCartVendors\Psr\Http\Message\ServerRequestInterface { } public function createResponse(int $code = 200, string $reasonPhrase = ''): \SureCartVendors\Psr\Http\Message\ResponseInterface { } public function createRequest(string $method, $uri): \SureCartVendors\Psr\Http\Message\RequestInterface { } public function createUri(string $uri = ''): \SureCartVendors\Psr\Http\Message\UriInterface { } } /** * Uses PHP's zlib.inflate filter to inflate zlib (HTTP deflate, RFC1950) or gzipped (RFC1952) content. * * This stream decorator converts the provided stream to a PHP stream resource, * then appends the zlib.inflate filter. The stream is then converted back * to a Guzzle stream resource to be used as a Guzzle stream. * * @see https://datatracker.ietf.org/doc/html/rfc1950 * @see https://datatracker.ietf.org/doc/html/rfc1952 * @see https://www.php.net/manual/en/filters.compression.php */ final class InflateStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var StreamInterface */ private $stream; public function __construct(\SureCartVendors\Psr\Http\Message\StreamInterface $stream) { } } /** * Lazily reads or writes to a file that is opened only after an IO operation * take place on the stream. */ final class LazyOpenStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var string */ private $filename; /** @var string */ private $mode; /** * @var StreamInterface */ private $stream; /** * @param string $filename File to lazily open * @param string $mode fopen mode to use when opening the stream */ public function __construct(string $filename, string $mode) { } /** * Creates the underlying stream lazily when required. */ protected function createStream(): \SureCartVendors\Psr\Http\Message\StreamInterface { } } /** * Decorator used to return only a subset of a stream. */ final class LimitStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var int Offset to start reading from */ private $offset; /** @var int Limit the number of bytes that can be read */ private $limit; /** @var StreamInterface */ private $stream; /** * @param StreamInterface $stream Stream to wrap * @param int $limit Total number of bytes to allow to be read * from the stream. Pass -1 for no limit. * @param int $offset Position to seek to before reading (only * works on seekable streams). */ public function __construct(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, int $limit = -1, int $offset = 0) { } public function eof(): bool { } /** * Returns the size of the limited subset of data */ public function getSize(): ?int { } /** * Allow for a bounded seek on the read limited stream */ public function seek($offset, $whence = SEEK_SET): void { } /** * Give a relative tell() */ public function tell(): int { } /** * Set the offset to start limiting from * * @param int $offset Offset to seek to and begin byte limiting from * * @throws \RuntimeException if the stream cannot be seeked. */ public function setOffset(int $offset): void { } /** * Set the limit of bytes that the decorator allows to be read from the * stream. * * @param int $limit Number of bytes to allow to be read from the stream. * Use -1 for no limit. */ public function setLimit(int $limit): void { } public function read($length): string { } } final class Message { /** * Returns the string representation of an HTTP message. * * @param MessageInterface $message Message to convert to a string. */ public static function toString(\SureCartVendors\Psr\Http\Message\MessageInterface $message): string { } /** * Get a short summary of the message body. * * Will return `null` if the response is not printable. * * @param MessageInterface $message The message to get the body summary * @param int $truncateAt The maximum allowed size of the summary */ public static function bodySummary(\SureCartVendors\Psr\Http\Message\MessageInterface $message, int $truncateAt = 120): ?string { } /** * Attempts to rewind a message body and throws an exception on failure. * * The body of the message will only be rewound if a call to `tell()` * returns a value other than `0`. * * @param MessageInterface $message Message to rewind * * @throws \RuntimeException */ public static function rewindBody(\SureCartVendors\Psr\Http\Message\MessageInterface $message): void { } /** * Parses an HTTP message into an associative array. * * The array contains the "start-line" key containing the start line of * the message, "headers" key containing an associative array of header * array values, and a "body" key containing the body of the message. * * @param string $message HTTP request or response to parse. */ public static function parseMessage(string $message): array { } /** * Constructs a URI for an HTTP request message. * * @param string $path Path from the start-line * @param array $headers Array of headers (each value an array). */ public static function parseRequestUri(string $path, array $headers): string { } /** * Parses a request message string into a request object. * * @param string $message Request message string. */ public static function parseRequest(string $message): \SureCartVendors\Psr\Http\Message\RequestInterface { } /** * Parses a response message string into a response object. * * @param string $message Response message string. */ public static function parseResponse(string $message): \SureCartVendors\Psr\Http\Message\ResponseInterface { } } final class MimeType { private const MIME_TYPES = ['1km' => 'application/vnd.1000minds.decision-model+xml', '3dml' => 'text/vnd.in3d.3dml', '3ds' => 'image/x-3ds', '3g2' => 'video/3gpp2', '3gp' => 'video/3gp', '3gpp' => 'video/3gpp', '3mf' => 'model/3mf', '7z' => 'application/x-7z-compressed', '7zip' => 'application/x-7z-compressed', '123' => 'application/vnd.lotus-1-2-3', 'aab' => 'application/x-authorware-bin', 'aac' => 'audio/aac', 'aam' => 'application/x-authorware-map', 'aas' => 'application/x-authorware-seg', 'abw' => 'application/x-abiword', 'ac' => 'application/vnd.nokia.n-gage.ac+xml', 'ac3' => 'audio/ac3', 'acc' => 'application/vnd.americandynamics.acc', 'ace' => 'application/x-ace-compressed', 'acu' => 'application/vnd.acucobol', 'acutc' => 'application/vnd.acucorp', 'adp' => 'audio/adpcm', 'adts' => 'audio/aac', 'aep' => 'application/vnd.audiograph', 'afm' => 'application/x-font-type1', 'afp' => 'application/vnd.ibm.modcap', 'age' => 'application/vnd.age', 'ahead' => 'application/vnd.ahead.space', 'ai' => 'application/pdf', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'air' => 'application/vnd.adobe.air-application-installer-package+zip', 'ait' => 'application/vnd.dvb.ait', 'ami' => 'application/vnd.amiga.ami', 'aml' => 'application/automationml-aml+xml', 'amlx' => 'application/automationml-amlx+zip', 'amr' => 'audio/amr', 'apk' => 'application/vnd.android.package-archive', 'apng' => 'image/apng', 'appcache' => 'text/cache-manifest', 'appinstaller' => 'application/appinstaller', 'application' => 'application/x-ms-application', 'appx' => 'application/appx', 'appxbundle' => 'application/appxbundle', 'apr' => 'application/vnd.lotus-approach', 'arc' => 'application/x-freearc', 'arj' => 'application/x-arj', 'asc' => 'application/pgp-signature', 'asf' => 'video/x-ms-asf', 'asm' => 'text/x-asm', 'aso' => 'application/vnd.accpac.simply.aso', 'asx' => 'video/x-ms-asf', 'atc' => 'application/vnd.acucorp', 'atom' => 'application/atom+xml', 'atomcat' => 'application/atomcat+xml', 'atomdeleted' => 'application/atomdeleted+xml', 'atomsvc' => 'application/atomsvc+xml', 'atx' => 'application/vnd.antix.game-component', 'au' => 'audio/x-au', 'avci' => 'image/avci', 'avcs' => 'image/avcs', 'avi' => 'video/x-msvideo', 'avif' => 'image/avif', 'aw' => 'application/applixware', 'azf' => 'application/vnd.airzip.filesecure.azf', 'azs' => 'application/vnd.airzip.filesecure.azs', 'azv' => 'image/vnd.airzip.accelerator.azv', 'azw' => 'application/vnd.amazon.ebook', 'b16' => 'image/vnd.pco.b16', 'bat' => 'application/x-msdownload', 'bcpio' => 'application/x-bcpio', 'bdf' => 'application/x-font-bdf', 'bdm' => 'application/vnd.syncml.dm+wbxml', 'bdoc' => 'application/x-bdoc', 'bed' => 'application/vnd.realvnc.bed', 'bh2' => 'application/vnd.fujitsu.oasysprs', 'bin' => 'application/octet-stream', 'blb' => 'application/x-blorb', 'blorb' => 'application/x-blorb', 'bmi' => 'application/vnd.bmi', 'bmml' => 'application/vnd.balsamiq.bmml+xml', 'bmp' => 'image/bmp', 'book' => 'application/vnd.framemaker', 'box' => 'application/vnd.previewsystems.box', 'boz' => 'application/x-bzip2', 'bpk' => 'application/octet-stream', 'bpmn' => 'application/octet-stream', 'bsp' => 'model/vnd.valve.source.compiled-map', 'btf' => 'image/prs.btif', 'btif' => 'image/prs.btif', 'buffer' => 'application/octet-stream', 'bz' => 'application/x-bzip', 'bz2' => 'application/x-bzip2', 'c' => 'text/x-c', 'c4d' => 'application/vnd.clonk.c4group', 'c4f' => 'application/vnd.clonk.c4group', 'c4g' => 'application/vnd.clonk.c4group', 'c4p' => 'application/vnd.clonk.c4group', 'c4u' => 'application/vnd.clonk.c4group', 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', 'cab' => 'application/vnd.ms-cab-compressed', 'caf' => 'audio/x-caf', 'cap' => 'application/vnd.tcpdump.pcap', 'car' => 'application/vnd.curl.car', 'cat' => 'application/vnd.ms-pki.seccat', 'cb7' => 'application/x-cbr', 'cba' => 'application/x-cbr', 'cbr' => 'application/x-cbr', 'cbt' => 'application/x-cbr', 'cbz' => 'application/x-cbr', 'cc' => 'text/x-c', 'cco' => 'application/x-cocoa', 'cct' => 'application/x-director', 'ccxml' => 'application/ccxml+xml', 'cdbcmsg' => 'application/vnd.contact.cmsg', 'cdf' => 'application/x-netcdf', 'cdfx' => 'application/cdfx+xml', 'cdkey' => 'application/vnd.mediastation.cdkey', 'cdmia' => 'application/cdmi-capability', 'cdmic' => 'application/cdmi-container', 'cdmid' => 'application/cdmi-domain', 'cdmio' => 'application/cdmi-object', 'cdmiq' => 'application/cdmi-queue', 'cdr' => 'application/cdr', 'cdx' => 'chemical/x-cdx', 'cdxml' => 'application/vnd.chemdraw+xml', 'cdy' => 'application/vnd.cinderella', 'cer' => 'application/pkix-cert', 'cfs' => 'application/x-cfs-compressed', 'cgm' => 'image/cgm', 'chat' => 'application/x-chat', 'chm' => 'application/vnd.ms-htmlhelp', 'chrt' => 'application/vnd.kde.kchart', 'cif' => 'chemical/x-cif', 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', 'cil' => 'application/vnd.ms-artgalry', 'cjs' => 'application/node', 'cla' => 'application/vnd.claymore', 'class' => 'application/octet-stream', 'cld' => 'model/vnd.cld', 'clkk' => 'application/vnd.crick.clicker.keyboard', 'clkp' => 'application/vnd.crick.clicker.palette', 'clkt' => 'application/vnd.crick.clicker.template', 'clkw' => 'application/vnd.crick.clicker.wordbank', 'clkx' => 'application/vnd.crick.clicker', 'clp' => 'application/x-msclip', 'cmc' => 'application/vnd.cosmocaller', 'cmdf' => 'chemical/x-cmdf', 'cml' => 'chemical/x-cml', 'cmp' => 'application/vnd.yellowriver-custom-menu', 'cmx' => 'image/x-cmx', 'cod' => 'application/vnd.rim.cod', 'coffee' => 'text/coffeescript', 'com' => 'application/x-msdownload', 'conf' => 'text/plain', 'cpio' => 'application/x-cpio', 'cpl' => 'application/cpl+xml', 'cpp' => 'text/x-c', 'cpt' => 'application/mac-compactpro', 'crd' => 'application/x-mscardfile', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'crx' => 'application/x-chrome-extension', 'cryptonote' => 'application/vnd.rig.cryptonote', 'csh' => 'application/x-csh', 'csl' => 'application/vnd.citationstyles.style+xml', 'csml' => 'chemical/x-csml', 'csp' => 'application/vnd.commonspace', 'csr' => 'application/octet-stream', 'css' => 'text/css', 'cst' => 'application/x-director', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'curl' => 'text/vnd.curl', 'cwl' => 'application/cwl', 'cww' => 'application/prs.cww', 'cxt' => 'application/x-director', 'cxx' => 'text/x-c', 'dae' => 'model/vnd.collada+xml', 'daf' => 'application/vnd.mobius.daf', 'dart' => 'application/vnd.dart', 'dataless' => 'application/vnd.fdsn.seed', 'davmount' => 'application/davmount+xml', 'dbf' => 'application/vnd.dbf', 'dbk' => 'application/docbook+xml', 'dcr' => 'application/x-director', 'dcurl' => 'text/vnd.curl.dcurl', 'dd2' => 'application/vnd.oma.dd2+xml', 'ddd' => 'application/vnd.fujixerox.ddd', 'ddf' => 'application/vnd.syncml.dmddf+xml', 'dds' => 'image/vnd.ms-dds', 'deb' => 'application/x-debian-package', 'def' => 'text/plain', 'deploy' => 'application/octet-stream', 'der' => 'application/x-x509-ca-cert', 'dfac' => 'application/vnd.dreamfactory', 'dgc' => 'application/x-dgc-compressed', 'dib' => 'image/bmp', 'dic' => 'text/x-c', 'dir' => 'application/x-director', 'dis' => 'application/vnd.mobius.dis', 'disposition-notification' => 'message/disposition-notification', 'dist' => 'application/octet-stream', 'distz' => 'application/octet-stream', 'djv' => 'image/vnd.djvu', 'djvu' => 'image/vnd.djvu', 'dll' => 'application/octet-stream', 'dmg' => 'application/x-apple-diskimage', 'dmn' => 'application/octet-stream', 'dmp' => 'application/vnd.tcpdump.pcap', 'dms' => 'application/octet-stream', 'dna' => 'application/vnd.dna', 'doc' => 'application/msword', 'docm' => 'application/vnd.ms-word.template.macroEnabled.12', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dot' => 'application/msword', 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12', 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dp' => 'application/vnd.osgi.dp', 'dpg' => 'application/vnd.dpgraph', 'dpx' => 'image/dpx', 'dra' => 'audio/vnd.dra', 'drle' => 'image/dicom-rle', 'dsc' => 'text/prs.lines.tag', 'dssc' => 'application/dssc+der', 'dtb' => 'application/x-dtbook+xml', 'dtd' => 'application/xml-dtd', 'dts' => 'audio/vnd.dts', 'dtshd' => 'audio/vnd.dts.hd', 'dump' => 'application/octet-stream', 'dvb' => 'video/vnd.dvb.file', 'dvi' => 'application/x-dvi', 'dwd' => 'application/atsc-dwd+xml', 'dwf' => 'model/vnd.dwf', 'dwg' => 'image/vnd.dwg', 'dxf' => 'image/vnd.dxf', 'dxp' => 'application/vnd.spotfire.dxp', 'dxr' => 'application/x-director', 'ear' => 'application/java-archive', 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', 'ecma' => 'application/ecmascript', 'edm' => 'application/vnd.novadigm.edm', 'edx' => 'application/vnd.novadigm.edx', 'efif' => 'application/vnd.picsel', 'ei6' => 'application/vnd.pg.osasli', 'elc' => 'application/octet-stream', 'emf' => 'image/emf', 'eml' => 'message/rfc822', 'emma' => 'application/emma+xml', 'emotionml' => 'application/emotionml+xml', 'emz' => 'application/x-msmetafile', 'eol' => 'audio/vnd.digital-winds', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'es3' => 'application/vnd.eszigno3+xml', 'esa' => 'application/vnd.osgi.subsystem', 'esf' => 'application/vnd.epson.esf', 'et3' => 'application/vnd.eszigno3+xml', 'etx' => 'text/x-setext', 'eva' => 'application/x-eva', 'evy' => 'application/x-envoy', 'exe' => 'application/octet-stream', 'exi' => 'application/exi', 'exp' => 'application/express', 'exr' => 'image/aces', 'ext' => 'application/vnd.novadigm.ext', 'ez' => 'application/andrew-inset', 'ez2' => 'application/vnd.ezpix-album', 'ez3' => 'application/vnd.ezpix-package', 'f' => 'text/x-fortran', 'f4v' => 'video/mp4', 'f77' => 'text/x-fortran', 'f90' => 'text/x-fortran', 'fbs' => 'image/vnd.fastbidsheet', 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', 'fcs' => 'application/vnd.isac.fcs', 'fdf' => 'application/vnd.fdf', 'fdt' => 'application/fdt+xml', 'fe_launch' => 'application/vnd.denovo.fcselayout-link', 'fg5' => 'application/vnd.fujitsu.oasysgp', 'fgd' => 'application/x-director', 'fh' => 'image/x-freehand', 'fh4' => 'image/x-freehand', 'fh5' => 'image/x-freehand', 'fh7' => 'image/x-freehand', 'fhc' => 'image/x-freehand', 'fig' => 'application/x-xfig', 'fits' => 'image/fits', 'flac' => 'audio/x-flac', 'fli' => 'video/x-fli', 'flo' => 'application/vnd.micrografx.flo', 'flv' => 'video/x-flv', 'flw' => 'application/vnd.kde.kivio', 'flx' => 'text/vnd.fmi.flexstor', 'fly' => 'text/vnd.fly', 'fm' => 'application/vnd.framemaker', 'fnc' => 'application/vnd.frogans.fnc', 'fo' => 'application/vnd.software602.filler.form+xml', 'for' => 'text/x-fortran', 'fpx' => 'image/vnd.fpx', 'frame' => 'application/vnd.framemaker', 'fsc' => 'application/vnd.fsc.weblaunch', 'fst' => 'image/vnd.fst', 'ftc' => 'application/vnd.fluxtime.clip', 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', 'fvt' => 'video/vnd.fvt', 'fxp' => 'application/vnd.adobe.fxp', 'fxpl' => 'application/vnd.adobe.fxp', 'fzs' => 'application/vnd.fuzzysheet', 'g2w' => 'application/vnd.geoplan', 'g3' => 'image/g3fax', 'g3w' => 'application/vnd.geospace', 'gac' => 'application/vnd.groove-account', 'gam' => 'application/x-tads', 'gbr' => 'application/rpki-ghostbusters', 'gca' => 'application/x-gca-compressed', 'gdl' => 'model/vnd.gdl', 'gdoc' => 'application/vnd.google-apps.document', 'ged' => 'text/vnd.familysearch.gedcom', 'geo' => 'application/vnd.dynageo', 'geojson' => 'application/geo+json', 'gex' => 'application/vnd.geometry-explorer', 'ggb' => 'application/vnd.geogebra.file', 'ggt' => 'application/vnd.geogebra.tool', 'ghf' => 'application/vnd.groove-help', 'gif' => 'image/gif', 'gim' => 'application/vnd.groove-identity-message', 'glb' => 'model/gltf-binary', 'gltf' => 'model/gltf+json', 'gml' => 'application/gml+xml', 'gmx' => 'application/vnd.gmx', 'gnumeric' => 'application/x-gnumeric', 'gpg' => 'application/gpg-keys', 'gph' => 'application/vnd.flographit', 'gpx' => 'application/gpx+xml', 'gqf' => 'application/vnd.grafeq', 'gqs' => 'application/vnd.grafeq', 'gram' => 'application/srgs', 'gramps' => 'application/x-gramps-xml', 'gre' => 'application/vnd.geometry-explorer', 'grv' => 'application/vnd.groove-injector', 'grxml' => 'application/srgs+xml', 'gsf' => 'application/x-font-ghostscript', 'gsheet' => 'application/vnd.google-apps.spreadsheet', 'gslides' => 'application/vnd.google-apps.presentation', 'gtar' => 'application/x-gtar', 'gtm' => 'application/vnd.groove-tool-message', 'gtw' => 'model/vnd.gtw', 'gv' => 'text/vnd.graphviz', 'gxf' => 'application/gxf', 'gxt' => 'application/vnd.geonext', 'gz' => 'application/gzip', 'gzip' => 'application/gzip', 'h' => 'text/x-c', 'h261' => 'video/h261', 'h263' => 'video/h263', 'h264' => 'video/h264', 'hal' => 'application/vnd.hal+xml', 'hbci' => 'application/vnd.hbci', 'hbs' => 'text/x-handlebars-template', 'hdd' => 'application/x-virtualbox-hdd', 'hdf' => 'application/x-hdf', 'heic' => 'image/heic', 'heics' => 'image/heic-sequence', 'heif' => 'image/heif', 'heifs' => 'image/heif-sequence', 'hej2' => 'image/hej2k', 'held' => 'application/atsc-held+xml', 'hh' => 'text/x-c', 'hjson' => 'application/hjson', 'hlp' => 'application/winhlp', 'hpgl' => 'application/vnd.hp-hpgl', 'hpid' => 'application/vnd.hp-hpid', 'hps' => 'application/vnd.hp-hps', 'hqx' => 'application/mac-binhex40', 'hsj2' => 'image/hsj2', 'htc' => 'text/x-component', 'htke' => 'application/vnd.kenameaapp', 'htm' => 'text/html', 'html' => 'text/html', 'hvd' => 'application/vnd.yamaha.hv-dic', 'hvp' => 'application/vnd.yamaha.hv-voice', 'hvs' => 'application/vnd.yamaha.hv-script', 'i2g' => 'application/vnd.intergeo', 'icc' => 'application/vnd.iccprofile', 'ice' => 'x-conference/x-cooltalk', 'icm' => 'application/vnd.iccprofile', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ief' => 'image/ief', 'ifb' => 'text/calendar', 'ifm' => 'application/vnd.shana.informed.formdata', 'iges' => 'model/iges', 'igl' => 'application/vnd.igloader', 'igm' => 'application/vnd.insors.igm', 'igs' => 'model/iges', 'igx' => 'application/vnd.micrografx.igx', 'iif' => 'application/vnd.shana.informed.interchange', 'img' => 'application/octet-stream', 'imp' => 'application/vnd.accpac.simply.imp', 'ims' => 'application/vnd.ms-ims', 'in' => 'text/plain', 'ini' => 'text/plain', 'ink' => 'application/inkml+xml', 'inkml' => 'application/inkml+xml', 'install' => 'application/x-install-instructions', 'iota' => 'application/vnd.astraea-software.iota', 'ipfix' => 'application/ipfix', 'ipk' => 'application/vnd.shana.informed.package', 'irm' => 'application/vnd.ibm.rights-management', 'irp' => 'application/vnd.irepository.package+xml', 'iso' => 'application/x-iso9660-image', 'itp' => 'application/vnd.shana.informed.formtemplate', 'its' => 'application/its+xml', 'ivp' => 'application/vnd.immervision-ivp', 'ivu' => 'application/vnd.immervision-ivu', 'jad' => 'text/vnd.sun.j2me.app-descriptor', 'jade' => 'text/jade', 'jam' => 'application/vnd.jam', 'jar' => 'application/java-archive', 'jardiff' => 'application/x-java-archive-diff', 'java' => 'text/x-java-source', 'jhc' => 'image/jphc', 'jisp' => 'application/vnd.jisp', 'jls' => 'image/jls', 'jlt' => 'application/vnd.hp-jlyt', 'jng' => 'image/x-jng', 'jnlp' => 'application/x-java-jnlp-file', 'joda' => 'application/vnd.joost.joda-archive', 'jp2' => 'image/jp2', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpf' => 'image/jpx', 'jpg' => 'image/jpeg', 'jpg2' => 'image/jp2', 'jpgm' => 'video/jpm', 'jpgv' => 'video/jpeg', 'jph' => 'image/jph', 'jpm' => 'video/jpm', 'jpx' => 'image/jpx', 'js' => 'application/javascript', 'json' => 'application/json', 'json5' => 'application/json5', 'jsonld' => 'application/ld+json', 'jsonml' => 'application/jsonml+json', 'jsx' => 'text/jsx', 'jt' => 'model/jt', 'jxr' => 'image/jxr', 'jxra' => 'image/jxra', 'jxrs' => 'image/jxrs', 'jxs' => 'image/jxs', 'jxsc' => 'image/jxsc', 'jxsi' => 'image/jxsi', 'jxss' => 'image/jxss', 'kar' => 'audio/midi', 'karbon' => 'application/vnd.kde.karbon', 'kdb' => 'application/octet-stream', 'kdbx' => 'application/x-keepass2', 'key' => 'application/x-iwork-keynote-sffkey', 'kfo' => 'application/vnd.kde.kformula', 'kia' => 'application/vnd.kidspiration', 'kml' => 'application/vnd.google-earth.kml+xml', 'kmz' => 'application/vnd.google-earth.kmz', 'kne' => 'application/vnd.kinar', 'knp' => 'application/vnd.kinar', 'kon' => 'application/vnd.kde.kontour', 'kpr' => 'application/vnd.kde.kpresenter', 'kpt' => 'application/vnd.kde.kpresenter', 'kpxx' => 'application/vnd.ds-keypoint', 'ksp' => 'application/vnd.kde.kspread', 'ktr' => 'application/vnd.kahootz', 'ktx' => 'image/ktx', 'ktx2' => 'image/ktx2', 'ktz' => 'application/vnd.kahootz', 'kwd' => 'application/vnd.kde.kword', 'kwt' => 'application/vnd.kde.kword', 'lasxml' => 'application/vnd.las.las+xml', 'latex' => 'application/x-latex', 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', 'les' => 'application/vnd.hhe.lesson-player', 'less' => 'text/less', 'lgr' => 'application/lgr+xml', 'lha' => 'application/octet-stream', 'link66' => 'application/vnd.route66.link66+xml', 'list' => 'text/plain', 'list3820' => 'application/vnd.ibm.modcap', 'listafp' => 'application/vnd.ibm.modcap', 'litcoffee' => 'text/coffeescript', 'lnk' => 'application/x-ms-shortcut', 'log' => 'text/plain', 'lostxml' => 'application/lost+xml', 'lrf' => 'application/octet-stream', 'lrm' => 'application/vnd.ms-lrm', 'ltf' => 'application/vnd.frogans.ltf', 'lua' => 'text/x-lua', 'luac' => 'application/x-lua-bytecode', 'lvp' => 'audio/vnd.lucent.voice', 'lwp' => 'application/vnd.lotus-wordpro', 'lzh' => 'application/octet-stream', 'm1v' => 'video/mpeg', 'm2a' => 'audio/mpeg', 'm2v' => 'video/mpeg', 'm3a' => 'audio/mpeg', 'm3u' => 'text/plain', 'm3u8' => 'application/vnd.apple.mpegurl', 'm4a' => 'audio/x-m4a', 'm4p' => 'application/mp4', 'm4s' => 'video/iso.segment', 'm4u' => 'application/vnd.mpegurl', 'm4v' => 'video/x-m4v', 'm13' => 'application/x-msmediaview', 'm14' => 'application/x-msmediaview', 'm21' => 'application/mp21', 'ma' => 'application/mathematica', 'mads' => 'application/mads+xml', 'maei' => 'application/mmt-aei+xml', 'mag' => 'application/vnd.ecowin.chart', 'maker' => 'application/vnd.framemaker', 'man' => 'text/troff', 'manifest' => 'text/cache-manifest', 'map' => 'application/json', 'mar' => 'application/octet-stream', 'markdown' => 'text/markdown', 'mathml' => 'application/mathml+xml', 'mb' => 'application/mathematica', 'mbk' => 'application/vnd.mobius.mbk', 'mbox' => 'application/mbox', 'mc1' => 'application/vnd.medcalcdata', 'mcd' => 'application/vnd.mcd', 'mcurl' => 'text/vnd.curl.mcurl', 'md' => 'text/markdown', 'mdb' => 'application/x-msaccess', 'mdi' => 'image/vnd.ms-modi', 'mdx' => 'text/mdx', 'me' => 'text/troff', 'mesh' => 'model/mesh', 'meta4' => 'application/metalink4+xml', 'metalink' => 'application/metalink+xml', 'mets' => 'application/mets+xml', 'mfm' => 'application/vnd.mfmp', 'mft' => 'application/rpki-manifest', 'mgp' => 'application/vnd.osgeo.mapguide.package', 'mgz' => 'application/vnd.proteus.magazine', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mie' => 'application/x-mie', 'mif' => 'application/vnd.mif', 'mime' => 'message/rfc822', 'mj2' => 'video/mj2', 'mjp2' => 'video/mj2', 'mjs' => 'text/javascript', 'mk3d' => 'video/x-matroska', 'mka' => 'audio/x-matroska', 'mkd' => 'text/x-markdown', 'mks' => 'video/x-matroska', 'mkv' => 'video/x-matroska', 'mlp' => 'application/vnd.dolby.mlp', 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', 'mmf' => 'application/vnd.smaf', 'mml' => 'text/mathml', 'mmr' => 'image/vnd.fujixerox.edmics-mmr', 'mng' => 'video/x-mng', 'mny' => 'application/x-msmoney', 'mobi' => 'application/x-mobipocket-ebook', 'mods' => 'application/mods+xml', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mp2' => 'audio/mpeg', 'mp2a' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4s' => 'application/mp4', 'mp4v' => 'video/mp4', 'mp21' => 'application/mp21', 'mpc' => 'application/vnd.mophun.certificate', 'mpd' => 'application/dash+xml', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpf' => 'application/media-policy-dataset+xml', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'mpga' => 'audio/mpeg', 'mpkg' => 'application/vnd.apple.installer+xml', 'mpm' => 'application/vnd.blueice.multipass', 'mpn' => 'application/vnd.mophun.application', 'mpp' => 'application/vnd.ms-project', 'mpt' => 'application/vnd.ms-project', 'mpy' => 'application/vnd.ibm.minipay', 'mqy' => 'application/vnd.mobius.mqy', 'mrc' => 'application/marc', 'mrcx' => 'application/marcxml+xml', 'ms' => 'text/troff', 'mscml' => 'application/mediaservercontrol+xml', 'mseed' => 'application/vnd.fdsn.mseed', 'mseq' => 'application/vnd.mseq', 'msf' => 'application/vnd.epson.msf', 'msg' => 'application/vnd.ms-outlook', 'msh' => 'model/mesh', 'msi' => 'application/x-msdownload', 'msix' => 'application/msix', 'msixbundle' => 'application/msixbundle', 'msl' => 'application/vnd.mobius.msl', 'msm' => 'application/octet-stream', 'msp' => 'application/octet-stream', 'msty' => 'application/vnd.muvee.style', 'mtl' => 'model/mtl', 'mts' => 'model/vnd.mts', 'mus' => 'application/vnd.musician', 'musd' => 'application/mmt-usd+xml', 'musicxml' => 'application/vnd.recordare.musicxml+xml', 'mvb' => 'application/x-msmediaview', 'mvt' => 'application/vnd.mapbox-vector-tile', 'mwf' => 'application/vnd.mfer', 'mxf' => 'application/mxf', 'mxl' => 'application/vnd.recordare.musicxml', 'mxmf' => 'audio/mobile-xmf', 'mxml' => 'application/xv+xml', 'mxs' => 'application/vnd.triscape.mxs', 'mxu' => 'video/vnd.mpegurl', 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', 'n3' => 'text/n3', 'nb' => 'application/mathematica', 'nbp' => 'application/vnd.wolfram.player', 'nc' => 'application/x-netcdf', 'ncx' => 'application/x-dtbncx+xml', 'nfo' => 'text/x-nfo', 'ngdat' => 'application/vnd.nokia.n-gage.data', 'nitf' => 'application/vnd.nitf', 'nlu' => 'application/vnd.neurolanguage.nlu', 'nml' => 'application/vnd.enliven', 'nnd' => 'application/vnd.noblenet-directory', 'nns' => 'application/vnd.noblenet-sealer', 'nnw' => 'application/vnd.noblenet-web', 'npx' => 'image/vnd.net-fpx', 'nq' => 'application/n-quads', 'nsc' => 'application/x-conference', 'nsf' => 'application/vnd.lotus-notes', 'nt' => 'application/n-triples', 'ntf' => 'application/vnd.nitf', 'numbers' => 'application/x-iwork-numbers-sffnumbers', 'nzb' => 'application/x-nzb', 'oa2' => 'application/vnd.fujitsu.oasys2', 'oa3' => 'application/vnd.fujitsu.oasys3', 'oas' => 'application/vnd.fujitsu.oasys', 'obd' => 'application/x-msbinder', 'obgx' => 'application/vnd.openblox.game+xml', 'obj' => 'model/obj', 'oda' => 'application/oda', 'odb' => 'application/vnd.oasis.opendocument.database', 'odc' => 'application/vnd.oasis.opendocument.chart', 'odf' => 'application/vnd.oasis.opendocument.formula', 'odft' => 'application/vnd.oasis.opendocument.formula-template', 'odg' => 'application/vnd.oasis.opendocument.graphics', 'odi' => 'application/vnd.oasis.opendocument.image', 'odm' => 'application/vnd.oasis.opendocument.text-master', 'odp' => 'application/vnd.oasis.opendocument.presentation', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', 'odt' => 'application/vnd.oasis.opendocument.text', 'oga' => 'audio/ogg', 'ogex' => 'model/vnd.opengex', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'omdoc' => 'application/omdoc+xml', 'onepkg' => 'application/onenote', 'onetmp' => 'application/onenote', 'onetoc' => 'application/onenote', 'onetoc2' => 'application/onenote', 'opf' => 'application/oebps-package+xml', 'opml' => 'text/x-opml', 'oprc' => 'application/vnd.palm', 'opus' => 'audio/ogg', 'org' => 'text/x-org', 'osf' => 'application/vnd.yamaha.openscoreformat', 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', 'osm' => 'application/vnd.openstreetmap.data+xml', 'otc' => 'application/vnd.oasis.opendocument.chart-template', 'otf' => 'font/otf', 'otg' => 'application/vnd.oasis.opendocument.graphics-template', 'oth' => 'application/vnd.oasis.opendocument.text-web', 'oti' => 'application/vnd.oasis.opendocument.image-template', 'otp' => 'application/vnd.oasis.opendocument.presentation-template', 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', 'ott' => 'application/vnd.oasis.opendocument.text-template', 'ova' => 'application/x-virtualbox-ova', 'ovf' => 'application/x-virtualbox-ovf', 'owl' => 'application/rdf+xml', 'oxps' => 'application/oxps', 'oxt' => 'application/vnd.openofficeorg.extension', 'p' => 'text/x-pascal', 'p7a' => 'application/x-pkcs7-signature', 'p7b' => 'application/x-pkcs7-certificates', 'p7c' => 'application/pkcs7-mime', 'p7m' => 'application/pkcs7-mime', 'p7r' => 'application/x-pkcs7-certreqresp', 'p7s' => 'application/pkcs7-signature', 'p8' => 'application/pkcs8', 'p10' => 'application/x-pkcs10', 'p12' => 'application/x-pkcs12', 'pac' => 'application/x-ns-proxy-autoconfig', 'pages' => 'application/x-iwork-pages-sffpages', 'pas' => 'text/x-pascal', 'paw' => 'application/vnd.pawaafile', 'pbd' => 'application/vnd.powerbuilder6', 'pbm' => 'image/x-portable-bitmap', 'pcap' => 'application/vnd.tcpdump.pcap', 'pcf' => 'application/x-font-pcf', 'pcl' => 'application/vnd.hp-pcl', 'pclxl' => 'application/vnd.hp-pclxl', 'pct' => 'image/x-pict', 'pcurl' => 'application/vnd.curl.pcurl', 'pcx' => 'image/x-pcx', 'pdb' => 'application/x-pilot', 'pde' => 'text/x-processing', 'pdf' => 'application/pdf', 'pem' => 'application/x-x509-user-cert', 'pfa' => 'application/x-font-type1', 'pfb' => 'application/x-font-type1', 'pfm' => 'application/x-font-type1', 'pfr' => 'application/font-tdpfr', 'pfx' => 'application/x-pkcs12', 'pgm' => 'image/x-portable-graymap', 'pgn' => 'application/x-chess-pgn', 'pgp' => 'application/pgp', 'phar' => 'application/octet-stream', 'php' => 'application/x-httpd-php', 'php3' => 'application/x-httpd-php', 'php4' => 'application/x-httpd-php', 'phps' => 'application/x-httpd-php-source', 'phtml' => 'application/x-httpd-php', 'pic' => 'image/x-pict', 'pkg' => 'application/octet-stream', 'pki' => 'application/pkixcmp', 'pkipath' => 'application/pkix-pkipath', 'pkpass' => 'application/vnd.apple.pkpass', 'pl' => 'application/x-perl', 'plb' => 'application/vnd.3gpp.pic-bw-large', 'plc' => 'application/vnd.mobius.plc', 'plf' => 'application/vnd.pocketlearn', 'pls' => 'application/pls+xml', 'pm' => 'application/x-perl', 'pml' => 'application/vnd.ctc-posml', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'portpkg' => 'application/vnd.macports.portpkg', 'pot' => 'application/vnd.ms-powerpoint', 'potm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', 'ppa' => 'application/vnd.ms-powerpoint', 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12', 'ppd' => 'application/vnd.cups-ppd', 'ppm' => 'image/x-portable-pixmap', 'pps' => 'application/vnd.ms-powerpoint', 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppt' => 'application/powerpoint', 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pqa' => 'application/vnd.palm', 'prc' => 'model/prc', 'pre' => 'application/vnd.lotus-freelance', 'prf' => 'application/pics-rules', 'provx' => 'application/provenance+xml', 'ps' => 'application/postscript', 'psb' => 'application/vnd.3gpp.pic-bw-small', 'psd' => 'application/x-photoshop', 'psf' => 'application/x-font-linux-psf', 'pskcxml' => 'application/pskc+xml', 'pti' => 'image/prs.pti', 'ptid' => 'application/vnd.pvi.ptid1', 'pub' => 'application/x-mspublisher', 'pvb' => 'application/vnd.3gpp.pic-bw-var', 'pwn' => 'application/vnd.3m.post-it-notes', 'pya' => 'audio/vnd.ms-playready.media.pya', 'pyo' => 'model/vnd.pytha.pyox', 'pyox' => 'model/vnd.pytha.pyox', 'pyv' => 'video/vnd.ms-playready.media.pyv', 'qam' => 'application/vnd.epson.quickanime', 'qbo' => 'application/vnd.intu.qbo', 'qfx' => 'application/vnd.intu.qfx', 'qps' => 'application/vnd.publishare-delta-tree', 'qt' => 'video/quicktime', 'qwd' => 'application/vnd.quark.quarkxpress', 'qwt' => 'application/vnd.quark.quarkxpress', 'qxb' => 'application/vnd.quark.quarkxpress', 'qxd' => 'application/vnd.quark.quarkxpress', 'qxl' => 'application/vnd.quark.quarkxpress', 'qxt' => 'application/vnd.quark.quarkxpress', 'ra' => 'audio/x-realaudio', 'ram' => 'audio/x-pn-realaudio', 'raml' => 'application/raml+yaml', 'rapd' => 'application/route-apd+xml', 'rar' => 'application/x-rar', 'ras' => 'image/x-cmu-raster', 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', 'rdf' => 'application/rdf+xml', 'rdz' => 'application/vnd.data-vision.rdz', 'relo' => 'application/p2p-overlay+xml', 'rep' => 'application/vnd.businessobjects', 'res' => 'application/x-dtbresource+xml', 'rgb' => 'image/x-rgb', 'rif' => 'application/reginfo+xml', 'rip' => 'audio/vnd.rip', 'ris' => 'application/x-research-info-systems', 'rl' => 'application/resource-lists+xml', 'rlc' => 'image/vnd.fujixerox.edmics-rlc', 'rld' => 'application/resource-lists-diff+xml', 'rm' => 'audio/x-pn-realaudio', 'rmi' => 'audio/midi', 'rmp' => 'audio/x-pn-realaudio-plugin', 'rms' => 'application/vnd.jcp.javame.midlet-rms', 'rmvb' => 'application/vnd.rn-realmedia-vbr', 'rnc' => 'application/relax-ng-compact-syntax', 'rng' => 'application/xml', 'roa' => 'application/rpki-roa', 'roff' => 'text/troff', 'rp9' => 'application/vnd.cloanto.rp9', 'rpm' => 'audio/x-pn-realaudio-plugin', 'rpss' => 'application/vnd.nokia.radio-presets', 'rpst' => 'application/vnd.nokia.radio-preset', 'rq' => 'application/sparql-query', 'rs' => 'application/rls-services+xml', 'rsa' => 'application/x-pkcs7', 'rsat' => 'application/atsc-rsat+xml', 'rsd' => 'application/rsd+xml', 'rsheet' => 'application/urc-ressheet+xml', 'rss' => 'application/rss+xml', 'rtf' => 'text/rtf', 'rtx' => 'text/richtext', 'run' => 'application/x-makeself', 'rusd' => 'application/route-usd+xml', 'rv' => 'video/vnd.rn-realvideo', 's' => 'text/x-asm', 's3m' => 'audio/s3m', 'saf' => 'application/vnd.yamaha.smaf-audio', 'sass' => 'text/x-sass', 'sbml' => 'application/sbml+xml', 'sc' => 'application/vnd.ibm.secure-container', 'scd' => 'application/x-msschedule', 'scm' => 'application/vnd.lotus-screencam', 'scq' => 'application/scvp-cv-request', 'scs' => 'application/scvp-cv-response', 'scss' => 'text/x-scss', 'scurl' => 'text/vnd.curl.scurl', 'sda' => 'application/vnd.stardivision.draw', 'sdc' => 'application/vnd.stardivision.calc', 'sdd' => 'application/vnd.stardivision.impress', 'sdkd' => 'application/vnd.solent.sdkm+xml', 'sdkm' => 'application/vnd.solent.sdkm+xml', 'sdp' => 'application/sdp', 'sdw' => 'application/vnd.stardivision.writer', 'sea' => 'application/octet-stream', 'see' => 'application/vnd.seemail', 'seed' => 'application/vnd.fdsn.seed', 'sema' => 'application/vnd.sema', 'semd' => 'application/vnd.semd', 'semf' => 'application/vnd.semf', 'senmlx' => 'application/senml+xml', 'sensmlx' => 'application/sensml+xml', 'ser' => 'application/java-serialized-object', 'setpay' => 'application/set-payment-initiation', 'setreg' => 'application/set-registration-initiation', 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', 'sfs' => 'application/vnd.spotfire.sfs', 'sfv' => 'text/x-sfv', 'sgi' => 'image/sgi', 'sgl' => 'application/vnd.stardivision.writer-global', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'shex' => 'text/shex', 'shf' => 'application/shf+xml', 'shtml' => 'text/html', 'sid' => 'image/x-mrsid-image', 'sieve' => 'application/sieve', 'sig' => 'application/pgp-signature', 'sil' => 'audio/silk', 'silo' => 'model/mesh', 'sis' => 'application/vnd.symbian.install', 'sisx' => 'application/vnd.symbian.install', 'sit' => 'application/x-stuffit', 'sitx' => 'application/x-stuffitx', 'siv' => 'application/sieve', 'skd' => 'application/vnd.koan', 'skm' => 'application/vnd.koan', 'skp' => 'application/vnd.koan', 'skt' => 'application/vnd.koan', 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', 'slim' => 'text/slim', 'slm' => 'text/slim', 'sls' => 'application/route-s-tsid+xml', 'slt' => 'application/vnd.epson.salt', 'sm' => 'application/vnd.stepmania.stepchart', 'smf' => 'application/vnd.stardivision.math', 'smi' => 'application/smil', 'smil' => 'application/smil', 'smv' => 'video/x-smv', 'smzip' => 'application/vnd.stepmania.package', 'snd' => 'audio/basic', 'snf' => 'application/x-font-snf', 'so' => 'application/octet-stream', 'spc' => 'application/x-pkcs7-certificates', 'spdx' => 'text/spdx', 'spf' => 'application/vnd.yamaha.smaf-phrase', 'spl' => 'application/x-futuresplash', 'spot' => 'text/vnd.in3d.spot', 'spp' => 'application/scvp-vp-response', 'spq' => 'application/scvp-vp-request', 'spx' => 'audio/ogg', 'sql' => 'application/x-sql', 'src' => 'application/x-wais-source', 'srt' => 'application/x-subrip', 'sru' => 'application/sru+xml', 'srx' => 'application/sparql-results+xml', 'ssdl' => 'application/ssdl+xml', 'sse' => 'application/vnd.kodak-descriptor', 'ssf' => 'application/vnd.epson.ssf', 'ssml' => 'application/ssml+xml', 'sst' => 'application/octet-stream', 'st' => 'application/vnd.sailingtracker.track', 'stc' => 'application/vnd.sun.xml.calc.template', 'std' => 'application/vnd.sun.xml.draw.template', 'step' => 'application/STEP', 'stf' => 'application/vnd.wt.stf', 'sti' => 'application/vnd.sun.xml.impress.template', 'stk' => 'application/hyperstudio', 'stl' => 'model/stl', 'stp' => 'application/STEP', 'stpx' => 'model/step+xml', 'stpxz' => 'model/step-xml+zip', 'stpz' => 'model/step+zip', 'str' => 'application/vnd.pg.format', 'stw' => 'application/vnd.sun.xml.writer.template', 'styl' => 'text/stylus', 'stylus' => 'text/stylus', 'sub' => 'text/vnd.dvb.subtitle', 'sus' => 'application/vnd.sus-calendar', 'susp' => 'application/vnd.sus-calendar', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svc' => 'application/vnd.dvb.service', 'svd' => 'application/vnd.svd', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swa' => 'application/x-director', 'swf' => 'application/x-shockwave-flash', 'swi' => 'application/vnd.aristanetworks.swi', 'swidtag' => 'application/swid+xml', 'sxc' => 'application/vnd.sun.xml.calc', 'sxd' => 'application/vnd.sun.xml.draw', 'sxg' => 'application/vnd.sun.xml.writer.global', 'sxi' => 'application/vnd.sun.xml.impress', 'sxm' => 'application/vnd.sun.xml.math', 'sxw' => 'application/vnd.sun.xml.writer', 't' => 'text/troff', 't3' => 'application/x-t3vm-image', 't38' => 'image/t38', 'taglet' => 'application/vnd.mynfc', 'tao' => 'application/vnd.tao.intent-module-archive', 'tap' => 'image/vnd.tencent.tap', 'tar' => 'application/x-tar', 'tcap' => 'application/vnd.3gpp2.tcap', 'tcl' => 'application/x-tcl', 'td' => 'application/urc-targetdesc+xml', 'teacher' => 'application/vnd.smart.teacher', 'tei' => 'application/tei+xml', 'teicorpus' => 'application/tei+xml', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'text' => 'text/plain', 'tfi' => 'application/thraud+xml', 'tfm' => 'application/x-tex-tfm', 'tfx' => 'image/tiff-fx', 'tga' => 'image/x-tga', 'tgz' => 'application/x-tar', 'thmx' => 'application/vnd.ms-officetheme', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'tk' => 'application/x-tcl', 'tmo' => 'application/vnd.tmobile-livetv', 'toml' => 'application/toml', 'torrent' => 'application/x-bittorrent', 'tpl' => 'application/vnd.groove-tool-template', 'tpt' => 'application/vnd.trid.tpt', 'tr' => 'text/troff', 'tra' => 'application/vnd.trueapp', 'trig' => 'application/trig', 'trm' => 'application/x-msterminal', 'ts' => 'video/mp2t', 'tsd' => 'application/timestamped-data', 'tsv' => 'text/tab-separated-values', 'ttc' => 'font/collection', 'ttf' => 'font/ttf', 'ttl' => 'text/turtle', 'ttml' => 'application/ttml+xml', 'twd' => 'application/vnd.simtech-mindmapper', 'twds' => 'application/vnd.simtech-mindmapper', 'txd' => 'application/vnd.genomatix.tuxedo', 'txf' => 'application/vnd.mobius.txf', 'txt' => 'text/plain', 'u3d' => 'model/u3d', 'u8dsn' => 'message/global-delivery-status', 'u8hdr' => 'message/global-headers', 'u8mdn' => 'message/global-disposition-notification', 'u8msg' => 'message/global', 'u32' => 'application/x-authorware-bin', 'ubj' => 'application/ubjson', 'udeb' => 'application/x-debian-package', 'ufd' => 'application/vnd.ufdl', 'ufdl' => 'application/vnd.ufdl', 'ulx' => 'application/x-glulx', 'umj' => 'application/vnd.umajin', 'unityweb' => 'application/vnd.unity', 'uo' => 'application/vnd.uoml+xml', 'uoml' => 'application/vnd.uoml+xml', 'uri' => 'text/uri-list', 'uris' => 'text/uri-list', 'urls' => 'text/uri-list', 'usda' => 'model/vnd.usda', 'usdz' => 'model/vnd.usdz+zip', 'ustar' => 'application/x-ustar', 'utz' => 'application/vnd.uiq.theme', 'uu' => 'text/x-uuencode', 'uva' => 'audio/vnd.dece.audio', 'uvd' => 'application/vnd.dece.data', 'uvf' => 'application/vnd.dece.data', 'uvg' => 'image/vnd.dece.graphic', 'uvh' => 'video/vnd.dece.hd', 'uvi' => 'image/vnd.dece.graphic', 'uvm' => 'video/vnd.dece.mobile', 'uvp' => 'video/vnd.dece.pd', 'uvs' => 'video/vnd.dece.sd', 'uvt' => 'application/vnd.dece.ttml+xml', 'uvu' => 'video/vnd.uvvu.mp4', 'uvv' => 'video/vnd.dece.video', 'uvva' => 'audio/vnd.dece.audio', 'uvvd' => 'application/vnd.dece.data', 'uvvf' => 'application/vnd.dece.data', 'uvvg' => 'image/vnd.dece.graphic', 'uvvh' => 'video/vnd.dece.hd', 'uvvi' => 'image/vnd.dece.graphic', 'uvvm' => 'video/vnd.dece.mobile', 'uvvp' => 'video/vnd.dece.pd', 'uvvs' => 'video/vnd.dece.sd', 'uvvt' => 'application/vnd.dece.ttml+xml', 'uvvu' => 'video/vnd.uvvu.mp4', 'uvvv' => 'video/vnd.dece.video', 'uvvx' => 'application/vnd.dece.unspecified', 'uvvz' => 'application/vnd.dece.zip', 'uvx' => 'application/vnd.dece.unspecified', 'uvz' => 'application/vnd.dece.zip', 'vbox' => 'application/x-virtualbox-vbox', 'vbox-extpack' => 'application/x-virtualbox-vbox-extpack', 'vcard' => 'text/vcard', 'vcd' => 'application/x-cdlink', 'vcf' => 'text/x-vcard', 'vcg' => 'application/vnd.groove-vcard', 'vcs' => 'text/x-vcalendar', 'vcx' => 'application/vnd.vcx', 'vdi' => 'application/x-virtualbox-vdi', 'vds' => 'model/vnd.sap.vds', 'vhd' => 'application/x-virtualbox-vhd', 'vis' => 'application/vnd.visionary', 'viv' => 'video/vnd.vivo', 'vlc' => 'application/videolan', 'vmdk' => 'application/x-virtualbox-vmdk', 'vob' => 'video/x-ms-vob', 'vor' => 'application/vnd.stardivision.writer', 'vox' => 'application/x-authorware-bin', 'vrml' => 'model/vrml', 'vsd' => 'application/vnd.visio', 'vsf' => 'application/vnd.vsf', 'vss' => 'application/vnd.visio', 'vst' => 'application/vnd.visio', 'vsw' => 'application/vnd.visio', 'vtf' => 'image/vnd.valve.source.texture', 'vtt' => 'text/vtt', 'vtu' => 'model/vnd.vtu', 'vxml' => 'application/voicexml+xml', 'w3d' => 'application/x-director', 'wad' => 'application/x-doom', 'wadl' => 'application/vnd.sun.wadl+xml', 'war' => 'application/java-archive', 'wasm' => 'application/wasm', 'wav' => 'audio/x-wav', 'wax' => 'audio/x-ms-wax', 'wbmp' => 'image/vnd.wap.wbmp', 'wbs' => 'application/vnd.criticaltools.wbs+xml', 'wbxml' => 'application/wbxml', 'wcm' => 'application/vnd.ms-works', 'wdb' => 'application/vnd.ms-works', 'wdp' => 'image/vnd.ms-photo', 'weba' => 'audio/webm', 'webapp' => 'application/x-web-app-manifest+json', 'webm' => 'video/webm', 'webmanifest' => 'application/manifest+json', 'webp' => 'image/webp', 'wg' => 'application/vnd.pmi.widget', 'wgsl' => 'text/wgsl', 'wgt' => 'application/widget', 'wif' => 'application/watcherinfo+xml', 'wks' => 'application/vnd.ms-works', 'wm' => 'video/x-ms-wm', 'wma' => 'audio/x-ms-wma', 'wmd' => 'application/x-ms-wmd', 'wmf' => 'image/wmf', 'wml' => 'text/vnd.wap.wml', 'wmlc' => 'application/wmlc', 'wmls' => 'text/vnd.wap.wmlscript', 'wmlsc' => 'application/vnd.wap.wmlscriptc', 'wmv' => 'video/x-ms-wmv', 'wmx' => 'video/x-ms-wmx', 'wmz' => 'application/x-msmetafile', 'woff' => 'font/woff', 'woff2' => 'font/woff2', 'word' => 'application/msword', 'wpd' => 'application/vnd.wordperfect', 'wpl' => 'application/vnd.ms-wpl', 'wps' => 'application/vnd.ms-works', 'wqd' => 'application/vnd.wqd', 'wri' => 'application/x-mswrite', 'wrl' => 'model/vrml', 'wsc' => 'message/vnd.wfa.wsc', 'wsdl' => 'application/wsdl+xml', 'wspolicy' => 'application/wspolicy+xml', 'wtb' => 'application/vnd.webturbo', 'wvx' => 'video/x-ms-wvx', 'x3d' => 'model/x3d+xml', 'x3db' => 'model/x3d+fastinfoset', 'x3dbz' => 'model/x3d+binary', 'x3dv' => 'model/x3d-vrml', 'x3dvz' => 'model/x3d+vrml', 'x3dz' => 'model/x3d+xml', 'x32' => 'application/x-authorware-bin', 'x_b' => 'model/vnd.parasolid.transmit.binary', 'x_t' => 'model/vnd.parasolid.transmit.text', 'xaml' => 'application/xaml+xml', 'xap' => 'application/x-silverlight-app', 'xar' => 'application/vnd.xara', 'xav' => 'application/xcap-att+xml', 'xbap' => 'application/x-ms-xbap', 'xbd' => 'application/vnd.fujixerox.docuworks.binder', 'xbm' => 'image/x-xbitmap', 'xca' => 'application/xcap-caps+xml', 'xcs' => 'application/calendar+xml', 'xdf' => 'application/xcap-diff+xml', 'xdm' => 'application/vnd.syncml.dm+xml', 'xdp' => 'application/vnd.adobe.xdp+xml', 'xdssc' => 'application/dssc+xml', 'xdw' => 'application/vnd.fujixerox.docuworks', 'xel' => 'application/xcap-el+xml', 'xenc' => 'application/xenc+xml', 'xer' => 'application/patch-ops-error+xml', 'xfdf' => 'application/xfdf', 'xfdl' => 'application/vnd.xfdl', 'xht' => 'application/xhtml+xml', 'xhtm' => 'application/vnd.pwg-xhtml-print+xml', 'xhtml' => 'application/xhtml+xml', 'xhvml' => 'application/xv+xml', 'xif' => 'image/vnd.xiff', 'xl' => 'application/excel', 'xla' => 'application/vnd.ms-excel', 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', 'xlc' => 'application/vnd.ms-excel', 'xlf' => 'application/xliff+xml', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlt' => 'application/vnd.ms-excel', 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12', 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xlw' => 'application/vnd.ms-excel', 'xm' => 'audio/xm', 'xml' => 'application/xml', 'xns' => 'application/xcap-ns+xml', 'xo' => 'application/vnd.olpc-sugar', 'xop' => 'application/xop+xml', 'xpi' => 'application/x-xpinstall', 'xpl' => 'application/xproc+xml', 'xpm' => 'image/x-xpixmap', 'xpr' => 'application/vnd.is-xpr', 'xps' => 'application/vnd.ms-xpsdocument', 'xpw' => 'application/vnd.intercon.formnet', 'xpx' => 'application/vnd.intercon.formnet', 'xsd' => 'application/xml', 'xsf' => 'application/prs.xsf+xml', 'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml', 'xsm' => 'application/vnd.syncml+xml', 'xspf' => 'application/xspf+xml', 'xul' => 'application/vnd.mozilla.xul+xml', 'xvm' => 'application/xv+xml', 'xvml' => 'application/xv+xml', 'xwd' => 'image/x-xwindowdump', 'xyz' => 'chemical/x-xyz', 'xz' => 'application/x-xz', 'yaml' => 'text/yaml', 'yang' => 'application/yang', 'yin' => 'application/yin+xml', 'yml' => 'text/yaml', 'ymp' => 'text/x-suse-ymp', 'z' => 'application/x-compress', 'z1' => 'application/x-zmachine', 'z2' => 'application/x-zmachine', 'z3' => 'application/x-zmachine', 'z4' => 'application/x-zmachine', 'z5' => 'application/x-zmachine', 'z6' => 'application/x-zmachine', 'z7' => 'application/x-zmachine', 'z8' => 'application/x-zmachine', 'zaz' => 'application/vnd.zzazz.deck+xml', 'zip' => 'application/zip', 'zir' => 'application/vnd.zul', 'zirz' => 'application/vnd.zul', 'zmm' => 'application/vnd.handheld-entertainment+xml', 'zsh' => 'text/x-scriptzsh']; /** * Determines the mimetype of a file by looking at its extension. * * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json */ public static function fromFilename(string $filename): ?string { } /** * Maps a file extensions to a mimetype. * * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json */ public static function fromExtension(string $extension): ?string { } } /** * Stream that when read returns bytes for a streaming multipart or * multipart/form-data stream. */ final class MultipartStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var string */ private $boundary; /** @var StreamInterface */ private $stream; /** * @param array $elements Array of associative arrays, each containing a * required "name" key mapping to the form field, * name, a required "contents" key mapping to a * StreamInterface/resource/string, an optional * "headers" associative array of custom headers, * and an optional "filename" key mapping to a * string to send as the filename in the part. * @param string $boundary You can optionally provide a specific boundary * * @throws \InvalidArgumentException */ public function __construct(array $elements = [], ?string $boundary = null) { } public function getBoundary(): string { } public function isWritable(): bool { } /** * Get the headers needed before transferring the content of a POST file * * @param string[] $headers */ private function getHeaders(array $headers): string { } /** * Create the aggregate stream that will be used to upload the POST data */ protected function createStream(array $elements = []): \SureCartVendors\Psr\Http\Message\StreamInterface { } private function addElement(\SureCartVendors\GuzzleHttp\Psr7\AppendStream $stream, array $element): void { } /** * @param string[] $headers * * @return array{0: StreamInterface, 1: string[]} */ private function createElement(string $name, \SureCartVendors\Psr\Http\Message\StreamInterface $stream, ?string $filename, array $headers): array { } /** * @param string[] $headers */ private static function getHeader(array $headers, string $key): ?string { } } /** * Stream decorator that prevents a stream from being seeked. */ final class NoSeekStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { use \SureCartVendors\GuzzleHttp\Psr7\StreamDecoratorTrait; /** @var StreamInterface */ private $stream; public function seek($offset, $whence = SEEK_SET): void { } public function isSeekable(): bool { } } /** * Provides a read only stream that pumps data from a PHP callable. * * When invoking the provided callable, the PumpStream will pass the amount of * data requested to read to the callable. The callable can choose to ignore * this value and return fewer or more bytes than requested. Any extra data * returned by the provided callable is buffered internally until drained using * the read() function of the PumpStream. The provided callable MUST return * false when there is no more data to read. */ final class PumpStream implements \SureCartVendors\Psr\Http\Message\StreamInterface { /** @var callable(int): (string|false|null)|null */ private $source; /** @var int|null */ private $size; /** @var int */ private $tellPos = 0; /** @var array */ private $metadata; /** @var BufferStream */ private $buffer; /** * @param callable(int): (string|false|null) $source Source of the stream data. The callable MAY * accept an integer argument used to control the * amount of data to return. The callable MUST * return a string when called, or false|null on error * or EOF. * @param array{size?: int, metadata?: array} $options Stream options: * - metadata: Hash of metadata to use with stream. * - size: Size of the stream, if known. */ public function __construct(callable $source, array $options = []) { } public function __toString(): string { } public function close(): void { } public function detach() { } public function getSize(): ?int { } public function tell(): int { } public function eof(): bool { } public function isSeekable(): bool { } public function rewind(): void { } public function seek($offset, $whence = SEEK_SET): void { } public function isWritable(): bool { } public function write($string): int { } public function isReadable(): bool { } public function read($length): string { } public function getContents(): string { } /** * @return mixed */ public function getMetadata($key = null) { } private function pump(int $length): void { } } final class Query { /** * Parse a query string into an associative array. * * If multiple values are found for the same key, the value of that key * value pair will become an array. This function does not parse nested * PHP style arrays into an associative array (e.g., `foo[a]=1&foo[b]=2` * will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`. * * @param string $str Query string to parse * @param int|bool $urlEncoding How the query string is encoded */ public static function parse(string $str, $urlEncoding = true): array { } /** * Build a query string from an array of key value pairs. * * This function can use the return value of `parse()` to build a query * string. This function does not modify the provided keys when an array is * encountered (like `http_build_query()` would). * * @param array $params Query string parameters. * @param int|false $encoding Set to false to not encode, * PHP_QUERY_RFC3986 to encode using * RFC3986, or PHP_QUERY_RFC1738 to * encode using RFC1738. * @param bool $treatBoolsAsInts Set to true to encode as 0/1, and * false as false/true. */ public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string { } } /** * @internal */ final class Rfc7230 { /** * Header related regular expressions (based on amphp/http package) * * Note: header delimiter (\r\n) is modified to \r?\n to accept line feed only delimiters for BC reasons. * * @see https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15 * * @license https://github.com/amphp/http/blob/v1.0.1/LICENSE */ public const HEADER_REGEX = "(^([^()<>@,;:\\\"/[\\]?={}\x01- ]++):[ \t]*+((?:[ \t]*+[!-~\x80-\xff]++)*+)[ \t]*+\r?\n)m"; public const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)"; } /** * PHP stream implementation. */ class Stream implements \SureCartVendors\Psr\Http\Message\StreamInterface { /** * @see https://www.php.net/manual/en/function.fopen.php * @see https://www.php.net/manual/en/function.gzopen.php */ private const READABLE_MODES = '/r|a\+|ab\+|w\+|wb\+|x\+|xb\+|c\+|cb\+/'; private const WRITABLE_MODES = '/a|w|r\+|rb\+|rw|x|c/'; /** @var resource */ private $stream; /** @var int|null */ private $size; /** @var bool */ private $seekable; /** @var bool */ private $readable; /** @var bool */ private $writable; /** @var string|null */ private $uri; /** @var mixed[] */ private $customMetadata; /** * This constructor accepts an associative array of options. * * - size: (int) If a read stream would otherwise have an indeterminate * size, but the size is known due to foreknowledge, then you can * provide that size, in bytes. * - metadata: (array) Any additional metadata to return when the metadata * of the stream is accessed. * * @param resource $stream Stream resource to wrap. * @param array{size?: int, metadata?: array} $options Associative array of options. * * @throws \InvalidArgumentException if the stream is not a stream resource */ public function __construct($stream, array $options = []) { } /** * Closes the stream when the destructed */ public function __destruct() { } public function __toString(): string { } public function getContents(): string { } public function close(): void { } public function detach() { } public function getSize(): ?int { } public function isReadable(): bool { } public function isWritable(): bool { } public function isSeekable(): bool { } public function eof(): bool { } public function tell(): int { } public function rewind(): void { } public function seek($offset, $whence = SEEK_SET): void { } public function read($length): string { } public function write($string): int { } /** * @return mixed */ public function getMetadata($key = null) { } } /** * Converts Guzzle streams into PHP stream resources. * * @see https://www.php.net/streamwrapper */ final class StreamWrapper { /** @var resource */ public $context; /** @var StreamInterface */ private $stream; /** @var string r, r+, or w */ private $mode; /** * Returns a resource representing the stream. * * @param StreamInterface $stream The stream to get a resource for * * @return resource * * @throws \InvalidArgumentException if stream is not readable or writable */ public static function getResource(\SureCartVendors\Psr\Http\Message\StreamInterface $stream) { } /** * Creates a stream context that can be used to open a stream as a php stream resource. * * @return resource */ public static function createStreamContext(\SureCartVendors\Psr\Http\Message\StreamInterface $stream) { } /** * Registers the stream wrapper if needed */ public static function register(): void { } public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool { } public function stream_read(int $count): string { } public function stream_write(string $data): int { } public function stream_tell(): int { } public function stream_eof(): bool { } public function stream_seek(int $offset, int $whence): bool { } /** * @return resource|false */ public function stream_cast(int $cast_as) { } /** * @return array{ * dev: int, * ino: int, * mode: int, * nlink: int, * uid: int, * gid: int, * rdev: int, * size: int, * atime: int, * mtime: int, * ctime: int, * blksize: int, * blocks: int * }|false */ public function stream_stat() { } /** * @return array{ * dev: int, * ino: int, * mode: int, * nlink: int, * uid: int, * gid: int, * rdev: int, * size: int, * atime: int, * mtime: int, * ctime: int, * blksize: int, * blocks: int * } */ public function url_stat(string $path, int $flags): array { } } } namespace SureCartVendors\Psr\Http\Message { /** * Value object representing a file uploaded through an HTTP request. * * Instances of this interface are considered immutable; all methods that * might change state MUST be implemented such that they retain the internal * state of the current instance and return an instance that contains the * changed state. */ interface UploadedFileInterface { /** * Retrieve a stream representing the uploaded file. * * This method MUST return a StreamInterface instance, representing the * uploaded file. The purpose of this method is to allow utilizing native PHP * stream functionality to manipulate the file upload, such as * stream_copy_to_stream() (though the result will need to be decorated in a * native PHP stream wrapper to work with such functions). * * If the moveTo() method has been called previously, this method MUST raise * an exception. * * @return StreamInterface Stream representation of the uploaded file. * @throws \RuntimeException in cases when no stream is available or can be * created. */ public function getStream(); /** * Move the uploaded file to a new location. * * Use this method as an alternative to move_uploaded_file(). This method is * guaranteed to work in both SAPI and non-SAPI environments. * Implementations must determine which environment they are in, and use the * appropriate method (move_uploaded_file(), rename(), or a stream * operation) to perform the operation. * * $targetPath may be an absolute path, or a relative path. If it is a * relative path, resolution should be the same as used by PHP's rename() * function. * * The original file or stream MUST be removed on completion. * * If this method is called more than once, any subsequent calls MUST raise * an exception. * * When used in an SAPI environment where $_FILES is populated, when writing * files via moveTo(), is_uploaded_file() and move_uploaded_file() SHOULD be * used to ensure permissions and upload status are verified correctly. * * If you wish to move to a stream, use getStream(), as SAPI operations * cannot guarantee writing to stream destinations. * * @see http://php.net/is_uploaded_file * @see http://php.net/move_uploaded_file * @param string $targetPath Path to which to move the uploaded file. * @throws \InvalidArgumentException if the $targetPath specified is invalid. * @throws \RuntimeException on any error during the move operation, or on * the second or subsequent call to the method. */ public function moveTo(string $targetPath); /** * Retrieve the file size. * * Implementations SHOULD return the value stored in the "size" key of * the file in the $_FILES array if available, as PHP calculates this based * on the actual size transmitted. * * @return int|null The file size in bytes or null if unknown. */ public function getSize(); /** * Retrieve the error associated with the uploaded file. * * The return value MUST be one of PHP's UPLOAD_ERR_XXX constants. * * If the file was uploaded successfully, this method MUST return * UPLOAD_ERR_OK. * * Implementations SHOULD return the value stored in the "error" key of * the file in the $_FILES array. * * @see http://php.net/manual/en/features.file-upload.errors.php * @return int One of PHP's UPLOAD_ERR_XXX constants. */ public function getError(); /** * Retrieve the filename sent by the client. * * Do not trust the value returned by this method. A client could send * a malicious filename with the intention to corrupt or hack your * application. * * Implementations SHOULD return the value stored in the "name" key of * the file in the $_FILES array. * * @return string|null The filename sent by the client or null if none * was provided. */ public function getClientFilename(); /** * Retrieve the media type sent by the client. * * Do not trust the value returned by this method. A client could send * a malicious media type with the intention to corrupt or hack your * application. * * Implementations SHOULD return the value stored in the "type" key of * the file in the $_FILES array. * * @return string|null The media type sent by the client or null if none * was provided. */ public function getClientMediaType(); } } namespace SureCartVendors\GuzzleHttp\Psr7 { class UploadedFile implements \SureCartVendors\Psr\Http\Message\UploadedFileInterface { private const ERRORS = [UPLOAD_ERR_OK, UPLOAD_ERR_INI_SIZE, UPLOAD_ERR_FORM_SIZE, UPLOAD_ERR_PARTIAL, UPLOAD_ERR_NO_FILE, UPLOAD_ERR_NO_TMP_DIR, UPLOAD_ERR_CANT_WRITE, UPLOAD_ERR_EXTENSION]; /** * @var string|null */ private $clientFilename; /** * @var string|null */ private $clientMediaType; /** * @var int */ private $error; /** * @var string|null */ private $file; /** * @var bool */ private $moved = false; /** * @var int|null */ private $size; /** * @var StreamInterface|null */ private $stream; /** * @param StreamInterface|string|resource $streamOrFile */ public function __construct($streamOrFile, ?int $size, int $errorStatus, ?string $clientFilename = null, ?string $clientMediaType = null) { } /** * Depending on the value set file or stream variable * * @param StreamInterface|string|resource $streamOrFile * * @throws InvalidArgumentException */ private function setStreamOrFile($streamOrFile): void { } /** * @throws InvalidArgumentException */ private function setError(int $error): void { } private static function isStringNotEmpty($param): bool { } /** * Return true if there is no upload error */ private function isOk(): bool { } public function isMoved(): bool { } /** * @throws RuntimeException if is moved or not ok */ private function validateActive(): void { } public function getStream(): \SureCartVendors\Psr\Http\Message\StreamInterface { } public function moveTo($targetPath): void { } public function getSize(): ?int { } public function getError(): int { } public function getClientFilename(): ?string { } public function getClientMediaType(): ?string { } } } namespace SureCartVendors\Psr\Http\Message { /** * Value object representing a URI. * * This interface is meant to represent URIs according to RFC 3986 and to * provide methods for most common operations. Additional functionality for * working with URIs can be provided on top of the interface or externally. * Its primary use is for HTTP requests, but may also be used in other * contexts. * * Instances of this interface are considered immutable; all methods that * might change state MUST be implemented such that they retain the internal * state of the current instance and return an instance that contains the * changed state. * * Typically the Host header will be also be present in the request message. * For server-side requests, the scheme will typically be discoverable in the * server parameters. * * @link http://tools.ietf.org/html/rfc3986 (the URI specification) */ interface UriInterface { /** * Retrieve the scheme component of the URI. * * If no scheme is present, this method MUST return an empty string. * * The value returned MUST be normalized to lowercase, per RFC 3986 * Section 3.1. * * The trailing ":" character is not part of the scheme and MUST NOT be * added. * * @see https://tools.ietf.org/html/rfc3986#section-3.1 * @return string The URI scheme. */ public function getScheme(); /** * Retrieve the authority component of the URI. * * If no authority information is present, this method MUST return an empty * string. * * The authority syntax of the URI is: * *
         * [user-info@]host[:port]
         * 
* * If the port component is not set or is the standard port for the current * scheme, it SHOULD NOT be included. * * @see https://tools.ietf.org/html/rfc3986#section-3.2 * @return string The URI authority, in "[user-info@]host[:port]" format. */ public function getAuthority(); /** * Retrieve the user information component of the URI. * * If no user information is present, this method MUST return an empty * string. * * If a user is present in the URI, this will return that value; * additionally, if the password is also present, it will be appended to the * user value, with a colon (":") separating the values. * * The trailing "@" character is not part of the user information and MUST * NOT be added. * * @return string The URI user information, in "username[:password]" format. */ public function getUserInfo(); /** * Retrieve the host component of the URI. * * If no host is present, this method MUST return an empty string. * * The value returned MUST be normalized to lowercase, per RFC 3986 * Section 3.2.2. * * @see http://tools.ietf.org/html/rfc3986#section-3.2.2 * @return string The URI host. */ public function getHost(); /** * Retrieve the port component of the URI. * * If a port is present, and it is non-standard for the current scheme, * this method MUST return it as an integer. If the port is the standard port * used with the current scheme, this method SHOULD return null. * * If no port is present, and no scheme is present, this method MUST return * a null value. * * If no port is present, but a scheme is present, this method MAY return * the standard port for that scheme, but SHOULD return null. * * @return null|int The URI port. */ public function getPort(); /** * Retrieve the path component of the URI. * * The path can either be empty or absolute (starting with a slash) or * rootless (not starting with a slash). Implementations MUST support all * three syntaxes. * * Normally, the empty path "" and absolute path "/" are considered equal as * defined in RFC 7230 Section 2.7.3. But this method MUST NOT automatically * do this normalization because in contexts with a trimmed base path, e.g. * the front controller, this difference becomes significant. It's the task * of the user to handle both "" and "/". * * The value returned MUST be percent-encoded, but MUST NOT double-encode * any characters. To determine what characters to encode, please refer to * RFC 3986, Sections 2 and 3.3. * * As an example, if the value should include a slash ("/") not intended as * delimiter between path segments, that value MUST be passed in encoded * form (e.g., "%2F") to the instance. * * @see https://tools.ietf.org/html/rfc3986#section-2 * @see https://tools.ietf.org/html/rfc3986#section-3.3 * @return string The URI path. */ public function getPath(); /** * Retrieve the query string of the URI. * * If no query string is present, this method MUST return an empty string. * * The leading "?" character is not part of the query and MUST NOT be * added. * * The value returned MUST be percent-encoded, but MUST NOT double-encode * any characters. To determine what characters to encode, please refer to * RFC 3986, Sections 2 and 3.4. * * As an example, if a value in a key/value pair of the query string should * include an ampersand ("&") not intended as a delimiter between values, * that value MUST be passed in encoded form (e.g., "%26") to the instance. * * @see https://tools.ietf.org/html/rfc3986#section-2 * @see https://tools.ietf.org/html/rfc3986#section-3.4 * @return string The URI query string. */ public function getQuery(); /** * Retrieve the fragment component of the URI. * * If no fragment is present, this method MUST return an empty string. * * The leading "#" character is not part of the fragment and MUST NOT be * added. * * The value returned MUST be percent-encoded, but MUST NOT double-encode * any characters. To determine what characters to encode, please refer to * RFC 3986, Sections 2 and 3.5. * * @see https://tools.ietf.org/html/rfc3986#section-2 * @see https://tools.ietf.org/html/rfc3986#section-3.5 * @return string The URI fragment. */ public function getFragment(); /** * Return an instance with the specified scheme. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified scheme. * * Implementations MUST support the schemes "http" and "https" case * insensitively, and MAY accommodate other schemes if required. * * An empty scheme is equivalent to removing the scheme. * * @param string $scheme The scheme to use with the new instance. * @return static A new instance with the specified scheme. * @throws \InvalidArgumentException for invalid or unsupported schemes. */ public function withScheme(string $scheme); /** * Return an instance with the specified user information. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified user information. * * Password is optional, but the user information MUST include the * user; an empty string for the user is equivalent to removing user * information. * * @param string $user The user name to use for authority. * @param null|string $password The password associated with $user. * @return static A new instance with the specified user information. */ public function withUserInfo(string $user, ?string $password = null); /** * Return an instance with the specified host. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified host. * * An empty host value is equivalent to removing the host. * * @param string $host The hostname to use with the new instance. * @return static A new instance with the specified host. * @throws \InvalidArgumentException for invalid hostnames. */ public function withHost(string $host); /** * Return an instance with the specified port. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified port. * * Implementations MUST raise an exception for ports outside the * established TCP and UDP port ranges. * * A null value provided for the port is equivalent to removing the port * information. * * @param null|int $port The port to use with the new instance; a null value * removes the port information. * @return static A new instance with the specified port. * @throws \InvalidArgumentException for invalid ports. */ public function withPort(?int $port); /** * Return an instance with the specified path. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified path. * * The path can either be empty or absolute (starting with a slash) or * rootless (not starting with a slash). Implementations MUST support all * three syntaxes. * * If the path is intended to be domain-relative rather than path relative then * it must begin with a slash ("/"). Paths not starting with a slash ("/") * are assumed to be relative to some base path known to the application or * consumer. * * Users can provide both encoded and decoded path characters. * Implementations ensure the correct encoding as outlined in getPath(). * * @param string $path The path to use with the new instance. * @return static A new instance with the specified path. * @throws \InvalidArgumentException for invalid paths. */ public function withPath(string $path); /** * Return an instance with the specified query string. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified query string. * * Users can provide both encoded and decoded query characters. * Implementations ensure the correct encoding as outlined in getQuery(). * * An empty query string value is equivalent to removing the query string. * * @param string $query The query string to use with the new instance. * @return static A new instance with the specified query string. * @throws \InvalidArgumentException for invalid query strings. */ public function withQuery(string $query); /** * Return an instance with the specified URI fragment. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified URI fragment. * * Users can provide both encoded and decoded fragment characters. * Implementations ensure the correct encoding as outlined in getFragment(). * * An empty fragment value is equivalent to removing the fragment. * * @param string $fragment The fragment to use with the new instance. * @return static A new instance with the specified fragment. */ public function withFragment(string $fragment); /** * Return the string representation as a URI reference. * * Depending on which components of the URI are present, the resulting * string is either a full URI or relative reference according to RFC 3986, * Section 4.1. The method concatenates the various components of the URI, * using the appropriate delimiters: * * - If a scheme is present, it MUST be suffixed by ":". * - If an authority is present, it MUST be prefixed by "//". * - The path can be concatenated without delimiters. But there are two * cases where the path has to be adjusted to make the URI reference * valid as PHP does not allow to throw an exception in __toString(): * - If the path is rootless and an authority is present, the path MUST * be prefixed by "/". * - If the path is starting with more than one "/" and no authority is * present, the starting slashes MUST be reduced to one. * - If a query is present, it MUST be prefixed by "?". * - If a fragment is present, it MUST be prefixed by "#". * * @see http://tools.ietf.org/html/rfc3986#section-4.1 * @return string */ public function __toString(); } } namespace SureCartVendors\GuzzleHttp\Psr7 { /** * PSR-7 URI implementation. * * @author Michael Dowling * @author Tobias Schultze * @author Matthew Weier O'Phinney */ class Uri implements \SureCartVendors\Psr\Http\Message\UriInterface, \JsonSerializable { /** * Absolute http and https URIs require a host per RFC 7230 Section 2.7 * but in generic URIs the host can be empty. So for http(s) URIs * we apply this default host when no host is given yet to form a * valid URI. */ private const HTTP_DEFAULT_HOST = 'localhost'; private const DEFAULT_PORTS = ['http' => 80, 'https' => 443, 'ftp' => 21, 'gopher' => 70, 'nntp' => 119, 'news' => 119, 'telnet' => 23, 'tn3270' => 23, 'imap' => 143, 'pop' => 110, 'ldap' => 389]; /** * Unreserved characters for use in a regex. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-2.3 */ private const CHAR_UNRESERVED = 'a-zA-Z0-9_\-\.~'; /** * Sub-delims for use in a regex. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-2.2 */ private const CHAR_SUB_DELIMS = '!\$&\'\(\)\*\+,;='; private const QUERY_SEPARATORS_REPLACEMENT = ['=' => '%3D', '&' => '%26']; /** @var string Uri scheme. */ private $scheme = ''; /** @var string Uri user info. */ private $userInfo = ''; /** @var string Uri host. */ private $host = ''; /** @var int|null Uri port. */ private $port; /** @var string Uri path. */ private $path = ''; /** @var string Uri query string. */ private $query = ''; /** @var string Uri fragment. */ private $fragment = ''; /** @var string|null String representation */ private $composedComponents; public function __construct(string $uri = '') { } /** * UTF-8 aware \parse_url() replacement. * * The internal function produces broken output for non ASCII domain names * (IDN) when used with locales other than "C". * * On the other hand, cURL understands IDN correctly only when UTF-8 locale * is configured ("C.UTF-8", "en_US.UTF-8", etc.). * * @see https://bugs.php.net/bug.php?id=52923 * @see https://www.php.net/manual/en/function.parse-url.php#114817 * @see https://curl.haxx.se/libcurl/c/CURLOPT_URL.html#ENCODING * * @return array|false */ private static function parse(string $url) { } public function __toString(): string { } /** * Composes a URI reference string from its various components. * * Usually this method does not need to be called manually but instead is used indirectly via * `Psr\Http\Message\UriInterface::__toString`. * * PSR-7 UriInterface treats an empty component the same as a missing component as * getQuery(), getFragment() etc. always return a string. This explains the slight * difference to RFC 3986 Section 5.3. * * Another adjustment is that the authority separator is added even when the authority is missing/empty * for the "file" scheme. This is because PHP stream functions like `file_get_contents` only work with * `file:///myfile` but not with `file:/myfile` although they are equivalent according to RFC 3986. But * `file:///` is the more common syntax for the file scheme anyway (Chrome for example redirects to * that format). * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.3 */ public static function composeComponents(?string $scheme, ?string $authority, string $path, ?string $query, ?string $fragment): string { } /** * Whether the URI has the default port of the current scheme. * * `Psr\Http\Message\UriInterface::getPort` may return null or the standard port. This method can be used * independently of the implementation. */ public static function isDefaultPort(\SureCartVendors\Psr\Http\Message\UriInterface $uri): bool { } /** * Whether the URI is absolute, i.e. it has a scheme. * * An instance of UriInterface can either be an absolute URI or a relative reference. This method returns true * if it is the former. An absolute URI has a scheme. A relative reference is used to express a URI relative * to another URI, the base URI. Relative references can be divided into several forms: * - network-path references, e.g. '//example.com/path' * - absolute-path references, e.g. '/path' * - relative-path references, e.g. 'subpath' * * @see Uri::isNetworkPathReference * @see Uri::isAbsolutePathReference * @see Uri::isRelativePathReference * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4 */ public static function isAbsolute(\SureCartVendors\Psr\Http\Message\UriInterface $uri): bool { } /** * Whether the URI is a network-path reference. * * A relative reference that begins with two slash characters is termed an network-path reference. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.2 */ public static function isNetworkPathReference(\SureCartVendors\Psr\Http\Message\UriInterface $uri): bool { } /** * Whether the URI is a absolute-path reference. * * A relative reference that begins with a single slash character is termed an absolute-path reference. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.2 */ public static function isAbsolutePathReference(\SureCartVendors\Psr\Http\Message\UriInterface $uri): bool { } /** * Whether the URI is a relative-path reference. * * A relative reference that does not begin with a slash character is termed a relative-path reference. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.2 */ public static function isRelativePathReference(\SureCartVendors\Psr\Http\Message\UriInterface $uri): bool { } /** * Whether the URI is a same-document reference. * * A same-document reference refers to a URI that is, aside from its fragment * component, identical to the base URI. When no base URI is given, only an empty * URI reference (apart from its fragment) is considered a same-document reference. * * @param UriInterface $uri The URI to check * @param UriInterface|null $base An optional base URI to compare against * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4 */ public static function isSameDocumentReference(\SureCartVendors\Psr\Http\Message\UriInterface $uri, ?\SureCartVendors\Psr\Http\Message\UriInterface $base = null): bool { } /** * Creates a new URI with a specific query string value removed. * * Any existing query string values that exactly match the provided key are * removed. * * @param UriInterface $uri URI to use as a base. * @param string $key Query string key to remove. */ public static function withoutQueryValue(\SureCartVendors\Psr\Http\Message\UriInterface $uri, string $key): \SureCartVendors\Psr\Http\Message\UriInterface { } /** * Creates a new URI with a specific query string value. * * Any existing query string values that exactly match the provided key are * removed and replaced with the given key value pair. * * A value of null will set the query string key without a value, e.g. "key" * instead of "key=value". * * @param UriInterface $uri URI to use as a base. * @param string $key Key to set. * @param string|null $value Value to set */ public static function withQueryValue(\SureCartVendors\Psr\Http\Message\UriInterface $uri, string $key, ?string $value): \SureCartVendors\Psr\Http\Message\UriInterface { } /** * Creates a new URI with multiple specific query string values. * * It has the same behavior as withQueryValue() but for an associative array of key => value. * * @param UriInterface $uri URI to use as a base. * @param (string|null)[] $keyValueArray Associative array of key and values */ public static function withQueryValues(\SureCartVendors\Psr\Http\Message\UriInterface $uri, array $keyValueArray): \SureCartVendors\Psr\Http\Message\UriInterface { } /** * Creates a URI from a hash of `parse_url` components. * * @see https://www.php.net/manual/en/function.parse-url.php * * @throws MalformedUriException If the components do not form a valid URI. */ public static function fromParts(array $parts): \SureCartVendors\Psr\Http\Message\UriInterface { } public function getScheme(): string { } public function getAuthority(): string { } public function getUserInfo(): string { } public function getHost(): string { } public function getPort(): ?int { } public function getPath(): string { } public function getQuery(): string { } public function getFragment(): string { } public function withScheme($scheme): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withUserInfo($user, $password = null): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withHost($host): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withPort($port): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withPath($path): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withQuery($query): \SureCartVendors\Psr\Http\Message\UriInterface { } public function withFragment($fragment): \SureCartVendors\Psr\Http\Message\UriInterface { } public function jsonSerialize(): string { } /** * Apply parse_url parts to a URI. * * @param array $parts Array of parse_url parts to apply. */ private function applyParts(array $parts): void { } /** * @param mixed $scheme * * @throws \InvalidArgumentException If the scheme is invalid. */ private function filterScheme($scheme): string { } /** * @param mixed $component * * @throws \InvalidArgumentException If the user info is invalid. */ private function filterUserInfoComponent($component): string { } /** * @param mixed $host * * @throws \InvalidArgumentException If the host is invalid. */ private function filterHost($host): string { } /** * @param mixed $port * * @throws \InvalidArgumentException If the port is invalid. */ private function filterPort($port): ?int { } /** * @param (string|int)[] $keys * * @return string[] */ private static function getFilteredQueryString(\SureCartVendors\Psr\Http\Message\UriInterface $uri, array $keys): array { } private static function generateQueryString(string $key, ?string $value): string { } private function removeDefaultPort(): void { } /** * Filters the path of a URI * * @param mixed $path * * @throws \InvalidArgumentException If the path is invalid. */ private function filterPath($path): string { } /** * Filters the query string or fragment of a URI. * * @param mixed $str * * @throws \InvalidArgumentException If the query or fragment is invalid. */ private function filterQueryAndFragment($str): string { } private function rawurlencodeMatchZero(array $match): string { } private function validateState(): void { } } /** * Provides methods to determine if a modified URL should be considered cross-origin. * * @author Graham Campbell */ final class UriComparator { /** * Determines if a modified URL should be considered cross-origin with * respect to an original URL. */ public static function isCrossOrigin(\SureCartVendors\Psr\Http\Message\UriInterface $original, \SureCartVendors\Psr\Http\Message\UriInterface $modified): bool { } private static function computePort(\SureCartVendors\Psr\Http\Message\UriInterface $uri): int { } private function __construct() { } } /** * Provides methods to normalize and compare URIs. * * @author Tobias Schultze * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-6 */ final class UriNormalizer { /** * Default normalizations which only include the ones that preserve semantics. */ public const PRESERVING_NORMALIZATIONS = self::CAPITALIZE_PERCENT_ENCODING | self::DECODE_UNRESERVED_CHARACTERS | self::CONVERT_EMPTY_PATH | self::REMOVE_DEFAULT_HOST | self::REMOVE_DEFAULT_PORT | self::REMOVE_DOT_SEGMENTS; /** * All letters within a percent-encoding triplet (e.g., "%3A") are case-insensitive, and should be capitalized. * * Example: http://example.org/a%c2%b1b → http://example.org/a%C2%B1b */ public const CAPITALIZE_PERCENT_ENCODING = 1; /** * Decodes percent-encoded octets of unreserved characters. * * For consistency, percent-encoded octets in the ranges of ALPHA (%41–%5A and %61–%7A), DIGIT (%30–%39), * hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E) should not be created by URI producers and, * when found in a URI, should be decoded to their corresponding unreserved characters by URI normalizers. * * Example: http://example.org/%7Eusern%61me/ → http://example.org/~username/ */ public const DECODE_UNRESERVED_CHARACTERS = 2; /** * Converts the empty path to "/" for http and https URIs. * * Example: http://example.org → http://example.org/ */ public const CONVERT_EMPTY_PATH = 4; /** * Removes the default host of the given URI scheme from the URI. * * Only the "file" scheme defines the default host "localhost". * All of `file:/myfile`, `file:///myfile`, and `file://localhost/myfile` * are equivalent according to RFC 3986. The first format is not accepted * by PHPs stream functions and thus already normalized implicitly to the * second format in the Uri class. See `GuzzleHttp\Psr7\Uri::composeComponents`. * * Example: file://localhost/myfile → file:///myfile */ public const REMOVE_DEFAULT_HOST = 8; /** * Removes the default port of the given URI scheme from the URI. * * Example: http://example.org:80/ → http://example.org/ */ public const REMOVE_DEFAULT_PORT = 16; /** * Removes unnecessary dot-segments. * * Dot-segments in relative-path references are not removed as it would * change the semantics of the URI reference. * * Example: http://example.org/../a/b/../c/./d.html → http://example.org/a/c/d.html */ public const REMOVE_DOT_SEGMENTS = 32; /** * Paths which include two or more adjacent slashes are converted to one. * * Webservers usually ignore duplicate slashes and treat those URIs equivalent. * But in theory those URIs do not need to be equivalent. So this normalization * may change the semantics. Encoded slashes (%2F) are not removed. * * Example: http://example.org//foo///bar.html → http://example.org/foo/bar.html */ public const REMOVE_DUPLICATE_SLASHES = 64; /** * Sort query parameters with their values in alphabetical order. * * However, the order of parameters in a URI may be significant (this is not defined by the standard). * So this normalization is not safe and may change the semantics of the URI. * * Example: ?lang=en&article=fred → ?article=fred&lang=en * * Note: The sorting is neither locale nor Unicode aware (the URI query does not get decoded at all) as the * purpose is to be able to compare URIs in a reproducible way, not to have the params sorted perfectly. */ public const SORT_QUERY_PARAMETERS = 128; /** * Returns a normalized URI. * * The scheme and host component are already normalized to lowercase per PSR-7 UriInterface. * This methods adds additional normalizations that can be configured with the $flags parameter. * * PSR-7 UriInterface cannot distinguish between an empty component and a missing component as * getQuery(), getFragment() etc. always return a string. This means the URIs "/?#" and "/" are * treated equivalent which is not necessarily true according to RFC 3986. But that difference * is highly uncommon in reality. So this potential normalization is implied in PSR-7 as well. * * @param UriInterface $uri The URI to normalize * @param int $flags A bitmask of normalizations to apply, see constants * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-6.2 */ public static function normalize(\SureCartVendors\Psr\Http\Message\UriInterface $uri, int $flags = self::PRESERVING_NORMALIZATIONS): \SureCartVendors\Psr\Http\Message\UriInterface { } /** * Whether two URIs can be considered equivalent. * * Both URIs are normalized automatically before comparison with the given $normalizations bitmask. The method also * accepts relative URI references and returns true when they are equivalent. This of course assumes they will be * resolved against the same base URI. If this is not the case, determination of equivalence or difference of * relative references does not mean anything. * * @param UriInterface $uri1 An URI to compare * @param UriInterface $uri2 An URI to compare * @param int $normalizations A bitmask of normalizations to apply, see constants * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-6.1 */ public static function isEquivalent(\SureCartVendors\Psr\Http\Message\UriInterface $uri1, \SureCartVendors\Psr\Http\Message\UriInterface $uri2, int $normalizations = self::PRESERVING_NORMALIZATIONS): bool { } private static function capitalizePercentEncoding(\SureCartVendors\Psr\Http\Message\UriInterface $uri): \SureCartVendors\Psr\Http\Message\UriInterface { } private static function decodeUnreservedCharacters(\SureCartVendors\Psr\Http\Message\UriInterface $uri): \SureCartVendors\Psr\Http\Message\UriInterface { } private function __construct() { } } /** * Resolves a URI reference in the context of a base URI and the opposite way. * * @author Tobias Schultze * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5 */ final class UriResolver { /** * Removes dot segments from a path and returns the new path. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4 */ public static function removeDotSegments(string $path): string { } /** * Converts the relative URI into a new URI that is resolved against the base URI. * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2 */ public static function resolve(\SureCartVendors\Psr\Http\Message\UriInterface $base, \SureCartVendors\Psr\Http\Message\UriInterface $rel): \SureCartVendors\Psr\Http\Message\UriInterface { } /** * Returns the target URI as a relative reference from the base URI. * * This method is the counterpart to resolve(): * * (string) $target === (string) UriResolver::resolve($base, UriResolver::relativize($base, $target)) * * One use-case is to use the current request URI as base URI and then generate relative links in your documents * to reduce the document size or offer self-contained downloadable document archives. * * $base = new Uri('http://example.com/a/b/'); * echo UriResolver::relativize($base, new Uri('http://example.com/a/b/c')); // prints 'c'. * echo UriResolver::relativize($base, new Uri('http://example.com/a/x/y')); // prints '../x/y'. * echo UriResolver::relativize($base, new Uri('http://example.com/a/b/?q')); // prints '?q'. * echo UriResolver::relativize($base, new Uri('http://example.org/a/b/')); // prints '//example.org/a/b/'. * * This method also accepts a target that is already relative and will try to relativize it further. Only a * relative-path reference will be returned as-is. * * echo UriResolver::relativize($base, new Uri('/a/b/c')); // prints 'c' as well */ public static function relativize(\SureCartVendors\Psr\Http\Message\UriInterface $base, \SureCartVendors\Psr\Http\Message\UriInterface $target): \SureCartVendors\Psr\Http\Message\UriInterface { } private static function getRelativePath(\SureCartVendors\Psr\Http\Message\UriInterface $base, \SureCartVendors\Psr\Http\Message\UriInterface $target): string { } private function __construct() { } } final class Utils { /** * Remove the items given by the keys, case insensitively from the data. * * @param (string|int)[] $keys */ public static function caselessRemove(array $keys, array $data): array { } /** * Copy the contents of a stream into another stream until the given number * of bytes have been read. * * @param StreamInterface $source Stream to read from * @param StreamInterface $dest Stream to write to * @param int $maxLen Maximum number of bytes to read. Pass -1 * to read the entire stream. * * @throws \RuntimeException on error. */ public static function copyToStream(\SureCartVendors\Psr\Http\Message\StreamInterface $source, \SureCartVendors\Psr\Http\Message\StreamInterface $dest, int $maxLen = -1): void { } /** * Copy the contents of a stream into a string until the given number of * bytes have been read. * * @param StreamInterface $stream Stream to read * @param int $maxLen Maximum number of bytes to read. Pass -1 * to read the entire stream. * * @throws \RuntimeException on error. */ public static function copyToString(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, int $maxLen = -1): string { } /** * Calculate a hash of a stream. * * This method reads the entire stream to calculate a rolling hash, based * on PHP's `hash_init` functions. * * @param StreamInterface $stream Stream to calculate the hash for * @param string $algo Hash algorithm (e.g. md5, crc32, etc) * @param bool $rawOutput Whether or not to use raw output * * @throws \RuntimeException on error. */ public static function hash(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, string $algo, bool $rawOutput = false): string { } /** * Clone and modify a request with the given changes. * * This method is useful for reducing the number of clones needed to mutate * a message. * * The changes can be one of: * - method: (string) Changes the HTTP method. * - set_headers: (array) Sets the given headers. * - remove_headers: (array) Remove the given headers. * - body: (mixed) Sets the given body. * - uri: (UriInterface) Set the URI. * - query: (string) Set the query string value of the URI. * - version: (string) Set the protocol version. * * @param RequestInterface $request Request to clone and modify. * @param array $changes Changes to apply. */ public static function modifyRequest(\SureCartVendors\Psr\Http\Message\RequestInterface $request, array $changes): \SureCartVendors\Psr\Http\Message\RequestInterface { } /** * Read a line from the stream up to the maximum allowed buffer length. * * @param StreamInterface $stream Stream to read from * @param int|null $maxLength Maximum buffer length */ public static function readLine(\SureCartVendors\Psr\Http\Message\StreamInterface $stream, ?int $maxLength = null): string { } /** * Redact the password in the user info part of a URI. */ public static function redactUserInfo(\SureCartVendors\Psr\Http\Message\UriInterface $uri): \SureCartVendors\Psr\Http\Message\UriInterface { } /** * Create a new stream based on the input type. * * Options is an associative array that can contain the following keys: * - metadata: Array of custom metadata. * - size: Size of the stream. * * This method accepts the following `$resource` types: * - `Psr\Http\Message\StreamInterface`: Returns the value as-is. * - `string`: Creates a stream object that uses the given string as the contents. * - `resource`: Creates a stream object that wraps the given PHP stream resource. * - `Iterator`: If the provided value implements `Iterator`, then a read-only * stream object will be created that wraps the given iterable. Each time the * stream is read from, data from the iterator will fill a buffer and will be * continuously called until the buffer is equal to the requested read size. * Subsequent read calls will first read from the buffer and then call `next` * on the underlying iterator until it is exhausted. * - `object` with `__toString()`: If the object has the `__toString()` method, * the object will be cast to a string and then a stream will be returned that * uses the string value. * - `NULL`: When `null` is passed, an empty stream object is returned. * - `callable` When a callable is passed, a read-only stream object will be * created that invokes the given callable. The callable is invoked with the * number of suggested bytes to read. The callable can return any number of * bytes, but MUST return `false` when there is no more data to return. The * stream object that wraps the callable will invoke the callable until the * number of requested bytes are available. Any additional bytes will be * buffered and used in subsequent reads. * * @param resource|string|int|float|bool|StreamInterface|callable|\Iterator|null $resource Entity body data * @param array{size?: int, metadata?: array} $options Additional options * * @throws \InvalidArgumentException if the $resource arg is not valid. */ public static function streamFor($resource = '', array $options = []): \SureCartVendors\Psr\Http\Message\StreamInterface { } /** * Safely opens a PHP stream resource using a filename. * * When fopen fails, PHP normally raises a warning. This function adds an * error handler that checks for errors and throws an exception instead. * * @param string $filename File to open * @param string $mode Mode used to open the file * * @return resource * * @throws \RuntimeException if the file cannot be opened */ public static function tryFopen(string $filename, string $mode) { } /** * Safely gets the contents of a given stream. * * When stream_get_contents fails, PHP normally raises a warning. This * function adds an error handler that checks for errors and throws an * exception instead. * * @param resource $stream * * @throws \RuntimeException if the stream cannot be read */ public static function tryGetContents($stream): string { } /** * Returns a UriInterface for the given value. * * This function accepts a string or UriInterface and returns a * UriInterface for the given value. If the value is already a * UriInterface, it is returned as-is. * * @param string|UriInterface $uri * * @throws \InvalidArgumentException */ public static function uriFor($uri): \SureCartVendors\Psr\Http\Message\UriInterface { } } } namespace SureCartVendors\Pimple { /** * Container main class. * * @author Fabien Potencier */ class Container implements \ArrayAccess { private $values = []; private $factories; private $protected; private $frozen = []; private $raw = []; private $keys = []; /** * Instantiates the container. * * Objects and parameters can be passed as argument to the constructor. * * @param array $values The parameters or objects */ public function __construct(array $values = []) { } /** * Sets a parameter or an object. * * Objects must be defined as Closures. * * Allowing any PHP callable leads to difficult to debug problems * as function names (strings) are callable (creating a function with * the same name as an existing parameter would break your container). * * @param string $id The unique identifier for the parameter or object * @param mixed $value The value of the parameter or a closure to define an object * * @return void * * @throws FrozenServiceException Prevent override of a frozen service */ #[\ReturnTypeWillChange] public function offsetSet($id, $value) { } /** * Gets a parameter or an object. * * @param string $id The unique identifier for the parameter or object * * @return mixed The value of the parameter or an object * * @throws UnknownIdentifierException If the identifier is not defined */ #[\ReturnTypeWillChange] public function offsetGet($id) { } /** * Checks if a parameter or an object is set. * * @param string $id The unique identifier for the parameter or object * * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($id) { } /** * Unsets a parameter or an object. * * @param string $id The unique identifier for the parameter or object * * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($id) { } /** * Marks a callable as being a factory service. * * @param callable $callable A service definition to be used as a factory * * @return callable The passed callable * * @throws ExpectedInvokableException Service definition has to be a closure or an invokable object */ public function factory($callable) { } /** * Protects a callable from being interpreted as a service. * * This is useful when you want to store a callable as a parameter. * * @param callable $callable A callable to protect from being evaluated * * @return callable The passed callable * * @throws ExpectedInvokableException Service definition has to be a closure or an invokable object */ public function protect($callable) { } /** * Gets a parameter or the closure defining an object. * * @param string $id The unique identifier for the parameter or object * * @return mixed The value of the parameter or the closure defining an object * * @throws UnknownIdentifierException If the identifier is not defined */ public function raw($id) { } /** * Extends an object definition. * * Useful when you want to extend an existing object definition, * without necessarily loading that object. * * @param string $id The unique identifier for the object * @param callable $callable A service definition to extend the original * * @return callable The wrapped callable * * @throws UnknownIdentifierException If the identifier is not defined * @throws FrozenServiceException If the service is frozen * @throws InvalidServiceIdentifierException If the identifier belongs to a parameter * @throws ExpectedInvokableException If the extension callable is not a closure or an invokable object */ public function extend($id, $callable) { } /** * Returns all defined value names. * * @return array An array of value names */ public function keys() { } /** * Registers a service provider. * * @param array $values An array of values that customizes the provider * * @return static */ public function register(\SureCartVendors\Pimple\ServiceProviderInterface $provider, array $values = []) { } } } namespace SureCartVendors\Psr\Container { /** * Base interface representing a generic exception in a container. */ interface ContainerExceptionInterface extends \Throwable { } } namespace SureCartVendors\Pimple\Exception { /** * A closure or invokable object was expected. * * @author Pascal Luna */ class ExpectedInvokableException extends \InvalidArgumentException implements \SureCartVendors\Psr\Container\ContainerExceptionInterface { } /** * An attempt to modify a frozen service was made. * * @author Pascal Luna */ class FrozenServiceException extends \RuntimeException implements \SureCartVendors\Psr\Container\ContainerExceptionInterface { /** * @param string $id Identifier of the frozen service */ public function __construct($id) { } } } namespace SureCartVendors\Psr\Container { /** * No entry was found in the container. */ interface NotFoundExceptionInterface extends \SureCartVendors\Psr\Container\ContainerExceptionInterface { } } namespace SureCartVendors\Pimple\Exception { /** * An attempt to perform an operation that requires a service identifier was made. * * @author Pascal Luna */ class InvalidServiceIdentifierException extends \InvalidArgumentException implements \SureCartVendors\Psr\Container\NotFoundExceptionInterface { /** * @param string $id The invalid identifier */ public function __construct($id) { } } /** * The identifier of a valid service or parameter was expected. * * @author Pascal Luna */ class UnknownIdentifierException extends \InvalidArgumentException implements \SureCartVendors\Psr\Container\NotFoundExceptionInterface { /** * @param string $id The unknown identifier */ public function __construct($id) { } } } namespace SureCartVendors\Psr\Container { /** * Describes the interface of a container that exposes methods to read its entries. */ interface ContainerInterface { /** * Finds an entry of the container by its identifier and returns it. * * @param string $id Identifier of the entry to look for. * * @throws NotFoundExceptionInterface No entry was found for **this** identifier. * @throws ContainerExceptionInterface Error while retrieving the entry. * * @return mixed Entry. */ public function get(string $id); /** * Returns true if the container can return an entry for the given identifier. * Returns false otherwise. * * `has($id)` returning true does not mean that `get($id)` will not throw an exception. * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. * * @param string $id Identifier of the entry to look for. * * @return bool */ public function has(string $id): bool; } } namespace SureCartVendors\Pimple\Psr11 { /** * PSR-11 compliant wrapper. * * @author Pascal Luna */ final class Container implements \SureCartVendors\Psr\Container\ContainerInterface { private $pimple; public function __construct(\SureCartVendors\Pimple\Container $pimple) { } public function get(string $id) { } public function has(string $id): bool { } } /** * Pimple PSR-11 service locator. * * @author Pascal Luna */ class ServiceLocator implements \SureCartVendors\Psr\Container\ContainerInterface { private $container; private $aliases = []; /** * @param PimpleContainer $container The Container instance used to locate services * @param array $ids Array of service ids that can be located. String keys can be used to define aliases */ public function __construct(\SureCartVendors\Pimple\Container $container, array $ids) { } /** * {@inheritdoc} */ public function get(string $id) { } /** * {@inheritdoc} */ public function has(string $id): bool { } } } namespace SureCartVendors\Pimple { /** * Lazy service iterator. * * @author Pascal Luna */ final class ServiceIterator implements \Iterator { private $container; private $ids; public function __construct(\SureCartVendors\Pimple\Container $container, array $ids) { } /** * @return void */ #[\ReturnTypeWillChange] public function rewind() { } /** * @return mixed */ #[\ReturnTypeWillChange] public function current() { } /** * @return mixed */ #[\ReturnTypeWillChange] public function key() { } /** * @return void */ #[\ReturnTypeWillChange] public function next() { } /** * @return bool */ #[\ReturnTypeWillChange] public function valid() { } } /** * Pimple service provider interface. * * @author Fabien Potencier * @author Dominik Zogg */ interface ServiceProviderInterface { /** * Registers services on the given container. * * This method should only be used to configure services and parameters. * It should not get services. */ public function register(\SureCartVendors\Pimple\Container $pimple); } } namespace SureCartVendors\Pimple\Tests\Fixtures { class Invokable { public function __invoke($value = null) { } } class NonInvokable { public function __call($a, $b) { } } class PimpleServiceProvider implements \SureCartVendors\Pimple\ServiceProviderInterface { /** * Registers services on the given container. * * This method should only be used to configure services and parameters. * It should not get services. */ public function register(\SureCartVendors\Pimple\Container $pimple) { } } /** * @author Igor Wiedler */ class Service { public $value; } } namespace SureCartVendors\Pimple\Tests { /** * @author Dominik Zogg */ class PimpleServiceProviderInterfaceTest extends \SureCartVendors\PHPUnit\Framework\TestCase { public function testProvider() { } public function testProviderWithRegisterMethod() { } } /** * @author Igor Wiedler */ class PimpleTest extends \SureCartVendors\PHPUnit\Framework\TestCase { public function testWithString() { } public function testWithClosure() { } public function testServicesShouldBeDifferent() { } public function testShouldPassContainerAsParameter() { } public function testIsset() { } public function testConstructorInjection() { } public function testOffsetGetValidatesKeyIsPresent() { } /** * @group legacy */ public function testLegacyOffsetGetValidatesKeyIsPresent() { } public function testOffsetGetHonorsNullValues() { } public function testUnset() { } /** * @dataProvider serviceDefinitionProvider */ public function testShare($service) { } /** * @dataProvider serviceDefinitionProvider */ public function testProtect($service) { } public function testGlobalFunctionNameAsParameterValue() { } public function testRaw() { } public function testRawHonorsNullValues() { } public function testFluentRegister() { } public function testRawValidatesKeyIsPresent() { } /** * @group legacy */ public function testLegacyRawValidatesKeyIsPresent() { } /** * @dataProvider serviceDefinitionProvider */ public function testExtend($service) { } public function testExtendDoesNotLeakWithFactories() { } public function testExtendValidatesKeyIsPresent() { } /** * @group legacy */ public function testLegacyExtendValidatesKeyIsPresent() { } public function testKeys() { } /** @test */ public function settingAnInvokableObjectShouldTreatItAsFactory() { } /** @test */ public function settingNonInvokableObjectShouldTreatItAsParameter() { } /** * @dataProvider badServiceDefinitionProvider */ public function testFactoryFailsForInvalidServiceDefinitions($service) { } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyFactoryFailsForInvalidServiceDefinitions($service) { } /** * @dataProvider badServiceDefinitionProvider */ public function testProtectFailsForInvalidServiceDefinitions($service) { } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyProtectFailsForInvalidServiceDefinitions($service) { } /** * @dataProvider badServiceDefinitionProvider */ public function testExtendFailsForKeysNotContainingServiceDefinitions($service) { } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyExtendFailsForKeysNotContainingServiceDefinitions($service) { } /** * @group legacy * @expectedDeprecation How Pimple behaves when extending protected closures will be fixed in Pimple 4. Are you sure "foo" should be protected? */ public function testExtendingProtectedClosureDeprecation() { } /** * @dataProvider badServiceDefinitionProvider */ public function testExtendFailsForInvalidServiceDefinitions($service) { } /** * @group legacy * @dataProvider badServiceDefinitionProvider */ public function testLegacyExtendFailsForInvalidServiceDefinitions($service) { } public function testExtendFailsIfFrozenServiceIsNonInvokable() { } public function testExtendFailsIfFrozenServiceIsInvokable() { } /** * Provider for invalid service definitions. */ public function badServiceDefinitionProvider() { } /** * Provider for service definitions. */ public function serviceDefinitionProvider() { } public function testDefiningNewServiceAfterFreeze() { } public function testOverridingServiceAfterFreeze() { } /** * @group legacy */ public function testLegacyOverridingServiceAfterFreeze() { } public function testRemovingServiceAfterFreeze() { } public function testExtendingService() { } public function testExtendingServiceAfterOtherServiceFreeze() { } } } namespace SureCartVendors\Pimple\Tests\Psr11 { class ContainerTest extends \SureCartVendors\PHPUnit\Framework\TestCase { public function testGetReturnsExistingService() { } public function testGetThrowsExceptionIfServiceIsNotFound() { } public function testHasReturnsTrueIfServiceExists() { } public function testHasReturnsFalseIfServiceDoesNotExist() { } } /** * ServiceLocator test case. * * @author Pascal Luna */ class ServiceLocatorTest extends \SureCartVendors\PHPUnit\Framework\TestCase { public function testCanAccessServices() { } public function testCanAccessAliasedServices() { } public function testCannotAccessAliasedServiceUsingRealIdentifier() { } public function testGetValidatesServiceCanBeLocated() { } public function testGetValidatesTargetServiceExists() { } public function testHasValidatesServiceCanBeLocated() { } public function testHasChecksIfTargetServiceExists() { } } } namespace SureCartVendors\Pimple\Tests { class ServiceIteratorTest extends \SureCartVendors\PHPUnit\Framework\TestCase { public function testIsIterable() { } } } namespace SureCartVendors\PluginEver\QueryBuilder\Interfaces { interface Arrayable { /** * Returns object as string. * @since 1.0.0 */ public function __toArray(); /** * Returns object as string. * @since 1.0.0 */ public function toArray(); } interface JSONable { /** * Returns object as JSON string. * @since 1.0.2 */ public function __toJSON($options = 0, $depth = 512); /** * Returns object as JSON string. * @since 1.0.2 */ public function toJSON($options = 0, $depth = 512); } interface Stringable { /** * Returns object as string. * @since 1.0.0 */ public function __toString(); } } namespace SureCartVendors\PluginEver\QueryBuilder { class Collection implements \ArrayAccess, \SureCartVendors\PluginEver\QueryBuilder\Interfaces\Arrayable, \IteratorAggregate, \SureCartVendors\PluginEver\QueryBuilder\Interfaces\JSONable, \SureCartVendors\PluginEver\QueryBuilder\Interfaces\Stringable { /** * The items contained in the collection. * * @var array */ protected $items = array(); /** * Create a new collection. * * @param mixed $items * * @return void */ public function __construct($items = array()) { } /** * Create a new collection instance if the value isn't one already. * * @param mixed $items * * @return static */ public static function make($items = null) { } /** * Get all of the items in the collection. * * @return array */ public function all() { } /** * Diff the collection with the given items. * * @param Arrayable|array $items * * @return static */ public function diff($items) { } /** * Execute a callback over each item. * * @param callable $callback * * @return $this */ public function each(callable $callback) { } /** * Run a filter over each of the items. * * @param callable $callback * * @return static */ public function filter(callable $callback) { } /** * Filter items by the given key value pair. * * @param string $key * @param mixed $value * @param bool $strict * * @return static */ public function where($key, $value, $strict = true) { } /** * Filter items by the given key value pair using loose comparison. * * @param string $key * @param mixed $value * * @return static */ public function whereLoose($key, $value) { } /** * Flip the items in the collection. * * @return static */ public function flip() { } /** * Remove an item from the collection by key. * * @param mixed $key * * @return void */ public function forget($key) { } /** * Get an item from the collection by key. * * @param mixed $key * @param mixed $default * * @return mixed */ public function get($key, $default = null) { } /** * Determine if an item exists in the collection by key. * * @param mixed $key * * @return bool */ public function has($key) { } /** * Intersect the collection with the given items. * * @param Arrayable|array $items * * @return static */ public function intersect($items) { } /** * Determine if the collection is empty or not. * * @return bool */ public function isEmpty() { } /** * Determine if the given value is callable, but not a string. * * @param mixed $value * * @return bool */ protected function useAsCallable($value) { } /** * Get the keys of the collection items. * * @return static */ public function keys() { } /** * Get the last item from the collection. * * @return mixed|null */ public function last() { } /** * Run a map over each of the items. * * @param callable $callback * * @return static */ public function map(callable $callback) { } /** * Merge the collection with the given items. * * @param Arrayable|array $items * * @return static */ public function merge($items) { } /** * Get and remove the last item from the collection. * * @return mixed|null */ public function pop() { } /** * Push an item onto the beginning of the collection. * * @param mixed $value * * @return void */ public function prepend($value) { } /** * Push an item onto the end of the collection. * * @param mixed $value * * @return void */ public function push($value) { } /** * Put an item in the collection by key. * * @param mixed $key * @param mixed $value * * @return void */ public function put($key, $value) { } /** * Get one or more items randomly from the collection. * * @param int $amount * * @return mixed */ public function random($amount = 1) { } /** * Reduce the collection to a single value. * * @param callable $callback * @param mixed $initial * * @return mixed */ public function reduce(callable $callback, $initial = null) { } /** * Create a collection of all elements that do not pass a given truth test. * * @param callable|mixed $callback * * @return static */ public function reject($callback) { } /** * Reverse items order. * * @return static */ public function reverse() { } /** * Search the collection for a given value and return the corresponding key if successful. * * @param mixed $value * @param bool $strict * * @return mixed */ public function search($value, $strict = false) { } /** * Get and remove the first item from the collection. * * @return mixed|null */ public function shift() { } /** * Shuffle the items in the collection. * * @return $this */ public function shuffle() { } /** * Slice the underlying collection array. * * @param int $offset * @param int $length * @param bool $preserveKeys * * @return static */ public function slice($offset, $length = null, $preserveKeys = false) { } /** * Chunk the underlying collection array. * * @param int $size * @param bool $preserveKeys * * @return static */ public function chunk($size, $preserveKeys = false) { } /** * Sort through each item with a callback. * * @param callable $callback * * @return $this */ public function sort(callable $callback) { } /** * Splice portion of the underlying collection array. * * @param int $offset * @param int $length * @param mixed $replacement * * @return static */ public function splice($offset, $length = 0, $replacement = []) { } /** * Take the first or last {$limit} items. * * @param int $limit * * @return static */ public function take($limit = null) { } /** * Transform each item in the collection using a callback. * * @param callable $callback * * @return $this */ public function transform(callable $callback) { } /** * Return only unique items from the collection array. * * @return static */ public function unique() { } /** * Reset the keys on the underlying array. * * @return static */ public function values() { } /** * Count the number of items in the collection. * * @return int */ public function count() { } /** * Determine if an item exists at an offset. * * @param mixed $key * * @return bool */ public function offsetExists($key) { } /** * Get an item at a given offset. * * @param mixed $key * * @return mixed */ public function offsetGet($key) { } /** * Set the item at a given offset. * * @param mixed $key * @param mixed $value * * @return void */ public function offsetSet($key, $value) { } /** * Unset the item at a given offset. * * @param string $key * * @return void */ public function offsetUnset($key) { } /** * Get an iterator for the items. * * @return \ArrayIterator */ public function getIterator() { } /** * Returns collection as pure array. * Does depth array casting. * @return array * @since 1.0.2 * */ public function __toArray() { } /** * Returns collection as pure array. * Does depth array casting. * @return array * @since 1.0.2 * */ public function toArray() { } /** * Returns collection as a string. * * @param string * * @since 1.0.2 * */ public function __toString() { } /** * Returns object as JSON string. * * @param int $options JSON encoding options. See @link. * @param int $depth JSON encoding depth. See @link. * * @return string * @link http://php.net/manual/en/function.json-encode.php * * @since 1.0.2 * */ public function __toJSON($options = 0, $depth = 512) { } /** * Returns object as JSON string. * * @param int $options JSON encoding options. See @link. * @param int $depth JSON encoding depth. See @link. * * @return string * @link http://php.net/manual/en/function.json-encode.php * * @since 1.0.2 * */ public function toJSON($options = 0, $depth = 512) { } /** * @param $target * @param $key * @param null $default * * @return array * @since */ public static function data_get($target, $key, $default = null) { } /** * Results array of items from Collection or Arrayable. * * @param $items * * @return mixed * @since 1.0.0 */ protected function getArrayableItems($items) { } } class Query { /** * @var string */ protected $id; /** * @var array */ protected $select = []; /** * @var null */ protected $from = null; /** * @var array */ protected $join = []; /** * @var array */ protected $where = []; /** * @var array */ protected $order = []; /** * @var array */ protected $group = []; /** * @var null */ protected $having = null; /** * @var null */ protected $limit = null; /** * @var int */ protected $offset = 0; /** * Static constructor. * * * @since 1.0.0 * */ public static function init($id = null) { } /** * Adds select statement. * * @param $statement * * @return $this * @since 1.0.0 */ public function select($statement) { } /** * Adds from statement. * * @param string $name * @param bool $add_prefix * * @since 1.0.0 * */ public function table($name, $add_prefix = true) { } /** * Adds from statement. * * @param string $from * @param bool $add_prefix Should DB prefix be added. * * @return Query this for chaining. * @global object $wpdb * * @since 1.0.0 * */ public function from($from, $add_prefix = true) { } /** * Adds search statement. * * @param $search * @param $columns * @param $joint * * @since 1.0.0 */ public function search($search, $columns, $joint = 'AND') { } /** * Create a where statement. * * ->where('name', 'sultan') * ->where('age', '>', 18) * ->where('name', 'in', array('ayaan', 'ayaash', 'anaan')) * ->where(function($q){ * $q->where('ID', '>', 21); * }) * * @param string $column The SQL column * @param mixed $param1 Operator or value depending if $param2 isset. * @param mixed $param2 The value if $param1 is an operator. * @param string $joint the where type ( and, or ) * * @return Query The current query builder. */ public function where($column, $param1 = null, $param2 = null, $joint = 'and') { } /** * Create an or where statement * * This is the same as the normal where just with a fixed type * * @param string $column The SQL column * @param mixed $param1 * @param mixed $param2 * * @return Query The current query builder. */ public function orWhere($column, $param1 = null, $param2 = null) { } /** * Create an and where statement * * This is the same as the normal where just with a fixed type * * @param string $column The SQL column * @param mixed $param1 * @param mixed $param2 * * @return Query The current query builder. */ public function andWhere($column, $param1 = null, $param2 = null) { } /** * Creates a where in statement * * ->whereIn('id', [42, 38, 12]) * * @param string $column * @param array $options * * @return Query The current query builder. */ public function whereIn($column, array $options = array()) { } /** * Creates a where not in statement * * ->whereNotIn('id', [42, 38, 12]) * * @param string $column * @param array $options * * @return Query The current query builder. */ public function whereNotIn($column, array $options = array()) { } /** * Creates a where something is null statement * * ->whereNull('modified_at') * * @param string $column * * @return Query The current query builder. */ public function whereNull($column) { } /** * Creates a where something is not null statement * * ->whereNotNull('created_at') * * @param string $column * * @return Query The current query builder. */ public function whereNotNull($column) { } /** * Creates a or where something is null statement * * ->orWhereNull('modified_at') * * @param string $column * * @return Query The current query builder. */ public function orWhereNull($column) { } /** * Creates a or where something is not null statement * * ->orWhereNotNull('modified_at') * * @param string $column * * @return Query The current query builder. */ public function orWhereNotNull($column) { } /** * Creates a where between statement * * ->whereBetween('user_id', 1, 2000) * * @param string $column * * @return Query The current query builder. */ public function whereBetween($column, $min, $max) { } /** * Creates a where not between statement * * ->whereNotBetween('user_id', 1, 2000) * * @param string $column * * @return Query The current query builder. */ public function whereNotBetween($column, $min, $max) { } /** * Creates a where date between statement * * ->whereDateBetween('date', '2014-02-01', '2014-02-28') * * @param string $column * * @return Query The current query builder. */ public function whereDateBetween($column, $start, $end) { } /** * * @param $query * @param string $joint * * @since 1.0.1 */ public function whereRaw($query, $joint = 'AND') { } /** * Add a join statement to the current query * * ->join('avatars', 'users.id', '=', 'avatars.user_id') * * @param array|string $table The table to join. (can contain an alias definition.) * @param string $localKey * @param string $operator The operator (=, !=, <, > etc.) * @param string $referenceKey * @param string $type The join type (inner, left, right, outer) * @param string $joint The join AND or Or * @param bool $add_prefix Add table prefix or not * * @return Query The current query builder. */ public function join($table, $localKey, $operator = null, $referenceKey = null, $type = 'left', $joint = 'AND', $add_prefix = true) { } /** * Left join same as join with special type * * @param array|string $table The table to join. (can contain an alias definition.) * @param string $localKey * @param string $operator The operator (=, !=, <, > etc.) * @param string $referenceKey * * @return Query The current query builder. */ public function leftJoin($table, $localKey, $operator = null, $referenceKey = null) { } /** * Alias of the `join` method with join type right. * * @param array|string $table The table to join. (can contain an alias definition.) * @param string $localKey * @param string $operator The operator (=, !=, <, > etc.) * @param string $referenceKey * * @return Query The current query builder. */ public function rightJoin($table, $localKey, $operator = null, $referenceKey = null) { } /** * Alias of the `join` method with join type inner. * * @param array|string $table The table to join. (can contain an alias definition.) * @param string $localKey * @param string $operator The operator (=, !=, <, > etc.) * @param string $referenceKey * * @return Query The current query builder. */ public function innerJoin($table, $localKey, $operator = null, $referenceKey = null) { } /** * Alias of the `join` method with join type outer. * * @param array|string $table The table to join. (can contain an alias definition.) * @param string $localKey * @param string $operator The operator (=, !=, <, > etc.) * @param string $referenceKey * * @return Query The current query builder. */ public function outerJoin($table, $localKey, $operator = null, $referenceKey = null) { } /** * * @param $query * @param string $joint * * @since 1.0.1 */ public function joinRaw($query, $joint = 'AND') { } /** * Adds group by statement. * ->groupBy('category') * ->gorupBy(['category', 'price']) * * @param string $field * * @return Query this for chaining. * @since 1.0.0 * */ public function group_by($field) { } /** * Adds having statement. * * ->group_by('user.id') * ->having('count(user.id)>1') * * @param string $statement * * @return Query this for chaining. * @since 1.0.0 * */ public function having($statement) { } /** * Adds order by statement. * * ->orderBy('created_at') * ->orderBy('modified_at', 'desc') * * @param string $key * @param string $direction * * @return Query this for chaining. * @throws Exception * @since 1.0.0 * */ public function order_by($key, $direction = 'ASC') { } /** * Set the query limit * * // limit() * ->limit(20) * * // limit(, ) * ->limit(60, 20) * * @param int $limit * @param int $limit2 * * @return Query The current query builder. */ public function limit($limit, $limit2 = null) { } /** * Adds offset statement. * * ->offset(20) * * @param int $offset * * @return Query this for chaining. * */ public function offset($offset) { } /** * Create a query limit based on a page and a page size * * //page(, ) * ->page(2, 20) * * @param int $page * @param int $size * * @return Query The current query builder. * @since 1.0.0 */ public function page($page, $size = 20) { } /** * Find something, means select one item by key * * ->find('manikdrmc@gmail.com', 'email') * * @param int $id * @param string $key * * @return mixed */ public function find($id, $key = 'id') { } /** * Get the first result ordered by the given key. * * @param string $key By what should the first item be selected? Default is: 'id' * * @return mixed The first result. */ public function first($key = 'id') { } /** * Get the last result by key * * @param string $key * * @return mixed the last result. */ public function last($key = 'id') { } /** * Pluck item. * ->find('post_title') * @return Object * @since 1.0.1 */ public function pluck() { } /** * Returns results from builder statements. * * @param int $output WPDB output type. * @param callable $row_map Function callable to filter or map results to. * @param bool $calc_rows Flag that indicates to SQL if rows should be calculated or not. * * @return Object || Array * @since 1.0.0 * * @global object $wpdb * */ public function get($output = OBJECT, $row_map = null, $calc_rows = false) { } /** * Sets the limit to 1, executes and returns the first result using get. * * @param string $output * * @return mixed The single result. */ public function one($output = OBJECT) { } /** * Just return the number of results * * @param string|int $column * * @return int */ public function count($column = 1) { } /** * Just get a single value from the result * * @param string $column The index of the column. * @param bool $calc_rows Flag that indicates to SQL if rows should be calculated or not. * * @return mixed The columns value */ public function column($column = 0, $calc_rows = false) { } /** * Returns a value. * * @param int $x Column of value to return. Indexed from 0. * @param int $y Row of value to return. Indexed from 0. * * @return mixed * @global object $wpdb * * @since 1.0.0 * */ public function value($x = 0, $y = 0) { } /** * Update or insert. * * @param $data * * @return array|string */ public function updateOrInsert($data) { } /** * Find or insert. * * @param $data * * @return array|string */ public function findOrInsert($data) { } /** * Get max value. * * @param $column * * @return int * @since 1.0.1 */ public function max($column) { } /** * Get min value. * * @param $column * * @return int * @since 1.0.1 */ public function min($column) { } /** * Get avg value. * * @param $column * * @return int * @since 1.0.1 */ public function avg($column) { } /** * Get sum value. * * @param $column * * @return int * @since 1.0.1 */ public function sum($column) { } /** * Returns flag indicating if query has been executed. * * @param string $sql * * @return bool * @since 1.0.0 * * @global object $wpdb * */ public function query($sql = '') { } /** * Returns query from builder statements. * * @return string * @since 1.0.0 */ public function toSql() { } /** * Returns found rows in last query, if SQL_CALC_FOUND_ROWS is used and is supported. * @return array * @global object $wpdb * * @since 1.0.0 * */ public function rows_found() { } /** * Returns flag indicating if delete query has been executed. * @return bool * @global object $wpdb * * @since 1.0.0 * */ public function delete() { } /** * Update * @return bool * @global object $wpdb * * @since 1.0.0 * */ public function update($data) { } /** * Insert data. * * @param $data * @param array $format * * @return bool|int * @since 1.0.1 */ public function insert($data, $format = array()) { } /** * Return a cloned object from current builder. * * @return Query * @since 1.0.0 */ public function copy() { } /** * Builds query's select statement. * * @param string &$query * @param bool $calc_rows * * @since 1.0.0 * */ private function _query_select(&$query, $calc_rows = false) { } /** * Builds query's from statement. * * @param string &$query * * @since 1.0.0 * */ private function _query_from(&$query) { } /** * Builds query's join statement. * * @param string &$query * * @since 1.0.0 * */ private function _query_join(&$query) { } /** * Builds query's where statement. * * @param string &$query * * @since 1.0.0 * */ public function _query_where(&$query) { } /** * Builds query's group by statement. * * @param string &$query * * @since 1.0.0 * */ private function _query_group(&$query) { } /** * Builds query's having statement. * * @param string &$query * * @since 1.0.0 * */ private function _query_having(&$query) { } /** * Builds query's order by statement. * * @param string &$query * * @since 1.0.0 * */ private function _query_order(&$query) { } /** * Builds query's limit statement. * * @param string &$query * * @global object $wpdb * * @since 1.0.0 * */ private function _query_limit(&$query) { } /** * Builds query's offset statement. * * @param string &$query * * @global object $wpdb * * @since 1.0.0 * */ private function _query_offset(&$query) { } /** * Builds query's delete statement. * * @param string &$query * * @since 1.0.0 * */ private function _query_delete(&$query) { } /** * Sanitize value. * * @param string|bool $callback Sanitize callback. * @param mixed $value * * @return mixed * @since 1.0.0 * */ private function sanitize_value($callback, $value) { } /** * Escape a WHERE/JOIN value for safe inclusion in the generated SQL. * * Array -> `IN (...)` list with each element prepared individually. * Null -> bare `null`. * Bare `table.col` identifier reference -> raw passthrough. * Everything else -> `$wpdb->prepare()`. * * @param mixed $value Value to escape. * * @return string */ private function prepare_value_expression($value) { } /** * @param $message * * @throws \Exception * @since 1.0.0 */ private function exception($message) { } } } namespace TypistTech\Imposter\Plugin { class AutoloadMerger { public static function run(\Composer\Package\RootPackageInterface $package): void { } /** * @return string[] * @todo [Help Wanted] Think of a better way to handle file not found during installation */ protected static function getImposterAutoloads(): array { } } class ImposterPlugin implements \Composer\Plugin\PluginInterface, \Composer\EventDispatcher\EventSubscriberInterface { /** * {@inheritDoc} */ public function activate(\Composer\Composer $composer, \Composer\IO\IOInterface $io) { } /** * {@inheritDoc} */ public static function getSubscribedEvents() { } public function transform(\Composer\Script\Event $event): void { } public function deactivate(\Composer\Composer $composer, \Composer\IO\IOInterface $io) { } public function uninstall(\Composer\Composer $composer, \Composer\IO\IOInterface $io) { } } class Transformer { public static function run(\Composer\IO\IOInterface $io): void { } } } namespace TypistTech\Imposter { class ArrayUtil { public static function flattenMap(callable $callable, array $array): array { } /** * Flatten array by one level. * * @param array $array * * @return array */ public static function flatten(array $array): array { } } interface ConfigInterface { /** * @return string[] */ public function getAutoloads(): array; public function getPackageDir(): string; /** * @return string[] */ public function getRequires(): array; } class Config implements \TypistTech\Imposter\ConfigInterface { /** * @var string */ protected $packageDir; /** * @var array */ private $config; public function __construct(string $packageDir, array $config) { } /** * @return string[] */ public function getAutoloads(): array { } /** * @return string[] */ private function getAutoloadPaths(): array { } protected function get(string $key): array { } /** * @param $autoloadConfigs * * @return string[] */ private function normalizeAutoload($autoloadConfigs): array { } public function getPackageDir(): string { } /** * @return string[] */ public function getRequires(): array { } } interface ConfigCollectionInterface { /** * @param ConfigInterface $config * * @return void */ public function add(\TypistTech\Imposter\ConfigInterface $config); /** * @return ConfigInterface[] */ public function all(): array; /** * @return string[] */ public function getAutoloads(): array; } class ConfigCollection implements \TypistTech\Imposter\ConfigCollectionInterface { /** * @var ConfigInterface[] */ private $configs = []; /** * @param ConfigInterface $config * * @return void */ public function add(\TypistTech\Imposter\ConfigInterface $config) { } /** * @return string[] */ public function getAutoloads(): array { } /** * @return ConfigInterface[] */ public function all(): array { } } class ConfigCollectionFactory { public static function forProject(\TypistTech\Imposter\ProjectConfigInterface $projectConfig, \TypistTech\Imposter\Filesystem $filesystem): \TypistTech\Imposter\ConfigCollectionInterface { } private static function addRequiredPackageConfigsRecursively(\TypistTech\Imposter\ConfigCollectionInterface $configCollection, \TypistTech\Imposter\ProjectConfigInterface $projectConfig, \TypistTech\Imposter\ConfigInterface $config, \TypistTech\Imposter\Filesystem $filesystem): \TypistTech\Imposter\ConfigCollectionInterface { } /** * @param ProjectConfigInterface $projectConfig * @param ConfigInterface $config * * @return string[] */ private static function getFilteredPackages(\TypistTech\Imposter\ProjectConfigInterface $projectConfig, \TypistTech\Imposter\ConfigInterface $config): array { } } class ConfigFactory { public static function build(string $path, \TypistTech\Imposter\Filesystem $filesystem): \TypistTech\Imposter\Config { } public static function buildProjectConfig(string $path, \TypistTech\Imposter\Filesystem $filesystem): \TypistTech\Imposter\ProjectConfig { } } interface FilesystemInterface { /** * @param string $path * * @return \SplFileInfo[] */ public function allFiles(string $path): array; /** * Extract the parent directory from a file path. * * @param string $path * * @return string */ public function dirname(string $path): string; /** * Get the contents of a file. * * @param string $path * * @return string */ public function get(string $path): string; /** * Determine if the given path is a file. * * @param string $path * * @return bool */ public function isFile(string $path): bool; /** * Determine if the given path is a directory. * * @param string $path * * @return bool */ public function isDir(string $path); /** * Write the contents of a file. * * @param string $path * @param string $contents * * @return mixed */ public function put(string $path, string $contents); } class Filesystem implements \TypistTech\Imposter\FilesystemInterface { /** * @param string $path * * @return \SplFileInfo[] * @throws \UnexpectedValueException */ public function allFiles(string $path): array { } /** * Extract the parent directory from a file path. * * @param string $path * * @return string */ public function dirname(string $path): string { } /** * Get the contents of a file. * * @param string $path * * @return string * @throws \RuntimeException */ public function get(string $path): string { } /** * Determine if the given path is a file. * * @param string $path * * @return bool */ public function isFile(string $path): bool { } /** * Determine if the given path is a directory. * * @param string $path * * @return bool */ public function isDir(string $path): bool { } /** * Write the contents of a file. * * @param string $path * @param string $contents * * @return int|false */ public function put(string $path, string $contents) { } } interface ImposterInterface { /** * Get all valid (exist) autoload paths. * * @return string[] */ public function getAutoloads(): array; /** * Get all invalid (not exist) autoload paths. * * @return string[] */ public function getInvalidAutoloads(): array; /** * Transform all autoload files. * * @return void */ public function run(); /** * Transform a file or directory recursively. * * @param string $target Path to the target file or directory. * * @return void */ public function transform(string $target); } class Imposter implements \TypistTech\Imposter\ImposterInterface { /** * @var string[] */ private $autoloads; /** * @var string[] */ private $invalidAutoloads; /** * @var ConfigCollectionInterface */ private $configCollection; /** * @var TransformerInterface */ private $transformer; /** * @var FilesystemInterface */ private $filesystem; /** * Imposter constructor. * * @param ConfigCollectionInterface $configCollection * @param TransformerInterface $transformer * @param FilesystemInterface $filesystem */ public function __construct(\TypistTech\Imposter\ConfigCollectionInterface $configCollection, \TypistTech\Imposter\TransformerInterface $transformer, \TypistTech\Imposter\FilesystemInterface $filesystem) { } /** * @return ConfigCollectionInterface */ public function getConfigCollection(): \TypistTech\Imposter\ConfigCollectionInterface { } /** * @return TransformerInterface */ public function getTransformer(): \TypistTech\Imposter\TransformerInterface { } /** * Transform all autoload files. * * @return void */ public function run() { } /** * Get all valid (exist) autoload paths. * * @return string[] */ public function getAutoloads(): array { } /** * Get all autoload paths which defined in composer.json but not exist. * * @return string[] */ public function getInvalidAutoloads(): array { } protected function setAutoloads(): void { } /** * Transform a file or directory recursively. * * @param string $target Path to the target file or directory. * * @return void */ public function transform(string $target) { } } class ImposterFactory { /** * @param string $projectPath * @param string[] $extraExcludes * * @return Imposter */ public static function forProject(string $projectPath, array $extraExcludes = []): \TypistTech\Imposter\Imposter { } } interface ProjectConfigInterface extends \TypistTech\Imposter\ConfigInterface { /** * @return string[] */ public function getExcludes(): array; public function getImposterNamespace(): string; public function getVendorDir(): string; /** * @param string[] $extraExcludes * * @return void */ public function setExtraExcludes(array $extraExcludes); } class ProjectConfig extends \TypistTech\Imposter\Config implements \TypistTech\Imposter\ProjectConfigInterface { /** * @var string[] */ protected const DEFAULT_EXCLUDES = ['typisttech/imposter']; /** * @var string[] */ private $extraExcludes = []; /** * @return string[] */ public function getExcludes(): array { } public function getImposterNamespace(): string { } public function getVendorDir(): string { } /** * @param string[] $extraExcludes * * @return void */ public function setExtraExcludes(array $extraExcludes) { } } class StringUtil { public static function addTrailingSlash(string $string): string { } public static function ensureDoubleBackwardSlash(string $string): string { } } interface TransformerInterface { /** * Transform a file or directory recursively. * * @param string $target Path to the target file or directory. * * @return void */ public function transform(string $target); } class Transformer implements \TypistTech\Imposter\TransformerInterface { /** * @var FilesystemInterface */ private $filesystem; /** * @var string */ private $namespacePrefix; /** * Transformer constructor. * * @param string $namespacePrefix * @param FilesystemInterface $filesystem */ public function __construct(string $namespacePrefix, \TypistTech\Imposter\FilesystemInterface $filesystem) { } /** * Transform a file or directory recursively. * * @todo Skip non-php files. * * @param string $target Path to the target file or directory. * * @return void */ public function transform(string $target) { } /** * @param string $targetFile * * @return void */ private function doTransform(string $targetFile) { } /** * Prefix namespace at the given path. * * @param string $targetFile * * @return void */ private function prefixNamespace(string $targetFile) { } /** * Replace string in the given file. * * @param string $pattern * @param string $replacement * @param string $targetFile * * @return void */ private function replace(string $pattern, string $replacement, string $targetFile) { } /** * Prefix `use const` keywords at the given path. * * @param string $targetFile * * @return void */ private function prefixUseConst(string $targetFile) { } /** * Prefix `use function` keywords at the given path. * * @param string $targetFile * * @return void */ private function prefixUseFunction(string $targetFile) { } /** * Prefix `use` keywords at the given path. * * @param string $targetFile * * @return void */ private function prefixUse(string $targetFile) { } } } namespace { /** * Class ActionScheduler_ActionClaim */ class ActionScheduler_ActionClaim { private $id = ''; private $action_ids = array(); public function __construct($id, array $action_ids) { } public function get_id() { } public function get_actions() { } } /** * Class ActionScheduler_ActionFactory */ class ActionScheduler_ActionFactory { /** * Return stored actions for given params. * * @param string $status The action's status in the data store. * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass to callbacks when the hook is triggered. * @param ActionScheduler_Schedule $schedule The action's schedule. * @param string $group A group to put the action in. * phpcs:ignore Squiz.Commenting.FunctionComment.ExtraParamComment * @param int $priority The action priority. * * @return ActionScheduler_Action An instance of the stored action. */ public function get_stored_action($status, $hook, array $args = array(), \ActionScheduler_Schedule $schedule = \null, $group = '') { } /** * Enqueue an action to run one time, as soon as possible (rather a specific scheduled time). * * This method creates a new action using the NullSchedule. In practice, this results in an action scheduled to * execute "now". Therefore, it will generally run as soon as possible but is not prioritized ahead of other actions * that are already past-due. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param string $group A group to put the action in. * * @return int The ID of the stored action. */ public function async($hook, $args = array(), $group = '') { } /** * Same as async, but also supports $unique param. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param string $group A group to put the action in. * @param bool $unique Whether to ensure the action is unique. * * @return int The ID of the stored action. */ public function async_unique($hook, $args = array(), $group = '', $unique = \true) { } /** * Create single action. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param int $when Unix timestamp when the action will run. * @param string $group A group to put the action in. * * @return int The ID of the stored action. */ public function single($hook, $args = array(), $when = \null, $group = '') { } /** * Create single action only if there is no pending or running action with same name and params. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param int $when Unix timestamp when the action will run. * @param string $group A group to put the action in. * @param bool $unique Whether action scheduled should be unique. * * @return int The ID of the stored action. */ public function single_unique($hook, $args = array(), $when = \null, $group = '', $unique = \true) { } /** * Create the first instance of an action recurring on a given interval. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param int $first Unix timestamp for the first run. * @param int $interval Seconds between runs. * @param string $group A group to put the action in. * * @return int The ID of the stored action. */ public function recurring($hook, $args = array(), $first = \null, $interval = \null, $group = '') { } /** * Create the first instance of an action recurring on a given interval only if there is no pending or running action with same name and params. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param int $first Unix timestamp for the first run. * @param int $interval Seconds between runs. * @param string $group A group to put the action in. * @param bool $unique Whether action scheduled should be unique. * * @return int The ID of the stored action. */ public function recurring_unique($hook, $args = array(), $first = \null, $interval = \null, $group = '', $unique = \true) { } /** * Create the first instance of an action recurring on a Cron schedule. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param int $base_timestamp The first instance of the action will be scheduled * to run at a time calculated after this timestamp matching the cron * expression. This can be used to delay the first instance of the action. * @param int $schedule A cron definition string. * @param string $group A group to put the action in. * * @return int The ID of the stored action. */ public function cron($hook, $args = array(), $base_timestamp = \null, $schedule = \null, $group = '') { } /** * Create the first instance of an action recurring on a Cron schedule only if there is no pending or running action with same name and params. * * @param string $hook The hook to trigger when this action runs. * @param array $args Args to pass when the hook is triggered. * @param int $base_timestamp The first instance of the action will be scheduled * to run at a time calculated after this timestamp matching the cron * expression. This can be used to delay the first instance of the action. * @param int $schedule A cron definition string. * @param string $group A group to put the action in. * @param bool $unique Whether action scheduled should be unique. * * @return int The ID of the stored action. **/ public function cron_unique($hook, $args = array(), $base_timestamp = \null, $schedule = \null, $group = '', $unique = \true) { } /** * Create a successive instance of a recurring or cron action. * * Importantly, the action will be rescheduled to run based on the current date/time. * That means when the action is scheduled to run in the past, the next scheduled date * will be pushed forward. For example, if a recurring action set to run every hour * was scheduled to run 5 seconds ago, it will be next scheduled for 1 hour in the * future, which is 1 hour and 5 seconds from when it was last scheduled to run. * * Alternatively, if the action is scheduled to run in the future, and is run early, * likely via manual intervention, then its schedule will change based on the time now. * For example, if a recurring action set to run every day, and is run 12 hours early, * it will run again in 24 hours, not 36 hours. * * This slippage is less of an issue with Cron actions, as the specific run time can * be set for them to run, e.g. 1am each day. In those cases, and entire period would * need to be missed before there was any change is scheduled, e.g. in the case of an * action scheduled for 1am each day, the action would need to run an entire day late. * * @param ActionScheduler_Action $action The existing action. * * @return string The ID of the stored action * @throws InvalidArgumentException If $action is not a recurring action. */ public function repeat($action) { } /** * Creates a scheduled action. * * This general purpose method can be used in place of specific methods such as async(), * async_unique(), single() or single_unique(), etc. * * @internal Not intended for public use, should not be overriden by subclasses. * * @param array $options { * Describes the action we wish to schedule. * * @type string $type Must be one of 'async', 'cron', 'recurring', or 'single'. * @type string $hook The hook to be executed. * @type array $arguments Arguments to be passed to the callback. * @type string $group The action group. * @type bool $unique If the action should be unique. * @type int $when Timestamp. Indicates when the action, or first instance of the action in the case * of recurring or cron actions, becomes due. * @type int|string $pattern Recurrence pattern. This is either an interval in seconds for recurring actions * or a cron expression for cron actions. * @type int $priority Lower values means higher priority. Should be in the range 0-255. * } * * @return int The action ID. Zero if there was an error scheduling the action. */ public function create(array $options = array()) { } /** * Save action to database. * * @param ActionScheduler_Action $action Action object to save. * * @return int The ID of the stored action */ protected function store(\ActionScheduler_Action $action) { } /** * Store action if it's unique. * * @param ActionScheduler_Action $action Action object to store. * * @return int ID of the created action. Will be 0 if action was not created. */ protected function store_unique_action(\ActionScheduler_Action $action) { } } /** * Class ActionScheduler_AdminView_Deprecated * * Store deprecated public functions previously found in the ActionScheduler_AdminView class. * Keeps them out of the way of the main class. * * @codeCoverageIgnore */ class ActionScheduler_AdminView_Deprecated { public function action_scheduler_post_type_args($args) { } /** * Customise the post status related views displayed on the Scheduled Actions administration screen. * * @param array $views An associative array of views and view labels which can be used to filter the 'scheduled-action' posts displayed on the Scheduled Actions administration screen. * @return array $views An associative array of views and view labels which can be used to filter the 'scheduled-action' posts displayed on the Scheduled Actions administration screen. */ public function list_table_views($views) { } /** * Do not include the "Edit" action for the Scheduled Actions administration screen. * * Hooked to the 'bulk_actions-edit-action-scheduler' filter. * * @param array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. * @return array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. */ public function bulk_actions($actions) { } /** * Completely customer the columns displayed on the Scheduled Actions administration screen. * * Because we can't filter the content of the default title and date columns, we need to recreate our own * custom columns for displaying those post fields. For the column content, @see self::list_table_column_content(). * * @param array $columns An associative array of columns that are use for the table on the Scheduled Actions administration screen. * @return array $columns An associative array of columns that are use for the table on the Scheduled Actions administration screen. */ public function list_table_columns($columns) { } /** * Make our custom title & date columns use defaulting title & date sorting. * * @param array $columns An associative array of columns that can be used to sort the table on the Scheduled Actions administration screen. * @return array $columns An associative array of columns that can be used to sort the table on the Scheduled Actions administration screen. */ public static function list_table_sortable_columns($columns) { } /** * Print the content for our custom columns. * * @param string $column_name The key for the column for which we should output our content. * @param int $post_id The ID of the 'scheduled-action' post for which this row relates. */ public static function list_table_column_content($column_name, $post_id) { } /** * Hide the inline "Edit" action for all 'scheduled-action' posts. * * Hooked to the 'post_row_actions' filter. * * @param array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. * @return array $actions An associative array of actions which can be performed on the 'scheduled-action' post type. */ public static function row_actions($actions, $post) { } /** * Run an action when triggered from the Action Scheduler administration screen. * * @codeCoverageIgnore */ public static function maybe_execute_action() { } /** * Convert an interval of seconds into a two part human friendly string. * * The WordPress human_time_diff() function only calculates the time difference to one degree, meaning * even if an action is 1 day and 11 hours away, it will display "1 day". This funciton goes one step * further to display two degrees of accuracy. * * Based on Crontrol::interval() function by Edward Dale: https://wordpress.org/plugins/wp-crontrol/ * * @param int $interval A interval in seconds. * @return string A human friendly string representation of the interval. */ public static function admin_notices() { } /** * Filter search queries to allow searching by Claim ID (i.e. post_password). * * @param string $orderby MySQL orderby string. * @param WP_Query $query Instance of a WP_Query object * @return string MySQL orderby string. */ public function custom_orderby($orderby, $query) { } /** * Filter search queries to allow searching by Claim ID (i.e. post_password). * * @param string $search MySQL search string. * @param WP_Query $query Instance of a WP_Query object * @return string MySQL search string. */ public function search_post_password($search, $query) { } /** * Change messages when a scheduled action is updated. * * @param array $messages * @return array */ public function post_updated_messages($messages) { } } /** * Class ActionScheduler_AdminView * @codeCoverageIgnore */ class ActionScheduler_AdminView extends \ActionScheduler_AdminView_Deprecated { private static $admin_view = \NULL; private static $screen_id = 'tools_page_action-scheduler'; /** @var ActionScheduler_ListTable */ protected $list_table; /** * @return ActionScheduler_AdminView * @codeCoverageIgnore */ public static function instance() { } /** * @codeCoverageIgnore */ public function init() { } public function system_status_report() { } /** * Registers action-scheduler into WooCommerce > System status. * * @param array $tabs An associative array of tab key => label. * @return array $tabs An associative array of tab key => label, including Action Scheduler's tabs */ public function register_system_status_tab(array $tabs) { } /** * Include Action Scheduler's administration under the Tools menu. * * A menu under the Tools menu is important for backward compatibility (as that's * where it started), and also provides more convenient access than the WooCommerce * System Status page, and for sites where WooCommerce isn't active. */ public function register_menu() { } /** * Triggers processing of any pending actions. */ public function process_admin_ui() { } /** * Renders the Admin UI */ public function render_admin_ui() { } /** * Get the admin UI object and process any requested actions. * * @return ActionScheduler_ListTable */ protected function get_list_table() { } /** * Action: admin_notices * * Maybe check past-due actions, and print notice. * * @uses $this->check_pastdue_actions() */ public function maybe_check_pastdue_actions() { } /** * Check past-due actions, and print notice. * * @todo update $link_url to "Past-due" filter when released (see issue #510, PR #511) */ protected function check_pastdue_actions() { } /** * Provide more information about the screen and its data in the help tab. */ public function add_help_tabs() { } } /** * Abstract WP_Async_Request class. * * @abstract */ abstract class WP_Async_Request { /** * Prefix * * (default value: 'wp') * * @var string * @access protected */ protected $prefix = 'wp'; /** * Action * * (default value: 'async_request') * * @var string * @access protected */ protected $action = 'async_request'; /** * Identifier * * @var mixed * @access protected */ protected $identifier; /** * Data * * (default value: array()) * * @var array * @access protected */ protected $data = array(); /** * Initiate new async request */ public function __construct() { } /** * Set data used during the request * * @param array $data Data. * * @return $this */ public function data($data) { } /** * Dispatch the async request * * @return array|WP_Error */ public function dispatch() { } /** * Get query args * * @return array */ protected function get_query_args() { } /** * Get query URL * * @return string */ protected function get_query_url() { } /** * Get post args * * @return array */ protected function get_post_args() { } /** * Maybe handle * * Check for correct nonce and pass to handler. */ public function maybe_handle() { } /** * Handle * * Override this method to perform any actions required * during the async request. */ abstract protected function handle(); } /** * ActionScheduler_AsyncRequest_QueueRunner class. */ class ActionScheduler_AsyncRequest_QueueRunner extends \WP_Async_Request { /** * Data store for querying actions * * @var ActionScheduler_Store * @access protected */ protected $store; /** * Prefix for ajax hooks * * @var string * @access protected */ protected $prefix = 'as'; /** * Action for ajax hooks * * @var string * @access protected */ protected $action = 'async_request_queue_runner'; /** * Initiate new async request */ public function __construct(\ActionScheduler_Store $store) { } /** * Handle async requests * * Run a queue, and maybe dispatch another async request to run another queue * if there are still pending actions after completing a queue in this request. */ protected function handle() { } /** * If the async request runner is needed and allowed to run, dispatch a request. */ public function maybe_dispatch() { } /** * Only allow async requests when needed. * * Also allow 3rd party code to disable running actions via async requests. */ protected function allow() { } /** * Chaining async requests can crash MySQL. A brief sleep call in PHP prevents that. */ protected function get_sleep_seconds() { } } /** * Class ActionScheduler_Compatibility */ class ActionScheduler_Compatibility { /** * Converts a shorthand byte value to an integer byte value. * * Wrapper for wp_convert_hr_to_bytes(), moved to load.php in WordPress 4.6 from media.php * * @link https://secure.php.net/manual/en/function.ini-get.php * @link https://secure.php.net/manual/en/faq.using.php#faq.using.shorthandbytes * * @param string $value A (PHP ini) byte value, either shorthand or ordinary. * @return int An integer byte value. */ public static function convert_hr_to_bytes($value) { } /** * Attempts to raise the PHP memory limit for memory intensive processes. * * Only allows raising the existing limit and prevents lowering it. * * Wrapper for wp_raise_memory_limit(), added in WordPress v4.6.0 * * @return bool|int|string The limit that was set or false on failure. */ public static function raise_memory_limit() { } /** * Attempts to raise the PHP timeout for time intensive processes. * * Only allows raising the existing limit and prevents lowering it. Wrapper for wc_set_time_limit(), when available. * * @param int $limit The time limit in seconds. */ public static function raise_time_limit($limit = 0) { } } /** * Class ActionScheduler_DataController * * The main plugin/initialization class for the data stores. * * Responsible for hooking everything up with WordPress. * * @package Action_Scheduler * * @since 3.0.0 */ class ActionScheduler_DataController { /** Action data store class name. */ const DATASTORE_CLASS = 'ActionScheduler_DBStore'; /** Logger data store class name. */ const LOGGER_CLASS = 'ActionScheduler_DBLogger'; /** Migration status option name. */ const STATUS_FLAG = 'action_scheduler_migration_status'; /** Migration status option value. */ const STATUS_COMPLETE = 'complete'; /** Migration minimum required PHP version. */ const MIN_PHP_VERSION = '5.5'; /** @var ActionScheduler_DataController */ private static $instance; /** @var int */ private static $sleep_time = 0; /** @var int */ private static $free_ticks = 50; /** * Get a flag indicating whether the migration environment dependencies are met. * * @return bool */ public static function dependencies_met() { } /** * Get a flag indicating whether the migration is complete. * * @return bool Whether the flag has been set marking the migration as complete */ public static function is_migration_complete() { } /** * Mark the migration as complete. */ public static function mark_migration_complete() { } /** * Unmark migration when a plugin is de-activated. Will not work in case of silent activation, for example in an update. * We do this to mitigate the bug of lost actions which happens if there was an AS 2.x to AS 3.x migration in the past, but that plugin is now * deactivated and the site was running on AS 2.x again. */ public static function mark_migration_incomplete() { } /** * Set the action store class name. * * @param string $class Classname of the store class. * * @return string */ public static function set_store_class($class) { } /** * Set the action logger class name. * * @param string $class Classname of the logger class. * * @return string */ public static function set_logger_class($class) { } /** * Set the sleep time in seconds. * * @param integer $sleep_time The number of seconds to pause before resuming operation. */ public static function set_sleep_time($sleep_time) { } /** * Set the tick count required for freeing memory. * * @param integer $free_ticks The number of ticks to free memory on. */ public static function set_free_ticks($free_ticks) { } /** * Free memory if conditions are met. * * @param int $ticks Current tick count. */ public static function maybe_free_memory($ticks) { } /** * Reduce memory footprint by clearing the database query and object caches. */ public static function free_memory() { } /** * Connect to table datastores if migration is complete. * Otherwise, proceed with the migration if the dependencies have been met. */ public static function init() { } /** * Singleton factory. */ public static function instance() { } } /** * ActionScheduler DateTime class. * * This is a custom extension to DateTime that */ class ActionScheduler_DateTime extends \DateTime { /** * UTC offset. * * Only used when a timezone is not set. When a timezone string is * used, this will be set to 0. * * @var int */ protected $utcOffset = 0; /** * Get the unix timestamp of the current object. * * Missing in PHP 5.2 so just here so it can be supported consistently. * * @return int */ #[\ReturnTypeWillChange] public function getTimestamp() { } /** * Set the UTC offset. * * This represents a fixed offset instead of a timezone setting. * * @param $offset */ public function setUtcOffset($offset) { } /** * Returns the timezone offset. * * @return int * @link http://php.net/manual/en/datetime.getoffset.php */ #[\ReturnTypeWillChange] public function getOffset() { } /** * Set the TimeZone associated with the DateTime * * @param DateTimeZone $timezone * * @return static * @link http://php.net/manual/en/datetime.settimezone.php */ #[\ReturnTypeWillChange] public function setTimezone($timezone) { } /** * Get the timestamp with the WordPress timezone offset added or subtracted. * * @since 3.0.0 * @return int */ public function getOffsetTimestamp() { } } /** * ActionScheduler Exception Interface. * * Facilitates catching Exceptions unique to Action Scheduler. * * @package ActionScheduler * @since 2.1.0 */ interface ActionScheduler_Exception { } /** * Class ActionScheduler_FatalErrorMonitor */ class ActionScheduler_FatalErrorMonitor { /** @var ActionScheduler_ActionClaim */ private $claim = \NULL; /** @var ActionScheduler_Store */ private $store = \NULL; private $action_id = 0; public function __construct(\ActionScheduler_Store $store) { } public function attach(\ActionScheduler_ActionClaim $claim) { } public function detach() { } public function track_current_action($action_id) { } public function untrack_action() { } public function handle_unexpected_shutdown() { } } /** * InvalidAction Exception. * * Used for identifying actions that are invalid in some way. * * @package ActionScheduler */ class ActionScheduler_InvalidActionException extends \InvalidArgumentException implements \ActionScheduler_Exception { /** * Create a new exception when the action's schedule cannot be fetched. * * @param string $action_id The action ID with bad args. * @return static */ public static function from_schedule($action_id, $schedule) { } /** * Create a new exception when the action's args cannot be decoded to an array. * * @author Jeremy Pry * * @param string $action_id The action ID with bad args. * @return static */ public static function from_decoding_args($action_id, $args = array()) { } } /** * Action Scheduler Abstract List Table class * * This abstract class enhances WP_List_Table making it ready to use. * * By extending this class we can focus on describing how our table looks like, * which columns needs to be shown, filter, ordered by and more and forget about the details. * * This class supports: * - Bulk actions * - Search * - Sortable columns * - Automatic translations of the columns * * @codeCoverageIgnore * @since 2.0.0 */ abstract class ActionScheduler_Abstract_ListTable extends \WP_List_Table { /** * The table name * * @var string */ protected $table_name; /** * Package name, used to get options from WP_List_Table::get_items_per_page. * * @var string */ protected $package; /** * How many items do we render per page? * * @var int */ protected $items_per_page = 10; /** * Enables search in this table listing. If this array * is empty it means the listing is not searchable. * * @var array */ protected $search_by = array(); /** * Columns to show in the table listing. It is a key => value pair. The * key must much the table column name and the value is the label, which is * automatically translated. * * @var array */ protected $columns = array(); /** * Defines the row-actions. It expects an array where the key * is the column name and the value is an array of actions. * * The array of actions are key => value, where key is the method name * (with the prefix row_action_) and the value is the label * and title. * * @var array */ protected $row_actions = array(); /** * The Primary key of our table * * @var string */ protected $ID = 'ID'; /** * Enables sorting, it expects an array * of columns (the column names are the values) * * @var array */ protected $sort_by = array(); /** * The default sort order * * @var string */ protected $filter_by = array(); /** * The status name => count combinations for this table's items. Used to display status filters. * * @var array */ protected $status_counts = array(); /** * Notices to display when loading the table. Array of arrays of form array( 'class' => {updated|error}, 'message' => 'This is the notice text display.' ). * * @var array */ protected $admin_notices = array(); /** * Localised string displayed in the

element above the able. * * @var string */ protected $table_header; /** * Enables bulk actions. It must be an array where the key is the action name * and the value is the label (which is translated automatically). It is important * to notice that it will check that the method exists (`bulk_$name`) and will throw * an exception if it does not exists. * * This class will automatically check if the current request has a bulk action, will do the * validations and afterwards will execute the bulk method, with two arguments. The first argument * is the array with primary keys, the second argument is a string with a list of the primary keys, * escaped and ready to use (with `IN`). * * @var array */ protected $bulk_actions = array(); /** * Makes translation easier, it basically just wraps * `_x` with some default (the package name). * * @param string $text The new text to translate. * @param string $context The context of the text. * @return string|void The translated text. * * @deprecated 3.0.0 Use `_x()` instead. */ protected function translate($text, $context = '') { } /** * Reads `$this->bulk_actions` and returns an array that WP_List_Table understands. It * also validates that the bulk method handler exists. It throws an exception because * this is a library meant for developers and missing a bulk method is a development-time error. * * @return array * * @throws RuntimeException Throws RuntimeException when the bulk action does not have a callback method. */ protected function get_bulk_actions() { } /** * Checks if the current request has a bulk action. If that is the case it will validate and will * execute the bulk method handler. Regardless if the action is valid or not it will redirect to * the previous page removing the current arguments that makes this request a bulk action. */ protected function process_bulk_action() { } /** * Default code for deleting entries. * validated already by process_bulk_action() * * @param array $ids ids of the items to delete. * @param string $ids_sql the sql for the ids. * @return void */ protected function bulk_delete(array $ids, $ids_sql) { } /** * Prepares the _column_headers property which is used by WP_Table_List at rendering. * It merges the columns and the sortable columns. */ protected function prepare_column_headers() { } /** * Reads $this->sort_by and returns the columns name in a format that WP_Table_List * expects */ public function get_sortable_columns() { } /** * Returns the columns names for rendering. It adds a checkbox for selecting everything * as the first column */ public function get_columns() { } /** * Get prepared LIMIT clause for items query * * @global wpdb $wpdb * * @return string Prepared LIMIT clause for items query. */ protected function get_items_query_limit() { } /** * Returns the number of items to offset/skip for this current view. * * @return int */ protected function get_items_offset() { } /** * Get prepared OFFSET clause for items query * * @global wpdb $wpdb * * @return string Prepared OFFSET clause for items query. */ protected function get_items_query_offset() { } /** * Prepares the ORDER BY sql statement. It uses `$this->sort_by` to know which * columns are sortable. This requests validates the orderby $_GET parameter is a valid * column and sortable. It will also use order (ASC|DESC) using DESC by default. */ protected function get_items_query_order() { } /** * Return the sortable column specified for this request to order the results by, if any. * * @return string */ protected function get_request_orderby() { } /** * Return the sortable column order specified for this request. * * @return string */ protected function get_request_order() { } /** * Return the status filter for this request, if any. * * @return string */ protected function get_request_status() { } /** * Return the search filter for this request, if any. * * @return string */ protected function get_request_search_query() { } /** * Process and return the columns name. This is meant for using with SQL, this means it * always includes the primary key. * * @return array */ protected function get_table_columns() { } /** * Check if the current request is doing a "full text" search. If that is the case * prepares the SQL to search texts using LIKE. * * If the current request does not have any search or if this list table does not support * that feature it will return an empty string. * * @return string */ protected function get_items_query_search() { } /** * Prepares the SQL to filter rows by the options defined at `$this->filter_by`. Before trusting * any data sent by the user it validates that it is a valid option. */ protected function get_items_query_filters() { } /** * Prepares the data to feed WP_Table_List. * * This has the core for selecting, sorting and filting data. To keep the code simple * its logic is split among many methods (get_items_query_*). * * Beside populating the items this function will also count all the records that matches * the filtering criteria and will do fill the pagination variables. */ public function prepare_items() { } /** * Display the table. * * @param string $which The name of the table. */ public function extra_tablenav($which) { } /** * Set the data for displaying. It will attempt to unserialize (There is a chance that some columns * are serialized). This can be override in child classes for futher data transformation. * * @param array $items Items array. */ protected function set_items(array $items) { } /** * Renders the checkbox for each row, this is the first column and it is named ID regardless * of how the primary key is named (to keep the code simpler). The bulk actions will do the proper * name transformation though using `$this->ID`. * * @param array $row The row to render. */ public function column_cb($row) { } /** * Renders the row-actions. * * This method renders the action menu, it reads the definition from the $row_actions property, * and it checks that the row action method exists before rendering it. * * @param array $row Row to be rendered. * @param string $column_name Column name. * @return string */ protected function maybe_render_actions($row, $column_name) { } /** * Process the bulk actions. * * @return void */ protected function process_row_actions() { } /** * Default column formatting, it will escape everythig for security. * * @param array $item The item array. * @param string $column_name Column name to display. * * @return string */ public function column_default($item, $column_name) { } /** * Display the table heading and search query, if any */ protected function display_header() { } /** * Display the table heading and search query, if any */ protected function display_admin_notices() { } /** * Prints the available statuses so the user can click to filter. */ protected function display_filter_by_status() { } /** * Renders the table list, we override the original class to render the table inside a form * and to render any needed HTML (like the search box). By doing so the callee of a function can simple * forget about any extra HTML. */ protected function display_table() { } /** * Process any pending actions. */ public function process_actions() { } /** * Render the list table page, including header, notices, status filters and table. */ public function display_page() { } /** * Get the text to display in the search box on the list table. */ protected function get_search_box_placeholder() { } /** * Gets the screen per_page option name. * * @return string */ protected function get_per_page_option_name() { } } /** * Implements the admin view of the actions. * @codeCoverageIgnore */ class ActionScheduler_ListTable extends \ActionScheduler_Abstract_ListTable { /** * The package name. * * @var string */ protected $package = 'action-scheduler'; /** * Columns to show (name => label). * * @var array */ protected $columns = array(); /** * Actions (name => label). * * @var array */ protected $row_actions = array(); /** * The active data stores * * @var ActionScheduler_Store */ protected $store; /** * A logger to use for getting action logs to display * * @var ActionScheduler_Logger */ protected $logger; /** * A ActionScheduler_QueueRunner runner instance (or child class) * * @var ActionScheduler_QueueRunner */ protected $runner; /** * Bulk actions. The key of the array is the method name of the implementation: * * bulk_(array $ids, string $sql_in). * * See the comments in the parent class for further details * * @var array */ protected $bulk_actions = array(); /** * Flag variable to render our notifications, if any, once. * * @var bool */ protected static $did_notification = \false; /** * Array of seconds for common time periods, like week or month, alongside an internationalised string representation, i.e. "Day" or "Days" * * @var array */ private static $time_periods; /** * Sets the current data store object into `store->action` and initialises the object. * * @param ActionScheduler_Store $store * @param ActionScheduler_Logger $logger * @param ActionScheduler_QueueRunner $runner */ public function __construct(\ActionScheduler_Store $store, \ActionScheduler_Logger $logger, \ActionScheduler_QueueRunner $runner) { } /** * Handles setting the items_per_page option for this screen. * * @param mixed $status Default false (to skip saving the current option). * @param string $option Screen option name. * @param int $value Screen option value. * @return int */ public function set_items_per_page_option($status, $option, $value) { } /** * Convert an interval of seconds into a two part human friendly string. * * The WordPress human_time_diff() function only calculates the time difference to one degree, meaning * even if an action is 1 day and 11 hours away, it will display "1 day". This function goes one step * further to display two degrees of accuracy. * * Inspired by the Crontrol::interval() function by Edward Dale: https://wordpress.org/plugins/wp-crontrol/ * * @param int $interval A interval in seconds. * @param int $periods_to_include Depth of time periods to include, e.g. for an interval of 70, and $periods_to_include of 2, both minutes and seconds would be included. With a value of 1, only minutes would be included. * @return string A human friendly string representation of the interval. */ private static function human_interval($interval, $periods_to_include = 2) { } /** * Returns the recurrence of an action or 'Non-repeating'. The output is human readable. * * @param ActionScheduler_Action $action * * @return string */ protected function get_recurrence($action) { } /** * Serializes the argument of an action to render it in a human friendly format. * * @param array $row The array representation of the current row of the table * * @return string */ public function column_args(array $row) { } /** * Prints the logs entries inline. We do so to avoid loading Javascript and other hacks to show it in a modal. * * @param array $row Action array. * @return string */ public function column_log_entries(array $row) { } /** * Prints the logs entries inline. We do so to avoid loading Javascript and other hacks to show it in a modal. * * @param ActionScheduler_LogEntry $log_entry * @param DateTimezone $timezone * @return string */ protected function get_log_entry_html(\ActionScheduler_LogEntry $log_entry, \DateTimezone $timezone) { } /** * Only display row actions for pending actions. * * @param array $row Row to render * @param string $column_name Current row * * @return string */ protected function maybe_render_actions($row, $column_name) { } /** * Renders admin notifications * * Notifications: * 1. When the maximum number of tasks are being executed simultaneously. * 2. Notifications when a task is manually executed. * 3. Tables are missing. */ public function display_admin_notices() { } /** * Prints the scheduled date in a human friendly format. * * @param array $row The array representation of the current row of the table * * @return string */ public function column_schedule($row) { } /** * Get the scheduled date in a human friendly format. * * @param ActionScheduler_Schedule $schedule * @return string */ protected function get_schedule_display_string(\ActionScheduler_Schedule $schedule) { } /** * Bulk delete * * Deletes actions based on their ID. This is the handler for the bulk delete. It assumes the data * properly validated by the callee and it will delete the actions without any extra validation. * * @param array $ids * @param string $ids_sql Inherited and unused */ protected function bulk_delete(array $ids, $ids_sql) { } /** * Implements the logic behind running an action. ActionScheduler_Abstract_ListTable validates the request and their * parameters are valid. * * @param int $action_id */ protected function row_action_cancel($action_id) { } /** * Implements the logic behind running an action. ActionScheduler_Abstract_ListTable validates the request and their * parameters are valid. * * @param int $action_id */ protected function row_action_run($action_id) { } /** * Force the data store schema updates. */ protected function recreate_tables() { } /** * Implements the logic behind processing an action once an action link is clicked on the list table. * * @param int $action_id * @param string $row_action_type The type of action to perform on the action. */ protected function process_row_action($action_id, $row_action_type) { } /** * {@inheritDoc} */ public function prepare_items() { } /** * Prints the available statuses so the user can click to filter. */ protected function display_filter_by_status() { } /** * Get the text to display in the search box on the list table. */ protected function get_search_box_button_text() { } /** * {@inheritDoc} */ protected function get_per_page_option_name() { } } /** * Class ActionScheduler_LogEntry */ class ActionScheduler_LogEntry { /** * @var int $action_id */ protected $action_id = ''; /** * @var string $message */ protected $message = ''; /** * @var Datetime $date */ protected $date; /** * Constructor * * @param mixed $action_id Action ID * @param string $message Message * @param Datetime $date Datetime object with the time when this log entry was created. If this parameter is * not provided a new Datetime object (with current time) will be created. */ public function __construct($action_id, $message, $date = \null) { } /** * Returns the date when this log entry was created * * @return Datetime */ public function get_date() { } public function get_action_id() { } public function get_message() { } } /** * Class ActionScheduler_NullLogEntry */ class ActionScheduler_NullLogEntry extends \ActionScheduler_LogEntry { public function __construct($action_id = '', $message = '') { } } /** * Abstract class for setting a basic lock to throttle some action. * * Class ActionScheduler_Lock */ abstract class ActionScheduler_Lock { /** @var ActionScheduler_Lock */ private static $locker = \NULL; /** @var int */ protected static $lock_duration = \MINUTE_IN_SECONDS; /** * Check if a lock is set for a given lock type. * * @param string $lock_type A string to identify different lock types. * @return bool */ public function is_locked($lock_type) { } /** * Set a lock. * * To prevent race conditions, implementations should avoid setting the lock if the lock is already held. * * @param string $lock_type A string to identify different lock types. * @return bool */ abstract public function set($lock_type); /** * If a lock is set, return the timestamp it was set to expiry. * * @param string $lock_type A string to identify different lock types. * @return bool|int False if no lock is set, otherwise the timestamp for when the lock is set to expire. */ abstract public function get_expiration($lock_type); /** * Get the amount of time to set for a given lock. 60 seconds by default. * * @param string $lock_type A string to identify different lock types. * @return int */ protected function get_duration($lock_type) { } /** * @return ActionScheduler_Lock */ public static function instance() { } } /** * Provide a way to set simple transient locks to block behaviour * for up-to a given duration. * * Class ActionScheduler_OptionLock * @since 3.0.0 */ class ActionScheduler_OptionLock extends \ActionScheduler_Lock { /** * Set a lock using options for a given amount of time (60 seconds by default). * * Using an autoloaded option avoids running database queries or other resource intensive tasks * on frequently triggered hooks, like 'init' or 'shutdown'. * * For example, ActionScheduler_QueueRunner->maybe_dispatch_async_request() uses a lock to avoid * calling ActionScheduler_QueueRunner->has_maximum_concurrent_batches() every time the 'shutdown', * hook is triggered, because that method calls ActionScheduler_QueueRunner->store->get_claim_count() * to find the current number of claims in the database. * * @param string $lock_type A string to identify different lock types. * @bool True if lock value has changed, false if not or if set failed. */ public function set($lock_type) { } /** * If a lock is set, return the timestamp it was set to expiry. * * @param string $lock_type A string to identify different lock types. * @return bool|int False if no lock is set, otherwise the timestamp for when the lock is set to expire. */ public function get_expiration($lock_type) { } /** * Given the lock string, derives the lock expiration timestamp (or false if it cannot be determined). * * @param string $lock_value String containing a timestamp, or pipe-separated combination of unique value and timestamp. * * @return false|int */ private function get_expiration_from($lock_value) { } /** * Get the key to use for storing the lock in the transient * * @param string $lock_type A string to identify different lock types. * @return string */ protected function get_key($lock_type) { } /** * Supplies the existing lock value, or an empty string if not set. * * @param string $lock_type A string to identify different lock types. * * @return string */ private function get_existing_lock($lock_type) { } /** * Supplies a lock value consisting of a unique value and the current timestamp, which are separated by a pipe * character. * * Example: (string) "649de012e6b262.09774912|1688068114" * * @param string $lock_type A string to identify different lock types. * * @return string */ private function new_lock_value($lock_type) { } } /** * Class ActionScheduler_QueueCleaner */ class ActionScheduler_QueueCleaner { /** @var int */ protected $batch_size; /** @var ActionScheduler_Store */ private $store = \null; /** * 31 days in seconds. * * @var int */ private $month_in_seconds = 2678400; /** * @var string[] Default list of statuses purged by the cleaner process. */ private $default_statuses_to_purge = [\ActionScheduler_Store::STATUS_COMPLETE, \ActionScheduler_Store::STATUS_CANCELED]; /** * ActionScheduler_QueueCleaner constructor. * * @param ActionScheduler_Store $store The store instance. * @param int $batch_size The batch size. */ public function __construct(\ActionScheduler_Store $store = \null, $batch_size = 20) { } /** * Default queue cleaner process used by queue runner. * * @return array */ public function delete_old_actions() { } /** * Delete selected actions limited by status and date. * * @param string[] $statuses_to_purge List of action statuses to purge. Defaults to canceled, complete. * @param DateTime $cutoff_date Date limit for selecting actions. Defaults to 31 days ago. * @param int|null $batch_size Maximum number of actions per status to delete. Defaults to 20. * @param string $context Calling process context. Defaults to `old`. * @return array Actions deleted. */ public function clean_actions(array $statuses_to_purge, \DateTime $cutoff_date, $batch_size = \null, $context = 'old') { } /** * @param int[] $actions_to_delete List of action IDs to delete. * @param int $lifespan Minimum scheduled age in seconds of the actions being deleted. * @param string $context Context of the delete request. * @return array Deleted action IDs. */ private function delete_actions(array $actions_to_delete, $lifespan = \null, $context = 'old') { } /** * Unclaim pending actions that have not been run within a given time limit. * * When called by ActionScheduler_Abstract_QueueRunner::run_cleanup(), the time limit passed * as a parameter is 10x the time limit used for queue processing. * * @param int $time_limit The number of seconds to allow a queue to run before unclaiming its pending actions. Default 300 (5 minutes). */ public function reset_timeouts($time_limit = 300) { } /** * Mark actions that have been running for more than a given time limit as failed, based on * the assumption some uncatachable and unloggable fatal error occurred during processing. * * When called by ActionScheduler_Abstract_QueueRunner::run_cleanup(), the time limit passed * as a parameter is 10x the time limit used for queue processing. * * @param int $time_limit The number of seconds to allow an action to run before it is considered to have failed. Default 300 (5 minutes). */ public function mark_failures($time_limit = 300) { } /** * Do all of the cleaning actions. * * @param int $time_limit The number of seconds to use as the timeout and failure period. Default 300 (5 minutes). * @author Jeremy Pry */ public function clean($time_limit = 300) { } /** * Get the batch size for cleaning the queue. * * @author Jeremy Pry * @return int */ protected function get_batch_size() { } } /** * Abstract class with common Queue Cleaner functionality. */ abstract class ActionScheduler_Abstract_QueueRunner_Deprecated { /** * Get the maximum number of seconds a batch can run for. * * @deprecated 2.1.1 * @return int The number of seconds. */ protected function get_maximum_execution_time() { } } /** * Abstract class with common Queue Cleaner functionality. */ abstract class ActionScheduler_Abstract_QueueRunner extends \ActionScheduler_Abstract_QueueRunner_Deprecated { /** @var ActionScheduler_QueueCleaner */ protected $cleaner; /** @var ActionScheduler_FatalErrorMonitor */ protected $monitor; /** @var ActionScheduler_Store */ protected $store; /** * The created time. * * Represents when the queue runner was constructed and used when calculating how long a PHP request has been running. * For this reason it should be as close as possible to the PHP request start time. * * @var int */ private $created_time; /** * ActionScheduler_Abstract_QueueRunner constructor. * * @param ActionScheduler_Store $store * @param ActionScheduler_FatalErrorMonitor $monitor * @param ActionScheduler_QueueCleaner $cleaner */ public function __construct(\ActionScheduler_Store $store = \null, \ActionScheduler_FatalErrorMonitor $monitor = \null, \ActionScheduler_QueueCleaner $cleaner = \null) { } /** * Process an individual action. * * @param int $action_id The action ID to process. * @param string $context Optional identifer for the context in which this action is being processed, e.g. 'WP CLI' or 'WP Cron' * Generally, this should be capitalised and not localised as it's a proper noun. */ public function process_action($action_id, $context = '') { } /** * Marks actions as either having failed execution or failed validation, as appropriate. * * @param int $action_id Action ID. * @param Exception $e Exception instance. * @param string $context Execution context. * @param bool $valid_action If the action is valid. * * @return void */ private function handle_action_error($action_id, $e, $context, $valid_action) { } /** * Schedule the next instance of the action if necessary. * * @param ActionScheduler_Action $action * @param int $action_id */ protected function schedule_next_instance(\ActionScheduler_Action $action, $action_id) { } /** * Determine if the specified recurring action has been consistently failing. * * @param ActionScheduler_Action $action The recurring action to be rescheduled. * @param int $action_id The ID of the recurring action. * * @return bool */ private function recurring_action_is_consistently_failing(\ActionScheduler_Action $action, $action_id) { } /** * Run the queue cleaner. * * @author Jeremy Pry */ protected function run_cleanup() { } /** * Get the number of concurrent batches a runner allows. * * @return int */ public function get_allowed_concurrent_batches() { } /** * Check if the number of allowed concurrent batches is met or exceeded. * * @return bool */ public function has_maximum_concurrent_batches() { } /** * Get the maximum number of seconds a batch can run for. * * @return int The number of seconds. */ protected function get_time_limit() { } /** * Get the number of seconds the process has been running. * * @return int The number of seconds. */ protected function get_execution_time() { } /** * Check if the host's max execution time is (likely) to be exceeded if processing more actions. * * @param int $processed_actions The number of actions processed so far - used to determine the likelihood of exceeding the time limit if processing another action * @return bool */ protected function time_likely_to_be_exceeded($processed_actions) { } /** * Get memory limit * * Based on WP_Background_Process::get_memory_limit() * * @return int */ protected function get_memory_limit() { } /** * Memory exceeded * * Ensures the batch process never exceeds 90% of the maximum WordPress memory. * * Based on WP_Background_Process::memory_exceeded() * * @return bool */ protected function memory_exceeded() { } /** * See if the batch limits have been exceeded, which is when memory usage is almost at * the maximum limit, or the time to process more actions will exceed the max time limit. * * Based on WC_Background_Process::batch_limits_exceeded() * * @param int $processed_actions The number of actions processed so far - used to determine the likelihood of exceeding the time limit if processing another action * @return bool */ protected function batch_limits_exceeded($processed_actions) { } /** * Process actions in the queue. * * @author Jeremy Pry * @param string $context Optional identifer for the context in which this action is being processed, e.g. 'WP CLI' or 'WP Cron' * Generally, this should be capitalised and not localised as it's a proper noun. * @return int The number of actions processed. */ abstract public function run($context = ''); } /** * Class ActionScheduler_QueueRunner */ class ActionScheduler_QueueRunner extends \ActionScheduler_Abstract_QueueRunner { const WP_CRON_HOOK = 'action_scheduler_run_queue'; const WP_CRON_SCHEDULE = 'every_minute'; /** @var ActionScheduler_AsyncRequest_QueueRunner */ protected $async_request; /** @var ActionScheduler_QueueRunner */ private static $runner = \null; /** @var int */ private $processed_actions_count = 0; /** * @return ActionScheduler_QueueRunner * @codeCoverageIgnore */ public static function instance() { } /** * ActionScheduler_QueueRunner constructor. * * @param ActionScheduler_Store $store * @param ActionScheduler_FatalErrorMonitor $monitor * @param ActionScheduler_QueueCleaner $cleaner */ public function __construct(\ActionScheduler_Store $store = \null, \ActionScheduler_FatalErrorMonitor $monitor = \null, \ActionScheduler_QueueCleaner $cleaner = \null, \ActionScheduler_AsyncRequest_QueueRunner $async_request = \null) { } /** * @codeCoverageIgnore */ public function init() { } /** * Hook check for dispatching an async request. */ public function hook_dispatch_async_request() { } /** * Unhook check for dispatching an async request. */ public function unhook_dispatch_async_request() { } /** * Check if we should dispatch an async request to process actions. * * This method is attached to 'shutdown', so is called frequently. To avoid slowing down * the site, it mitigates the work performed in each request by: * 1. checking if it's in the admin context and then * 2. haven't run on the 'shutdown' hook within the lock time (60 seconds by default) * 3. haven't exceeded the number of allowed batches. * * The order of these checks is important, because they run from a check on a value: * 1. in memory - is_admin() maps to $GLOBALS or the WP_ADMIN constant * 2. in memory - transients use autoloaded options by default * 3. from a database query - has_maximum_concurrent_batches() run the query * $this->store->get_claim_count() to find the current number of claims in the DB. * * If all of these conditions are met, then we request an async runner check whether it * should dispatch a request to process pending actions. */ public function maybe_dispatch_async_request() { } /** * Process actions in the queue. Attached to self::WP_CRON_HOOK i.e. 'action_scheduler_run_queue' * * The $context param of this method defaults to 'WP Cron', because prior to Action Scheduler 3.0.0 * that was the only context in which this method was run, and the self::WP_CRON_HOOK hook had no context * passed along with it. New code calling this method directly, or by triggering the self::WP_CRON_HOOK, * should set a context as the first parameter. For an example of this, refer to the code seen in * @see ActionScheduler_AsyncRequest_QueueRunner::handle() * * @param string $context Optional identifer for the context in which this action is being processed, e.g. 'WP CLI' or 'WP Cron' * Generally, this should be capitalised and not localised as it's a proper noun. * @return int The number of actions processed. */ public function run($context = 'WP Cron') { } /** * Process a batch of actions pending in the queue. * * Actions are processed by claiming a set of pending actions then processing each one until either the batch * size is completed, or memory or time limits are reached, defined by @see $this->batch_limits_exceeded(). * * @param int $size The maximum number of actions to process in the batch. * @param string $context Optional identifer for the context in which this action is being processed, e.g. 'WP CLI' or 'WP Cron' * Generally, this should be capitalised and not localised as it's a proper noun. * @return int The number of actions processed. */ protected function do_batch($size = 100, $context = '') { } /** * Flush the cache if possible (intended for use after a batch of actions has been processed). * * This is useful because running large batches can eat up memory and because invalid data can accrue in the * runtime cache, which may lead to unexpected results. */ protected function clear_caches() { } public function add_wp_cron_schedule($schedules) { } } /** * Class ActionScheduler_Versions */ class ActionScheduler_Versions { /** * @var ActionScheduler_Versions */ private static $instance = \NULL; private $versions = array(); public function register($version_string, $initialization_callback) { } public function get_versions() { } public function latest_version() { } public function latest_version_callback() { } /** * @return ActionScheduler_Versions * @codeCoverageIgnore */ public static function instance() { } /** * @codeCoverageIgnore */ public static function initialize_latest_version() { } } /** * Class ActionScheduler_WPCommentCleaner * * @since 3.0.0 */ class ActionScheduler_WPCommentCleaner { /** * Post migration hook used to cleanup the WP comment table. * * @var string */ protected static $cleanup_hook = 'action_scheduler/cleanup_wp_comment_logs'; /** * An instance of the ActionScheduler_wpCommentLogger class to interact with the comments table. * * This instance should only be used as an interface. It should not be initialized. * * @var ActionScheduler_wpCommentLogger */ protected static $wp_comment_logger = \null; /** * The key used to store the cached value of whether there are logs in the WP comment table. * * @var string */ protected static $has_logs_option_key = 'as_has_wp_comment_logs'; /** * Initialize the class and attach callbacks. */ public static function init() { } /** * Determines if there are log entries in the wp comments table. * * Uses the flag set on migration completion set by @see self::maybe_schedule_cleanup(). * * @return boolean Whether there are scheduled action comments in the comments table. */ public static function has_logs() { } /** * Schedules the WP Post comment table cleanup to run in 6 months if it's not already scheduled. * Attached to the migration complete hook 'action_scheduler/migration_complete'. */ public static function maybe_schedule_cleanup() { } /** * Delete all action comments from the WP Comments table. */ public static function delete_all_action_comments() { } /** * Registers admin notices about the orphaned action logs. */ public static function register_admin_notice() { } /** * Prints details about the orphaned action logs and includes information on where to learn more. */ public static function print_admin_notice() { } } /** * Class ActionScheduler_wcSystemStatus */ class ActionScheduler_wcSystemStatus { /** * The active data stores * * @var ActionScheduler_Store */ protected $store; /** * Constructor method for ActionScheduler_wcSystemStatus. * * @param ActionScheduler_Store $store Active store object. * * @return void */ public function __construct($store) { } /** * Display action data, including number of actions grouped by status and the oldest & newest action in each status. * * Helpful to identify issues, like a clogged queue. */ public function render() { } /** * Get oldest and newest scheduled dates for a given set of statuses. * * @param array $status_keys Set of statuses to find oldest & newest action for. * @return array */ protected function get_oldest_and_newest($status_keys) { } /** * Get oldest or newest scheduled date for a given status. * * @param string $status Action status label/name string. * @param string $date_type Oldest or Newest. * @return DateTime */ protected function get_action_status_date($status, $date_type = 'oldest') { } /** * Get oldest or newest scheduled date for a given status. * * @param array $status_labels Set of statuses to find oldest & newest action for. * @param array $action_counts Number of actions grouped by status. * @param array $oldest_and_newest Date of the oldest and newest action with each status. */ protected function get_template($status_labels, $action_counts, $oldest_and_newest) { } /** * Is triggered when invoking inaccessible methods in an object context. * * @param string $name Name of method called. * @param array $arguments Parameters to invoke the method with. * * @return mixed * @link https://php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods */ public function __call($name, $arguments) { } } /** * Commands for Action Scheduler. */ class ActionScheduler_WPCLI_Clean_Command extends \WP_CLI_Command { /** * Run the Action Scheduler Queue Cleaner * * ## OPTIONS * * [--batch-size=] * : The maximum number of actions to delete per batch. Defaults to 20. * * [--batches=] * : Limit execution to a number of batches. Defaults to 0, meaning batches will continue all eligible actions are deleted. * * [--status=] * : Only clean actions with the specified status. Defaults to Canceled, Completed. Define multiple statuses as a comma separated string (without spaces), e.g. `--status=complete,failed,canceled` * * [--before=] * : Only delete actions with scheduled date older than this. Defaults to 31 days. e.g `--before='7 days ago'`, `--before='02-Feb-2020 20:20:20'` * * [--pause=] * : The number of seconds to pause between batches. Default no pause. * * @param array $args Positional arguments. * @param array $assoc_args Keyed arguments. * @throws \WP_CLI\ExitException When an error occurs. * * @subcommand clean */ public function clean($args, $assoc_args) { } /** * Print WP CLI message about how many batches of actions were processed. * * @param int $batches_processed */ protected function print_total_batches(int $batches_processed) { } /** * Convert an exception into a WP CLI error. * * @param Exception $e The error object. * * @throws \WP_CLI\ExitException */ protected function print_error(\Exception $e) { } /** * Print a success message with the number of completed actions. * * @param int $actions_deleted */ protected function print_success(int $actions_deleted) { } } /** * WP CLI Queue runner. * * This class can only be called from within a WP CLI instance. */ class ActionScheduler_WPCLI_QueueRunner extends \ActionScheduler_Abstract_QueueRunner { /** @var array */ protected $actions; /** @var ActionScheduler_ActionClaim */ protected $claim; /** @var \cli\progress\Bar */ protected $progress_bar; /** * ActionScheduler_WPCLI_QueueRunner constructor. * * @param ActionScheduler_Store $store * @param ActionScheduler_FatalErrorMonitor $monitor * @param ActionScheduler_QueueCleaner $cleaner * * @throws Exception When this is not run within WP CLI */ public function __construct(\ActionScheduler_Store $store = \null, \ActionScheduler_FatalErrorMonitor $monitor = \null, \ActionScheduler_QueueCleaner $cleaner = \null) { } /** * Set up the Queue before processing. * * @author Jeremy Pry * * @param int $batch_size The batch size to process. * @param array $hooks The hooks being used to filter the actions claimed in this batch. * @param string $group The group of actions to claim with this batch. * @param bool $force Whether to force running even with too many concurrent processes. * * @return int The number of actions that will be run. * @throws \WP_CLI\ExitException When there are too many concurrent batches. */ public function setup($batch_size, $hooks = array(), $group = '', $force = \false) { } /** * Add our hooks to the appropriate actions. * * @author Jeremy Pry */ protected function add_hooks() { } /** * Set up the WP CLI progress bar. * * @author Jeremy Pry */ protected function setup_progress_bar() { } /** * Process actions in the queue. * * @author Jeremy Pry * * @param string $context Optional runner context. Default 'WP CLI'. * * @return int The number of actions processed. */ public function run($context = 'WP CLI') { } /** * Handle WP CLI message when the action is starting. * * @author Jeremy Pry * * @param $action_id */ public function before_execute($action_id) { } /** * Handle WP CLI message when the action has completed. * * @author Jeremy Pry * * @param int $action_id * @param null|ActionScheduler_Action $action The instance of the action. Default to null for backward compatibility. */ public function after_execute($action_id, $action = \null) { } /** * Handle WP CLI message when the action has failed. * * @author Jeremy Pry * * @param int $action_id * @param Exception $exception * @throws \WP_CLI\ExitException With failure message. */ public function action_failed($action_id, $exception) { } /** * Sleep and help avoid hitting memory limit * * @param int $sleep_time Amount of seconds to sleep * @deprecated 3.0.0 */ protected function stop_the_insanity($sleep_time = 0) { } /** * Maybe trigger the stop_the_insanity() method to free up memory. */ protected function maybe_stop_the_insanity() { } } /** * Commands for Action Scheduler. */ class ActionScheduler_WPCLI_Scheduler_command extends \WP_CLI_Command { /** * Force tables schema creation for Action Scheduler * * ## OPTIONS * * @param array $args Positional arguments. * @param array $assoc_args Keyed arguments. * * @subcommand fix-schema */ public function fix_schema($args, $assoc_args) { } /** * Run the Action Scheduler * * ## OPTIONS * * [--batch-size=] * : The maximum number of actions to run. Defaults to 100. * * [--batches=] * : Limit execution to a number of batches. Defaults to 0, meaning batches will continue being executed until all actions are complete. * * [--cleanup-batch-size=] * : The maximum number of actions to clean up. Defaults to the value of --batch-size. * * [--hooks=] * : Only run actions with the specified hook. Omitting this option runs actions with any hook. Define multiple hooks as a comma separated string (without spaces), e.g. `--hooks=hook_one,hook_two,hook_three` * * [--group=] * : Only run actions from the specified group. Omitting this option runs actions from all groups. * * [--exclude-groups=] * : Run actions from all groups except the specified group(s). Define multiple groups as a comma separated string (without spaces), e.g. '--group_a,group_b'. This option is ignored when `--group` is used. * * [--free-memory-on=] * : The number of actions to process between freeing memory. 0 disables freeing memory. Default 50. * * [--pause=] * : The number of seconds to pause when freeing memory. Default no pause. * * [--force] * : Whether to force execution despite the maximum number of concurrent processes being exceeded. * * @param array $args Positional arguments. * @param array $assoc_args Keyed arguments. * @throws \WP_CLI\ExitException When an error occurs. * * @subcommand run */ public function run($args, $assoc_args) { } /** * Converts a string of comma-separated values into an array of those same values. * * @param string $string The string of one or more comma separated values. * * @return array */ private function parse_comma_separated_string($string): array { } /** * Print WP CLI message about how many actions are about to be processed. * * @author Jeremy Pry * * @param int $total */ protected function print_total_actions($total) { } /** * Print WP CLI message about how many batches of actions were processed. * * @author Jeremy Pry * * @param int $batches_completed */ protected function print_total_batches($batches_completed) { } /** * Convert an exception into a WP CLI error. * * @author Jeremy Pry * * @param Exception $e The error object. * * @throws \WP_CLI\ExitException */ protected function print_error(\Exception $e) { } /** * Print a success message with the number of completed actions. * * @author Jeremy Pry * * @param int $actions_completed */ protected function print_success($actions_completed) { } } } namespace Action_Scheduler\WP_CLI { /** * Class Migration_Command * * @package Action_Scheduler\WP_CLI * * @since 3.0.0 * * @codeCoverageIgnore */ class Migration_Command extends \WP_CLI_Command { /** @var int */ private $total_processed = 0; /** * Register the command with WP-CLI */ public function register() { } /** * Process the data migration. * * @param array $positional_args Required for WP CLI. Not used in migration. * @param array $assoc_args Optional arguments. * * @return void */ public function migrate($positional_args, $assoc_args) { } /** * Build the config object used to create the Runner * * @param array $args Optional arguments. * * @return ActionScheduler\Migration\Config */ private function get_migration_config($args) { } /** * Hook command line logging into migration actions. */ private function init_logging() { } } /** * WP_CLI progress bar for Action Scheduler. */ /** * Class ProgressBar * * @package Action_Scheduler\WP_CLI * * @since 3.0.0 * * @codeCoverageIgnore */ class ProgressBar { /** @var integer */ protected $total_ticks; /** @var integer */ protected $count; /** @var integer */ protected $interval; /** @var string */ protected $message; /** @var \cli\progress\Bar */ protected $progress_bar; /** * ProgressBar constructor. * * @param string $message Text to display before the progress bar. * @param integer $count Total number of ticks to be performed. * @param integer $interval Optional. The interval in milliseconds between updates. Default 100. * * @throws Exception When this is not run within WP CLI */ public function __construct($message, $count, $interval = 100) { } /** * Increment the progress bar ticks. */ public function tick() { } /** * Get the progress bar tick count. * * @return int */ public function current() { } /** * Finish the current progress bar. */ public function finish() { } /** * Set the message used when creating the progress bar. * * @param string $message The message to be used when the next progress bar is created. */ public function set_message($message) { } /** * Set the count for a new progress bar. * * @param integer $count The total number of ticks expected to complete. */ public function set_count($count) { } /** * Set up the progress bar. */ protected function setup_progress_bar() { } } } namespace { /** * Class ActionScheduler * @codeCoverageIgnore */ abstract class ActionScheduler { private static $plugin_file = ''; /** @var ActionScheduler_ActionFactory */ private static $factory = \NULL; /** @var bool */ private static $data_store_initialized = \false; public static function factory() { } public static function store() { } public static function lock() { } public static function logger() { } public static function runner() { } public static function admin_view() { } /** * Get the absolute system path to the plugin directory, or a file therein * @static * @param string $path * @return string */ public static function plugin_path($path) { } /** * Get the absolute URL to the plugin directory, or a file therein * @static * @param string $path * @return string */ public static function plugin_url($path) { } public static function autoload($class) { } /** * Initialize the plugin * * @static * @param string $plugin_file */ public static function init($plugin_file) { } /** * Check whether the AS data store has been initialized. * * @param string $function_name The name of the function being called. Optional. Default `null`. * @return bool */ public static function is_initialized($function_name = \null) { } /** * Determine if the class is one of our abstract classes. * * @since 3.0.0 * * @param string $class The class name. * * @return bool */ protected static function is_class_abstract($class) { } /** * Determine if the class is one of our migration classes. * * @since 3.0.0 * * @param string $class The class name. * * @return bool */ protected static function is_class_migration($class) { } /** * Determine if the class is one of our WP CLI classes. * * @since 3.0.0 * * @param string $class The class name. * * @return bool */ protected static function is_class_cli($class) { } final public function __clone() { } final public function __wakeup() { } final private function __construct() { } /** Deprecated **/ public static function get_datetime_object($when = \null, $timezone = 'UTC') { } /** * Issue deprecated warning if an Action Scheduler function is called in the shutdown hook. * * @param string $function_name The name of the function being called. * @deprecated 3.1.6. */ public static function check_shutdown_hook($function_name) { } } /** * Class ActionScheduler_Schedule */ interface ActionScheduler_Schedule { /** * @param DateTime $after * @return DateTime|null */ public function next(\DateTime $after = \NULL); /** * @return bool */ public function is_recurring(); } /** * Class ActionScheduler_Abstract_Schedule */ abstract class ActionScheduler_Schedule_Deprecated implements \ActionScheduler_Schedule { /** * Get the date & time this schedule was created to run, or calculate when it should be run * after a given date & time. * * @param DateTime $after DateTime to calculate against. * * @return DateTime|null */ public function next(\DateTime $after = \null) { } } /** * Class ActionScheduler_Abstract_Schedule */ abstract class ActionScheduler_Abstract_Schedule extends \ActionScheduler_Schedule_Deprecated { /** * The date & time the schedule is set to run. * * @var DateTime */ private $scheduled_date = \NULL; /** * Timestamp equivalent of @see $this->scheduled_date * * @var int */ protected $scheduled_timestamp = \NULL; /** * @param DateTime $date The date & time to run the action. */ public function __construct(\DateTime $date) { } /** * Check if a schedule should recur. * * @return bool */ abstract public function is_recurring(); /** * Calculate when the next instance of this schedule would run based on a given date & time. * * @param DateTime $after * @return DateTime */ abstract protected function calculate_next(\DateTime $after); /** * Get the next date & time when this schedule should run after a given date & time. * * @param DateTime $after * @return DateTime|null */ public function get_next(\DateTime $after) { } /** * Get the date & time the schedule is set to run. * * @return DateTime|null */ public function get_date() { } /** * For PHP 5.2 compat, since DateTime objects can't be serialized * @return array */ public function __sleep() { } public function __wakeup() { } } /** * Class ActionScheduler_Abstract_RecurringSchedule */ abstract class ActionScheduler_Abstract_RecurringSchedule extends \ActionScheduler_Abstract_Schedule { /** * The date & time the first instance of this schedule was setup to run (which may not be this instance). * * Schedule objects are attached to an action object. Each schedule stores the run date for that * object as the start date - @see $this->start - and logic to calculate the next run date after * that - @see $this->calculate_next(). The $first_date property also keeps a record of when the very * first instance of this chain of schedules ran. * * @var DateTime */ private $first_date = \NULL; /** * Timestamp equivalent of @see $this->first_date * * @var int */ protected $first_timestamp = \NULL; /** * The recurrance between each time an action is run using this schedule. * Used to calculate the start date & time. Can be a number of seconds, in the * case of ActionScheduler_IntervalSchedule, or a cron expression, as in the * case of ActionScheduler_CronSchedule. Or something else. * * @var mixed */ protected $recurrence; /** * @param DateTime $date The date & time to run the action. * @param mixed $recurrence The data used to determine the schedule's recurrance. * @param DateTime|null $first (Optional) The date & time the first instance of this interval schedule ran. Default null, meaning this is the first instance. */ public function __construct(\DateTime $date, $recurrence, \DateTime $first = \null) { } /** * @return bool */ public function is_recurring() { } /** * Get the date & time of the first schedule in this recurring series. * * @return DateTime|null */ public function get_first_date() { } /** * @return string */ public function get_recurrence() { } /** * For PHP 5.2 compat, since DateTime objects can't be serialized * @return array */ public function __sleep() { } /** * Unserialize recurring schedules serialized/stored prior to AS 3.0.0 * * Prior to Action Scheduler 3.0.0, schedules used different property names to refer * to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp * was the same as ActionScheduler_SimpleSchedule::timestamp. This was addressed in * Action Scheduler 3.0.0, where properties and property names were aligned for better * inheritance. To maintain backward compatibility with scheduled serialized and stored * prior to 3.0, we need to correctly map the old property names. */ public function __wakeup() { } } /** * Class ActionScheduler_Abstract_Schema * * @package Action_Scheduler * * @codeCoverageIgnore * * Utility class for creating/updating custom tables */ abstract class ActionScheduler_Abstract_Schema { /** * @var int Increment this value in derived class to trigger a schema update. */ protected $schema_version = 1; /** * @var string Schema version stored in database. */ protected $db_version; /** * @var array Names of tables that will be registered by this class. */ protected $tables = array(); /** * Can optionally be used by concrete classes to carry out additional initialization work * as needed. */ public function init() { } /** * Register tables with WordPress, and create them if needed. * * @param bool $force_update Optional. Default false. Use true to always run the schema update. * * @return void */ public function register_tables($force_update = \false) { } /** * @param string $table The name of the table * * @return string The CREATE TABLE statement, suitable for passing to dbDelta */ abstract protected function get_table_definition($table); /** * Determine if the database schema is out of date * by comparing the integer found in $this->schema_version * with the option set in the WordPress options table * * @return bool */ private function schema_update_required() { } /** * Update the option in WordPress to indicate that * our schema is now up to date * * @return void */ private function mark_schema_update_complete() { } /** * Update the schema for the given table * * @param string $table The name of the table to update * * @return void */ private function update_table($table) { } /** * @param string $table * * @return string The full name of the table, including the * table prefix for the current blog */ protected function get_full_table_name($table) { } /** * Confirms that all of the tables registered by this schema class have been created. * * @return bool */ public function tables_exist() { } } /** * Class ActionScheduler_Logger * @codeCoverageIgnore */ abstract class ActionScheduler_Logger { private static $logger = \NULL; /** * @return ActionScheduler_Logger */ public static function instance() { } /** * @param string $action_id * @param string $message * @param DateTime $date * * @return string The log entry ID */ abstract public function log($action_id, $message, \DateTime $date = \NULL); /** * @param string $entry_id * * @return ActionScheduler_LogEntry */ abstract public function get_entry($entry_id); /** * @param string $action_id * * @return ActionScheduler_LogEntry[] */ abstract public function get_logs($action_id); /** * @codeCoverageIgnore */ public function init() { } public function hook_stored_action() { } public function unhook_stored_action() { } public function log_stored_action($action_id) { } public function log_canceled_action($action_id) { } public function log_started_action($action_id, $context = '') { } public function log_completed_action($action_id, $action = \NULL, $context = '') { } public function log_failed_action($action_id, \Exception $exception, $context = '') { } public function log_timed_out_action($action_id, $timeout) { } public function log_unexpected_shutdown($action_id, $error) { } public function log_reset_action($action_id) { } public function log_ignored_action($action_id, $context = '') { } /** * @param string $action_id * @param Exception|NULL $exception The exception which occured when fetching the action. NULL by default for backward compatibility. * * @return ActionScheduler_LogEntry[] */ public function log_failed_fetch_action($action_id, \Exception $exception = \NULL) { } public function log_failed_schedule_next_instance($action_id, \Exception $exception) { } /** * Bulk add cancel action log entries. * * Implemented here for backward compatibility. Should be implemented in parent loggers * for more performant bulk logging. * * @param array $action_ids List of action ID. */ public function bulk_log_cancel_actions($action_ids) { } } /** * Class ActionScheduler_Store_Deprecated * @codeCoverageIgnore */ abstract class ActionScheduler_Store_Deprecated { /** * Mark an action that failed to fetch correctly as failed. * * @since 2.2.6 * * @param int $action_id The ID of the action. */ public function mark_failed_fetch_action($action_id) { } /** * Add base hooks * * @since 2.2.6 */ protected static function hook() { } /** * Remove base hooks * * @since 2.2.6 */ protected static function unhook() { } /** * Get the site's local time. * * @deprecated 2.1.0 * @return DateTimeZone */ protected function get_local_timezone() { } } /** * Class ActionScheduler_Store * @codeCoverageIgnore */ abstract class ActionScheduler_Store extends \ActionScheduler_Store_Deprecated { const STATUS_COMPLETE = 'complete'; const STATUS_PENDING = 'pending'; const STATUS_RUNNING = 'in-progress'; const STATUS_FAILED = 'failed'; const STATUS_CANCELED = 'canceled'; const DEFAULT_CLASS = 'ActionScheduler_wpPostStore'; /** @var ActionScheduler_Store */ private static $store = \NULL; /** @var int */ protected static $max_args_length = 191; /** * @param ActionScheduler_Action $action * @param DateTime $scheduled_date Optional Date of the first instance * to store. Otherwise uses the first date of the action's * schedule. * * @return int The action ID */ abstract public function save_action(\ActionScheduler_Action $action, \DateTime $scheduled_date = \NULL); /** * @param string $action_id * * @return ActionScheduler_Action */ abstract public function fetch_action($action_id); /** * Find an action. * * Note: the query ordering changes based on the passed 'status' value. * * @param string $hook Action hook. * @param array $params Parameters of the action to find. * * @return string|null ID of the next action matching the criteria or NULL if not found. */ public function find_action($hook, $params = array()) { } /** * Query for action count or list of action IDs. * * @since 3.3.0 $query['status'] accepts array of statuses instead of a single status. * * @param array $query { * Query filtering options. * * @type string $hook The name of the actions. Optional. * @type string|array $status The status or statuses of the actions. Optional. * @type array $args The args array of the actions. Optional. * @type DateTime $date The scheduled date of the action. Used in UTC timezone. Optional. * @type string $date_compare Operator for selecting by $date param. Accepted values are '!=', '>', '>=', '<', '<=', '='. Defaults to '<='. * @type DateTime $modified The last modified date of the action. Used in UTC timezone. Optional. * @type string $modified_compare Operator for comparing $modified param. Accepted values are '!=', '>', '>=', '<', '<=', '='. Defaults to '<='. * @type string $group The group the action belongs to. Optional. * @type bool|int $claimed TRUE to find claimed actions, FALSE to find unclaimed actions, an int to find a specific claim ID. Optional. * @type int $per_page Number of results to return. Defaults to 5. * @type int $offset The query pagination offset. Defaults to 0. * @type int $orderby Accepted values are 'hook', 'group', 'modified', 'date' or 'none'. Defaults to 'date'. * @type string $order Accepted values are 'ASC' or 'DESC'. Defaults to 'ASC'. * } * @param string $query_type Whether to select or count the results. Default, select. * * @return string|array|null The IDs of actions matching the query. Null on failure. */ abstract public function query_actions($query = array(), $query_type = 'select'); /** * Run query to get a single action ID. * * @since 3.3.0 * * @see ActionScheduler_Store::query_actions for $query arg usage but 'per_page' and 'offset' can't be used. * * @param array $query Query parameters. * * @return int|null */ public function query_action($query) { } /** * Get a count of all actions in the store, grouped by status * * @return array */ abstract public function action_counts(); /** * Get additional action counts. * * - add past-due actions * * @return array */ public function extra_action_counts() { } /** * @param string $action_id */ abstract public function cancel_action($action_id); /** * @param string $action_id */ abstract public function delete_action($action_id); /** * @param string $action_id * * @return DateTime The date the action is schedule to run, or the date that it ran. */ abstract public function get_date($action_id); /** * @param int $max_actions * @param DateTime $before_date Claim only actions schedule before the given date. Defaults to now. * @param array $hooks Claim only actions with a hook or hooks. * @param string $group Claim only actions in the given group. * * @return ActionScheduler_ActionClaim */ abstract public function stake_claim($max_actions = 10, \DateTime $before_date = \null, $hooks = array(), $group = ''); /** * @return int */ abstract public function get_claim_count(); /** * @param ActionScheduler_ActionClaim $claim */ abstract public function release_claim(\ActionScheduler_ActionClaim $claim); /** * @param string $action_id */ abstract public function unclaim_action($action_id); /** * @param string $action_id */ abstract public function mark_failure($action_id); /** * @param string $action_id */ abstract public function log_execution($action_id); /** * @param string $action_id */ abstract public function mark_complete($action_id); /** * @param string $action_id * * @return string */ abstract public function get_status($action_id); /** * @param string $action_id * @return mixed */ abstract public function get_claim_id($action_id); /** * @param string $claim_id * @return array */ abstract public function find_actions_by_claim_id($claim_id); /** * @param string $comparison_operator * @return string */ protected function validate_sql_comparator($comparison_operator) { } /** * Get the time MySQL formated date/time string for an action's (next) scheduled date. * * @param ActionScheduler_Action $action * @param DateTime $scheduled_date (optional) * @return string */ protected function get_scheduled_date_string(\ActionScheduler_Action $action, \DateTime $scheduled_date = \NULL) { } /** * Get the time MySQL formated date/time string for an action's (next) scheduled date. * * @param ActionScheduler_Action $action * @param DateTime $scheduled_date (optional) * @return string */ protected function get_scheduled_date_string_local(\ActionScheduler_Action $action, \DateTime $scheduled_date = \NULL) { } /** * Validate that we could decode action arguments. * * @param mixed $args The decoded arguments. * @param int $action_id The action ID. * * @throws ActionScheduler_InvalidActionException When the decoded arguments are invalid. */ protected function validate_args($args, $action_id) { } /** * Validate a ActionScheduler_Schedule object. * * @param mixed $schedule The unserialized ActionScheduler_Schedule object. * @param int $action_id The action ID. * * @throws ActionScheduler_InvalidActionException When the schedule is invalid. */ protected function validate_schedule($schedule, $action_id) { } /** * InnoDB indexes have a maximum size of 767 bytes by default, which is only 191 characters with utf8mb4. * * Previously, AS wasn't concerned about args length, as we used the (unindex) post_content column. However, * with custom tables, we use an indexed VARCHAR column instead. * * @param ActionScheduler_Action $action Action to be validated. * @throws InvalidArgumentException When json encoded args is too long. */ protected function validate_action(\ActionScheduler_Action $action) { } /** * Cancel pending actions by hook. * * @since 3.0.0 * * @param string $hook Hook name. * * @return void */ public function cancel_actions_by_hook($hook) { } /** * Cancel pending actions by group. * * @since 3.0.0 * * @param string $group Group slug. * * @return void */ public function cancel_actions_by_group($group) { } /** * Cancel a set of action IDs. * * @since 3.0.0 * * @param array $action_ids List of action IDs. * * @return void */ private function bulk_cancel_actions($action_ids) { } /** * @return array */ public function get_status_labels() { } /** * Check if there are any pending scheduled actions due to run. * * @param ActionScheduler_Action $action * @param DateTime $scheduled_date (optional) * @return string */ public function has_pending_actions_due() { } /** * Callable initialization function optionally overridden in derived classes. */ public function init() { } /** * Callable function to mark an action as migrated optionally overridden in derived classes. */ public function mark_migrated($action_id) { } /** * @return ActionScheduler_Store */ public static function instance() { } } /** * Class ActionScheduler_TimezoneHelper */ abstract class ActionScheduler_TimezoneHelper { private static $local_timezone = \NULL; /** * Set a DateTime's timezone to the WordPress site's timezone, or a UTC offset * if no timezone string is available. * * @since 2.1.0 * * @param DateTime $date * @return ActionScheduler_DateTime */ public static function set_local_timezone(\DateTime $date) { } /** * Helper to retrieve the timezone string for a site until a WP core method exists * (see https://core.trac.wordpress.org/ticket/24730). * * Adapted from wc_timezone_string() and https://secure.php.net/manual/en/function.timezone-name-from-abbr.php#89155. * * If no timezone string is set, and its not possible to match the UTC offset set for the site to a timezone * string, then an empty string will be returned, and the UTC offset should be used to set a DateTime's * timezone. * * @since 2.1.0 * @return string PHP timezone string for the site or empty if no timezone string is available. */ protected static function get_local_timezone_string($reset = \false) { } /** * Get timezone offset in seconds. * * @since 2.1.0 * @return float */ protected static function get_local_timezone_offset() { } /** * @deprecated 2.1.0 */ public static function get_local_timezone($reset = \FALSE) { } } /** * Class ActionScheduler_Action */ class ActionScheduler_Action { protected $hook = ''; protected $args = array(); /** @var ActionScheduler_Schedule */ protected $schedule = \NULL; protected $group = ''; /** * Priorities are conceptually similar to those used for regular WordPress actions. * Like those, a lower priority takes precedence over a higher priority and the default * is 10. * * Unlike regular WordPress actions, the priority of a scheduled action is strictly an * integer and should be kept within the bounds 0-255 (anything outside the bounds will * be brought back into the acceptable range). * * @var int */ protected $priority = 10; public function __construct($hook, array $args = array(), \ActionScheduler_Schedule $schedule = \NULL, $group = '') { } /** * Executes the action. * * If no callbacks are registered, an exception will be thrown and the action will not be * fired. This is useful to help detect cases where the code responsible for setting up * a scheduled action no longer exists. * * @throws Exception If no callbacks are registered for this action. */ public function execute() { } /** * @param string $hook */ protected function set_hook($hook) { } public function get_hook() { } protected function set_schedule(\ActionScheduler_Schedule $schedule) { } /** * @return ActionScheduler_Schedule */ public function get_schedule() { } protected function set_args(array $args) { } public function get_args() { } /** * @param string $group */ protected function set_group($group) { } /** * @return string */ public function get_group() { } /** * @return bool If the action has been finished */ public function is_finished() { } /** * Sets the priority of the action. * * @param int $priority Priority level (lower is higher priority). Should be in the range 0-255. * * @return void */ public function set_priority($priority) { } /** * Gets the action priority. * * @return int */ public function get_priority() { } } /** * Class ActionScheduler_FinishedAction */ class ActionScheduler_FinishedAction extends \ActionScheduler_Action { public function execute() { } public function is_finished() { } } /** * Class ActionScheduler_CanceledAction * * Stored action which was canceled and therefore acts like a finished action but should always return a null schedule, * regardless of schedule passed to its constructor. */ class ActionScheduler_CanceledAction extends \ActionScheduler_FinishedAction { /** * @param string $hook * @param array $args * @param ActionScheduler_Schedule $schedule * @param string $group */ public function __construct($hook, array $args = array(), \ActionScheduler_Schedule $schedule = \null, $group = '') { } } /** * Class ActionScheduler_NullAction */ class ActionScheduler_NullAction extends \ActionScheduler_Action { public function __construct($hook = '', array $args = array(), \ActionScheduler_Schedule $schedule = \NULL) { } public function execute() { } } /** * Class ActionScheduler_DBLogger * * Action logs data table data store. * * @since 3.0.0 */ class ActionScheduler_DBLogger extends \ActionScheduler_Logger { /** * Add a record to an action log. * * @param int $action_id Action ID. * @param string $message Message to be saved in the log entry. * @param DateTime $date Timestamp of the log entry. * * @return int The log entry ID. */ public function log($action_id, $message, \DateTime $date = \null) { } /** * Retrieve an action log entry. * * @param int $entry_id Log entry ID. * * @return ActionScheduler_LogEntry */ public function get_entry($entry_id) { } /** * Create an action log entry from a database record. * * @param object $record Log entry database record object. * * @return ActionScheduler_LogEntry */ private function create_entry_from_db_record($record) { } /** * Retrieve an action's log entries from the database. * * @param int $action_id Action ID. * * @return ActionScheduler_LogEntry[] */ public function get_logs($action_id) { } /** * Initialize the data store. * * @codeCoverageIgnore */ public function init() { } /** * Delete the action logs for an action. * * @param int $action_id Action ID. */ public function clear_deleted_action_logs($action_id) { } /** * Bulk add cancel action log entries. * * @param array $action_ids List of action ID. */ public function bulk_log_cancel_actions($action_ids) { } } /** * Class ActionScheduler_DBStore * * Action data table data store. * * @since 3.0.0 */ class ActionScheduler_DBStore extends \ActionScheduler_Store { /** * Used to share information about the before_date property of claims internally. * * This is used in preference to passing the same information as a method param * for backwards-compatibility reasons. * * @var DateTime|null */ private $claim_before_date = \null; /** @var int */ protected static $max_args_length = 8000; /** @var int */ protected static $max_index_length = 191; /** @var array List of claim filters. */ protected $claim_filters = ['group' => '', 'hooks' => '', 'exclude-groups' => '']; /** * Initialize the data store * * @codeCoverageIgnore */ public function init() { } /** * Save an action, checks if this is a unique action before actually saving. * * @param ActionScheduler_Action $action Action object. * @param \DateTime $scheduled_date Optional schedule date. Default null. * * @return int Action ID. * @throws RuntimeException Throws exception when saving the action fails. */ public function save_unique_action(\ActionScheduler_Action $action, \DateTime $scheduled_date = \null) { } /** * Save an action. Can save duplicate action as well, prefer using `save_unique_action` instead. * * @param ActionScheduler_Action $action Action object. * @param \DateTime $scheduled_date Optional schedule date. Default null. * * @return int Action ID. * @throws RuntimeException Throws exception when saving the action fails. */ public function save_action(\ActionScheduler_Action $action, \DateTime $scheduled_date = \null) { } /** * Save an action. * * @param ActionScheduler_Action $action Action object. * @param ?DateTime $date Optional schedule date. Default null. * @param bool $unique Whether the action should be unique. * * @return int Action ID. * @throws RuntimeException Throws exception when saving the action fails. */ private function save_action_to_db(\ActionScheduler_Action $action, \DateTime $date = \null, $unique = \false) { } /** * Helper function to build insert query. * * @param array $data Row data for action. * @param bool $unique Whether the action should be unique. * * @return string Insert query. */ private function build_insert_sql(array $data, $unique) { } /** * Helper method to build where clause for action insert statement. * * @param array $data Row data for action. * @param string $table_name Action table name. * @param bool $unique Where action should be unique. * * @return string Where clause to be used with insert. */ private function build_where_clause_for_insert($data, $table_name, $unique) { } /** * Helper method to get $wpdb->prepare placeholder for a given column name. * * @param string $column_name Name of column in actions table. * * @return string Placeholder to use for given column. */ private function get_placeholder_for_column($column_name) { } /** * Generate a hash from json_encoded $args using MD5 as this isn't for security. * * @param string $args JSON encoded action args. * @return string */ protected function hash_args($args) { } /** * Get action args query param value from action args. * * @param array $args Action args. * @return string */ protected function get_args_for_query($args) { } /** * Get a group's ID based on its name/slug. * * @param string|array $slugs The string name of a group, or names for several groups. * @param bool $create_if_not_exists Whether to create the group if it does not already exist. Default, true - create the group. * * @return array The group IDs, if they exist or were successfully created. May be empty. */ protected function get_group_ids($slugs, $create_if_not_exists = \true) { } /** * Create an action group. * * @param string $slug Group slug. * * @return int Group ID. */ protected function create_group($slug) { } /** * Retrieve an action. * * @param int $action_id Action ID. * * @return ActionScheduler_Action */ public function fetch_action($action_id) { } /** * Create a null action. * * @return ActionScheduler_NullAction */ protected function get_null_action() { } /** * Create an action from a database record. * * @param object $data Action database record. * * @return ActionScheduler_Action|ActionScheduler_CanceledAction|ActionScheduler_FinishedAction */ protected function make_action_from_db_record($data) { } /** * Returns the SQL statement to query (or count) actions. * * @since 3.3.0 $query['status'] accepts array of statuses instead of a single status. * * @param array $query Filtering options. * @param string $select_or_count Whether the SQL should select and return the IDs or just the row count. * * @return string SQL statement already properly escaped. * @throws InvalidArgumentException If the query is invalid. */ protected function get_query_actions_sql(array $query, $select_or_count = 'select') { } /** * Query for action count or list of action IDs. * * @since 3.3.0 $query['status'] accepts array of statuses instead of a single status. * * @see ActionScheduler_Store::query_actions for $query arg usage. * * @param array $query Query filtering options. * @param string $query_type Whether to select or count the results. Defaults to select. * * @return string|array|null The IDs of actions matching the query. Null on failure. */ public function query_actions($query = array(), $query_type = 'select') { } /** * Get a count of all actions in the store, grouped by status. * * @return array Set of 'status' => int $count pairs for statuses with 1 or more actions of that status. */ public function action_counts() { } /** * Cancel an action. * * @param int $action_id Action ID. * * @return void * @throws \InvalidArgumentException If the action update failed. */ public function cancel_action($action_id) { } /** * Cancel pending actions by hook. * * @since 3.0.0 * * @param string $hook Hook name. * * @return void */ public function cancel_actions_by_hook($hook) { } /** * Cancel pending actions by group. * * @param string $group Group slug. * * @return void */ public function cancel_actions_by_group($group) { } /** * Bulk cancel actions. * * @since 3.0.0 * * @param array $query_args Query parameters. */ protected function bulk_cancel_actions($query_args) { } /** * Delete an action. * * @param int $action_id Action ID. * @throws \InvalidArgumentException If the action deletion failed. */ public function delete_action($action_id) { } /** * Get the schedule date for an action. * * @param string $action_id Action ID. * * @return \DateTime The local date the action is scheduled to run, or the date that it ran. */ public function get_date($action_id) { } /** * Get the GMT schedule date for an action. * * @param int $action_id Action ID. * * @throws \InvalidArgumentException If action cannot be identified. * @return \DateTime The GMT date the action is scheduled to run, or the date that it ran. */ protected function get_date_gmt($action_id) { } /** * Stake a claim on actions. * * @param int $max_actions Maximum number of action to include in claim. * @param \DateTime $before_date Jobs must be schedule before this date. Defaults to now. * @param array $hooks Hooks to filter for. * @param string $group Group to filter for. * * @return ActionScheduler_ActionClaim */ public function stake_claim($max_actions = 10, \DateTime $before_date = \null, $hooks = array(), $group = '') { } /** * Generate a new action claim. * * @return int Claim ID. */ protected function generate_claim_id() { } /** * Set a claim filter. * * @param string $filter_name Claim filter name. * @param mixed $filter_values Values to filter. * @return void */ public function set_claim_filter($filter_name, $filter_values) { } /** * Get the claim filter value. * * @param string $filter_name Claim filter name. * @return mixed */ public function get_claim_filter($filter_name) { } /** * Mark actions claimed. * * @param string $claim_id Claim Id. * @param int $limit Number of action to include in claim. * @param \DateTime $before_date Should use UTC timezone. * @param array $hooks Hooks to filter for. * @param string $group Group to filter for. * * @return int The number of actions that were claimed. * @throws \InvalidArgumentException Throws InvalidArgumentException if group doesn't exist. * @throws \RuntimeException Throws RuntimeException if unable to claim action. */ protected function claim_actions($claim_id, $limit, \DateTime $before_date = \null, $hooks = array(), $group = '') { } /** * Get the number of active claims. * * @return int */ public function get_claim_count() { } /** * Return an action's claim ID, as stored in the claim_id column. * * @param string $action_id Action ID. * @return mixed */ public function get_claim_id($action_id) { } /** * Retrieve the action IDs of action in a claim. * * @param int $claim_id Claim ID. * @return int[] */ public function find_actions_by_claim_id($claim_id) { } /** * Release actions from a claim and delete the claim. * * @param ActionScheduler_ActionClaim $claim Claim object. */ public function release_claim(\ActionScheduler_ActionClaim $claim) { } /** * Remove the claim from an action. * * @param int $action_id Action ID. * * @return void */ public function unclaim_action($action_id) { } /** * Mark an action as failed. * * @param int $action_id Action ID. * @throws \InvalidArgumentException Throw an exception if action was not updated. */ public function mark_failure($action_id) { } /** * Add execution message to action log. * * @throws Exception If the action status cannot be updated to self::STATUS_RUNNING ('in-progress'). * * @param int $action_id Action ID. * * @return void */ public function log_execution($action_id) { } /** * Mark an action as complete. * * @param int $action_id Action ID. * * @return void * @throws \InvalidArgumentException Throw an exception if action was not updated. */ public function mark_complete($action_id) { } /** * Get an action's status. * * @param int $action_id Action ID. * * @return string * @throws \InvalidArgumentException Throw an exception if not status was found for action_id. * @throws \RuntimeException Throw an exception if action status could not be retrieved. */ public function get_status($action_id) { } } /** * Class ActionScheduler_HybridStore * * A wrapper around multiple stores that fetches data from both. * * @since 3.0.0 */ class ActionScheduler_HybridStore extends \ActionScheduler_Store { const DEMARKATION_OPTION = 'action_scheduler_hybrid_store_demarkation'; private $primary_store; private $secondary_store; private $migration_runner; /** * @var int The dividing line between IDs of actions created * by the primary and secondary stores. * * Methods that accept an action ID will compare the ID against * this to determine which store will contain that ID. In almost * all cases, the ID should come from the primary store, but if * client code is bypassing the API functions and fetching IDs * from elsewhere, then there is a chance that an unmigrated ID * might be requested. */ private $demarkation_id = 0; /** * ActionScheduler_HybridStore constructor. * * @param Config $config Migration config object. */ public function __construct(\Action_Scheduler\Migration\Config $config = \null) { } /** * Initialize the table data store tables. * * @codeCoverageIgnore */ public function init() { } /** * When the actions table is created, set its autoincrement * value to be one higher than the posts table to ensure that * there are no ID collisions. * * @param string $table_name * @param string $table_suffix * * @return void * @codeCoverageIgnore */ public function set_autoincrement($table_name, $table_suffix) { } /** * Store the demarkation id in WP options. * * @param int $id The ID to set as the demarkation point between the two stores * Leave null to use the next ID from the WP posts table. * * @return int The new ID. * * @codeCoverageIgnore */ private function set_demarkation_id($id = \null) { } /** * Find the first matching action from the secondary store. * If it exists, migrate it to the primary store immediately. * After it migrates, the secondary store will logically contain * the next matching action, so return the result thence. * * @param string $hook * @param array $params * * @return string */ public function find_action($hook, $params = []) { } /** * Find actions matching the query in the secondary source first. * If any are found, migrate them immediately. Then the secondary * store will contain the canonical results. * * @param array $query * @param string $query_type Whether to select or count the results. Default, select. * * @return int[] */ public function query_actions($query = [], $query_type = 'select') { } /** * Get a count of all actions in the store, grouped by status * * @return array Set of 'status' => int $count pairs for statuses with 1 or more actions of that status. */ public function action_counts() { } /** * If any actions would have been claimed by the secondary store, * migrate them immediately, then ask the primary store for the * canonical claim. * * @param int $max_actions * @param DateTime|null $before_date * * @return ActionScheduler_ActionClaim */ public function stake_claim($max_actions = 10, \DateTime $before_date = \null, $hooks = array(), $group = '') { } /** * Migrate a list of actions to the table data store. * * @param array $action_ids List of action IDs. */ private function migrate($action_ids) { } /** * Save an action to the primary store. * * @param ActionScheduler_Action $action Action object to be saved. * @param DateTime $date Optional. Schedule date. Default null. * * @return int The action ID */ public function save_action(\ActionScheduler_Action $action, \DateTime $date = \null) { } /** * Retrieve an existing action whether migrated or not. * * @param int $action_id Action ID. */ public function fetch_action($action_id) { } /** * Cancel an existing action whether migrated or not. * * @param int $action_id Action ID. */ public function cancel_action($action_id) { } /** * Delete an existing action whether migrated or not. * * @param int $action_id Action ID. */ public function delete_action($action_id) { } /** * Get the schedule date an existing action whether migrated or not. * * @param int $action_id Action ID. */ public function get_date($action_id) { } /** * Mark an existing action as failed whether migrated or not. * * @param int $action_id Action ID. */ public function mark_failure($action_id) { } /** * Log the execution of an existing action whether migrated or not. * * @param int $action_id Action ID. */ public function log_execution($action_id) { } /** * Mark an existing action complete whether migrated or not. * * @param int $action_id Action ID. */ public function mark_complete($action_id) { } /** * Get an existing action status whether migrated or not. * * @param int $action_id Action ID. */ public function get_status($action_id) { } /** * Return which store an action is stored in. * * @param int $action_id ID of the action. * @param bool $primary_first Optional flag indicating search the primary store first. * @return ActionScheduler_Store */ protected function get_store_from_action_id($action_id, $primary_first = \false) { } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * All claim-related functions should operate solely * on the primary store. * * * * * * * * * * * * * * * * * * * * * * * * * * */ /** * Get the claim count from the table data store. */ public function get_claim_count() { } /** * Retrieve the claim ID for an action from the table data store. * * @param int $action_id Action ID. */ public function get_claim_id($action_id) { } /** * Release a claim in the table data store. * * @param ActionScheduler_ActionClaim $claim Claim object. */ public function release_claim(\ActionScheduler_ActionClaim $claim) { } /** * Release claims on an action in the table data store. * * @param int $action_id Action ID. */ public function unclaim_action($action_id) { } /** * Retrieve a list of action IDs by claim. * * @param int $claim_id Claim ID. */ public function find_actions_by_claim_id($claim_id) { } } /** * Class ActionScheduler_wpCommentLogger */ class ActionScheduler_wpCommentLogger extends \ActionScheduler_Logger { const AGENT = 'ActionScheduler'; const TYPE = 'action_log'; /** * @param string $action_id * @param string $message * @param DateTime $date * * @return string The log entry ID */ public function log($action_id, $message, \DateTime $date = \NULL) { } protected function create_wp_comment($action_id, $message, \DateTime $date) { } /** * @param string $entry_id * * @return ActionScheduler_LogEntry */ public function get_entry($entry_id) { } /** * @param string $action_id * * @return ActionScheduler_LogEntry[] */ public function get_logs($action_id) { } protected function get_comment($comment_id) { } /** * @param WP_Comment_Query $query */ public function filter_comment_queries($query) { } /** * @param array $clauses * @param WP_Comment_Query $query * * @return array */ public function filter_comment_query_clauses($clauses, $query) { } /** * Make sure Action Scheduler logs are excluded from comment feeds, which use WP_Query, not * the WP_Comment_Query class handled by @see self::filter_comment_queries(). * * @param string $where * @param WP_Query $query * * @return string */ public function filter_comment_feed($where, $query) { } /** * Return a SQL clause to exclude Action Scheduler comments. * * @return string */ protected function get_where_clause() { } /** * Remove action log entries from wp_count_comments() * * @param array $stats * @param int $post_id * * @return object */ public function filter_comment_count($stats, $post_id) { } /** * Retrieve the comment counts from our cache, or the database if the cached version isn't set. * * @return object */ protected function get_comment_count() { } /** * Delete comment count cache whenever there is new comment or the status of a comment changes. Cache * will be regenerated next time ActionScheduler_wpCommentLogger::filter_comment_count() is called. */ public function delete_comment_count_cache() { } /** * @codeCoverageIgnore */ public function init() { } public function disable_comment_counting() { } public function enable_comment_counting() { } } /** * Class ActionScheduler_wpPostStore */ class ActionScheduler_wpPostStore extends \ActionScheduler_Store { const POST_TYPE = 'scheduled-action'; const GROUP_TAXONOMY = 'action-group'; const SCHEDULE_META_KEY = '_action_manager_schedule'; const DEPENDENCIES_MET = 'as-post-store-dependencies-met'; /** * Used to share information about the before_date property of claims internally. * * This is used in preference to passing the same information as a method param * for backwards-compatibility reasons. * * @var DateTime|null */ private $claim_before_date = \null; /** * Local Timezone. * * @var DateTimeZone */ protected $local_timezone = \null; /** * Save action. * * @param ActionScheduler_Action $action Scheduled Action. * @param DateTime $scheduled_date Scheduled Date. * * @throws RuntimeException Throws an exception if the action could not be saved. * @return int */ public function save_action(\ActionScheduler_Action $action, \DateTime $scheduled_date = \null) { } /** * Create post array. * * @param ActionScheduler_Action $action Scheduled Action. * @param DateTime $scheduled_date Scheduled Date. * * @return array Returns an array of post data. */ protected function create_post_array(\ActionScheduler_Action $action, \DateTime $scheduled_date = \null) { } /** * Save post array. * * @param array $post_array Post array. * @return int Returns the post ID. * @throws RuntimeException Throws an exception if the action could not be saved. */ protected function save_post_array($post_array) { } /** * Filter insert post data. * * @param array $postdata Post data to filter. * * @return array */ public function filter_insert_post_data($postdata) { } /** * Create a (probably unique) post name for scheduled actions in a more performant manner than wp_unique_post_slug(). * * When an action's post status is transitioned to something other than 'draft', 'pending' or 'auto-draft, like 'publish' * or 'failed' or 'trash', WordPress will find a unique slug (stored in post_name column) using the wp_unique_post_slug() * function. This is done to ensure URL uniqueness. The approach taken by wp_unique_post_slug() is to iterate over existing * post_name values that match, and append a number 1 greater than the largest. This makes sense when manually creating a * post from the Edit Post screen. It becomes a bottleneck when automatically processing thousands of actions, with a * database containing thousands of related post_name values. * * WordPress 5.1 introduces the 'pre_wp_unique_post_slug' filter for plugins to address this issue. * * We can short-circuit WordPress's wp_unique_post_slug() approach using the 'pre_wp_unique_post_slug' filter. This * method is available to be used as a callback on that filter. It provides a more scalable approach to generating a * post_name/slug that is probably unique. Because Action Scheduler never actually uses the post_name field, or an * action's slug, being probably unique is good enough. * * For more backstory on this issue, see: * - https://github.com/woocommerce/action-scheduler/issues/44 and * - https://core.trac.wordpress.org/ticket/21112 * * @param string $override_slug Short-circuit return value. * @param string $slug The desired slug (post_name). * @param int $post_ID Post ID. * @param string $post_status The post status. * @param string $post_type Post type. * @return string */ public function set_unique_post_slug($override_slug, $slug, $post_ID, $post_status, $post_type) { } /** * Save post schedule. * * @param int $post_id Post ID of the scheduled action. * @param string $schedule Schedule to save. * * @return void */ protected function save_post_schedule($post_id, $schedule) { } /** * Save action group. * * @param int $post_id Post ID. * @param string $group Group to save. * @return void */ protected function save_action_group($post_id, $group) { } /** * Fetch actions. * * @param int $action_id Action ID. * @return object */ public function fetch_action($action_id) { } /** * Get post. * * @param string $action_id - Action ID. * @return WP_Post|null */ protected function get_post($action_id) { } /** * Get NULL action. * * @return ActionScheduler_NullAction */ protected function get_null_action() { } /** * Make action from post. * * @param WP_Post $post Post object. * @return WP_Post */ protected function make_action_from_post($post) { } /** * Get action status by post status. * * @param string $post_status Post status. * * @throws InvalidArgumentException Throw InvalidArgumentException if $post_status not in known status fields returned by $this->get_status_labels(). * @return string */ protected function get_action_status_by_post_status($post_status) { } /** * Get post status by action status. * * @param string $action_status Action status. * * @throws InvalidArgumentException Throws InvalidArgumentException if $post_status not in known status fields returned by $this->get_status_labels(). * @return string */ protected function get_post_status_by_action_status($action_status) { } /** * Returns the SQL statement to query (or count) actions. * * @param array $query - Filtering options. * @param string $select_or_count - Whether the SQL should select and return the IDs or just the row count. * * @throws InvalidArgumentException - Throw InvalidArgumentException if $select_or_count not count or select. * @return string SQL statement. The returned SQL is already properly escaped. */ protected function get_query_actions_sql(array $query, $select_or_count = 'select') { } /** * Query for action count or list of action IDs. * * @since 3.3.0 $query['status'] accepts array of statuses instead of a single status. * * @see ActionScheduler_Store::query_actions for $query arg usage. * * @param array $query Query filtering options. * @param string $query_type Whether to select or count the results. Defaults to select. * * @return string|array|null The IDs of actions matching the query. Null on failure. */ public function query_actions($query = array(), $query_type = 'select') { } /** * Get a count of all actions in the store, grouped by status * * @return array */ public function action_counts() { } /** * Cancel action. * * @param int $action_id Action ID. * * @throws InvalidArgumentException If $action_id is not identified. */ public function cancel_action($action_id) { } /** * Delete action. * * @param int $action_id Action ID. * @return void * @throws InvalidArgumentException If action is not identified. */ public function delete_action($action_id) { } /** * Get date for claim id. * * @param int $action_id Action ID. * @return ActionScheduler_DateTime The date the action is schedule to run, or the date that it ran. */ public function get_date($action_id) { } /** * Get Date GMT. * * @param int $action_id Action ID. * * @throws InvalidArgumentException If $action_id is not identified. * @return ActionScheduler_DateTime The date the action is schedule to run, or the date that it ran. */ public function get_date_gmt($action_id) { } /** * Stake claim. * * @param int $max_actions Maximum number of actions. * @param DateTime $before_date Jobs must be schedule before this date. Defaults to now. * @param array $hooks Claim only actions with a hook or hooks. * @param string $group Claim only actions in the given group. * * @return ActionScheduler_ActionClaim * @throws RuntimeException When there is an error staking a claim. * @throws InvalidArgumentException When the given group is not valid. */ public function stake_claim($max_actions = 10, \DateTime $before_date = \null, $hooks = array(), $group = '') { } /** * Get claim count. * * @return int */ public function get_claim_count() { } /** * Generate claim id. * * @return string */ protected function generate_claim_id() { } /** * Claim actions. * * @param string $claim_id Claim ID. * @param int $limit Limit. * @param DateTime $before_date Should use UTC timezone. * @param array $hooks Claim only actions with a hook or hooks. * @param string $group Claim only actions in the given group. * * @return int The number of actions that were claimed. * @throws RuntimeException When there is a database error. */ protected function claim_actions($claim_id, $limit, \DateTime $before_date = \null, $hooks = array(), $group = '') { } /** * Get IDs of actions within a certain group and up to a certain date/time. * * @param string $group The group to use in finding actions. * @param int $limit The number of actions to retrieve. * @param DateTime $date DateTime object representing cutoff time for actions. Actions retrieved will be * up to and including this DateTime. * * @return array IDs of actions in the appropriate group and before the appropriate time. * @throws InvalidArgumentException When the group does not exist. */ protected function get_actions_by_group($group, $limit, \DateTime $date) { } /** * Find actions by claim ID. * * @param string $claim_id Claim ID. * @return array */ public function find_actions_by_claim_id($claim_id) { } /** * Release claim. * * @param ActionScheduler_ActionClaim $claim Claim object to release. * @return void * @throws RuntimeException When the claim is not unlocked. */ public function release_claim(\ActionScheduler_ActionClaim $claim) { } /** * Unclaim action. * * @param string $action_id Action ID. * @throws RuntimeException When unable to unlock claim on action ID. */ public function unclaim_action($action_id) { } /** * Mark failure on action. * * @param int $action_id Action ID. * * @return void * @throws RuntimeException When unable to mark failure on action ID. */ public function mark_failure($action_id) { } /** * Return an action's claim ID, as stored in the post password column * * @param int $action_id Action ID. * @return mixed */ public function get_claim_id($action_id) { } /** * Return an action's status, as stored in the post status column * * @param int $action_id Action ID. * * @return mixed * @throws InvalidArgumentException When the action ID is invalid. */ public function get_status($action_id) { } /** * Get post column * * @param string $action_id Action ID. * @param string $column_name Column Name. * * @return string|null */ private function get_post_column($action_id, $column_name) { } /** * Log Execution. * * @throws Exception If the action status cannot be updated to self::STATUS_RUNNING ('in-progress'). * * @param string $action_id Action ID. */ public function log_execution($action_id) { } /** * Record that an action was completed. * * @param string $action_id ID of the completed action. * * @throws InvalidArgumentException When the action ID is invalid. * @throws RuntimeException When there was an error executing the action. */ public function mark_complete($action_id) { } /** * Mark action as migrated when there is an error deleting the action. * * @param int $action_id Action ID. */ public function mark_migrated($action_id) { } /** * Determine whether the post store can be migrated. * * @param [type] $setting - Setting value. * @return bool */ public function migration_dependencies_met($setting) { } /** * InnoDB indexes have a maximum size of 767 bytes by default, which is only 191 characters with utf8mb4. * * Previously, AS wasn't concerned about args length, as we used the (unindex) post_content column. However, * as we prepare to move to custom tables, and can use an indexed VARCHAR column instead, we want to warn * developers of this impending requirement. * * @param ActionScheduler_Action $action Action object. */ protected function validate_action(\ActionScheduler_Action $action) { } /** * (@codeCoverageIgnore) */ public function init() { } } /** * Class ActionScheduler_wpPostStore_PostStatusRegistrar * @codeCoverageIgnore */ class ActionScheduler_wpPostStore_PostStatusRegistrar { public function register() { } /** * Build the args array for the post type definition * * @return array */ protected function post_status_args() { } /** * Build the args array for the post type definition * * @return array */ protected function post_status_failed_labels() { } /** * Build the args array for the post type definition * * @return array */ protected function post_status_running_labels() { } } /** * Class ActionScheduler_wpPostStore_PostTypeRegistrar * @codeCoverageIgnore */ class ActionScheduler_wpPostStore_PostTypeRegistrar { public function register() { } /** * Build the args array for the post type definition * * @return array */ protected function post_type_args() { } } /** * Class ActionScheduler_wpPostStore_TaxonomyRegistrar * @codeCoverageIgnore */ class ActionScheduler_wpPostStore_TaxonomyRegistrar { public function register() { } protected function taxonomy_args() { } } } namespace Action_Scheduler\Migration { /** * Class ActionMigrator * * @package Action_Scheduler\Migration * * @since 3.0.0 * * @codeCoverageIgnore */ class ActionMigrator { /** var ActionScheduler_Store */ private $source; /** var ActionScheduler_Store */ private $destination; /** var LogMigrator */ private $log_migrator; /** * ActionMigrator constructor. * * @param ActionScheduler_Store $source_store Source store object. * @param ActionScheduler_Store $destination_store Destination store object. * @param LogMigrator $log_migrator Log migrator object. */ public function __construct(\ActionScheduler_Store $source_store, \ActionScheduler_Store $destination_store, \Action_Scheduler\Migration\LogMigrator $log_migrator) { } /** * Migrate an action. * * @param int $source_action_id Action ID. * * @return int 0|new action ID */ public function migrate($source_action_id) { } } } namespace { /** * Class ActionScheduler_DBStoreMigrator * * A class for direct saving of actions to the table data store during migration. * * @since 3.0.0 */ class ActionScheduler_DBStoreMigrator extends \ActionScheduler_DBStore { /** * Save an action with optional last attempt date. * * Normally, saving an action sets its attempted date to 0000-00-00 00:00:00 because when an action is first saved, * it can't have been attempted yet, but migrated completed actions will have an attempted date, so we need to save * that when first saving the action. * * @param ActionScheduler_Action $action * @param \DateTime $scheduled_date Optional date of the first instance to store. * @param \DateTime $last_attempt_date Optional date the action was last attempted. * * @return string The action ID * @throws \RuntimeException When the action is not saved. */ public function save_action(\ActionScheduler_Action $action, \DateTime $scheduled_date = \null, \DateTime $last_attempt_date = \null) { } } } namespace Action_Scheduler\Migration { /** * Class BatchFetcher * * @package Action_Scheduler\Migration * * @since 3.0.0 * * @codeCoverageIgnore */ class BatchFetcher { /** var ActionScheduler_Store */ private $store; /** * BatchFetcher constructor. * * @param ActionScheduler_Store $source_store Source store object. */ public function __construct(\ActionScheduler_Store $source_store) { } /** * Retrieve a list of actions. * * @param int $count The number of actions to retrieve * * @return int[] A list of action IDs */ public function fetch($count = 10) { } /** * Generate a list of prioritized of action search parameters. * * @param int $count Number of actions to find. * * @return array */ private function get_query_strategies($count) { } } /** * Class Config * * @package Action_Scheduler\Migration * * @since 3.0.0 * * A config builder for the ActionScheduler\Migration\Runner class */ class Config { /** @var ActionScheduler_Store */ private $source_store; /** @var ActionScheduler_Logger */ private $source_logger; /** @var ActionScheduler_Store */ private $destination_store; /** @var ActionScheduler_Logger */ private $destination_logger; /** @var Progress bar */ private $progress_bar; /** @var bool */ private $dry_run = false; /** * Config constructor. */ public function __construct() { } /** * Get the configured source store. * * @return ActionScheduler_Store */ public function get_source_store() { } /** * Set the configured source store. * * @param ActionScheduler_Store $store Source store object. */ public function set_source_store(\ActionScheduler_Store $store) { } /** * Get the configured source loger. * * @return ActionScheduler_Logger */ public function get_source_logger() { } /** * Set the configured source logger. * * @param ActionScheduler_Logger $logger */ public function set_source_logger(\ActionScheduler_Logger $logger) { } /** * Get the configured destination store. * * @return ActionScheduler_Store */ public function get_destination_store() { } /** * Set the configured destination store. * * @param ActionScheduler_Store $store */ public function set_destination_store(\ActionScheduler_Store $store) { } /** * Get the configured destination logger. * * @return ActionScheduler_Logger */ public function get_destination_logger() { } /** * Set the configured destination logger. * * @param ActionScheduler_Logger $logger */ public function set_destination_logger(\ActionScheduler_Logger $logger) { } /** * Get flag indicating whether it's a dry run. * * @return bool */ public function get_dry_run() { } /** * Set flag indicating whether it's a dry run. * * @param bool $dry_run */ public function set_dry_run($dry_run) { } /** * Get progress bar object. * * @return ActionScheduler\WPCLI\ProgressBar */ public function get_progress_bar() { } /** * Set progress bar object. * * @param ActionScheduler\WPCLI\ProgressBar $progress_bar */ public function set_progress_bar(\Action_Scheduler\WP_CLI\ProgressBar $progress_bar) { } } /** * Class Controller * * The main plugin/initialization class for migration to custom tables. * * @package Action_Scheduler\Migration * * @since 3.0.0 * * @codeCoverageIgnore */ class Controller { private static $instance; /** @var Action_Scheduler\Migration\Scheduler */ private $migration_scheduler; /** @var string */ private $store_classname; /** @var string */ private $logger_classname; /** @var bool */ private $migrate_custom_store; /** * Controller constructor. * * @param Scheduler $migration_scheduler Migration scheduler object. */ protected function __construct(\Action_Scheduler\Migration\Scheduler $migration_scheduler) { } /** * Set the action store class name. * * @param string $class Classname of the store class. * * @return string */ public function get_store_class($class) { } /** * Set the action logger class name. * * @param string $class Classname of the logger class. * * @return string */ public function get_logger_class($class) { } /** * Get flag indicating whether a custom datastore is in use. * * @return bool */ public function has_custom_datastore() { } /** * Set up the background migration process. * * @return void */ public function schedule_migration() { } /** * Get the default migration config object * * @return ActionScheduler\Migration\Config */ public function get_migration_config_object() { } /** * Hook dashboard migration notice. */ public function hook_admin_notices() { } /** * Show a dashboard notice that migration is in progress. */ public function display_migration_notice() { } /** * Add store classes. Hook migration. */ private function hook() { } /** * Possibly hook the migration scheduler action. * * @author Jeremy Pry */ public function maybe_hook_migration() { } /** * Allow datastores to enable migration to AS tables. */ public function allow_migration() { } /** * Proceed with the migration if the dependencies have been met. */ public static function init() { } /** * Singleton factory. */ public static function instance() { } } /** * Class DryRun_ActionMigrator * * @package Action_Scheduler\Migration * * @since 3.0.0 * * @codeCoverageIgnore */ class DryRun_ActionMigrator extends \Action_Scheduler\Migration\ActionMigrator { /** * Simulate migrating an action. * * @param int $source_action_id Action ID. * * @return int */ public function migrate($source_action_id) { } } /** * Class LogMigrator * * @package Action_Scheduler\Migration * * @since 3.0.0 * * @codeCoverageIgnore */ class LogMigrator { /** @var ActionScheduler_Logger */ private $source; /** @var ActionScheduler_Logger */ private $destination; /** * ActionMigrator constructor. * * @param ActionScheduler_Logger $source_logger Source logger object. * @param ActionScheduler_Logger $destination_Logger Destination logger object. */ public function __construct(\ActionScheduler_Logger $source_logger, \ActionScheduler_Logger $destination_Logger) { } /** * Migrate an action log. * * @param int $source_action_id Source logger object. * @param int $destination_action_id Destination logger object. */ public function migrate($source_action_id, $destination_action_id) { } } /** * Class DryRun_LogMigrator * * @package Action_Scheduler\Migration * * @codeCoverageIgnore */ class DryRun_LogMigrator extends \Action_Scheduler\Migration\LogMigrator { /** * Simulate migrating an action log. * * @param int $source_action_id Source logger object. * @param int $destination_action_id Destination logger object. */ public function migrate($source_action_id, $destination_action_id) { } } /** * Class Runner * * @package Action_Scheduler\Migration * * @since 3.0.0 * * @codeCoverageIgnore */ class Runner { /** @var ActionScheduler_Store */ private $source_store; /** @var ActionScheduler_Store */ private $destination_store; /** @var ActionScheduler_Logger */ private $source_logger; /** @var ActionScheduler_Logger */ private $destination_logger; /** @var BatchFetcher */ private $batch_fetcher; /** @var ActionMigrator */ private $action_migrator; /** @var LogMigrator */ private $log_migrator; /** @var ProgressBar */ private $progress_bar; /** * Runner constructor. * * @param Config $config Migration configuration object. */ public function __construct(\Action_Scheduler\Migration\Config $config) { } /** * Run migration batch. * * @param int $batch_size Optional batch size. Default 10. * * @return int Size of batch processed. */ public function run($batch_size = 10) { } /** * Migration a batch of actions. * * @param array $action_ids List of action IDs to migrate. */ public function migrate_actions(array $action_ids) { } /** * Initialize destination store and logger. */ public function init_destination() { } } /** * Class Scheduler * * @package Action_Scheduler\WP_CLI * * @since 3.0.0 * * @codeCoverageIgnore */ class Scheduler { /** Migration action hook. */ const HOOK = 'action_scheduler/migration_hook'; /** Migration action group. */ const GROUP = 'action-scheduler-migration'; /** * Set up the callback for the scheduled job. */ public function hook() { } /** * Remove the callback for the scheduled job. */ public function unhook() { } /** * The migration callback. */ public function run_migration() { } /** * Mark the migration complete. */ public function mark_complete() { } /** * Get a flag indicating whether the migration is scheduled. * * @return bool Whether there is a pending action in the store to handle the migration */ public function is_migration_scheduled() { } /** * Schedule the migration. * * @param int $when Optional timestamp to run the next migration batch. Defaults to now. * * @return string The action ID */ public function schedule_migration($when = 0) { } /** * Remove the scheduled migration action. */ public function unschedule_migration() { } /** * Get migration batch schedule interval. * * @return int Seconds between migration runs. Defaults to 0 seconds to allow chaining migration via Async Runners. */ private function get_schedule_interval() { } /** * Get migration batch size. * * @return int Number of actions to migrate in each batch. Defaults to 250. */ private function get_batch_size() { } /** * Get migration runner object. * * @return Runner */ private function get_migration_runner() { } } } namespace { /** * Class ActionScheduler_SimpleSchedule */ class ActionScheduler_SimpleSchedule extends \ActionScheduler_Abstract_Schedule { /** * Deprecated property @see $this->__wakeup() for details. **/ private $timestamp = \NULL; /** * @param DateTime $after * * @return DateTime|null */ public function calculate_next(\DateTime $after) { } /** * @return bool */ public function is_recurring() { } /** * Serialize schedule with data required prior to AS 3.0.0 * * Prior to Action Scheduler 3.0.0, schedules used different property names to refer * to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp * was the same as ActionScheduler_SimpleSchedule::timestamp. Action Scheduler 3.0.0 * aligned properties and property names for better inheritance. To guard against the * scheduled date for single actions always being seen as "now" if downgrading to * Action Scheduler < 3.0.0, we need to also store the data with the old property names * so if it's unserialized in AS < 3.0, the schedule doesn't end up with a null recurrence. * * @return array */ public function __sleep() { } /** * Unserialize recurring schedules serialized/stored prior to AS 3.0.0 * * Prior to Action Scheduler 3.0.0, schedules used different property names to refer * to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp * was the same as ActionScheduler_SimpleSchedule::timestamp. Action Scheduler 3.0.0 * aligned properties and property names for better inheritance. To maintain backward * compatibility with schedules serialized and stored prior to 3.0, we need to correctly * map the old property names with matching visibility. */ public function __wakeup() { } } /** * Class ActionScheduler_SimpleSchedule */ class ActionScheduler_CanceledSchedule extends \ActionScheduler_SimpleSchedule { /** * Deprecated property @see $this->__wakeup() for details. **/ private $timestamp = \NULL; /** * @param DateTime $after * * @return DateTime|null */ public function calculate_next(\DateTime $after) { } /** * Cancelled actions should never have a next schedule, even if get_next() * is called with $after < $this->scheduled_date. * * @param DateTime $after * @return DateTime|null */ public function get_next(\DateTime $after) { } /** * @return bool */ public function is_recurring() { } /** * Unserialize recurring schedules serialized/stored prior to AS 3.0.0 * * Prior to Action Scheduler 3.0.0, schedules used different property names to refer * to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp * was the same as ActionScheduler_SimpleSchedule::timestamp. Action Scheduler 3.0.0 * aligned properties and property names for better inheritance. To maintain backward * compatibility with schedules serialized and stored prior to 3.0, we need to correctly * map the old property names with matching visibility. */ public function __wakeup() { } } /** * Class ActionScheduler_CronSchedule */ class ActionScheduler_CronSchedule extends \ActionScheduler_Abstract_RecurringSchedule implements \ActionScheduler_Schedule { /** * Deprecated property @see $this->__wakeup() for details. **/ private $start_timestamp = \NULL; /** * Deprecated property @see $this->__wakeup() for details. **/ private $cron = \NULL; /** * Wrapper for parent constructor to accept a cron expression string and map it to a CronExpression for this * objects $recurrence property. * * @param DateTime $start The date & time to run the action at or after. If $start aligns with the CronSchedule passed via $recurrence, it will be used. If it does not align, the first matching date after it will be used. * @param CronExpression|string $recurrence The CronExpression used to calculate the schedule's next instance. * @param DateTime|null $first (Optional) The date & time the first instance of this interval schedule ran. Default null, meaning this is the first instance. */ public function __construct(\DateTime $start, $recurrence, \DateTime $first = \null) { } /** * Calculate when an instance of this schedule would start based on a given * date & time using its the CronExpression. * * @param DateTime $after * @return DateTime */ protected function calculate_next(\DateTime $after) { } /** * @return string */ public function get_recurrence() { } /** * Serialize cron schedules with data required prior to AS 3.0.0 * * Prior to Action Scheduler 3.0.0, reccuring schedules used different property names to * refer to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp * was the same as ActionScheduler_SimpleSchedule::timestamp. Action Scheduler 3.0.0 * aligned properties and property names for better inheritance. To guard against the * possibility of infinite loops if downgrading to Action Scheduler < 3.0.0, we need to * also store the data with the old property names so if it's unserialized in AS < 3.0, * the schedule doesn't end up with a null recurrence. * * @return array */ public function __sleep() { } /** * Unserialize cron schedules serialized/stored prior to AS 3.0.0 * * For more background, @see ActionScheduler_Abstract_RecurringSchedule::__wakeup(). */ public function __wakeup() { } } /** * Class ActionScheduler_IntervalSchedule */ class ActionScheduler_IntervalSchedule extends \ActionScheduler_Abstract_RecurringSchedule implements \ActionScheduler_Schedule { /** * Deprecated property @see $this->__wakeup() for details. **/ private $start_timestamp = \NULL; /** * Deprecated property @see $this->__wakeup() for details. **/ private $interval_in_seconds = \NULL; /** * Calculate when this schedule should start after a given date & time using * the number of seconds between recurrences. * * @param DateTime $after * @return DateTime */ protected function calculate_next(\DateTime $after) { } /** * @return int */ public function interval_in_seconds() { } /** * Serialize interval schedules with data required prior to AS 3.0.0 * * Prior to Action Scheduler 3.0.0, reccuring schedules used different property names to * refer to equivalent data. For example, ActionScheduler_IntervalSchedule::start_timestamp * was the same as ActionScheduler_SimpleSchedule::timestamp. Action Scheduler 3.0.0 * aligned properties and property names for better inheritance. To guard against the * possibility of infinite loops if downgrading to Action Scheduler < 3.0.0, we need to * also store the data with the old property names so if it's unserialized in AS < 3.0, * the schedule doesn't end up with a null/false/0 recurrence. * * @return array */ public function __sleep() { } /** * Unserialize interval schedules serialized/stored prior to AS 3.0.0 * * For more background, @see ActionScheduler_Abstract_RecurringSchedule::__wakeup(). */ public function __wakeup() { } } /** * Class ActionScheduler_NullSchedule */ class ActionScheduler_NullSchedule extends \ActionScheduler_SimpleSchedule { /** @var DateTime|null */ protected $scheduled_date; /** * Make the $date param optional and default to null. * * @param null $date The date & time to run the action. */ public function __construct(\DateTime $date = \null) { } /** * This schedule has no scheduled DateTime, so we need to override the parent __sleep() * @return array */ public function __sleep() { } public function __wakeup() { } } /** * Class ActionScheduler_LoggerSchema * * @codeCoverageIgnore * * Creates a custom table for storing action logs */ class ActionScheduler_LoggerSchema extends \ActionScheduler_Abstract_Schema { const LOG_TABLE = 'actionscheduler_logs'; /** * @var int Increment this value to trigger a schema update. */ protected $schema_version = 3; public function __construct() { } /** * Performs additional setup work required to support this schema. */ public function init() { } protected function get_table_definition($table) { } /** * Update the logs table schema, allowing datetime fields to be NULL. * * This is needed because the NOT NULL constraint causes a conflict with some versions of MySQL * configured with sql_mode=NO_ZERO_DATE, which can for instance lead to tables not being created. * * Most other schema updates happen via ActionScheduler_Abstract_Schema::update_table(), however * that method relies on dbDelta() and this change is not possible when using that function. * * @param string $table Name of table being updated. * @param string $db_version The existing schema version of the table. */ public function update_schema_3_0($table, $db_version) { } } /** * Class ActionScheduler_StoreSchema * * @codeCoverageIgnore * * Creates custom tables for storing scheduled actions */ class ActionScheduler_StoreSchema extends \ActionScheduler_Abstract_Schema { const ACTIONS_TABLE = 'actionscheduler_actions'; const CLAIMS_TABLE = 'actionscheduler_claims'; const GROUPS_TABLE = 'actionscheduler_groups'; const DEFAULT_DATE = '0000-00-00 00:00:00'; /** * @var int Increment this value to trigger a schema update. */ protected $schema_version = 7; public function __construct() { } /** * Performs additional setup work required to support this schema. */ public function init() { } protected function get_table_definition($table) { } /** * Update the actions table schema, allowing datetime fields to be NULL. * * This is needed because the NOT NULL constraint causes a conflict with some versions of MySQL * configured with sql_mode=NO_ZERO_DATE, which can for instance lead to tables not being created. * * Most other schema updates happen via ActionScheduler_Abstract_Schema::update_table(), however * that method relies on dbDelta() and this change is not possible when using that function. * * @param string $table Name of table being updated. * @param string $db_version The existing schema version of the table. */ public function update_schema_5_0($table, $db_version) { } } /** * CRON expression parser that can determine whether or not a CRON expression is * due to run, the next run date and previous run date of a CRON expression. * The determinations made by this class are accurate if checked run once per * minute (seconds are dropped from date time comparisons). * * Schedule parts must map to: * minute [0-59], hour [0-23], day of month, month [1-12|JAN-DEC], day of week * [1-7|MON-SUN], and an optional year. * * @author Michael Dowling * @link http://en.wikipedia.org/wiki/Cron */ class CronExpression { const MINUTE = 0; const HOUR = 1; const DAY = 2; const MONTH = 3; const WEEKDAY = 4; const YEAR = 5; /** * @var array CRON expression parts */ private $cronParts; /** * @var CronExpression_FieldFactory CRON field factory */ private $fieldFactory; /** * @var array Order in which to test of cron parts */ private static $order = array(self::YEAR, self::MONTH, self::DAY, self::WEEKDAY, self::HOUR, self::MINUTE); /** * Factory method to create a new CronExpression. * * @param string $expression The CRON expression to create. There are * several special predefined values which can be used to substitute the * CRON expression: * * @yearly, @annually) - Run once a year, midnight, Jan. 1 - 0 0 1 1 * * @monthly - Run once a month, midnight, first of month - 0 0 1 * * * @weekly - Run once a week, midnight on Sun - 0 0 * * 0 * @daily - Run once a day, midnight - 0 0 * * * * @hourly - Run once an hour, first minute - 0 * * * * * *@param CronExpression_FieldFactory $fieldFactory (optional) Field factory to use * * @return CronExpression */ public static function factory($expression, \CronExpression_FieldFactory $fieldFactory = \null) { } /** * Parse a CRON expression * * @param string $expression CRON expression (e.g. '8 * * * *') * @param CronExpression_FieldFactory $fieldFactory Factory to create cron fields */ public function __construct($expression, \CronExpression_FieldFactory $fieldFactory) { } /** * Set or change the CRON expression * * @param string $value CRON expression (e.g. 8 * * * *) * * @return CronExpression * @throws InvalidArgumentException if not a valid CRON expression */ public function setExpression($value) { } /** * Set part of the CRON expression * * @param int $position The position of the CRON expression to set * @param string $value The value to set * * @return CronExpression * @throws InvalidArgumentException if the value is not valid for the part */ public function setPart($position, $value) { } /** * Get a next run date relative to the current date or a specific date * * @param string|DateTime $currentTime (optional) Relative calculation date * @param int $nth (optional) Number of matches to skip before returning a * matching next run date. 0, the default, will return the current * date and time if the next run date falls on the current date and * time. Setting this value to 1 will skip the first match and go to * the second match. Setting this value to 2 will skip the first 2 * matches and so on. * @param bool $allowCurrentDate (optional) Set to TRUE to return the * current date if it matches the cron expression * * @return DateTime * @throws RuntimeException on too many iterations */ public function getNextRunDate($currentTime = 'now', $nth = 0, $allowCurrentDate = \false) { } /** * Get a previous run date relative to the current date or a specific date * * @param string|DateTime $currentTime (optional) Relative calculation date * @param int $nth (optional) Number of matches to skip before returning * @param bool $allowCurrentDate (optional) Set to TRUE to return the * current date if it matches the cron expression * * @return DateTime * @throws RuntimeException on too many iterations * @see CronExpression::getNextRunDate */ public function getPreviousRunDate($currentTime = 'now', $nth = 0, $allowCurrentDate = \false) { } /** * Get multiple run dates starting at the current date or a specific date * * @param int $total Set the total number of dates to calculate * @param string|DateTime $currentTime (optional) Relative calculation date * @param bool $invert (optional) Set to TRUE to retrieve previous dates * @param bool $allowCurrentDate (optional) Set to TRUE to return the * current date if it matches the cron expression * * @return array Returns an array of run dates */ public function getMultipleRunDates($total, $currentTime = 'now', $invert = \false, $allowCurrentDate = \false) { } /** * Get all or part of the CRON expression * * @param string $part (optional) Specify the part to retrieve or NULL to * get the full cron schedule string. * * @return string|null Returns the CRON expression, a part of the * CRON expression, or NULL if the part was specified but not found */ public function getExpression($part = \null) { } /** * Helper method to output the full expression. * * @return string Full CRON expression */ public function __toString() { } /** * Determine if the cron is due to run based on the current date or a * specific date. This method assumes that the current number of * seconds are irrelevant, and should be called once per minute. * * @param string|DateTime $currentTime (optional) Relative calculation date * * @return bool Returns TRUE if the cron is due to run or FALSE if not */ public function isDue($currentTime = 'now') { } /** * Get the next or previous run date of the expression relative to a date * * @param string|DateTime $currentTime (optional) Relative calculation date * @param int $nth (optional) Number of matches to skip before returning * @param bool $invert (optional) Set to TRUE to go backwards in time * @param bool $allowCurrentDate (optional) Set to TRUE to return the * current date if it matches the cron expression * * @return DateTime * @throws RuntimeException on too many iterations */ protected function getRunDate($currentTime = \null, $nth = 0, $invert = \false, $allowCurrentDate = \false) { } } /** * CRON field interface * * @author Michael Dowling */ interface CronExpression_FieldInterface { /** * Check if the respective value of a DateTime field satisfies a CRON exp * * @param DateTime $date DateTime object to check * @param string $value CRON expression to test against * * @return bool Returns TRUE if satisfied, FALSE otherwise */ public function isSatisfiedBy(\DateTime $date, $value); /** * When a CRON expression is not satisfied, this method is used to increment * or decrement a DateTime object by the unit of the cron field * * @param DateTime $date DateTime object to change * @param bool $invert (optional) Set to TRUE to decrement * * @return CronExpression_FieldInterface */ public function increment(\DateTime $date, $invert = \false); /** * Validates a CRON expression for a given field * * @param string $value CRON expression value to validate * * @return bool Returns TRUE if valid, FALSE otherwise */ public function validate($value); } /** * Abstract CRON expression field * * @author Michael Dowling */ abstract class CronExpression_AbstractField implements \CronExpression_FieldInterface { /** * Check to see if a field is satisfied by a value * * @param string $dateValue Date value to check * @param string $value Value to test * * @return bool */ public function isSatisfied($dateValue, $value) { } /** * Check if a value is a range * * @param string $value Value to test * * @return bool */ public function isRange($value) { } /** * Check if a value is an increments of ranges * * @param string $value Value to test * * @return bool */ public function isIncrementsOfRanges($value) { } /** * Test if a value is within a range * * @param string $dateValue Set date value * @param string $value Value to test * * @return bool */ public function isInRange($dateValue, $value) { } /** * Test if a value is within an increments of ranges (offset[-to]/step size) * * @param string $dateValue Set date value * @param string $value Value to test * * @return bool */ public function isInIncrementsOfRanges($dateValue, $value) { } } /** * Day of month field. Allows: * , / - ? L W * * 'L' stands for "last" and specifies the last day of the month. * * The 'W' character is used to specify the weekday (Monday-Friday) nearest the * given day. As an example, if you were to specify "15W" as the value for the * day-of-month field, the meaning is: "the nearest weekday to the 15th of the * month". So if the 15th is a Saturday, the trigger will fire on Friday the * 14th. If the 15th is a Sunday, the trigger will fire on Monday the 16th. If * the 15th is a Tuesday, then it will fire on Tuesday the 15th. However if you * specify "1W" as the value for day-of-month, and the 1st is a Saturday, the * trigger will fire on Monday the 3rd, as it will not 'jump' over the boundary * of a month's days. The 'W' character can only be specified when the * day-of-month is a single day, not a range or list of days. * * @author Michael Dowling */ class CronExpression_DayOfMonthField extends \CronExpression_AbstractField { /** * Get the nearest day of the week for a given day in a month * * @param int $currentYear Current year * @param int $currentMonth Current month * @param int $targetDay Target day of the month * * @return DateTime Returns the nearest date */ private static function getNearestWeekday($currentYear, $currentMonth, $targetDay) { } /** * {@inheritdoc} */ public function isSatisfiedBy(\DateTime $date, $value) { } /** * {@inheritdoc} */ public function increment(\DateTime $date, $invert = \false) { } /** * {@inheritdoc} */ public function validate($value) { } } /** * Day of week field. Allows: * / , - ? L # * * Days of the week can be represented as a number 0-7 (0|7 = Sunday) * or as a three letter string: SUN, MON, TUE, WED, THU, FRI, SAT. * * 'L' stands for "last". It allows you to specify constructs such as * "the last Friday" of a given month. * * '#' is allowed for the day-of-week field, and must be followed by a * number between one and five. It allows you to specify constructs such as * "the second Friday" of a given month. * * @author Michael Dowling */ class CronExpression_DayOfWeekField extends \CronExpression_AbstractField { /** * {@inheritdoc} */ public function isSatisfiedBy(\DateTime $date, $value) { } /** * {@inheritdoc} */ public function increment(\DateTime $date, $invert = \false) { } /** * {@inheritdoc} */ public function validate($value) { } } /** * CRON field factory implementing a flyweight factory * * @author Michael Dowling * @link http://en.wikipedia.org/wiki/Cron */ class CronExpression_FieldFactory { /** * @var array Cache of instantiated fields */ private $fields = array(); /** * Get an instance of a field object for a cron expression position * * @param int $position CRON expression position value to retrieve * * @return CronExpression_FieldInterface * @throws InvalidArgumentException if a position is not valid */ public function getField($position) { } } /** * Hours field. Allows: * , / - * * @author Michael Dowling */ class CronExpression_HoursField extends \CronExpression_AbstractField { /** * {@inheritdoc} */ public function isSatisfiedBy(\DateTime $date, $value) { } /** * {@inheritdoc} */ public function increment(\DateTime $date, $invert = \false) { } /** * {@inheritdoc} */ public function validate($value) { } } /** * Minutes field. Allows: * , / - * * @author Michael Dowling */ class CronExpression_MinutesField extends \CronExpression_AbstractField { /** * {@inheritdoc} */ public function isSatisfiedBy(\DateTime $date, $value) { } /** * {@inheritdoc} */ public function increment(\DateTime $date, $invert = \false) { } /** * {@inheritdoc} */ public function validate($value) { } } /** * Month field. Allows: * , / - * * @author Michael Dowling */ class CronExpression_MonthField extends \CronExpression_AbstractField { /** * {@inheritdoc} */ public function isSatisfiedBy(\DateTime $date, $value) { } /** * {@inheritdoc} */ public function increment(\DateTime $date, $invert = \false) { } /** * {@inheritdoc} */ public function validate($value) { } } /** * Year field. Allows: * , / - * * @author Michael Dowling */ class CronExpression_YearField extends \CronExpression_AbstractField { /** * {@inheritdoc} */ public function isSatisfiedBy(\DateTime $date, $value) { } /** * {@inheritdoc} */ public function increment(\DateTime $date, $invert = \false) { } /** * {@inheritdoc} */ public function validate($value) { } } } namespace { /** * Run the early blocks. * We need to remove the debug notice that is triggered by the `doing_it_wrong` function. * * We use this function in page builders that can sometimes render the blocks out of order, causing the debug notice to be displayed. * * @param string $content The content. * * @return string */ function sc_pre_render_blocks($content) { } /** * Remove interactivity doing it wrong. * * This is because we need to render blocks out of order in order to * add the attributes from bricks to the block. * * @param string $trigger Trigger. * @param string $function_name Function name. * * @return string|false */ function sc_remove_interactivity_debug_notice($trigger, $function_name) { } /** * Get the current block styles. * * @param bool $combine Whether to combine the styles or not. * @param object $block The block object. * @return array */ function sc_get_block_styles($combine = \true, $block = \null) { } /** * Get cart block style. * * @param array $attributes * * @return string */ function sc_get_cart_block_style($attributes) { } /** * Convert an array to a string of inline styles. * * @param array $styles The styles to convert. * @return string The string of inline styles. */ function sc_get_inline_styles($styles) { } /** * Get the collection. * * @param \WP_Term|int $term The collection term. * * @return \SureCart\Models\Collection|null */ function sc_get_collection($term = \false) { } /** * Set a cookie. * * @param string $name The name of the cookie. * @param string $value The value of the cookie. * @param int $expire The expiration time of the cookie. * @param boolean $secure Whether the cookie should be served over HTTPS only. * @param boolean $httponly Whether the cookie should be accessible via HTTP(S) only. */ function sc_setcookie($name, $value, $expire = 0, $secure = \false, $httponly = \false) { } /** * Get the allowed SVG for safe output. * * @return array */ function sc_allowed_svg_html(): array { } /** * Add sizes and srcset to allowed image HTML. * * @return array */ function sc_allowed_image_html(): array { } /** * Get the product. * * @param \WP_Post|int|string $post The product post. * * @return \SureCart\Models\Product|null */ function sc_get_product($post = \false) { } /** * Standard way of retrieving products based on certain parameters. * * This function should be used for product retrieval so that we have a data agnostic * way to get a list of products. * * @param array $args Array of args (above). * @return array|stdClass Number of pages and an array of product objects if */ function sc_get_products($args = []) { } /** * Standard way of retrieving products based on certain parameters. * * This function should be used for product retrieval so that we have a data agnostic * way to query a list of products. * * @param array $args Array of args (above). * @return \WP_Query The query. */ function sc_query_products($args = []) { } /** * Set global $sc_product. * * @param mixed $post Post Object or ID. * * @return \SureCart\Models\Product */ function sc_setup_product_data($post = '') { } /** * Set global $sc_product. * * @param string $size The image size. * @param array $attrs The attributes. * * @return string */ function sc_get_product_featured_image($size = 'full', $attrs = []) { } /** * Set global $sc_product. * * @param string $size The image size. * @param array $attrs The attributes. * * @return object */ function sc_get_product_featured_image_attributes($size = 'full', $attrs = []) { } /** * Get the product review link. * * @param \SureCart\Models\Product|int|string $product The product. * * @return string */ function sc_get_product_review_link($product = \null): string { } /** * Get the html attributes. * * @param array $attributes The attributes. * @param bool $show_empty_values Whether to show empty values. * * @return string */ function sc_html_attributes($attributes = [], $show_empty_values = \false) { } /** * Get the product page id. * * @param string $prefix The prefix. * * @return string */ function sc_unique_product_page_id($prefix = '') { } /** * Get the product list id. * * @param string $prefix The prefix. * * @return string */ function sc_unique_product_list_id($prefix = '') { } /** * Get the product list query. * * @param \WP_Block $block The block. * * @return \WP_Query */ function sc_product_list_query($block) { } /** * Get the product list prefix. * * @param \WP_Block $block The block. * @return string */ function sc_product_list_prefix($block = \null) { } /** * Sanitize image attributes to only include standard HTML img properties. * * WordPress filters (e.g. Performance Lab's Image Placeholders / dominant color) * can inject non-standard attributes like `style` (as a string), `class`, and * `data-*` onto image data. These cause errors when spread onto JavaScript-rendered * elements in both React and Stencil components. * * @param object|null $attributes Image attributes object. * * @return object Sanitized attributes containing only safe img properties. */ function sc_sanitize_image_attributes($attributes) { } /** * Get the product review list query. * * @param \WP_Block $block The block. * @param string $product_id The product ID. * * @return \WP_Query */ function sc_product_review_list_query($block, $product_id) { } /** * Handles a url $_GET request. * * @param string $var Url variable value. * @param string $name Name of URL var. */ function sc_url_var($var, $name = 'action') { } /** * Handles a url $_GET request for sc_action. * * @param string $var Url variable value. * @param string $name Name of URL var. */ function sc_action($var, $name = 'sc-action') { } /** * Merge data with the existing store. * * @param array $data Data that will be merged with the existing store. * * @return $data The current store data. */ function sc_initial_state($data = \null) { } /** * Get the current store state. * * @param array $data Data that will be merged with the existing store. * * @return array The current store state. */ function sc_initial_line_items($data = []) { } /** * Returns the markup for the current template. * * @access private * @since 5.8.0 * * @global string $_wp_current_template_content * @global WP_Embed $wp_embed * * @return string Block template markup. */ function surecart_get_the_block_template_html($template_content) { } /** * Process block and shortcode content for template parts. * * @param string $content The template content to process. * @return string Processed content. */ function sc_process_template_content($content) { } /** * Prints a block template part. * * @since 5.9.0 * * @param string $part The block template part to print. */ function sc_block_template_part($part) { } /** * Uninstall. * * @return void */ function surecart_uninstall() { } function includeIfExists($file) { } /** * Get all HTTP header key/values as an associative array for the current request. * * @return string[string] The HTTP header key/value pairs. */ function getallheaders() { } // WRCS: DEFINED_VERSION. /** * Registers this version of Action Scheduler. */ function action_scheduler_register_3_dot_7_dot_0() { } /** * Initializes this version of Action Scheduler. */ function action_scheduler_initialize_3_dot_7_dot_0() { } /** * Deprecated API functions for scheduling actions * * Functions with the wc prefix were deprecated to avoid confusion with * Action Scheduler being included in WooCommerce core, and it providing * a different set of APIs for working with the action queue. */ /** * Schedule an action to run one time * * @param int $timestamp When the job will run * @param string $hook The hook to trigger * @param array $args Arguments to pass when the hook triggers * @param string $group The group to assign this job to * * @return string The job ID */ function wc_schedule_single_action($timestamp, $hook, $args = array(), $group = '') { } /** * Schedule a recurring action * * @param int $timestamp When the first instance of the job will run * @param int $interval_in_seconds How long to wait between runs * @param string $hook The hook to trigger * @param array $args Arguments to pass when the hook triggers * @param string $group The group to assign this job to * * @deprecated 2.1.0 * * @return string The job ID */ function wc_schedule_recurring_action($timestamp, $interval_in_seconds, $hook, $args = array(), $group = '') { } /** * Schedule an action that recurs on a cron-like schedule. * * @param int $timestamp The schedule will start on or after this time * @param string $schedule A cron-link schedule string * @see http://en.wikipedia.org/wiki/Cron * * * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ * | | | | | | * | | | | | + year [optional] * | | | | +----- day of week (0 - 7) (Sunday=0 or 7) * | | | +---------- month (1 - 12) * | | +--------------- day of month (1 - 31) * | +-------------------- hour (0 - 23) * +------------------------- min (0 - 59) * @param string $hook The hook to trigger * @param array $args Arguments to pass when the hook triggers * @param string $group The group to assign this job to * * @deprecated 2.1.0 * * @return string The job ID */ function wc_schedule_cron_action($timestamp, $schedule, $hook, $args = array(), $group = '') { } /** * Cancel the next occurrence of a job. * * @param string $hook The hook that the job will trigger * @param array $args Args that would have been passed to the job * @param string $group * * @deprecated 2.1.0 */ function wc_unschedule_action($hook, $args = array(), $group = '') { } /** * @param string $hook * @param array $args * @param string $group * * @deprecated 2.1.0 * * @return int|bool The timestamp for the next occurrence, or false if nothing was found */ function wc_next_scheduled_action($hook, $args = \NULL, $group = '') { } /** * Find scheduled actions * * @param array $args Possible arguments, with their default values: * 'hook' => '' - the name of the action that will be triggered * 'args' => NULL - the args array that will be passed with the action * 'date' => NULL - the scheduled date of the action. Expects a DateTime object, a unix timestamp, or a string that can parsed with strtotime(). Used in UTC timezone. * 'date_compare' => '<=' - operator for testing "date". accepted values are '!=', '>', '>=', '<', '<=', '=' * 'modified' => NULL - the date the action was last updated. Expects a DateTime object, a unix timestamp, or a string that can parsed with strtotime(). Used in UTC timezone. * 'modified_compare' => '<=' - operator for testing "modified". accepted values are '!=', '>', '>=', '<', '<=', '=' * 'group' => '' - the group the action belongs to * 'status' => '' - ActionScheduler_Store::STATUS_COMPLETE or ActionScheduler_Store::STATUS_PENDING * 'claimed' => NULL - TRUE to find claimed actions, FALSE to find unclaimed actions, a string to find a specific claim ID * 'per_page' => 5 - Number of results to return * 'offset' => 0 * 'orderby' => 'date' - accepted values are 'hook', 'group', 'modified', or 'date' * 'order' => 'ASC' * @param string $return_format OBJECT, ARRAY_A, or ids * * @deprecated 2.1.0 * * @return array */ function wc_get_scheduled_actions($args = array(), $return_format = \OBJECT) { } /** * General API functions for scheduling actions * * @package ActionScheduler. */ /** * Enqueue an action to run one time, as soon as possible * * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * * @return int The action ID. Zero if there was an error scheduling the action. */ function as_enqueue_async_action($hook, $args = array(), $group = '', $unique = \false, $priority = 10) { } /** * Schedule an action to run one time * * @param int $timestamp When the job will run. * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * * @return int The action ID. Zero if there was an error scheduling the action. */ function as_schedule_single_action($timestamp, $hook, $args = array(), $group = '', $unique = \false, $priority = 10) { } /** * Schedule a recurring action * * @param int $timestamp When the first instance of the job will run. * @param int $interval_in_seconds How long to wait between runs. * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * * @return int The action ID. Zero if there was an error scheduling the action. */ function as_schedule_recurring_action($timestamp, $interval_in_seconds, $hook, $args = array(), $group = '', $unique = \false, $priority = 10) { } /** * Schedule an action that recurs on a cron-like schedule. * * @param int $timestamp The first instance of the action will be scheduled * to run at a time calculated after this timestamp matching the cron * expression. This can be used to delay the first instance of the action. * @param string $schedule A cron-link schedule string. * @see http://en.wikipedia.org/wiki/Cron * * * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ * | | | | | | * | | | | | + year [optional] * | | | | +----- day of week (0 - 7) (Sunday=0 or 7) * | | | +---------- month (1 - 12) * | | +--------------- day of month (1 - 31) * | +-------------------- hour (0 - 23) * +------------------------- min (0 - 59) * @param string $hook The hook to trigger. * @param array $args Arguments to pass when the hook triggers. * @param string $group The group to assign this job to. * @param bool $unique Whether the action should be unique. * @param int $priority Lower values take precedence over higher values. Defaults to 10, with acceptable values falling in the range 0-255. * * @return int The action ID. Zero if there was an error scheduling the action. */ function as_schedule_cron_action($timestamp, $schedule, $hook, $args = array(), $group = '', $unique = \false, $priority = 10) { } /** * Cancel the next occurrence of a scheduled action. * * While only the next instance of a recurring or cron action is unscheduled by this method, that will also prevent * all future instances of that recurring or cron action from being run. Recurring and cron actions are scheduled in * a sequence instead of all being scheduled at once. Each successive occurrence of a recurring action is scheduled * only after the former action is run. If the next instance is never run, because it's unscheduled by this function, * then the following instance will never be scheduled (or exist), which is effectively the same as being unscheduled * by this method also. * * @param string $hook The hook that the job will trigger. * @param array $args Args that would have been passed to the job. * @param string $group The group the job is assigned to. * * @return int|null The scheduled action ID if a scheduled action was found, or null if no matching action found. */ function as_unschedule_action($hook, $args = array(), $group = '') { } /** * Cancel all occurrences of a scheduled action. * * @param string $hook The hook that the job will trigger. * @param array $args Args that would have been passed to the job. * @param string $group The group the job is assigned to. */ function as_unschedule_all_actions($hook, $args = array(), $group = '') { } /** * Check if there is an existing action in the queue with a given hook, args and group combination. * * An action in the queue could be pending, in-progress or async. If the is pending for a time in * future, its scheduled date will be returned as a timestamp. If it is currently being run, or an * async action sitting in the queue waiting to be processed, in which case boolean true will be * returned. Or there may be no async, in-progress or pending action for this hook, in which case, * boolean false will be the return value. * * @param string $hook Name of the hook to search for. * @param array $args Arguments of the action to be searched. * @param string $group Group of the action to be searched. * * @return int|bool The timestamp for the next occurrence of a pending scheduled action, true for an async or in-progress action or false if there is no matching action. */ function as_next_scheduled_action($hook, $args = \null, $group = '') { } /** * Check if there is a scheduled action in the queue but more efficiently than as_next_scheduled_action(). * * It's recommended to use this function when you need to know whether a specific action is currently scheduled * (pending or in-progress). * * @since 3.3.0 * * @param string $hook The hook of the action. * @param array $args Args that have been passed to the action. Null will matches any args. * @param string $group The group the job is assigned to. * * @return bool True if a matching action is pending or in-progress, false otherwise. */ function as_has_scheduled_action($hook, $args = \null, $group = '') { } /** * Find scheduled actions * * @param array $args Possible arguments, with their default values. * 'hook' => '' - the name of the action that will be triggered. * 'args' => NULL - the args array that will be passed with the action. * 'date' => NULL - the scheduled date of the action. Expects a DateTime object, a unix timestamp, or a string that can parsed with strtotime(). Used in UTC timezone. * 'date_compare' => '<=' - operator for testing "date". accepted values are '!=', '>', '>=', '<', '<=', '='. * 'modified' => NULL - the date the action was last updated. Expects a DateTime object, a unix timestamp, or a string that can parsed with strtotime(). Used in UTC timezone. * 'modified_compare' => '<=' - operator for testing "modified". accepted values are '!=', '>', '>=', '<', '<=', '='. * 'group' => '' - the group the action belongs to. * 'status' => '' - ActionScheduler_Store::STATUS_COMPLETE or ActionScheduler_Store::STATUS_PENDING. * 'claimed' => NULL - TRUE to find claimed actions, FALSE to find unclaimed actions, a string to find a specific claim ID. * 'per_page' => 5 - Number of results to return. * 'offset' => 0. * 'orderby' => 'date' - accepted values are 'hook', 'group', 'modified', 'date' or 'none'. * 'order' => 'ASC'. * * @param string $return_format OBJECT, ARRAY_A, or ids. * * @return array */ function as_get_scheduled_actions($args = array(), $return_format = \OBJECT) { } /** * Helper function to create an instance of DateTime based on a given * string and timezone. By default, will return the current date/time * in the UTC timezone. * * Needed because new DateTime() called without an explicit timezone * will create a date/time in PHP's timezone, but we need to have * assurance that a date/time uses the right timezone (which we almost * always want to be UTC), which means we need to always include the * timezone when instantiating datetimes rather than leaving it up to * the PHP default. * * @param mixed $date_string A date/time string. Valid formats are explained in http://php.net/manual/en/datetime.formats.php. * @param string $timezone A timezone identifier, like UTC or Europe/Lisbon. The list of valid identifiers is available http://php.net/manual/en/timezones.php. * * @return ActionScheduler_DateTime */ function as_get_datetime_object($date_string = \null, $timezone = 'UTC') { } }