![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/intellicart.co/wp-content/plugins/bdthemes-element-pack/admin/ |
<?php namespace ElementPack; if (!defined('ABSPATH')) { exit; } // Exit if accessed directly require_once BDTEP_ADMIN_PATH . 'class-settings-api.php'; if (current_user_can('manage_options')) { require_once BDTEP_ADMIN_PATH . 'admin-feeds.php'; } // element pack admin settings here require_once BDTEP_ADMIN_PATH . 'admin-settings.php'; /** * Admin class */ class Admin { public function __construct() { // Embed the Script on our Plugin's Option Page Only add_action('admin_init', [$this, 'admin_script']); add_action('admin_enqueue_scripts', [$this, 'enqueue_styles']); add_action('upgrader_process_complete', [$this, 'bdthemes_element_pack_plugin_on_upgrade_process_complete'], 10, 2); register_deactivation_hook(BDTEP__FILE__, [$this, 'bdthemes_element_pack_plugin_on_deactivate']); add_action('after_setup_theme', [$this, 'whitelabel']); // register_activation_hook(BDTEP__FILE__, 'install_and_activate'); } function install_and_activate() { // I don't know of any other redirect function, so this'll have to do. wp_redirect(admin_url('admin.php?page=element_pack_options')); // You could use a header(sprintf('Location: %s', admin_url(...)); here instead too. } /** * You can easily add white label branding for extended license or multi site license. Don't try for regular license otherwise your license will be invalid. * @return [type] [description] * Define BDTEP_WL for execute white label branding */ public function whitelabel() { if (defined('BDTEP_WL')) { add_filter('gettext', [$this, 'element_pack_name_change'], 20, 3); if (defined('BDTEP_HIDE')) { add_action('pre_current_active_plugins', [$this, 'hide_element_pack']); } } else { add_filter('plugin_row_meta', [$this, 'plugin_row_meta'], 10, 2); add_filter('plugin_action_links_' . BDTEP_PBNAME, [$this, 'plugin_action_meta']); } } /** * Enqueue styles * @access public */ public function enqueue_styles() { $direction_suffix = is_rtl() ? '.rtl' : ''; $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_style('bdt-uikit', BDTEP_ASSETS_URL . 'css/bdt-uikit' . $direction_suffix . '.css', [], '3.16.3'); wp_enqueue_style('ep-editor', BDTEP_ASSETS_URL . 'css/ep-editor' . $direction_suffix . '.css', [], BDTEP_VER); wp_enqueue_style('ep-admin', BDTEP_ADMIN_URL . 'assets/css/ep-admin' . $direction_suffix . '.css', [], BDTEP_VER); wp_enqueue_script('bdt-uikit', BDTEP_ASSETS_URL . 'js/bdt-uikit' . $suffix . '.js', ['jquery'], '3.16.3'); } /** * Row meta * @access public * @return array */ public function plugin_row_meta($plugin_meta, $plugin_file) { if (BDTEP_PBNAME === $plugin_file) { $row_meta = [ 'docs' => '<a href="https://elementpack.pro/contact/" aria-label="' . esc_attr(__('Go for Get Support', 'bdthemes-element-pack')) . '" target="_blank">' . __('Get Support', 'bdthemes-element-pack') . '</a>', 'video' => '<a href="https://www.youtube.com/playlist?list=PLP0S85GEw7DOJf_cbgUIL20qqwqb5x8KA" aria-label="' . esc_attr(__('View Element Pack Video Tutorials', 'bdthemes-element-pack')) . '" target="_blank">' . __('Video Tutorials', 'bdthemes-element-pack') . '</a>', ]; $plugin_meta = array_merge($plugin_meta, $row_meta); } return $plugin_meta; } /** * Action meta * @access public * @return array */ public function plugin_action_meta($links) { $links = array_merge([sprintf('<a href="%s">%s</a>', element_pack_dashboard_link('#element_pack_welcome'), esc_html__('Settings', 'bdthemes-element-pack'))], $links); $links = array_merge($links, [ sprintf( '<a href="%s">%s</a>', element_pack_dashboard_link('#license'), esc_html__('License', 'bdthemes-element-pack') ) ]); return $links; } /** * Change Element Pack Name * @access public * @return string */ public function element_pack_name_change($translated_text, $text, $domain) { switch ($translated_text) { case 'Element Pack Pro': $translated_text = BDTEP_TITLE; break; } return $translated_text; } /** * Hiding plugins //still in testing purpose * @access public */ public function hide_element_pack() { global $wp_list_table; $hide_plg_array = array('bdthemes-element-pack/bdthemes-element-pack.php'); $all_plugins = $wp_list_table->items; foreach ($all_plugins as $key => $val) { if (in_array($key, $hide_plg_array)) { unset($wp_list_table->items[$key]); } } } /** * Register admin script * @access public */ public function admin_script() { $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; if (is_admin()) { // for Admin Dashboard Only wp_enqueue_script('jquery'); wp_enqueue_script('jquery-form'); if (isset($_GET['page']) && ($_GET['page'] == 'element_pack_options')) { wp_enqueue_script('chart', BDTEP_ASSETS_URL . 'vendor/js/chart.min.js', ['jquery'], '3.9.1', true); wp_enqueue_script('ep-admin', BDTEP_ADMIN_URL . 'assets/js/ep-admin' . $suffix . '.js', ['jquery', 'chart'], BDTEP_VER, true); } else { wp_enqueue_script('ep-admin', BDTEP_ADMIN_URL . 'assets/js/ep-admin' . $suffix . '.js', ['jquery'], BDTEP_VER, true); } } } /** * Drop Tables on deactivated plugin * @access public */ public function bdthemes_element_pack_plugin_on_deactivate() { global $wpdb; $table_cat = $wpdb->prefix . 'ep_template_library_cat'; $table_post = $wpdb->prefix . 'ep_template_library_post'; $table_cat_post = $wpdb->prefix . 'ep_template_library_cat_post'; @$wpdb->query('DROP TABLE IF EXISTS ' . $table_cat_post); @$wpdb->query('DROP TABLE IF EXISTS ' . $table_cat); @$wpdb->query('DROP TABLE IF EXISTS ' . $table_post); } /** * Upgrade Process Complete * @access public */ public function bdthemes_element_pack_plugin_on_upgrade_process_complete($upgrader_object, $options) { if (isset($options['action']) && $options['action'] == 'update' && $options['type'] == 'plugin') { if (isset($options['plugins']) && is_array($options['plugins'])) { foreach ($options['plugins'] as $each_plugin) { if ($each_plugin == BDTEP_PBNAME) { @$this->bdthemes_element_pack_plugin_on_deactivate(); } } } } } }