/**
  * 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';
 }