-
Notifications
You must be signed in to change notification settings - Fork 21
/
AdsSetupCompleted.php
43 lines (35 loc) · 1.05 KB
/
AdsSetupCompleted.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
declare( strict_types=1 );
namespace Automattic\WooCommerce\GoogleListingsAndAds\Options;
use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Registerable;
use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Service;
defined( 'ABSPATH' ) || exit;
/**
* Class AdsSetupCompleted
*
* @package Automattic\WooCommerce\GoogleListingsAndAds\Options
*/
class AdsSetupCompleted implements OptionsAwareInterface, Registerable, Service {
use OptionsAwareTrait;
protected const OPTION = OptionsInterface::ADS_SETUP_COMPLETED_AT;
/**
* Register a service.
*
* TODO: call `do_action( 'woocommerce_gla_ads_settings_sync' );` when the initial Google Ads account,
* paid campaign, and billing setup is completed.
*/
public function register(): void {
add_action(
'woocommerce_gla_ads_setup_completed',
function () {
$this->set_completed_timestamp();
}
);
}
/**
* Set the timestamp when setup was completed.
*/
protected function set_completed_timestamp() {
$this->options->update( self::OPTION, time() );
}
}