plugin updates
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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' );
|
||||
}
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user