setup_constants(); self::$instance->includes(); self::$instance->front_end = new rsssl_front_end(); self::$instance->mixed_content_fixer = new rsssl_mixed_content_fixer(); if ( is_multisite() ) { self::$instance->multisite = new rsssl_multisite(); } if ( rsssl_admin_logged_in() ) { self::$instance->cache = new rsssl_cache(); self::$instance->placeholder = new rsssl_placeholder(); self::$instance->server = new rsssl_server(); self::$instance->admin = new rsssl_admin(); self::$instance->mailer_admin = new rsssl_mailer_admin(); self::$instance->onboarding = new rsssl_onboarding(); self::$instance->progress = new rsssl_progress(); self::$instance->certificate = new rsssl_certificate(); self::$instance->site_health = new rsssl_site_health(); if ( defined( 'WP_CLI' ) && WP_CLI ) { self::$instance->wp_cli = new rsssl_wp_cli(); } } self::$instance->hooks(); } return self::$instance; } private function setup_constants() { define('rsssl_url', plugin_dir_url(__FILE__)); define('rsssl_path', trailingslashit(plugin_dir_path(__FILE__))); define('rsssl_template_path', trailingslashit(plugin_dir_path(__FILE__)).'grid/templates/'); define('rsssl_plugin', plugin_basename(__FILE__)); define('rsssl_add_on_version_requirement', '7.2.0'); if ( !defined('rsssl_file') ){ define('rsssl_file', __FILE__); } define('rsssl_version', '7.2.0'); define('rsssl_le_cron_generation_renewal_check', 20); define('rsssl_le_manual_generation_renewal_check', 15); } private function includes() { require_once(rsssl_path . 'class-front-end.php'); require_once(rsssl_path . 'functions.php'); require_once(rsssl_path . 'class-mixed-content-fixer.php'); if ( defined( 'WP_CLI' ) && WP_CLI ) { require_once( rsssl_path . 'class-wp-cli.php'); } if ( is_multisite() ) { require_once( rsssl_path . 'class-multisite.php'); } if ( rsssl_admin_logged_in() ) { require_once( rsssl_path . 'compatibility.php'); require_once( rsssl_path . 'upgrade.php'); require_once( rsssl_path . 'settings/settings.php' ); require_once( rsssl_path . 'modal/modal.php' ); require_once( rsssl_path . 'onboarding/class-onboarding.php' ); require_once( rsssl_path . 'placeholders/class-placeholder.php' ); require_once( rsssl_path . 'class-admin.php'); require_once( rsssl_path . 'mailer/class-mail-admin.php'); require_once( rsssl_path . 'class-cache.php'); require_once( rsssl_path . 'class-server.php'); require_once( rsssl_path . 'progress/class-progress.php'); require_once( rsssl_path . 'class-certificate.php'); require_once( rsssl_path . 'class-site-health.php'); require_once( rsssl_path . 'mailer/class-mail.php'); require_once( rsssl_path . 'lets-encrypt/letsencrypt.php' ); if ( isset($_GET['install_pro'])) { require_once( rsssl_path . 'upgrade/upgrade-to-pro.php'); } } require_once( rsssl_path . 'lets-encrypt/cron.php' ); require_once( rsssl_path . '/security/security.php'); } private function hooks() { /** * Fire custom hook */ if ( rsssl_admin_logged_in() ) { add_action('admin_notices', array( $this, 'admin_notices')); if ( is_multisite() ) { add_action('network_admin_notices', array( $this, 'admin_notices')); } } add_action('wp_loaded', array(self::$instance->front_end, 'force_ssl'), 20); if ( rsssl_admin_logged_in() ) { add_action('plugins_loaded', array(self::$instance->admin, 'init'), 10); } } /** * Notice about possible compatibility issues with add ons */ public static function admin_notices() { //prevent showing on edit screen, as gutenberg removes the class which makes it editable. $screen = get_current_screen(); if ( $screen && $screen->base === 'post' ) return; if ( self::has_old_addon('really-simple-ssl-pro/really-simple-ssl-pro.php') || self::has_old_addon('really-simple-ssl-pro-multisite/really-simple-ssl-pro-multisite.php' ) ) { ?>
',''); ?>