'."\n";
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
do_action("ws_plugin__s2member_during_display_signup_tracking_codes", get_defined_vars());
unset($__refs, $__v);
if(is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site())
echo do_shortcode($code)."\n"; // No PHP here.
else // Otherwise, safe to allow PHP code.
echo do_shortcode(c_ws_plugin__s2member_utilities::evl($code));
}
}
do_action("ws_plugin__s2member_after_display_signup_tracking_codes", get_defined_vars());
}
/**
* Displays Modification Tracking Codes.
*
* These are stored inside s2Member's Transient Queue by the IPN processor.
*
* Tracking Codes are only displayed/processed one time.
* s2Member will display Tracking Codes in (1) of these 3 locations:
*
* o On the Return URL / Thank-You Page, after returning from your Payment Gateway.
* o Otherwise, if possible, on the Login Form *(in the footer)* after returning from your Payment Gateway.
* o Otherwise, in the footer of your WordPress theme, as soon as possible; or after the Customer's next login.
*
* @package s2Member\Tracking
* @since 110815
*
* @attaches-to ``add_action("login_footer");``
* @attaches-to ``add_action("wp_footer");``
* @also-called-by {@link s2Member\Tracking\c_ws_plugin__s2member_tracking_codes::generate_all_tracking_codes()}
*/
public static function display_modification_tracking_codes()
{
do_action("ws_plugin__s2member_before_display_modification_tracking_codes", get_defined_vars());
if((!empty($_COOKIE["s2member_tracking"]) && ($subscr_or_txn_id = c_ws_plugin__s2member_utils_encryption::decrypt($_COOKIE["s2member_tracking"]))) || (($reg_cookies = c_ws_plugin__s2member_register_access::reg_cookies_ok()) && extract($reg_cookies) && ($subscr_or_txn_id = $subscr_id)))
{
if(($code = get_transient($transient = "s2m_".md5("s2member_transient_modification_tracking_codes_".$subscr_or_txn_id))))
{
delete_transient($transient); // Only display this ONE time. Delete transient immediately.
echo '
'."\n";
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
do_action("ws_plugin__s2member_during_display_modification_tracking_codes", get_defined_vars());
unset($__refs, $__v);
if(is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site())
echo do_shortcode($code)."\n"; // No PHP here.
else // Otherwise, safe to allow PHP code.
echo do_shortcode(c_ws_plugin__s2member_utilities::evl($code));
}
}
do_action("ws_plugin__s2member_after_display_modification_tracking_codes", get_defined_vars());
}
/**
* Displays Capability Tracking Codes.
*
* These are stored inside s2Member's Transient Queue by the IPN processor.
*
* Tracking Codes are only displayed/processed one time.
* s2Member will display Tracking Codes in (1) of these 3 locations:
*
* o On the Return URL / Thank-You Page, after returning from your Payment Gateway.
* o Otherwise, if possible, on the Login Form *(in the footer)* after returning from your Payment Gateway.
* o Otherwise, in the footer of your WordPress theme, as soon as possible; or after the Customer's next login.
*
* @package s2Member\Tracking
* @since 110815
*
* @attaches-to ``add_action("login_footer");``
* @attaches-to ``add_action("wp_footer");``
* @also-called-by {@link s2Member\Tracking\c_ws_plugin__s2member_tracking_codes::generate_all_tracking_codes()}
*/
public static function display_ccap_tracking_codes()
{
do_action("ws_plugin__s2member_before_display_ccap_tracking_codes", get_defined_vars());
if((!empty($_COOKIE["s2member_tracking"]) && ($subscr_or_txn_id = c_ws_plugin__s2member_utils_encryption::decrypt($_COOKIE["s2member_tracking"]))) || (($reg_cookies = c_ws_plugin__s2member_register_access::reg_cookies_ok()) && extract($reg_cookies) && ($subscr_or_txn_id = $subscr_id)))
{
if(($code = get_transient($transient = "s2m_".md5("s2member_transient_ccap_tracking_codes_".$subscr_or_txn_id))))
{
delete_transient($transient); // Only display this ONE time. Delete transient immediately.
echo '
'."\n";
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
do_action("ws_plugin__s2member_during_display_ccap_tracking_codes", get_defined_vars());
unset($__refs, $__v);
if(is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site())
echo do_shortcode($code)."\n"; // No PHP here.
else // Otherwise, safe to allow PHP code.
echo do_shortcode(c_ws_plugin__s2member_utilities::evl($code));
}
}
do_action("ws_plugin__s2member_after_display_ccap_tracking_codes", get_defined_vars());
}
/**
* Displays Specific Post/Page Tracking Codes.
*
* These are stored inside s2Member's Transient Queue, by BOTH the IPN & Return-Data processors.
*
* Specific Post/Page Tracking Codes are only displayed/processed one time.
* s2Member will display Tracking Codes in the footer of your theme.
*
* @package s2Member\Tracking
* @since 3.5
*
* @attaches-to ``add_action("login_footer");``
* @attaches-to ``add_action("wp_footer");``
* @also-called-by {@link s2Member\Tracking\c_ws_plugin__s2member_tracking_codes::generate_all_tracking_codes()}
*
* @return null After displaying possible Tracking Code(s).
*/
public static function display_sp_tracking_codes()
{
do_action("ws_plugin__s2member_before_display_sp_tracking_codes", get_defined_vars());
if(!empty($_COOKIE["s2member_sp_tracking"]) && ($txn_id = c_ws_plugin__s2member_utils_encryption::decrypt($_COOKIE["s2member_sp_tracking"])))
{
if(($code = get_transient($transient = "s2m_".md5("s2member_transient_sp_tracking_codes_".$txn_id))))
{
delete_transient($transient); // Only display this ONE time. Delete transient immediately.
echo '
'."\n";
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
do_action("ws_plugin__s2member_during_display_sp_tracking_codes", get_defined_vars());
unset($__refs, $__v);
if(is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site())
echo $code."\n"; // No PHP here.
else // Otherwise, it's safe to allow PHP code.
eval("?>".$code);
}
}
do_action("ws_plugin__s2member_after_display_sp_tracking_codes", get_defined_vars());
}
/**
* Generates/returns all Tracking Codes integrated with s2Member.
*
* This method may be used in areas where s2Member needs to build tracking codes in a more dynamic way.
*
* @package s2Member\Tracking
* @since 110720
*
* @return string HTML output for all Tracking Codes integrated with s2Member.
*/
public static function generate_all_tracking_codes()
{
ob_start(); // Begin output buffering so we can "return".
c_ws_plugin__s2member_tracking_codes::display_signup_tracking_codes();
c_ws_plugin__s2member_tracking_codes::display_modification_tracking_codes();
c_ws_plugin__s2member_tracking_codes::display_ccap_tracking_codes();
c_ws_plugin__s2member_tracking_codes::display_sp_tracking_codes();
return apply_filters("ws_plugin__s2member_generate_all_tracking_codes", ob_get_clean(), get_defined_vars());
}
}
}