/** * Return the current class instance. * * @since 4.0.0 * * @return object The instance of the current class. */ public static function get_instance() { if (self::$instance == null) { self::$instance = new self(); } return self::$instance; }
/** * Renders the plugin settings page. * * It also checks if new data was posted, and saves * it in the options table. * * It verifies the purchase code supplied and displays * if it's valid. * * @since 4.0.0 */ public function render_plugin_settings_page() { $plugin_settings = BQW_SliderPro_Settings::getPluginSettings(); $load_stylesheets = get_option('sliderpro_load_stylesheets', $plugin_settings['load_stylesheets']['default_value']); $load_custom_css_js = get_option('sliderpro_load_custom_css_js', $plugin_settings['load_custom_css_js']['default_value']); $load_js_in_all_pages = get_option('sliderpro_load_js_in_all_pages', $plugin_settings['load_js_in_all_pages']['default_value']); $load_unminified_scripts = get_option('sliderpro_load_unminified_scripts', $plugin_settings['load_unminified_scripts']['default_value']); $cache_expiry_interval = get_option('sliderpro_cache_expiry_interval', $plugin_settings['cache_expiry_interval']['default_value']); $hide_inline_info = get_option('sliderpro_hide_inline_info', $plugin_settings['hide_inline_info']['default_value']); $hide_getting_started_info = get_option('sliderpro_hide_getting_started_info', $plugin_settings['hide_getting_started_info']['default_value']); $access = get_option('sliderpro_access', $plugin_settings['access']['default_value']); if (isset($_POST['plugin_settings_update'])) { check_admin_referer('plugin-settings-update', 'plugin-settings-nonce'); if (isset($_POST['load_stylesheets'])) { $load_stylesheets = $_POST['load_stylesheets']; update_option('sliderpro_load_stylesheets', $load_stylesheets); } if (isset($_POST['load_custom_css_js'])) { $load_custom_css_js = $_POST['load_custom_css_js']; update_option('sliderpro_load_custom_css_js', $load_custom_css_js); } if (isset($_POST['load_js_in_all_pages'])) { $load_js_in_all_pages = true; update_option('sliderpro_load_js_in_all_pages', true); } else { $load_js_in_all_pages = false; update_option('sliderpro_load_js_in_all_pages', false); } if (isset($_POST['load_unminified_scripts'])) { $load_unminified_scripts = true; update_option('sliderpro_load_unminified_scripts', true); } else { $load_unminified_scripts = false; update_option('sliderpro_load_unminified_scripts', false); } if (isset($_POST['cache_expiry_interval'])) { $cache_expiry_interval = $_POST['cache_expiry_interval']; update_option('sliderpro_cache_expiry_interval', $cache_expiry_interval); } if (isset($_POST['hide_inline_info'])) { $hide_inline_info = true; update_option('sliderpro_hide_inline_info', true); } else { $hide_inline_info = false; update_option('sliderpro_hide_inline_info', false); } if (isset($_POST['hide_getting_started_info'])) { $hide_getting_started_info = true; update_option('sliderpro_hide_getting_started_info', true); } else { $hide_getting_started_info = false; update_option('sliderpro_hide_getting_started_info', false); } if (isset($_POST['access'])) { $access = $_POST['access']; update_option('sliderpro_access', $access); } } $purchase_code = get_option('sliderpro_purchase_code', ''); $purchase_code_status = get_option('sliderpro_purchase_code_status', '0'); if (isset($_POST['purchase_code_update'])) { check_admin_referer('purchase-code-update', 'purchase-code-nonce'); if (isset($_POST['purchase_code'])) { $purchase_code = $_POST['purchase_code']; update_option('sliderpro_purchase_code', $purchase_code); if ($_POST['purchase_code'] === '') { $purchase_code_status = '0'; } else { $api = BQW_SliderPro_API::get_instance(); $verification_result = $api->verify_purchase_code($purchase_code); if ($verification_result === 'yes') { $purchase_code_status = '1'; } else { if ($verification_result === 'no') { $purchase_code_status = '2'; } else { if ($verification_result === 'error') { $purchase_code_status = '3'; } } } } update_option('sliderpro_purchase_code_status', $purchase_code_status); } } include_once 'views/plugin-settings.php'; }