Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/leadin/public/admin
File: class-adminconstants.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Leadin\admin;
[2] Fix | Delete
[3] Fix | Delete
use Leadin\data\Filters;
[4] Fix | Delete
use Leadin\admin\Links;
[5] Fix | Delete
use Leadin\admin\Routing;
[6] Fix | Delete
use Leadin\auth\OAuth;
[7] Fix | Delete
use Leadin\utils\Versions;
[8] Fix | Delete
use Leadin\data\User;
[9] Fix | Delete
use Leadin\data\Portal_Options;
[10] Fix | Delete
use Leadin\admin\Connection;
[11] Fix | Delete
use Leadin\admin\Impact;
[12] Fix | Delete
use Leadin\data\User_Metadata;
[13] Fix | Delete
use Leadin\auth\OAuthCryptoError;
[14] Fix | Delete
[15] Fix | Delete
/**
[16] Fix | Delete
* Class containing all the constants used for admin script localization.
[17] Fix | Delete
*/
[18] Fix | Delete
class AdminConstants {
[19] Fix | Delete
[20] Fix | Delete
[21] Fix | Delete
[22] Fix | Delete
/**
[23] Fix | Delete
* Return utm_campaign to add to the signup link.
[24] Fix | Delete
*/
[25] Fix | Delete
private static function get_utm_campaign() {
[26] Fix | Delete
$wpe_template = get_option( 'wpe_template' );
[27] Fix | Delete
if ( 'hubspot' === $wpe_template ) {
[28] Fix | Delete
return 'wp-engine-site-template';
[29] Fix | Delete
}
[30] Fix | Delete
}
[31] Fix | Delete
[32] Fix | Delete
/**
[33] Fix | Delete
* Return an array with the utm parameters for signup
[34] Fix | Delete
*/
[35] Fix | Delete
private static function get_utm_query_params_array() {
[36] Fix | Delete
$utm_params = array(
[37] Fix | Delete
'utm_source' => 'wordpress-plugin',
[38] Fix | Delete
'utm_medium' => 'marketplaces',
[39] Fix | Delete
);
[40] Fix | Delete
[41] Fix | Delete
$utm_campaign = self::get_utm_campaign();
[42] Fix | Delete
if ( ! empty( $utm_campaign ) ) {
[43] Fix | Delete
$utm_params['utm_campaign'] = $utm_campaign;
[44] Fix | Delete
}
[45] Fix | Delete
return $utm_params;
[46] Fix | Delete
}
[47] Fix | Delete
[48] Fix | Delete
/**
[49] Fix | Delete
* Return a nonce used on the connection class
[50] Fix | Delete
*/
[51] Fix | Delete
private static function get_connection_nonce() {
[52] Fix | Delete
return wp_create_nonce( 'hubspot-nonce' );
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
/**
[56] Fix | Delete
* Return an array with the user's pre-fill info for signup
[57] Fix | Delete
*/
[58] Fix | Delete
private static function get_signup_prefill_params_array() {
[59] Fix | Delete
$wp_user = wp_get_current_user();
[60] Fix | Delete
$user_info = array(
[61] Fix | Delete
'firstName' => $wp_user->user_firstname,
[62] Fix | Delete
'lastName' => $wp_user->user_lastname,
[63] Fix | Delete
'email' => $wp_user->user_email,
[64] Fix | Delete
'company' => get_bloginfo( 'name' ),
[65] Fix | Delete
);
[66] Fix | Delete
[67] Fix | Delete
return $user_info;
[68] Fix | Delete
}
[69] Fix | Delete
[70] Fix | Delete
/**
[71] Fix | Delete
* Return an array of properties to be included in the signup search string
[72] Fix | Delete
*/
[73] Fix | Delete
public static function get_signup_query_params_array() {
[74] Fix | Delete
$signup_params = array();
[75] Fix | Delete
$signup_params['leadinPluginVersion'] = constant( 'LEADIN_PLUGIN_VERSION' );
[76] Fix | Delete
$signup_params['trackConsent'] = User_Metadata::get_track_consent();
[77] Fix | Delete
$user_prefill_params = self::get_signup_prefill_params_array();
[78] Fix | Delete
$signup_params = array_merge( $signup_params, $user_prefill_params );
[79] Fix | Delete
return $signup_params;
[80] Fix | Delete
}
[81] Fix | Delete
[82] Fix | Delete
/**
[83] Fix | Delete
* Return query params array for the iframe.
[84] Fix | Delete
*/
[85] Fix | Delete
public static function get_hubspot_query_params_array() {
[86] Fix | Delete
$wp_user = wp_get_current_user();
[87] Fix | Delete
$hubspot_config = array(
[88] Fix | Delete
'l' => get_locale(),
[89] Fix | Delete
'php' => Versions::get_php_version(),
[90] Fix | Delete
'v' => LEADIN_PLUGIN_VERSION,
[91] Fix | Delete
'wp' => Versions::get_wp_version(),
[92] Fix | Delete
'theme' => get_option( 'stylesheet' ),
[93] Fix | Delete
'adminUrl' => admin_url(),
[94] Fix | Delete
'websiteName' => get_bloginfo( 'name' ),
[95] Fix | Delete
'domain' => parse_url( get_site_url(), PHP_URL_HOST ),
[96] Fix | Delete
'wp_user' => $wp_user->first_name ? $wp_user->first_name : $wp_user->user_nicename,
[97] Fix | Delete
'nonce' => self::get_connection_nonce(),
[98] Fix | Delete
'accountName' => Portal_Options::get_account_name(),
[99] Fix | Delete
'hsdio' => Portal_Options::get_device_id(),
[100] Fix | Delete
'portalDomain' => Portal_Options::get_portal_domain(),
[101] Fix | Delete
);
[102] Fix | Delete
[103] Fix | Delete
$utm_params = self::get_utm_query_params_array();
[104] Fix | Delete
$hubspot_config = array_merge( $hubspot_config, $utm_params );
[105] Fix | Delete
[106] Fix | Delete
if ( User::is_admin() ) {
[107] Fix | Delete
$hubspot_config['admin'] = '1';
[108] Fix | Delete
}
[109] Fix | Delete
[110] Fix | Delete
if ( Routing::has_just_connected_with_oauth() ) {
[111] Fix | Delete
$hubspot_config['justConnected'] = true;
[112] Fix | Delete
}
[113] Fix | Delete
if ( Routing::is_new_portal_with_oauth() ) {
[114] Fix | Delete
$hubspot_config['isNewPortal'] = true;
[115] Fix | Delete
}
[116] Fix | Delete
[117] Fix | Delete
if ( ! Connection::is_connected() ) {
[118] Fix | Delete
$signup_params = self::get_signup_query_params_array();
[119] Fix | Delete
$hubspot_config = array_merge( $hubspot_config, $signup_params, Impact::get_params() );
[120] Fix | Delete
}
[121] Fix | Delete
[122] Fix | Delete
return $hubspot_config;
[123] Fix | Delete
}
[124] Fix | Delete
[125] Fix | Delete
/**
[126] Fix | Delete
* Returns information about Content embed plugin necessary for user guide to determine if/how to install & activate
[127] Fix | Delete
*/
[128] Fix | Delete
public static function get_content_embed_config() {
[129] Fix | Delete
$content_embed_config = array_merge(
[130] Fix | Delete
array(
[131] Fix | Delete
'userCanInstall' => current_user_can( 'install_plugins' ),
[132] Fix | Delete
'userCanActivate' => current_user_can( 'activate_plugins' ),
[133] Fix | Delete
'nonce' => wp_create_nonce( ContentEmbedInstaller::INSTALL_ARG ),
[134] Fix | Delete
),
[135] Fix | Delete
ContentEmbedInstaller::is_content_embed_active_installed()
[136] Fix | Delete
);
[137] Fix | Delete
[138] Fix | Delete
return $content_embed_config;
[139] Fix | Delete
}
[140] Fix | Delete
[141] Fix | Delete
/**
[142] Fix | Delete
* Returns a minimal version of leadinConfig, containing the data needed by the background iframe.
[143] Fix | Delete
*/
[144] Fix | Delete
public static function get_background_leadin_config() {
[145] Fix | Delete
$wp_user_id = get_current_user_id();
[146] Fix | Delete
$portal_id = Portal_Options::get_portal_id();
[147] Fix | Delete
$refresh_token = OAuth::get_refresh_token();
[148] Fix | Delete
$is_connected = ! empty( $portal_id ) && ! empty( $refresh_token );
[149] Fix | Delete
[150] Fix | Delete
$background_config = array(
[151] Fix | Delete
'adminUrl' => admin_url(),
[152] Fix | Delete
'activationTime' => Portal_Options::get_activation_time(),
[153] Fix | Delete
'deviceId' => Portal_Options::get_device_id(),
[154] Fix | Delete
'formsScript' => Filters::apply_forms_script_url_filters(),
[155] Fix | Delete
'formsScriptPayload' => Filters::apply_forms_payload_filters(),
[156] Fix | Delete
'meetingsScript' => Filters::apply_meetings_script_url_filters(),
[157] Fix | Delete
'hublet' => Filters::apply_hublet_filters(),
[158] Fix | Delete
'hubspotBaseUrl' => Filters::apply_base_url_filters( $is_connected ),
[159] Fix | Delete
'leadinPluginVersion' => constant( 'LEADIN_PLUGIN_VERSION' ),
[160] Fix | Delete
'locale' => get_locale(),
[161] Fix | Delete
'restUrl' => get_rest_url(),
[162] Fix | Delete
'restNonce' => wp_create_nonce( 'wp_rest' ),
[163] Fix | Delete
'redirectNonce' => wp_create_nonce( Routing::REDIRECT_NONCE ),
[164] Fix | Delete
'phpVersion' => Versions::get_php_version(),
[165] Fix | Delete
'pluginPath' => constant( 'LEADIN_PATH' ),
[166] Fix | Delete
'plugins' => get_plugins(),
[167] Fix | Delete
'portalId' => $portal_id,
[168] Fix | Delete
'accountName' => Portal_Options::get_account_name(),
[169] Fix | Delete
'portalDomain' => Portal_Options::get_portal_domain(),
[170] Fix | Delete
'portalEmail' => get_user_meta( $wp_user_id, 'leadin_email', true ),
[171] Fix | Delete
'reviewSkippedDate' => User_Metadata::get_skip_review(),
[172] Fix | Delete
'theme' => get_option( 'stylesheet' ),
[173] Fix | Delete
'wpVersion' => Versions::get_wp_version(),
[174] Fix | Delete
'leadinQueryParams' => self::get_hubspot_query_params_array(),
[175] Fix | Delete
'connectionStatus' => $is_connected ? 'Connected' : 'NotConnected',
[176] Fix | Delete
'contentEmbed' => self::get_content_embed_config(),
[177] Fix | Delete
'requiresContentEmbedScope' => is_plugin_active( 'hubspot-content-embed/content-embed.php' ) ? '1' : '0',
[178] Fix | Delete
'lastAuthorizeTime' => Portal_Options::get_last_authorize_time(),
[179] Fix | Delete
'lastDeauthorizeTime' => Portal_Options::get_last_deauthorize_time(),
[180] Fix | Delete
'lastDisconnectTime' => Portal_Options::get_last_disconnect_time(),
[181] Fix | Delete
);
[182] Fix | Delete
[183] Fix | Delete
if ( false === $refresh_token ) {
[184] Fix | Delete
$background_config['decryptError'] = OAuthCryptoError::DECRYPT_FAILED;
[185] Fix | Delete
} else {
[186] Fix | Delete
$background_config['refreshToken'] = $refresh_token;
[187] Fix | Delete
}
[188] Fix | Delete
[189] Fix | Delete
return $background_config;
[190] Fix | Delete
}
[191] Fix | Delete
[192] Fix | Delete
/**
[193] Fix | Delete
* Returns leadinConfig, containing all the data needed by the leadin javascript.
[194] Fix | Delete
*/
[195] Fix | Delete
public static function get_leadin_config() {
[196] Fix | Delete
$leadin_config = self::get_background_leadin_config();
[197] Fix | Delete
[198] Fix | Delete
if ( 'NotConnected' === $leadin_config['connectionStatus'] ) {
[199] Fix | Delete
if ( ! Impact::has_params() ) {
[200] Fix | Delete
$impact_link = Impact::get_affiliate_link();
[201] Fix | Delete
if ( ! empty( $impact_link ) ) {
[202] Fix | Delete
$leadin_config['impactLink'] = Impact::get_affiliate_link();
[203] Fix | Delete
}
[204] Fix | Delete
}
[205] Fix | Delete
}
[206] Fix | Delete
[207] Fix | Delete
return $leadin_config;
[208] Fix | Delete
}
[209] Fix | Delete
}
[210] Fix | Delete
[211] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function