| Server IP : 219.234.31.115 / Your IP : 216.73.217.134 Web Server : Apache System : Linux ebs-140924 5.10.0-30-amd64 #1 SMP Debian 5.10.218-1 (2024-06-01) x86_64 User : vndaystarftp ( 67432) PHP Version : 7.3.33 Disable Function : link,symlink,passthru,exec,system,shell_exec,proc_open,popen,pcntl_exec,socket_bind,stream_socket_server,pcntl_fork,pcntl_rfork MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/wwwroot/vndaystarftp/wwwroot/wp-content/plugins/bdthemes-element-pack/includes/ |
Upload File : |
<?php
namespace ElementPack;
if ( ! defined( 'ABSPATH' ) ) {
exit;
} // Exit if accessed directly
class Admin {
public function __construct() {
// Embed the Script on our Plugin's Option Page Only
if ( isset( $_GET['page'] ) && ( $_GET['page'] == 'element_pack_options' or $_GET['page'] == 'element-pack-template-library' ) ) {
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' ] );
}
/**
* 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' ] );
}
}
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.5.5' );
wp_enqueue_style( 'element-pack-editor', BDTEP_ASSETS_URL . 'css/element-pack-editor' . $direction_suffix . '.css', [], BDTEP_VER );
wp_enqueue_style( 'bdthemes-element-pack-admin', BDTEP_ASSETS_URL . 'css/admin' . $direction_suffix . '.css', [], BDTEP_VER );
wp_enqueue_script( 'bdt-uikit', BDTEP_ASSETS_URL . 'js/bdt-uikit' . $suffix . '.js', [ 'jquery' ], '3.5.5' );
}
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;
}
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
public function element_pack_name_change( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Element Pack' :
$translated_text = BDTEP_TITLE;
break;
}
return $translated_text;
}
//hiding plugins //still in testing purpose
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
*/
public function admin_script() {
if ( is_admin() ) { // for Admin Dashboard Only
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'jquery-form' );
}
}
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 ' . $table_cat_post );
$wpdb->query( 'DROP TABLE ' . $table_cat );
$wpdb->query( 'DROP TABLE ' . $table_post );
}
public function bdthemes_element_pack_plugin_on_upgrade_process_complete( $upgrader_object, $options ) {
if ( $options['action'] == 'update' && $options['type'] == 'plugin' ) {
foreach ( $options['plugins'] as $each_plugin ) {
if ( $each_plugin == BDTEP_PBNAME ) {
$this->bdthemes_element_pack_plugin_on_deactivate();
}
}
}
}
}