summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/class.jetpack-jitm.php')
-rw-r--r--plugins/jetpack/class.jetpack-jitm.php29
1 files changed, 27 insertions, 2 deletions
diff --git a/plugins/jetpack/class.jetpack-jitm.php b/plugins/jetpack/class.jetpack-jitm.php
index 61fbcb28..6746471e 100644
--- a/plugins/jetpack/class.jetpack-jitm.php
+++ b/plugins/jetpack/class.jetpack-jitm.php
@@ -317,6 +317,15 @@ class Jetpack_JITM {
$hidden_jitms = Jetpack_Options::get_option( 'hide_jitm' );
unset( $envelopes['last_response_time'] );
+ /**
+ * Allow adding your own custom JITMs after a set of JITMs has been received.
+ *
+ * @since 6.9.0
+ *
+ * @param array $envelopes array of existing JITMs.
+ */
+ $envelopes = apply_filters( 'jetpack_jitm_received_envelopes', $envelopes );
+
foreach ( $envelopes as $idx => &$envelope ) {
$dismissed_feature = isset( $hidden_jitms[ $envelope->feature_class ] ) && is_array( $hidden_jitms[ $envelope->feature_class ] ) ? $hidden_jitms[ $envelope->feature_class ] : null;
@@ -331,8 +340,24 @@ class Jetpack_JITM {
'jitm_id' => $envelope->id,
) );
- $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
- $envelope->url = 'https://jetpack.com/redirect/?source=jitm-' . $envelope->id . '&site=' . $normalized_site_url . '&u=' . $user->ID;
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
+
+ $url_params = array(
+ 'source' => "jitm-$envelope->id",
+ 'site' => $normalized_site_url,
+ 'u' => $user->ID,
+ );
+
+ if ( ! class_exists( 'Jetpack_Affiliate' ) ) {
+ require_once JETPACK__PLUGIN_DIR . 'class.jetpack-affiliate.php';
+ }
+ // Get affiliate code and add it to the array of URL parameters
+ if ( '' !== ( $aff = Jetpack_Affiliate::init()->get_affiliate_code() ) ) {
+ $url_params['aff'] = $aff;
+ }
+
+ $envelope->url = add_query_arg( $url_params, 'https://jetpack.com/redirect/' );
+
$envelope->jitm_stats_url = Jetpack::build_stats_url( array( 'x_jetpack-jitm' => $envelope->id ) );
if ( $envelope->CTA->hook ) {