X7ROOT File Manager
Current Path:
/home/oakwood/public_html/wp-content/plugins/premium-addons-pro/license
home
/
oakwood
/
public_html
/
wp-content
/
plugins
/
premium-addons-pro
/
license
/
ðŸ“
..
📄
api.php
(4.41 KB)
📄
updater.php
(20.36 KB)
Editing: api.php
<?php /** * PAPRO License API. */ namespace PremiumAddonsPro\License; use PremiumAddonsPro\Admin\Includes\Admin_Helper; class API { /** * PAPRO Activate License * * Handles license activation * * @since 1.0.0 * @access public * * @return void */ public static function papro_activate_license( $license_key ) { // data to send in our API request $api_params = array( 'edd_action' => 'activate_license', 'license' => $license_key, 'item_id' => PAPRO_ITEM_ID, 'item_name' => rawurlencode( PAPRO_ITEM_NAME ), 'url' => home_url(), ); // Call the custom API. $response = self::call_custom_api( PAPRO_STORE_URL, $api_params ); // make sure the response came back okay if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { $message = ( is_wp_error( $response ) ) ? $response->get_error_message() : __( 'An error occurred, please try again.', 'premium-addons-pro' ); } else { $license_data = json_decode( wp_remote_retrieve_body( $response ) ); if ( false === $license_data->success ) { switch ( $license_data->error ) { case 'expired': $message = sprintf( __( 'Your license key expired on %s.', 'premium-addons-pro' ), date_i18n( get_option( 'date_format' ), strtotime( $license_data->expires, current_time( 'timestamp' ) ) ) ); break; case 'revoked': $message = __( 'Your license key has been disabled.', 'premium-addons-pro' ); break; case 'missing': $message = __( 'Invalid license.', 'premium-addons-pro' ); break; case 'invalid': case 'site_inactive': $message = __( 'Your license is not active for this URL.', 'premium-addons-pro' ); break; case 'item_name_mismatch': $message = sprintf( __( 'This appears to be an invalid license key for %s.', 'premium-addons-pro' ), PAPRO_ITEM_NAME ); break; case 'no_activations_left': $message = __( 'Your license key has reached its activation limit. You can manage sites from your account settings page.', 'premium-addons-pro' ); break; default: $message = __( 'An error occurred, please try again.', 'premium-addons-pro' ); break; } } } if ( ! empty( $message ) ) { $base_url = 'admin.php?page=premium-addons#tab=license'; $redirect = add_query_arg( array( 'sl_activation' => 'false', 'message' => urlencode( $message ), ), $base_url ); wp_redirect( $redirect ); exit(); } update_option( 'papro_license_key', $license_key ); update_option( 'papro_license_status', $license_data->license ); wp_redirect( 'admin.php?page=premium-addons#tab=license' ); exit(); } /** * PAPRO Deactivate License * * Handles license deactivation * * @since 1.0.0 * @access public * * @return void */ public static function papro_deactivate_license( $license_key, $status = '' ) { // data to send in our API request $api_params = array( 'edd_action' => 'deactivate_license', 'license' => $license_key, 'item_id' => PAPRO_ITEM_ID, 'item_name' => rawurlencode( PAPRO_ITEM_NAME ), 'url' => home_url(), ); // Call the custom API. $response = self::call_custom_api( PAPRO_STORE_URL, $api_params ); if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { if ( is_wp_error( $response ) ) { $message = $response->get_error_message(); } else { $message = __( 'An error occurred, please try again.', 'premium-addons-pro' ); } $base_url = 'admin.php?page=premium-addons#tab=license'; $redirect = add_query_arg( array( 'sl_activation' => 'false', 'message' => urlencode( $message ), ), $base_url ); wp_redirect( $redirect ); exit(); } if( '' === $status ) { delete_option( 'papro_license_status' ); } else { update_option( 'papro_license_status', $status ); } delete_option( 'papro_license_key' ); wp_redirect( 'admin.php?page=premium-addons#tab=license' ); exit(); } /** * Call Custom API * * @since 1.0.0 * @access public * * @param string $url URL to retrieve * @param array $args request paramters */ public static function call_custom_api( $url, $args ) { $response = wp_remote_post( $url, array( 'timeout' => 40, 'sslverify' => false, 'body' => $args, ) ); return $response; } }
Upload File
Create Folder