plugin updates

This commit is contained in:
Tony Volpe
2024-06-17 15:33:26 -04:00
parent 3751a5a1a6
commit e4e274a9a7
2674 changed files with 0 additions and 507851 deletions

View File

@@ -1,173 +0,0 @@
<?php
namespace Leadin\data;
use Leadin\data\Portal_Options;
/**
* Class containing all the custom filters defined to be used instead of constants.
*/
class Filters {
/**
* Return the current hublet.
*/
public static function apply_hublet_filters() {
return apply_filters( LEADIN_PREFIX . '_hublet', Portal_Options::get_hublet() );
}
/**
* Return the prefix for UI urls.
*/
public static function apply_app_prefix_filters() {
return self::resolve_hublet( apply_filters( LEADIN_PREFIX . '_app_prefix', 'app' ) );
}
/**
* Return the prefix for UI urls.
*/
public static function apply_js_prefix_filters() {
return self::resolve_hublet( apply_filters( LEADIN_PREFIX . '_js_prefix', 'js' ) );
}
/**
* Return the prefix for API urls.
*/
public static function apply_api_prefix_filters() {
return self::resolve_hublet( apply_filters( LEADIN_PREFIX . '_api_prefix', 'api' ) );
}
/**
* Return the Hubspot domain.
*/
public static function apply_hubspot_domain_filters() {
return apply_filters( LEADIN_PREFIX . '_hubspot_domain', 'hubspot.com' );
}
/**
* Apply leadin_base_url filter.
*
* @param boolean $cross_hublet if false it's use non-hublet specific prefix. For example, "app" instead of "app-eu1".
*/
public static function apply_base_url_filters( $cross_hublet = true ) {
$prefix = $cross_hublet ? self::apply_app_prefix_filters() : apply_filters( LEADIN_PREFIX . '_app_prefix', 'app' );
$domain = self::apply_hubspot_domain_filters();
return apply_filters( LEADIN_PREFIX . '_base_url', "https://$prefix.$domain" );
}
/**
* Apply leadin_js_base_url filter.
*/
public static function apply_js_base_url_filters() {
$prefix = self::apply_js_prefix_filters();
$domain = self::apply_hubspot_domain_filters();
return apply_filters( LEADIN_PREFIX . '_js_base_url', "https://$prefix.$domain" );
}
/**
* Apply filter to get the base url for the HubSpot api.
*
* @param boolean $cross_hublet if true it's use non-hublet specific prefix. For example, "api" instead of "api-eu1".
*/
public static function apply_base_api_url_filters( $cross_hublet = false ) {
$prefix = $cross_hublet ? 'api' : self::apply_api_prefix_filters();
$domain = self::apply_hubspot_domain_filters();
return apply_filters( LEADIN_PREFIX . '_base_api_url', "https://$prefix.$domain" );
}
/**
* Apply leadin_signup_base_url filter.
*/
public static function apply_signup_base_url_filters() {
$domain = self::apply_hubspot_domain_filters();
return apply_filters( LEADIN_PREFIX . '_signup_base_url', "https://app.$domain" );
}
/**
* Apply leadin_forms_script_url filter.
*/
public static function apply_forms_script_url_filters() {
$hublet_domain = self::resolve_hublet( 'js' );
return apply_filters( LEADIN_PREFIX . '_forms_script_url', "https://$hublet_domain.hsforms.net/forms/embed/v2.js" );
}
/**
* Apply leadin_meetings_script_url filter.
*/
public static function apply_meetings_script_url_filters() {
return apply_filters( LEADIN_PREFIX . '_meetings_script_url', 'https://static.hsappstatic.net/MeetingsEmbed/ex/MeetingsEmbedCode.js' );
}
/**
* Apply leadin_script_loader_domain filter.
*/
public static function apply_script_loader_domain_filters() {
$hublet_domain = self::resolve_hublet( 'js' );
return apply_filters( LEADIN_PREFIX . '_script_loader_domain', "$hublet_domain.hs-scripts.com" );
}
/**
* Apply leadin_forms_payload filter.
*/
public static function apply_forms_payload_filters() {
return apply_filters( LEADIN_PREFIX . '_forms_payload', '' );
}
/**
* Apply leadin_forms_payload_url filter.
*/
public static function apply_page_content_type_filters() {
if ( is_single() ) {
$content_type = 'blog-post';
} elseif ( is_archive() || is_search() ) {
$content_type = 'listing-page';
} else {
$content_type = 'standard-page';
}
return apply_filters( LEADIN_PREFIX . '_page_content_type', $content_type );
}
/**
* Apply leadin_view_plugin_menu_capability filter.
*/
public static function apply_view_plugin_menu_capability_filters() {
return apply_filters( LEADIN_PREFIX . '_view_plugin_menu_capability', 'edit_posts' );
}
/**
* Apply leadin_connect_plugin_capability filter.
*/
public static function apply_connect_plugin_capability_filters() {
return apply_filters( LEADIN_PREFIX . '_connect_plugin_capability', 'manage_options' );
}
/**
* Apply leadin_impact_code filter.
*/
public static function apply_impact_code_filters() {
return apply_filters( LEADIN_PREFIX . '_impact_code', null );
}
/**
* Apply leadin_query_params filter.
*/
public static function apply_query_params_filters() {
return apply_filters( LEADIN_PREFIX . '_query_params', '' );
}
/**
* Add hublet to the prefix.
*
* @param String $prefix Prefix to add the hublet to.
*/
private static function resolve_hublet( $prefix ) {
$hublet = self::apply_hublet_filters();
$result = $prefix;
if ( ! empty( $hublet ) && 'na1' !== $hublet ) {
$result = "$prefix-$hublet";
}
return $result;
}
}

