Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
home
/
getwphos
/
www
/
deerguard
/
wp-content
/
themes
/
garland
/
admin
/
File Content:
class.plugin-settings.php
<?php class Garland_Plugin_Info { private static $_parent_instance = null; public function __construct() { require_once GARLAND_DIR . '/admin/theme-plugins/tgm-init.php'; } public static function garland_get_plugins(){ return get_plugins(); } public static function garland_does_plugin_require_update( $file_path ) { $repo_updates = get_site_transient( 'update_plugins' ); $available_version = ''; if ( isset( $repo_updates->response[ $file_path ]->new_version ) ) { $available_version = $repo_updates->response[ $file_path ]->new_version; } return $available_version; } public static function garland_tgm_install(){ if ( ! isset( $_POST['garland_bulk_nonce'] ) || ! wp_verify_nonce( $_POST['garland_bulk_nonce'], 'garland-bulk-plugin-install' ) ) wp_die("failed"); require_once GARLAND_DIR . '/admin/theme-plugins/tgm-init.php'; $plugins = isset( $_POST['plugins'] ) ? $_POST['plugins'] : TGM_Plugin_Activation::$instance->plugins; if( isset( $_POST['garland_bulk_plugins'] ) ) { $bulk_plugins = $_POST['garland_bulk_plugins']; $bulk_action = isset( $_POST['garland_bulk_action'] ) && ! empty( $_POST['garland_bulk_action'] ) ? sanitize_text_field( $_POST['garland_bulk_action'] ) : 'install'; $tgm = new TGM_Plugin_Activation; $tgm->plugins = $plugins; if( $bulk_action == 'install' ){ foreach( $bulk_plugins as $plugin_name ){ $tgm->garland_do_plugin_install( $plugin_name ); } }elseif( $bulk_action == 'active' ){ foreach( $bulk_plugins as $plugin_name ){ $tgm->garland_do_plugin_activate( $plugin_name ); } }elseif( $bulk_action == 'install-active' ){ foreach( $bulk_plugins as $plugin_name ){ $tgm->garland_do_plugin_install( $plugin_name, true ); } }elseif( $bulk_action == 'deactive' ){ foreach( $bulk_plugins as $plugin_name ){ $tgm->garland_force_deactivation( $plugin_name ); } } } wp_die("success"); } public static function garland_plugin_link( $item ) { include_once ABSPATH . 'wp-admin/includes/plugin.php'; $installed_plugins = Garland_Plugin_Info::garland_get_plugins(); $item['sanitized_plugin'] = $item['name']; $is_plug_act = 'is_plugin_active'; if ( $is_plug_act( $item['file_path'] ) ) { $available_version = $item['source'] == 'repo' ? Garland_Plugin_Info::garland_does_plugin_require_update( $item['file_path'] ) : $item['version']; if ( version_compare( $available_version, $installed_plugins[$item['file_path']]['Version'], '>' ) ) { $actions = array( 'update' => sprintf( '<a href="%1$s" class="garland-btn btn-default" title="%3$s %2$s">%3$s</a>', wp_nonce_url( add_query_arg( array( 'page' => urlencode( TGM_Plugin_Activation::$instance->menu ), 'plugin' => urlencode( $item['slug'] ), 'plugin_name' => urlencode( $item['sanitized_plugin'] ), 'plugin_source' => urlencode( $item['source'] ), 'tgmpa-update' => 'update-plugin', 'version' => urlencode( $item['version'] ), 'return_url' => 'garland-plugins' ), admin_url( TGM_Plugin_Activation::$instance->parent_slug ) ), 'tgmpa-update', 'tgmpa-nonce' ), $item['sanitized_plugin'], esc_html__( 'Update', 'garland' ) ), ); }else{ $actions = array( 'deactivate' => sprintf( '<a href="%1$s" class="garland-btn btn-default" title="%3$s %2$s">%3$s</a>', esc_url( add_query_arg( array( 'plugin' => urlencode( $item['slug'] ), 'plugin_name' => urlencode( $item['sanitized_plugin'] ), 'plugin_source' => urlencode( $item['source'] ), 'garland-deactivate' => 'deactivate-plugin', 'garland-deactivate-nonce' => wp_create_nonce( 'garland-deactivate' ), ), admin_url( 'admin.php?page=garland-plugins' ) ) ), $item['sanitized_plugin'], esc_html__( 'Deactivate', 'garland' ) ), ); } }elseif ( ! isset( $installed_plugins[$item['file_path']] ) ) { $actions = array( 'install' => sprintf( '<a href="%1$s" class="garland-btn btn-default" title="%3$s %2$s">%3$s</a>', esc_url( wp_nonce_url( add_query_arg( array( 'page' => urlencode( TGM_Plugin_Activation::$instance->menu ), 'plugin' => urlencode( $item['slug'] ), 'plugin_name' => urlencode( $item['sanitized_plugin'] ), 'plugin_source' => urlencode( $item['source'] ), 'tgmpa-install' => 'install-plugin', 'return_url' => 'garland-plugins' ), admin_url( TGM_Plugin_Activation::$instance->parent_slug ) ), 'tgmpa-install', 'tgmpa-nonce' ) ), $item['sanitized_plugin'], esc_html__( 'Install', 'garland' ) ), ); }elseif ( is_plugin_inactive( $item['file_path'] ) ) { if ( version_compare( $item['version'], $installed_plugins[$item['file_path']]['Version'], '>' ) ) { $actions = array( 'update' => sprintf( '<a href="%1$s" class="garland-btn btn-default" title="%3$s %2$s">%3$s</a>', wp_nonce_url( add_query_arg( array( 'page' => urlencode( TGM_Plugin_Activation::$instance->menu ), 'plugin' => urlencode( $item['slug'] ), 'plugin_name' => urlencode( $item['sanitized_plugin'] ), 'plugin_source' => urlencode( $item['source'] ), 'tgmpa-update' => 'update-plugin', 'version' => urlencode( $item['version'] ), 'return_url' => 'garland-plugins' ), admin_url( TGM_Plugin_Activation::$instance->parent_slug ) ), 'tgmpa-update', 'tgmpa-nonce' ), $item['sanitized_plugin'], esc_html__( 'Update', 'garland' ) ), ); } else { $actions = array( 'activate' => sprintf( '<a href="%1$s" class="garland-btn btn-default" title="%3$s %2$s">%3$s</a>', esc_url( add_query_arg( array( 'plugin' => urlencode( $item['slug'] ), 'plugin_name' => urlencode( $item['sanitized_plugin'] ), 'plugin_source' => urlencode( $item['source'] ), 'garland-activate' => 'activate-plugin', 'garland-activate-nonce' => wp_create_nonce( 'garland-activate' ), ), admin_url( 'admin.php?page=garland-plugins' ) ) ), $item['sanitized_plugin'], esc_html__( 'Activate', 'garland' ) ), ); } }elseif ( version_compare( $item['version'], $installed_plugins[$item['file_path']]['Version'], '>' ) ) { $actions = array( 'update' => sprintf( '<a href="%1$s" class="garland-btn btn-default" title="%3$s %2$s">%3$s</a>', wp_nonce_url( add_query_arg( array( 'page' => urlencode( TGM_Plugin_Activation::$instance->menu ), 'plugin' => urlencode( $item['slug'] ), 'plugin_name' => urlencode( $item['sanitized_plugin'] ), 'plugin_source' => urlencode( $item['source'] ), 'tgmpa-update' => 'update-plugin', 'version' => urlencode( $item['version'] ), 'return_url' => 'garland-plugins' ), admin_url( TGM_Plugin_Activation::$instance->parent_slug ) ), 'tgmpa-update', 'tgmpa-nonce' ), $item['sanitized_plugin'], esc_html__( 'Update', 'garland' ) ), ); } return $actions; } public static function get_parent_instance() { if ( is_null( self::$_parent_instance ) ) { self::$_parent_instance = new self(); } return self::$_parent_instance; } } class Garland_Plugins { private static $_instance = null; public function __construct() { Garland_Plugin_Info::get_parent_instance(); add_action( 'admin_menu', array( $this, 'garland_admin_menu' ) ); } public static function garland_admin_menu(){ add_submenu_page( 'garland-welcome', esc_html__( 'Theme Plugins', 'garland' ), esc_html__( 'Theme Plugins', 'garland' ), 'manage_options', 'garland-plugins', array( 'Garland_Plugins', 'garland_plugins_admin_page' ) ); } public static function garland_plugins_admin_page(){ $garland_theme = wp_get_theme(); ?> <div class="garland-settings-wrap"> <div class="garland-header-bar"> <div class="garland-header-left"> <div class="garland-admin-logo-inline"> <img src="<?php echo esc_url( get_template_directory_uri() . '/assets/images/brand-logo.png' ); ?>" alt="garland-logo"> </div><!-- .garland-admin-logo-inline --> <h2 class="title"><?php esc_html_e( 'Garland Plugins', 'garland' ); ?><span class="garland-version"><?php echo esc_html( $garland_theme->get( 'Version' ) ); ?></span></h2> </div><!-- .garland-header-left --> <div class="garland-header-right"> <a href="<?php echo class_exists( 'Garland_Addon' ) ? esc_url( admin_url( 'admin.php?page=garland-importer' ) ) : '#'; ?>" class="button garland-btn"><?php esc_html_e( 'Import Demo', 'garland' ); ?></a> </div><!-- .garland-header-right --> </div><!-- .garland-header-bar --> <div class="garland-inner-wrap"> <?php require_once GARLAND_DIR . '/admin/theme-plugins/tgm-init.php'; $plugins = TGM_Plugin_Activation::$instance->plugins; $plugin_custom_order = array( 'elementor' => $plugins['elementor'], 'garland-addon' => $plugins['garland-addon'], 'classic-elementor-addons-pro' => $plugins['classic-elementor-addons-pro'], 'cea-post-types' => $plugins['cea-post-types'], 'zozo-header-footer' => $plugins['zozo-header-footer'], 'cea-magazine' => $plugins['cea-magazine'], 'revslider' => $plugins['revslider'], 'contact-form-7' => $plugins['contact-form-7'], 'woocommerce' => $plugins['woocommerce'], 'bookly' => $plugins['bookly-responsive-appointment-booking-tool'], 'envato-market' => $plugins['envato-market'] ); $installed_plugins = Garland_Plugin_Info::garland_get_plugins(); if( isset( $_GET['garland-deactivate'] ) && $_GET['garland-deactivate'] == 'deactivate-plugin' ) { check_admin_referer( 'garland-deactivate', 'garland-deactivate-nonce' ); $plugins = TGM_Plugin_Activation::$instance->plugins; foreach( $plugins as $plugin ) { if( $plugin['slug'] == $_GET['plugin'] ) { deactivate_plugins( $plugin['file_path'] ); } } } if( isset( $_GET['garland-activate'] ) && $_GET['garland-activate'] == 'activate-plugin' ) { check_admin_referer( 'garland-activate', 'garland-activate-nonce' ); $plugins = TGM_Plugin_Activation::$instance->plugins; foreach( $plugins as $plugin ) { if( $plugin['slug'] == $_GET['plugin'] ) { activate_plugin( $plugin['file_path'] ); } } } $plugins = $plugin_custom_order; ?> <div class="garland-settings-tabs"> <div id="garland-general" class="garland-settings-tab garland-elements-list active"> <div class="container"> <form id="multi-plugins-active-form" method="post" action="<?php echo esc_url( admin_url( 'admin.php?page=garland-plugins' ) ); ?>" enctype="multipart/form-data"> <input type="hidden" name="action" value="garland_tgm_install" /> <?php wp_nonce_field( 'garland-bulk-plugin-install', 'garland_bulk_nonce' ); ?> <p class="garland-settings-msg"> <span class="multi-select-wrap"> <input type="checkbox" class="bulk-select-all" /> <?php echo esc_html__('Bulk Select', 'garland'); ?> </span> <select class="bulk-plugins-action-trigger btn btn-default" name="garland_bulk_action"> <option value="install"><?php echo esc_html__('Install', 'garland'); ?></option> <option value="active"><?php echo esc_html__('Activate', 'garland'); ?></option> <option value="deactive"><?php echo esc_html__('Deactivate', 'garland'); ?></option> </select> <a href="#" class="button garland-bulk-action"><?php echo esc_html__('Apply', 'garland'); ?></a> <img src="<?php echo esc_url( GARLAND_URI . '/admin/assets/images/loader.gif' ); ?>" alt="<?php echo esc_attr_e('Loader', 'garland'); ?>" class="bulk-process-loader" /> </p> <?php echo wp_nonce_field( 'garland_activate_nonce', 'garland-multi-plugin*^*' ); ?> </form> <div class="row multi-cols"> <?php $active_action = ''; if( isset( $_GET['plugin_status'] ) ) { $active_action = $_GET['plugin_status']; } $req_plugs = array(); foreach( $plugins as $plugin ): $class = ''; $plugin_status = ''; $active_action_class = ''; $file_path = $plugin['file_path']; $plugin_action = Garland_Plugin_Info::garland_plugin_link( $plugin ); foreach( $plugin_action as $action => $value ) { if( $active_action == $action ) { $active_action_class = ' plugin-' .$active_action. ''; } } $is_plug_act = 'is_plugin_active'; if( $is_plug_act( $file_path ) ) { $plugin_status = 'active'; $class = ' active'; $req_plugs[] = esc_html( $plugin['slug'] ); } $class .= $active_action_class; ?> <div class="col-4<?php echo esc_attr( $class ); ?>"> <div class="media admin-box garland-plugins-box"> <div class="admin-box-icon p-0 mr-3"> <span class="plugin-image-wrap"><img src="<?php echo esc_url( $plugin['image_url'] ); ?>" alt="<?php echo esc_attr( $plugin['name'] ); ?>" /></span> </div> <div class="media-body admin-box-info"> <h3 class="admin-box-title"><?php echo esc_html( $plugin['name'] ); ?></h3> <div class="admin-box-content"> <?php if( $plugin['required'] ): ?> <div class="plugin-required"><span class="dashicons dashicons-star-filled" title="<?php echo esc_attr__('Required', 'garland'); ?>"></span></div> <?php endif; ?> <?php if( isset( $installed_plugins[$plugin['file_path']] ) ): ?> <div class="plugin-info"><?php $current_version = $installed_plugins[$plugin['file_path']]['Version']; $available_version = $current_version; if( $plugin['source'] == 'repo' ){ $available_version = Garland_Plugin_Info::garland_does_plugin_require_update( $plugin['file_path'] ); } ?> <?php echo sprintf( 'v%s | %s', $installed_plugins[$plugin['file_path']]['Version'], $installed_plugins[$plugin['file_path']]['Author'] ); ?> </div> <?php endif; ?> <div class="theme-actions--"> <?php foreach( $plugin_action as $action ) { echo ( ''. $action ); } ?> </div> <?php $available_version = ''; $current_version = ''; if( $plugin['source'] == 'repo' && version_compare( $available_version, $current_version, '>' ) ): ?> <div class="theme-update"><?php echo esc_html__('Update Available: Version', 'garland'); ?> <?php echo esc_attr( $available_version ); ?></div> <?php elseif( isset( $plugin_action['update'] ) && $plugin_action['update'] ): ?> <div class="theme-update"><?php echo esc_html__('Update Available: Version', 'garland'); ?> <?php echo esc_attr( $plugin['version'] ); ?></div> <?php endif; ?> <span class="multi-active-wrap"><input type="checkbox" class="bulk-activator" value="<?php echo esc_attr( $plugin['slug'] ); ?>" /></span> </div> </div> </div> </div><!-- .col --> <?php endforeach; ?> </div><!-- .row --> </div><!-- .container --> </div><!-- .garland-settings-tab --> </div><!-- .garland-settings-tabs --> </div><!-- .garland-inner-wrap --> </div><!-- .garland-settings-wrap --> <?php } public static function get_instance() { if ( is_null( self::$_instance ) ) { self::$_instance = new self(); } return self::$_instance; } } Garland_Plugins::get_instance(); //Plugin ajax functions add_action( 'wp_ajax_garland_tgm_install', array( 'Garland_Plugin_Info', 'garland_tgm_install' ) ); add_action( 'wp_ajax_nopriv_garland_tgm_install', array( 'Garland_Plugin_Info', 'garland_tgm_install' ) );
Submit
FILE
FOLDER
Name
Size
Permission
Action
assets
---
0755
theme-plugins
---
0755
class.admin-settings.php
21265 bytes
0644
class.plugin-settings.php
16820 bytes
0644
class.token-verification.php
5691 bytes
0644
class.zozo-api.php
1578 bytes
0644
N4ST4R_ID | Naxtarrr