function et_divi_100_get_setup_dir_path() { // Get Divi 100 settings $plugins = et_divi_100_settings(); // Get the latest version's plugin slug $latest_version_slug = et_divi_100_get_most_updated_plugin_slug(); // Check whether latest version's setup dir path exist $is_setup_exist = $latest_version_slug && isset($plugins[$latest_version_slug]) && $plugins[$latest_version_slug]['plugin_dir_path']; // Return latest version's plugin dir path return $is_setup_exist ? $plugins[$latest_version_slug]['plugin_dir_path'] . 'divi-100-setup/' : plugin_dir_path(__FILE__); }
function __construct($settings) { // Define settings args $this->settings = wp_parse_args($settings, $this->default_settings()); // Get saved value $saved_values = maybe_unserialize(get_option($this->settings['plugin_id'], array())); $this->saved_values = $saved_values && is_array($saved_values) ? $saved_values : array(); // Has the most updated setup flag $this->has_most_updated_setup = et_divi_100_get_most_updated_plugin_slug() === $this->settings['plugin_slug']; $submenu_priority = $this->has_most_updated_setup ? 5 : 10; // Register settings page and add admin scripts add_action('admin_menu', array($this, 'add_menu'), 30); // Make sure the priority is higher than Divi 100's add_menu() add_action('divi_100_submenu', array($this, 'add_submenu'), $submenu_priority); add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts')); }
/** * Modify dashboard scripts * * @return void */ function enqueue_scripts() { if (isset($_GET['page']) && ($this->config['plugin_id'] === $_GET['page'] || 'et_divi_100_options' === $_GET['page'] && et_divi_100_get_most_updated_plugin_slug() === $this->config['plugin_slug'])) { // Dequeue default scripts wp_dequeue_script($this->config['plugin_id'] . '-admin_scripts'); // Enqueue hamburger menu specific scripts wp_enqueue_script($this->config['plugin_id'] . '-admin_hamburger_menu_scripts', plugin_dir_url(__FILE__) . 'assets/js/admin-scripts.js', array('jquery', 'iris'), $this->config['plugin_version'], true); wp_localize_script($this->config['plugin_id'] . '-admin_hamburger_menu_scripts', 'et_divi_100_js_params', apply_filters('et_divi_100_js_params', array('preview_dir_url' => esc_url(plugin_dir_url(__FILE__) . 'assets/preview/'), 'help_label' => esc_html__('Help')))); } }