Changeset 3195181 for addons-for-divi/trunk/plugin-loader.php
- Timestamp:
- 11/22/2024 07:28:19 PM (2 years ago)
- File:
-
- 1 edited
-
addons-for-divi/trunk/plugin-loader.php (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
addons-for-divi/trunk/plugin-loader.php
r3184626 r3195181 1 1 <?php 2 3 /** 4 * Plugin Loader Class 5 * 6 * Main loader class that initializes the plugin functionality. 7 * Handles plugin activation, text domain loading, and core functionality initialization. 8 * 9 * @package DiviTorqueLite 10 * @since 1.0.0 11 */ 2 12 3 13 namespace DiviTorqueLite; … … 8 18 use DiviTorqueLite\Dashboard; 9 19 use DiviTorqueLite\ModulesManager; 10 use DiviTorqueLite\Review;11 20 use DiviTorqueLite\Deprecated; 12 21 use DiviTorqueLite\Divi_Library_Shortcode; 22 use DiviTorqueLite\Admin_Notices; 13 23 14 24 class PluginLoader 15 25 { 26 /** 27 * Holds the single instance of this class 28 * @var PluginLoader 29 */ 16 30 private static $instance; 17 31 32 /** 33 * Returns the singleton instance of this class 34 * @return PluginLoader 35 */ 18 36 public static function get_instance() 19 37 { … … 25 43 } 26 44 45 /** 46 * Constructor - Sets up the initial hooks 47 */ 27 48 public function __construct() 28 49 { 29 50 register_activation_hook(DIVI_TORQUE_LITE_FILE, array($this, 'activation')); 51 add_action('init', array($this, 'load_textdomain')); 30 52 add_action('plugins_loaded', array($this, 'hooks_init')); 31 add_action('init', array($this, 'load_textdomain'));32 53 } 33 54 55 /** 56 * Initializes plugin hooks and components 57 */ 34 58 public function hooks_init() 35 59 { … … 39 63 AssetsManager::get_instance(); 40 64 RestApi::get_instance(); 41 Dashboard::get_instance(); 65 66 if (!dt_is_pro_installed()) { 67 Dashboard::get_instance(); 68 69 new Admin_Notices([ 70 'slug' => 'black_friday_deal', 71 'title' => __('🔥 Black Friday Deal: 100 Sites for Life!', 'divitorque'), 72 'message' => __('Upgrade to <strong>Divi Torque Pro</strong> with an amazing Black Friday offer. Get lifetime access for 100 sites at just <strong>$89</strong>! Limited time offer, don\'t miss out!', 'divitorque'), 73 'type' => 'success', 74 'show_after' => 'day', 75 'screens' => ['plugins', 'divitorque'], 76 'buttons' => [ 77 [ 78 'text' => __('Claim Black Friday Offer', 'divitorque'), 79 'url' => 'https://diviepic.com/divi-torque-pro/#pricing', 80 'class' => 'button-primary', 81 'target' => '_blank' 82 ] 83 ] 84 ]); 85 } 42 86 43 87 if (!get_option('divitorque_version')) { 44 88 Divi_Library_Shortcode::get_instance(); 45 89 } 46 47 Review::get_instance(array(48 'plugin_name' => 'DiviTorque Lite',49 'review_url' => 'https://wordpress.org/support/plugin/addons-for-divi/reviews/#new-post',50 'image_url' => plugins_url('assets/imgs/icon.png', __FILE__),51 'cookie_name' => 'dtl_review_notice_shown',52 'option_name' => 'dtl_review_notice_shown',53 'nonce_action' => 'dtl-dismiss-review',54 'screen_bases' => array('dashboard', 'plugins', 'toplevel_page_divitorque')55 ));56 90 57 91 if (get_option('divitorque_version') && version_compare(get_option('divitorque_version'), '3.5.7', '<=')) { … … 60 94 } 61 95 96 /** 97 * Handles plugin activation tasks 98 */ 62 99 public function activation() 63 100 { 64 65 101 // Deprecated related 66 102 if (get_option('divitorque_version') && version_compare(get_option('divitorque_version'), '3.5.7', '<=')) { … … 75 111 } 76 112 113 // Install Date 114 if (!get_option('divitorque_lite_install_date')) { 115 update_option('divitorque_lite_install_date', time()); 116 } 117 77 118 // Set the version 78 119 update_option('divitorque_lite_version', DIVI_TORQUE_LITE_VERSION); … … 81 122 } 82 123 124 /** 125 * Initializes default module settings 126 */ 83 127 public static function init() 84 128 { … … 95 139 } 96 140 141 /** 142 * Loads plugin text domain for translations 143 * Moved to init hook for WordPress 6.7.0 compatibility 144 */ 97 145 public function load_textdomain() 98 146 { 99 load_plugin_textdomain('addons-for-divi', false, dirname(plugin_basename( __FILE__)) . '/languages');147 load_plugin_textdomain('addons-for-divi', false, dirname(plugin_basename(DIVI_TORQUE_LITE_FILE)) . '/languages'); 100 148 } 101 149 150 /** 151 * Initializes Divi extension 152 */ 102 153 public function init_extension() 103 154 { … … 105 156 } 106 157 158 /** 159 * Adds pro version link to plugin actions 160 * @param array $links Existing plugin action links 161 * @return array Modified plugin action links 162 */ 107 163 public function add_pro_link($links) 108 164 { … … 114 170 '<a href="%s" target="_blank">%s</a>', 115 171 esc_url_raw(self::get_url()), 116 __('Dashboard', ' addons-for-divi')172 __('Dashboard', 'divitorque') 117 173 ); 118 174 … … 120 176 } 121 177 178 /** 179 * Returns the plugin dashboard URL 180 * @return string Dashboard URL 181 */ 122 182 public static function get_url() 123 183 {
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)