Plugin Directory


Ignore:
Timestamp:
11/22/2024 07:28:19 PM (2 years ago)
Author:
badhonrocks
Message:

Update to version 4.1.0 from GitHub

File:
1 edited

Legend:

Unmodified
Added
Removed
  • addons-for-divi/trunk/plugin-loader.php

    r3184626 r3195181  
    11<?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 */
    212
    313namespace DiviTorqueLite;
    … …  
    818use DiviTorqueLite\Dashboard;
    919use DiviTorqueLite\ModulesManager;
    10 use DiviTorqueLite\Review;
    1120use DiviTorqueLite\Deprecated;
    1221use DiviTorqueLite\Divi_Library_Shortcode;
     22use DiviTorqueLite\Admin_Notices;
    1323
    1424class PluginLoader
    1525{
     26    /**
     27     * Holds the single instance of this class
     28     * @var PluginLoader
     29     */
    1630    private static $instance;
    1731
     32    /**
     33     * Returns the singleton instance of this class
     34     * @return PluginLoader
     35     */
    1836    public static function get_instance()
    1937    {
    … …  
    2543    }
    2644
     45    /**
     46     * Constructor - Sets up the initial hooks
     47     */
    2748    public function __construct()
    2849    {
    2950        register_activation_hook(DIVI_TORQUE_LITE_FILE, array($this, 'activation'));
     51        add_action('init', array($this, 'load_textdomain'));
    3052        add_action('plugins_loaded', array($this, 'hooks_init'));
    31         add_action('init', array($this, 'load_textdomain'));
    3253    }
    3354
     55    /**
     56     * Initializes plugin hooks and components
     57     */
    3458    public function hooks_init()
    3559    {
    … …  
    3963        AssetsManager::get_instance();
    4064        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        }
    4286
    4387        if (!get_option('divitorque_version')) {
    4488            Divi_Library_Shortcode::get_instance();
    4589        }
    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         ));
    5690
    5791        if (get_option('divitorque_version') && version_compare(get_option('divitorque_version'), '3.5.7', '<=')) {
    … …  
    6094    }
    6195
     96    /**
     97     * Handles plugin activation tasks
     98     */
    6299    public function activation()
    63100    {
    64 
    65101        // Deprecated related
    66102        if (get_option('divitorque_version') && version_compare(get_option('divitorque_version'), '3.5.7', '<=')) {
    … …  
    75111        }
    76112
     113        // Install Date
     114        if (!get_option('divitorque_lite_install_date')) {
     115            update_option('divitorque_lite_install_date', time());
     116        }
     117
    77118        // Set the version
    78119        update_option('divitorque_lite_version', DIVI_TORQUE_LITE_VERSION);
    … …  
    81122    }
    82123
     124    /**
     125     * Initializes default module settings
     126     */
    83127    public static function init()
    84128    {
    … …  
    95139    }
    96140
     141    /**
     142     * Loads plugin text domain for translations
     143     * Moved to init hook for WordPress 6.7.0 compatibility
     144     */
    97145    public function load_textdomain()
    98146    {
    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');
    100148    }
    101149
     150    /**
     151     * Initializes Divi extension
     152     */
    102153    public function init_extension()
    103154    {
    … …  
    105156    }
    106157
     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     */
    107163    public function add_pro_link($links)
    108164    {
    … …  
    114170            '<a href="%s" target="_blank">%s</a>',
    115171            esc_url_raw(self::get_url()),
    116             __('Dashboard', 'addons-for-divi')
     172            __('Dashboard', 'divitorque')
    117173        );
    118174
    … …  
    120176    }
    121177
     178    /**
     179     * Returns the plugin dashboard URL
     180     * @return string Dashboard URL
     181     */
    122182    public static function get_url()
    123183    {
Note: See TracChangeset for help on using the changeset viewer.