HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/html/ielts-store/wp-content/plugins/woocommerce-zapier/src/Webhook/ZapierWebhook.php
<?php

namespace OM4\WooCommerceZapier\Webhook;

use WC_Webhook;

defined( 'ABSPATH' ) || exit;

/**
 * Represents a single WooCommerce Webhook instance, with helper methods to determine
 * whether the Webhook is one that was created by Zapier.
 *
 * @since 2.0.0
 */
class ZapierWebhook extends WC_Webhook {

	/**
	 * Whether or not the specified WooCommerce webhook is one that was created
	 * by the WooCommerce Zapier integration.
	 *
	 * @return boolean
	 */
	public function is_zapier_webhook() {
		if ( false === strpos( $this->get_name(), 'Zapier #' ) ) {
			return false;
		}
		if ( false === strpos( $this->get_delivery_url(), 'hooks.zapier.com' ) ) {
			return false;
		}
		return true;
	}

	/**
	 * Get a Zap ID from the specified webhook.
	 * The webhook name contains the Zap number (ID) in the format Zapier #{123}
	 *
	 * @return string
	 */
	public function get_zap_id() {
		preg_match( '/^Zapier #([0-9]+)/', $this->get_name(), $matches );
		if ( isset( $matches[1] ) ) {
			return $matches[1];
		}
		return '';
	}

	/**
	 * Get the URL to the Zap that the specified Webhook uses.
	 *
	 * @return string
	 */
	public function get_zap_url() {
		$id = $this->get_zap_id();
		if ( strlen( $id ) > 0 ) {
			return "https://zapier.com/app/editor/$id";
		}
		return '';
	}

}