129 lines
2.5 KiB
PHP
129 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* Legacy Webhook
|
|
*
|
|
* Legacy and deprecated functions are here to keep the WC_Legacy_Webhook class clean.
|
|
* This class will be removed in future versions.
|
|
*
|
|
* @version 3.2.0
|
|
* @package WooCommerce\Classes
|
|
* @category Class
|
|
* @author Automattic
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Legacy Webhook class.
|
|
*/
|
|
abstract class WC_Legacy_Webhook extends WC_Data {
|
|
|
|
/**
|
|
* Magic __isset method for backwards compatibility. Legacy properties which could be accessed directly in the past.
|
|
*
|
|
* @param string $key Item to check.
|
|
* @return bool
|
|
*/
|
|
public function __isset( $key ) {
|
|
$legacy_keys = array(
|
|
'id',
|
|
'status',
|
|
'post_data',
|
|
'delivery_url',
|
|
'secret',
|
|
'topic',
|
|
'hooks',
|
|
'resource',
|
|
'event',
|
|
'failure_count',
|
|
'api_version',
|
|
);
|
|
|
|
if ( in_array( $key, $legacy_keys, true ) ) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Magic __get method for backwards compatibility. Maps legacy vars to new getters.
|
|
*
|
|
* @param string $key Item to get.
|
|
* @return mixed
|
|
*/
|
|
public function __get( $key ) {
|
|
wc_doing_it_wrong( $key, 'Webhook properties should not be accessed directly.', '3.2' );
|
|
|
|
switch ( $key ) {
|
|
case 'id' :
|
|
$value = $this->get_id();
|
|
break;
|
|
case 'status' :
|
|
$value = $this->get_status();
|
|
break;
|
|
case 'post_data' :
|
|
$value = null;
|
|
break;
|
|
case 'delivery_url' :
|
|
$value = $this->get_delivery_url();
|
|
break;
|
|
case 'secret' :
|
|
$value = $this->get_secret();
|
|
break;
|
|
case 'topic' :
|
|
$value = $this->get_topic();
|
|
break;
|
|
case 'hooks' :
|
|
$value = $this->get_hooks();
|
|
break;
|
|
case 'resource' :
|
|
$value = $this->get_resource();
|
|
break;
|
|
case 'event' :
|
|
$value = $this->get_event();
|
|
break;
|
|
case 'failure_count' :
|
|
$value = $this->get_failure_count();
|
|
break;
|
|
case 'api_version' :
|
|
$value = $this->get_api_version();
|
|
break;
|
|
|
|
default :
|
|
$value = '';
|
|
break;
|
|
} // End switch().
|
|
|
|
return $value;
|
|
}
|
|
|
|
/**
|
|
* Get the post data for the webhook.
|
|
*
|
|
* @deprecated 3.2.0
|
|
* @since 2.2
|
|
* @return null|WP_Post
|
|
*/
|
|
public function get_post_data() {
|
|
wc_deprecated_function( 'WC_Webhook::get_post_data', '3.2' );
|
|
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Update the webhook status.
|
|
*
|
|
* @deprecated 3.2.0
|
|
* @since 2.2.0
|
|
* @param string $status Status to set.
|
|
*/
|
|
public function update_status( $status ) {
|
|
wc_deprecated_function( 'WC_Webhook::update_status', '3.2', 'WC_Webhook::set_status' );
|
|
|
|
$this->set_status( $status );
|
|
$this->save();
|
|
}
|
|
}
|