View File

@@ -1,276 +0,0 @@
<?php
namespace Leadin\data;
/**
* Class that wraps the functions to access options related to the HubSpot account.
*/
class Portal_Options {
const PORTAL_ID = LEADIN_PREFIX . '_portalId';
const PORTAL_DOMAIN = LEADIN_PREFIX . '_portal_domain';
const ACCOUNT_NAME = LEADIN_PREFIX . '_account_name';
const HUBLET = LEADIN_PREFIX . '_hublet';
const DISABLE_INTERNAL_TRACKING = LEADIN_PREFIX . '_disable_internal_tracking';
const ACTIVATION_TIME = LEADIN_PREFIX . '_activation_time';
const REFRESH_TOKEN = LEADIN_PREFIX . '_refresh_token';
const BUSINESS_UNIT_ID = LEADIN_PREFIX . '_business_unit_id';
const LAST_AUTHORIZE_TIME = LEADIN_PREFIX . '_last_authorize_time';
const LAST_DEAUTHORIZE_TIME = LEADIN_PREFIX . '_last_deauthorize_time';
const LAST_DISCONNECT_TIME = LEADIN_PREFIX . '_last_disconnect_time';
const REFRESH_TOKEN_ERROR = LEADIN_PREFIX . '_refresh_token_error';
/**
* Return portal id.
*/
public static function get_portal_id() {
return get_option( self::PORTAL_ID );
}
/**
* Set portal id.
*
* @param Number $portal_id HubSpot portal id.
*/
public static function set_portal_id( $portal_id ) {
return update_option( self::PORTAL_ID, $portal_id );
}
/**
* Delete portal id.
*/
public static function delete_portal_id() {
return delete_option( self::PORTAL_ID );
}
/**
* Return portal's domain.
*/
public static function get_portal_domain() {
return get_option( self::PORTAL_DOMAIN );
}
/**
* Set portal domain.
*
* @param string $domain domain.
*/
public static function set_portal_domain( $domain ) {
return update_option( self::PORTAL_DOMAIN, $domain );
}
/**
* Delete portal domain.
*/
public static function delete_portal_domain() {
return delete_option( self::PORTAL_DOMAIN );
}
/**
* Return account name.
*/
public static function get_account_name() {
return get_option( self::ACCOUNT_NAME );
}
/**
* Set account name.
*
* @param string $name name.
*/
public static function set_account_name( $name ) {
return update_option( self::ACCOUNT_NAME, $name );
}
/**
* Delete account name.
*/
public static function delete_account_name() {
return delete_option( self::ACCOUNT_NAME );
}
/**
* Return option containing hublet info.
*/
public static function get_hublet() {
return get_option( self::HUBLET );
}
/**
* Return option containing hublet info.
*
* @param string $hublet hublet.
*/
public static function set_hublet( $hublet ) {
return update_option( self::HUBLET, $hublet );
}
/**
* Delete hublet
*/
public static function delete_hublet() {
return delete_option( self::HUBLET );
}
/**
* Return option flag for disabling internal users to appear at HS analytics.
*/
public static function get_disable_internal_tracking() {
return get_option( self::DISABLE_INTERNAL_TRACKING );
}
/**
* Set option containing flag for disabling internal users to appear at HS analytics.
*
* @param string $internal_tracking hublet.
*/
public static function set_disable_internal_tracking( $internal_tracking = '0' ) {
return update_option( self::DISABLE_INTERNAL_TRACKING, $internal_tracking );
}
/**
* Delete option flag for disabling internal tracking
*/
public static function delete_disable_internal_tracking() {
return delete_option( self::DISABLE_INTERNAL_TRACKING );
}
/**
* Return activation time.
*/
public static function get_activation_time() {
return get_option( self::ACTIVATION_TIME );
}
/**
* Set activation time.
*/
public static function set_activation_time() {
return update_option( self::ACTIVATION_TIME, time() );
}
/**
* Delete portal id.
*/
public static function delete_activation_time() {
return delete_option( self::ACTIVATION_TIME );
}
/**
* Return refresh access token.
*/
public static function get_refresh_token() {
return get_option( self::REFRESH_TOKEN );
}
/**
* Set refresh access token.
*
* @param string $refresh_token token.
*/
public static function set_refresh_token( $refresh_token ) {
return update_option( self::REFRESH_TOKEN, $refresh_token );
}
/**
* Delete refresh access token.
*/
public static function delete_refresh_token() {
return delete_option( self::REFRESH_TOKEN );
}
/**
* Return device id hash.
*/
public static function get_device_id() {
$site_url = get_home_url();
$user_id = get_current_user_id();
return hash( 'sha256', "$site_url:$user_id" );
}
/**
* Return business_unit_id for connected portal.
*/
public static function get_business_unit_id() {
return get_option( self::BUSINESS_UNIT_ID );
}
/**
* Set business_unit_id for the connected portal.
*
* @param number $business_unit_id businessUnitId.
*/
public static function set_business_unit_id( $business_unit_id ) {
return update_option( self::BUSINESS_UNIT_ID, $business_unit_id );
}
/**
* Delete business_unit_id.
*/
public static function delete_business_unit_id() {
return delete_option( self::BUSINESS_UNIT_ID );
}
/**
* Set when last authorized.
*/
public static function set_last_authorize_time() {
return update_option( self::LAST_AUTHORIZE_TIME, time() );
}
/**
* Set when last deauthorized.
*/
public static function set_last_deauthorize_time() {
return update_option( self::LAST_DEAUTHORIZE_TIME, time() );
}
/**
* Set when last disconnect.
*/
public static function set_last_disconnect_time() {
return update_option( self::LAST_DISCONNECT_TIME, time() );
}
/**
* Set if the refresh token failed to be retrieved.
*
* @param string $error the error message.
*/
public static function set_refresh_token_error( $error = 'unknown' ) {
return update_option( self::REFRESH_TOKEN_ERROR, $error );
}
/**
* Get the last time authorization was performed.
*
* @return mixed The last authorization time, or false if not set.
*/
public static function get_last_authorize_time() {
return get_option( self::LAST_AUTHORIZE_TIME, false );
}
/**
* Get the last time deauthorization was performed.
*
* @return mixed The last deauthorization time, or false if not set.
*/
public static function get_last_deauthorize_time() {
return get_option( self::LAST_DEAUTHORIZE_TIME, false );
}
/**
* Get the last time a disconnect was performed.
*
* @return mixed The last disconnect time, or false if not set.
*/
public static function get_last_disconnect_time() {
return get_option( self::LAST_DISCONNECT_TIME, false );
}
/**
* Get the last error message for when retrieving the refresh token failed.
*
* @return string The error message, or 'unknown' if not set.
*/
public static function get_refresh_token_error() {
return get_option( self::REFRESH_TOKEN_ERROR, 'unknown' );
}
}

