PluginProbe
Stape Conversion Tracking / trunk
Stape Conversion Tracking vtrunk
2.3.8 2.3.7 2.3.6 2.3.5 2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.0 2.1.48 2.1.47 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 2.0.0 All 73 releases
gtm-server-side / bootstrap.php

bootstrap.php in Stape Conversion Tracking trunk, at bootstrap.php

139 lines 6.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Bootstrap file.
4 *
5 * @package stape
6 */
7
8 defined( 'ABSPATH' ) || exit;
9
10 // Definitions.
11 define( 'GTM_SERVER_SIDE_PATH', plugin_dir_path( __FILE__ ) );
12 define( 'GTM_SERVER_SIDE_URL', plugin_dir_url( __FILE__ ) );
13
14 define( 'GTM_SERVER_SIDE_AJAX_SECURITY', 'gtm-server-side-admin__xyz' );
15
16 define( 'GTM_SERVER_SIDE_ADMIN_SLUG', 'gtm-server-side-admin-settings' );
17 define( 'GTM_SERVER_SIDE_COOKIE_KEEPER_NAME', '_sbp' );
18
19 define( 'GTM_SERVER_SIDE_DATA_LAYER_CUSTOM_EVENT_NAME', '_stape' );
20
21 define( 'GTM_SERVER_SIDE_FIELD_VERSION', 'gtm_server_side_version' );
22 define( 'GTM_SERVER_SIDE_TRANSLATION_DOMAIN', 'gtm-server-side' );
23
24 // Tab: General.
25 define( 'GTM_SERVER_SIDE_FIELD_PLACEMENT', 'gtm_server_side_placement' );
26 define( 'GTM_SERVER_SIDE_FIELD_WEB_CONTAINER_ID', 'gtm_server_side_web_container_id' );
27 define( 'GTM_SERVER_SIDE_FIELD_WEB_CONTAINER_URL', 'gtm_server_side_web_container_url' );
28 define( 'GTM_SERVER_SIDE_FIELD_WEB_IDENTIFIER', 'gtm_server_side_web_identifier' );
29 define( 'GTM_SERVER_SIDE_FIELD_COOKIE_KEEPER', 'gtm_server_side_cookie_keeper' );
30 // Values for field `GTM_SERVER_SIDE_FIELD_PLACEMENT`.
31 define( 'GTM_SERVER_SIDE_FIELD_PLACEMENT_VALUE_CODE', 'code' );
32 define( 'GTM_SERVER_SIDE_FIELD_PLACEMENT_VALUE_PLUGIN', 'plugin' );
33 define( 'GTM_SERVER_SIDE_FIELD_PLACEMENT_VALUE_DISABLE', 'disable' );
34 define( 'GTM_SERVER_SIDE_FIELD_PLACEMENT_VALUE_GTM_CONSENT', 'gtm_consent' );
35
36 define( 'GTM_SERVER_SIDE_FIELD_GTM_EXCLUDE_ROLES', 'gtm_server_side_gtm_exclude_roles' );
37 define( 'GTM_SERVER_SIDE_FIELD_GTM_EXCLUDE_LIST_ROLES', 'gtm_server_side_gtm_exclude_list_roles' );
38
39 // Tab: Data Layer.
40 define( 'GTM_SERVER_SIDE_FIELD_DATA_LAYER_ECOMMERCE', 'gtm_server_side_data_layer_ecommerce' );
41 define( 'GTM_SERVER_SIDE_FIELD_DATA_LAYER_USER_DATA', 'gtm_server_side_data_layer_user_data' );
42 define( 'GTM_SERVER_SIDE_FIELD_DATA_LAYER_CUSTOM_EVENT_NAME', 'gtm_server_side_data_layer_custom_event_name' );
43
44 // Tab: Webhooks.
45 define( 'GTM_SERVER_SIDE_FIELD_WEBHOOKS_ENABLE', 'gtm_server_side_webhooks_enable' );
46 define( 'GTM_SERVER_SIDE_FIELD_WEBHOOKS_CONTAINER_URL', 'gtm_server_side_webhooks_container_url' );
47 define( 'GTM_SERVER_SIDE_FIELD_WEBHOOKS_PURCHASE', 'gtm_server_side_webhooks_purchase' );
48 define( 'GTM_SERVER_SIDE_FIELD_WEBHOOKS_PROCESSING', 'gtm_server_side_webhooks_processing' );
49 define( 'GTM_SERVER_SIDE_FIELD_WEBHOOKS_COMPLETED', 'gtm_server_side_webhooks_completed' );
50 define( 'GTM_SERVER_SIDE_FIELD_WEBHOOKS_REFUND', 'gtm_server_side_webhooks_refund' );
51
52 // Tab: Customer Match.
53 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_CONTAINER_API_KEY', 'gtm_server_side_field_cust_match_container_api_key' ); // Container API Key.
54 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_GADS_OPER_CUST_ID', 'gtm_server_side_field_cust_match_gads_oper_cust_id' ); // Google ADS Operating Customer ID.
55 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_GADS_LOGIN_CUST_ID', 'gtm_server_side_field_cust_match_gads_login_cust_id' ); // Google ADS Login Customer ID.
56 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_AUDIENCE_ID', 'gtm_server_side_field_cust_match_audience_id' ); // Audience ID.
57 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_USER_SHARE_EMAIL', 'gtm_server_side_field_cust_match_user_share_email' ); // User data: Share email.
58 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_USER_SHARE_PHONE', 'gtm_server_side_field_cust_match_user_share_phone' ); // User data: Share phone.
59 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_USER_SHARE_ADDRESS', 'gtm_server_side_field_cust_match_user_share_address' ); // User data: Share address.
60 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_CONSENT', 'gtm_server_side_field_cust_match_consent' ); // Consent.
61 define( 'GTM_SERVER_SIDE_FIELD_CUST_MATCH_BACKFILL', 'gtm_server_side_field_cust_match_backfill' ); // Backfill: (value: yes).
62 // Values for field `GTM_SERVER_SIDE_FIELD_CUST_MATCH_CONSENT`.
63 define( 'GTM_SERVER_SIDE_FIELD_CONSENT_VALUE_STATUS_UNSPECIFIED', 'CONSENT_STATUS_UNSPECIFIED' );
64 define( 'GTM_SERVER_SIDE_FIELD_CONSENT_VALUE_GRANTED', 'CONSENT_GRANTED' );
65 define( 'GTM_SERVER_SIDE_FIELD_CONSENT_VALUE_DENIED', 'CONSENT_DENIED' );
66
67 define( 'GTM_SERVER_SIDE_FIELD_VALUE_YES', 'yes' );
68
69 // Settings.
70 define( 'GTM_SERVER_SIDE_ADMIN_GROUP', 'gtm-server-side-admin-group' );
71 define( 'GTM_SERVER_SIDE_ADMIN_GROUP_GENERAL', 'gtm-server-side-admin-group-general' );
72 define( 'GTM_SERVER_SIDE_ADMIN_GROUP_DATA_LAYER', 'gtm-server-side-admin-group-data-layer' );
73 define( 'GTM_SERVER_SIDE_ADMIN_GROUP_WEBHOOKS', 'gtm-server-side-admin-group-webhooks' );
74 define( 'GTM_SERVER_SIDE_ADMIN_GROUP_CUSTOMER_MATCH', 'gtm-server-side-admin-group-customer-match' );
75
76 // Version: 2.1.35.
77 define( 'GTM_SERVER_SIDE_CUST_MATCH_BACKFILL_DATE', 'gtm_server_side_cust_match_backfill_date' );
78 define( 'GTM_SERVER_SIDE_CUST_MATCH_BACKFILL_FINISHED', 'gtm_server_side_cust_match_backfill_finished' );
79
80 // d20260118.
81 define( 'GTM_SERVER_SIDE_GTM_CUSTOM_LOADER_FROM_API', 'gtm_server_side_gtm_custom_loader_from_api' );
82
83 // Tab: General — Same-Origin Proxy.
84 define( 'GTM_SERVER_SIDE_FIELD_SAME_ORIGIN_ENABLE', 'gtm_server_side_same_origin_enable' );
85 define( 'GTM_SERVER_SIDE_FIELD_SAME_ORIGIN_PATH', 'gtm_server_side_same_origin_path' );
86 define( 'GTM_SERVER_SIDE_FIELD_SAME_ORIGIN_API_KEY', 'gtm_server_side_same_origin_api_key' );
87
88 // Tab: Data Layer — Advanced parameters.
89 define( 'GTM_SERVER_SIDE_FIELD_ADV', 'gtm_server_side_adv' );
90
91
92 // Autoload plugin classes.
93 spl_autoload_register(
94 function ( $class ) {
95 if ( 0 === strpos( $class, 'GTM_Server_Side' ) ) {
96 $file_name = 'class-' . str_replace( '_', '-', strtolower( $class ) );
97 include_once GTM_SERVER_SIDE_PATH . 'includes' . DIRECTORY_SEPARATOR . $file_name . '.php';
98 }
99 }
100 );
101
102
103 // Create custom hooks.
104 add_action(
105 'plugins_loaded',
106 function () {
107 do_action( 'gtm_server_side' );
108 if ( is_admin() ) {
109 do_action( 'gtm_server_side_admin' );
110 } else {
111 do_action( 'gtm_server_side_frontend' );
112 }
113 },
114 -1
115 );
116
117
118 /**
119 * Return gtm server side version
120 *
121 * @return string
122 */
123 function get_gtm_server_side_version() {
124 static $version;
125
126 if ( null === $version ) {
127 $plugin = get_file_data(
128 GTM_SERVER_SIDE_PATH . 'gtm-server-side.php',
129 array(
130 'version' => 'Version',
131 ),
132 false
133 );
134 $version = $plugin['version'];
135 }
136
137 return $version;
138 }
139