Current Path: > home > transcarter > public_html > wp-content > > plugins > leadin > public > > admin
Operation : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Software : Apache Server IP : 198.54.126.42 | Your IP: 216.73.216.135 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
modules | Directory | - | - | |
widgets | Directory | - | - | |
class-adminconstants.php | File | 7415 bytes | July 17 2025 21:06:25. | |
class-connection.php | File | 5403 bytes | July 17 2025 21:06:25. | |
class-contentembedinstaller.php | File | 5054 bytes | July 17 2025 21:06:25. | |
class-deactivationform.php | File | 3593 bytes | July 17 2025 21:06:25. | |
class-gutenberg.php | File | 1243 bytes | July 17 2025 21:06:25. | |
class-impact.php | File | 1045 bytes | July 17 2025 21:06:25. | |
class-leadinadmin.php | File | 10491 bytes | July 17 2025 21:06:25. | |
class-links.php | File | 6427 bytes | July 17 2025 21:06:25. | |
class-menuconstants.php | File | 492 bytes | July 17 2025 21:06:25. | |
class-noticemanager.php | File | 2246 bytes | July 17 2025 21:06:25. | |
class-pluginactionsmanager.php | File | 1832 bytes | July 17 2025 21:06:25. | |
class-reviewbanner.php | File | 3004 bytes | July 17 2025 21:06:25. | |
class-reviewcontroller.php | File | 2234 bytes | July 17 2025 21:06:25. | |
class-routing.php | File | 2636 bytes | July 17 2025 21:06:25. |
<?php namespace Leadin\admin; use Leadin\data\Portal_Options; use Leadin\data\User; use Leadin\utils\QueryParameters; use Leadin\auth\OAuth; /** * Handles portal connection to the plugin. */ class Connection { const CONNECT_KEYS = array( 'refresh_token', 'expires_in', 'portal_id', 'portal_domain', 'portal_name', 'hublet', ); const CONNECT_NONCE_ARG = 'leadin_connect'; const DISCONNECT_NONCE_ARG = 'leadin_disconnect'; /** * Returns true if a portal has been connected to the plugin */ public static function is_connected() { return ! empty( Portal_Options::get_portal_id() ) && ! empty( OAuth::get_refresh_token() ); } /** * Returns true if the current request is for the plugin to connect to a portal */ public static function is_connection_requested() { $maybe_leadin_connect = QueryParameters::get_param( self::CONNECT_NONCE_ARG, 'hubspot-nonce', self::CONNECT_NONCE_ARG ); $maybe_refresh_token = QueryParameters::get_param( 'refresh_token', 'hubspot-nonce', self::CONNECT_NONCE_ARG ); return isset( $maybe_leadin_connect ) && isset( $maybe_refresh_token ); } /** * Returns true if the current request is for the plugin to connect to a portal */ public static function is_new_portal() { $maybe_is_new_portal = QueryParameters::get_param( 'is_new_portal', 'hubspot-nonce', self::CONNECT_NONCE_ARG ); return isset( $maybe_is_new_portal ); } /** * Returns true if the current request is to disconnect the plugin from the portal */ public static function is_disconnection_requested() { $maybe_leadin_disconnect = QueryParameters::get_param( self::DISCONNECT_NONCE_ARG, 'hubspot-nonce', self::DISCONNECT_NONCE_ARG ); return isset( $maybe_leadin_disconnect ); } /** * Retrieves user ID and create new metadata * * @param Array $user_meta array of pairs metadata - value. */ private static function add_metadata( $user_meta ) { $wp_user = wp_get_current_user(); $wp_user_id = $wp_user->ID; foreach ( $user_meta as $key => $value ) { add_user_meta( $wp_user_id, $key, $value ); } } /** * Retrieves user ID and deletes a piece of the users meta data. * * @param String $meta_key is the key of the data you want to delete. */ private static function delete_metadata( $meta_key ) { $wp_user = wp_get_current_user(); $wp_user_id = $wp_user->ID; delete_user_meta( $wp_user_id, $meta_key ); } /** * Connect portal id, domain, name to WordPress options and HubSpot email to user meta data. * * @param Number $portal_id HubSpot account id. * @param String $portal_name HubSpot account name. * @param String $portal_domain HubSpot account domain. * @param String $hs_user_email HubSpot user email. * @param String $hublet HubSpot account's hublet. */ public static function connect( $portal_id, $portal_name, $portal_domain, $hs_user_email, $hublet ) { self::disconnect(); self::store_portal_info( $portal_id, $portal_name, $portal_domain, $hublet ); self::add_metadata( array( 'leadin_email' => $hs_user_email ) ); } /** * Connect the plugin with OAuthorization. Storing OAuth tokens and metadata for the connected portal. */ public static function oauth_connect() { $connect_params = QueryParameters::get_parameters( self::CONNECT_KEYS, 'hubspot-nonce', self::CONNECT_NONCE_ARG ); self::disconnect(); self::store_portal_info( $connect_params['portal_id'], $connect_params['portal_name'], $connect_params['portal_domain'], $connect_params['hublet'] ); OAuth::authorize( $connect_params['refresh_token'] ); } /** * Removes portal id and domain from the WordPress options. */ public static function disconnect() { Portal_Options::set_last_disconnect_time(); self::delete_portal_info(); $users = get_users( array( 'role__in' => array( 'administrator', 'editor' ) ), array( 'fields' => array( 'ID' ) ) ); foreach ( $users as $user ) { delete_user_meta( $user->ID, 'leadin_email' ); delete_user_meta( $user->ID, 'leadin_skip_review' ); delete_user_meta( $user->ID, 'leadin_review_banner_last_call' ); delete_user_meta( $user->ID, 'leadin_has_min_contacts' ); delete_user_meta( $user->ID, 'leadin_track_consent' ); } OAuth::deauthorize(); } /** * Store the portal metadata for connecting the plugin in the options table * * @param String $portal_id ID for connecting portal. * @param String $portal_name Name of the connecting portal. * @param String $portal_domain Domain for the connecting portal. * @param String $hublet Hublet for the connecting portal. */ public static function store_portal_info( $portal_id, $portal_name, $portal_domain, $hublet ) { Portal_Options::set_portal_id( $portal_id ); Portal_Options::set_account_name( $portal_name ); Portal_Options::set_portal_domain( $portal_domain ); Portal_Options::set_hublet( $hublet ); Portal_Options::set_disable_internal_tracking(); } /** * Delete stored portal metadata for disconnecting the plugin from the options table */ private static function delete_portal_info() { Portal_Options::delete_portal_id(); Portal_Options::delete_account_name(); Portal_Options::delete_portal_domain(); Portal_Options::delete_hublet(); Portal_Options::delete_disable_internal_tracking(); Portal_Options::delete_business_unit_id(); Portal_Options::delete_proxy_mappings_enabled(); } }
SILENT KILLER Tool