View File

@@ -1,98 +0,0 @@
<?php
namespace Leadin\data;
use Leadin\data\User;
/**
* Handles metadata for users in the admin area.
*/
class User_Metadata {
const SKIP_REVIEW = 'leadin_skip_review';
const REVIEW_BANNER_LAST_CALL = 'leadin_review_banner_last_call';
const HAS_MIN_CONTACTS = 'leadin_has_min_contacts';
const TRACK_CONSENT = 'leadin_track_consent';
const FIRST_NAME = 'first_name';
const NICKNAME = 'nickname';
/**
* Get FIRST_NAME meta data for a user.
*/
public static function get_first_name() {
return User::get_metadata( self::FIRST_NAME );
}
/**
* Get NICKNAME meta data for a user.
*/
public static function get_nickname() {
return User::get_metadata( self::NICKNAME );
}
/**
* Set SKIP_REVIEW meta data for a user.
*
* @param int $skip_epoch Epoch time of when the review was skipped.
*/
public static function set_skip_review( $skip_epoch ) {
return User::set_metadata( self::SKIP_REVIEW, $skip_epoch );
}
/**
* Get SKIP_REVIEW meta data for a user.
*/
public static function get_skip_review() {
return User::get_metadata( self::SKIP_REVIEW );
}
/**
* Set REVIEW_BANNER_LAST_CALL meta data for a user.
*
* @param int $skip_epoch Epoch time of when the review was skipped.
*/
public static function set_review_banner_last_call( $skip_epoch ) {
return User::set_metadata( self::REVIEW_BANNER_LAST_CALL, $skip_epoch );
}
/**
* Get REVIEW_BANNER_LAST_CALL meta data for a user.
*/
public static function get_review_banner_last_call() {
return User::get_metadata( self::REVIEW_BANNER_LAST_CALL );
}
/**
* Set HAS_MIN_CONTACTS meta data for a user.
*
* @param bool $value Boolean to see if contacts already been fetched and fulfill threshold.
*/
public static function set_has_min_contacts( $value ) {
return User::set_metadata( self::HAS_MIN_CONTACTS, $value );
}
/**
* Get HAS_MIN_CONTACTS meta data for a user.
*/
public static function get_has_min_contacts() {
return User::get_metadata( self::HAS_MIN_CONTACTS );
}
/**
* Set TRACK_CONSENT meta data for a user.
*
* @param bool $consent User consent to anonymous tracking.
*/
public static function set_track_consent( $consent ) {
return User::set_metadata( self::TRACK_CONSENT, $consent );
}
/**
* Get TRACK_CONSENT meta data for a user.
*/
public static function get_track_consent() {
return User::get_metadata( self::TRACK_CONSENT );
}
}

View File

@@ -1,59 +0,0 @@
<?php
namespace Leadin\data;
/**
* Static function that wraps the WordPress current user functions.
*/
class User {
/**
* Return the first role of the current user. If unauthenticated, return 'visitor'.
*/
public static function get_role() {
global $current_user;
if ( is_user_logged_in() ) {
$user_roles = $current_user->roles;
$user_role = array_shift( $user_roles );
} else {
$user_role = 'visitor';
}
return $user_role;
}
/**
* Return true if the current user has the `manage_options` capability.
*/
public static function is_admin() {
return current_user_can( 'manage_options' );
}
/**
* Set metadata for current user
*
* @param String $key metadata key to store data in.
* @param String $data metadata value to store.
*/
public static function set_metadata( $key, $data ) {
update_user_meta( get_current_user_id(), $key, $data );
}
/**
* Fetch metadata stored for this user by key
*
* @param String $key metadata to retrieve by the key.
*/
public static function get_metadata( $key ) {
return get_user_meta( get_current_user_id(), $key, true );
}
/**
* Delete metadata associated with this user
*
* @param String $key key to delete metadata for.
*/
public static function delete_metadata( $key ) {
delete_user_meta( get_current_user_id(), $key );
}
}