client = new Client( '00a386f2-5ae3-4526-87d3-bf861b1d6d1b', __( 'Absolute Addons', 'absp-service' ), ABSOLUTE_ADDONS_FILE ); /** * Allow local request, * so server behind reverse proxy can work too. */ $this->client->allow_local_request(); $this->init_hooks(); // Initialize All Services. $this->insights = $this->client->insights(); $this->promotion = $this->client->promotions(); // Initialize. $this->insights->init(); $this->promotion->init(); } /** * Initialize Insights * * @return void */ private function init_hooks() { //$this->insights->add_extra( [] ); $slug = $this->client->getSlug(); add_action( 'admin_init', [ $this, 'admin_init' ] ); add_filter( $slug . '_terms_url', [ $this, 'terms_url' ] ); add_filter( $slug . '_privacy_policy_url', [ $this, 'privacy_policy_url' ] ); add_filter( $slug . '_what_tracked', [ $this, 'data_we_collect' ] ); add_filter( "absp_service_api_{$slug}_Support_Ticket_Recipient_Email", [ $this, 'support_email' ] ); add_filter( "absp_service_api_{$slug}_Support_Ticket_Email_Template", [ $this, 'supportTicketTemplate' ], 10 ); add_filter( "absp_service_api_{$slug}_Support_Request_Ajax_Success_Response", [ $this, 'supportResponse' ], 10 ); add_filter( "absp_service_api_{$slug}_Support_Request_Ajax_Error_Response", [ $this, 'supportErrorResponse' ], 10 ); add_filter( "absp_service_api_{$slug}_Support_Page_URL", [ $this, 'support_url' ] ); } public function admin_init() { if ( ! absp_has_pro() ) { $this->insights->add_action_links( 'get_pro', [ 'href' => 'https://absoluteplugins.com/wordpress-plugins/absolute-addons/pricing/?utm_source=plugin-installer&utm_medium=action-links&utm_campaign=get-pro&utm_content=get-pro', 'class' => 'absolute-addons-get-pro', 'target' => '_blank', 'rel' => 'noopener', 'label' => esc_html__( 'Get Pro', 'absp-service' ), ] ); } } protected function enable_debug_mode() { add_filter( 'absp_service_api_is_debugging', '__return_true' ); add_filter( 'https_local_ssl_verify', '__return_false' ); add_filter( 'http_request_reject_unsafe_urls', '__return_false' ); add_filter( 'absp_service_api_is_local', '__return_false' ); add_filter( 'http_request_reject_unsafe_urls', '__return_false' ); } /** * Check license status * * @return bool */ public function is_active() { return $this->license->is_valid(); } public function get_license_data() { return $this->license->get_license(); } /** * Set Data Collection description for the tracker * * @param $data * * @return array */ public function data_we_collect( $data ) { $data[999] = sprintf( esc_html__( 'And %s usage data.', 'absp-service' ), '' . esc_html__( 'Absolute Addon', 'absp-service' ) . '' ); return $data; } public function get_data_we_collect() { return $this->insights->get_data_we_collect(); } /** * Update Tracker OptIn * * @param bool $override optional. ignore last send datetime settings if true. * @return void * @see Insights::send_tracking_data() */ public function trackerOptIn( $override = false ) { $this->insights->optIn( $override ); } /** * Update Tracker OptOut * * @return void */ public function trackerOptOut() { $this->insights->optOut(); } /** * Check if tracking is enable * * @return bool */ public function is_tracking_allowed() { return $this->insights->is_tracking_allowed(); } public function opt_in_url() { return $this->insights->get_opt_in_url(); } public function opt_out_url() { return $this->insights->get_opt_out_url(); } public function support_email() { return 'support@absoluteplugins.com'; } public function support_url() { return 'https://go.absoluteplugins.com/to/absolute-addons-support/'; } public function terms_url() { return 'https://go.absoluteplugins.com/to/absolute-addons-terms/'; } public function privacy_policy_url() { return 'https://go.absoluteplugins.com/to/absolute-addons-privacy/'; } /** * Generate Support Ticket Email Template * * @return string */ public function supportTicketTemplate() { // dynamic variable format __INPUT_NAME__ $template = sprintf( '

Website : __WEBSITE__
Plugin : %s (v.%s)

', $this->client->getName(), $this->client->getProjectVersion() ); $template .= '

'; $template .= '

__SUBJECT__

'; $template .= '
__MESSAGE__
'; $template .= '

'; $template .= sprintf( '

%s

', 'Message Processed With AbsolutePlugin Service Library (v.' . $this->client->getClientVersion() . ')' ); return $template; } /** * Generate Support Ticket Ajax Response * * @return string */ public function supportResponse() { $response = sprintf( '

%s

', esc_html__( 'Thank you -- Support Ticket Submitted.', 'absp-service' ) ); $ticketSubmitted = esc_html__( 'Your ticket has been successfully submitted.', 'absp-service' ); $twenty4Hours = sprintf( '%s', esc_html__( '24 hours', 'absp-service' ) ); $notification = sprintf( esc_html__( 'You will receive an email notification from "support@absoluteplugins.com" in your inbox within %s.', 'absp-service' ), $twenty4Hours ); $followUp = esc_html__( 'Please Follow the email and AbsolutePlugins Support Team will get back with you shortly.', 'absp-service' ); $response .= sprintf( '

%s %s %s

', $ticketSubmitted, $notification, $followUp ); $docLink = sprintf( ' %s', esc_html__( 'Documentation', 'absp-service' ) ); $vidLink = sprintf( ' %s', esc_html__( 'Video Tutorials', 'absp-service' ) ); $response .= sprintf( '

%s %s

', $docLink, $vidLink ); $response .= '


'; $toc = sprintf( '%s', esc_url( $this->terms_url() ), esc_html__( 'Terms & Conditions', 'absp-service' ) ); $pp = sprintf( '%s', esc_url( $this->privacy_policy_url() ), esc_html__( 'Privacy Policy', 'absp-service' ) ); $policy = sprintf( /* translators: 1. Terms page link, 2. Privacy policy page link */ esc_html__( 'Please read our %1$s and %2$s', 'absp-service' ), $toc, $pp ); $response .= sprintf( '

%s

', $policy ); return $response; } /** * Set Error Response Message For Support Ticket Request * * @return string */ public function supportErrorResponse() { return sprintf( '

%s

%s



%s

', esc_html__( 'Something Went Wrong. Please Try The Support Ticket Form On Our Website.', 'absp-service' ), sprintf( '%s', esc_html__( 'Get Support', 'absp-service' ) ), esc_html__( 'Support Ticket form will open in new tab in 5 seconds.', 'absp-service' ) ); } /** * Cloning is forbidden. */ public function __clone() { _doing_it_wrong( __FUNCTION__, __( 'Cloning is forbidden.', 'absp-service' ), '1.0.2' ); } } Absolute_Addons_Services::get_instance(); // End of file class-absolute-addons-services.php.