Server IP : 172.67.214.6 / Your IP : 216.73.216.73 Web Server : LiteSpeed System : Linux premium900.web-hosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : redwjova ( 1790) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/redwjova/fyntric.com/wp-content/themes/smart-mag/inc/admin/ |
Upload File : |
<?php /** * Dashboard plugins - extends TGMPA to move optional plugins to a separate table. */ class Bunyad_Theme_Admin_DashPlugins { public function __construct() { add_action('tgmpa_after_install_plugins_page', array($this, 'display')); } public function display($tgmpa) { $table = new Bunyad_Theme_Admin_DashPluginsTable; $table->view_context = 'all-registered'; $plugins = $table->gather_plugin_data(); $optionals = $table->optional_plugins; $hidden = $table->hidden_plugins; // Only optional and non-hidden plugins here. $plugins = array_filter($plugins, function($plugin) use ($optionals, $hidden) { return !in_array($plugin['slug'], $hidden) && in_array($plugin['slug'], $optionals); }); if (!count($plugins)) { return; } ?> <div class="ts-dash-plugins"> <h3>Optional & Advanced Plugins</h3> <p>The following plugins are advanced and may affect performance if not configured properly. Only install the following plugins if you're sure you need them. <a href="https://theme-sphere.com/docs/smartmag/#optional-plugins" target="_blank">Learn More</a></p> <table class="wp-list-table widefat fixed"> <thead> <tr> <th class="manage-column column-plugin column-primary">Plugin</th> <th class="manage-column column-source">Source</th> <th scope="col" id="type" class="manage-column column-type">Type</th> <!-- <th scope="col" id="version" class="manage-column column-version">Version</th> --> <th scope="col" id="status" class="manage-column column-status">Status</th> </tr> </thead> <?php foreach ($plugins as $plugin): ?> <tr> <td class="plugin column-plugin has-row-actions column-primary"><?php echo $table->column_plugin($plugin); // phpcs:ignore WordPress.Security.EscapeOutput -- Safe from TGMPA_List_Table ?></td> <td class="source column-source"><?php echo esc_html($plugin['source']); ?></td> <td class="type column-type">Optional</td> <!-- <td class="version column-version"><?php // $table->column_version($plugin); ?></td> --> <td class="status column-status"><?php echo esc_html($plugin['status']); if (strstr($plugin['status'], 'Update')) { echo '<hr />'; echo $table->column_version($plugin); // phpcs:ignore WordPress.Security.EscapeOutput -- Safe from TGMPA_List_Table } ?></td> </tr> <?php endforeach; ?> </table> </div> <?php } } if (class_exists('TGMPA_List_Table')) { class Bunyad_Theme_Admin_DashPluginsTable extends TGMPA_List_Table { public $optional_plugins = []; /** * Unlisted plugins only added for installation helper of demo importer. * * @var array */ public $hidden_plugins = []; public function __construct() { parent::__construct(); // Collect optional and hidden plugin ids. foreach ($this->tgmpa->plugins as $plugin) { if (!empty($plugin['optional'])) { $this->optional_plugins[] = $plugin['slug']; } if (!empty($plugin['hidden'])) { $this->hidden_plugins[] = $plugin['slug']; } } } /** * Extend bulk actions process to account for activations. */ public function process_bulk_actions() { $installed = false; $to_activate = false; if ('tgmpa-bulk-install' === $this->current_action() && !empty($_POST['plugin'])) { $plugins = (array) $_POST['plugin']; foreach ($plugins as $plugin) { if (!$this->tgmpa->is_plugin_active($plugin)) { $to_activate = true; break; } } // Install the plugins normally. $_POST will be mutated, so store original. $orig_post = $_POST; $installed = parent::process_bulk_actions(); // If the intention is to install for inactive plugins, assume they should be activated. if ($to_activate) { $_REQUEST['action'] = 'tgmpa-bulk-activate'; $_POST = $orig_post; } } parent::process_bulk_actions(); // Plugins had to be activated but nothing was installed. if (!$installed && $to_activate) { echo '<p><a href="' . esc_url( $this->tgmpa->get_tgmpa_url() ) . '" target="_parent">' . esc_html( $this->tgmpa->strings['return'] ) . '</a></p>'; return true; } } /** * Add additional categories compared to default and add optional plugins to * 'update' and 'all-registered' context only. Add to 'all' only if there's a * an update and the plugin is already installed. */ protected function categorize_plugins_to_views() { $plugins = array( 'all-registered' => array(), 'all' => array(), 'install' => array(), 'update' => array(), 'activate' => array(), ); foreach ($this->tgmpa->plugins as $slug => $plugin) { $is_installed = $this->tgmpa->is_plugin_installed($slug); $is_active = $this->tgmpa->is_plugin_active($slug); $has_update = $this->tgmpa->does_plugin_have_update($slug); if ($is_active && false === $has_update) { // No need to display plugins if they are installed, up-to-date and active. continue; } $plugins['all-registered'][$slug] = $plugin; // Add to all if it's not an optional plugin, or if an optional active plugin has an update. if (empty($plugin['optional']) || ($is_active && $has_update)) { $plugins['all'][ $slug ] = $plugin; } if (!$is_installed) { if (empty($plugin['optional'])) { $plugins['install'][ $slug ] = $plugin; } } else { if ($is_active && $has_update) { $plugins['update'][ $slug ] = $plugin; } if (empty($plugin['optional']) && $this->tgmpa->can_plugin_activate($slug)) { $plugins['activate'][ $slug ] = $plugin; } } } return $plugins; } /** * Gather data; public. */ public function gather_plugin_data() { return $this->_gather_plugin_data(); } } } // init and make available in Bunyad::get('admin_dash_plugins') Bunyad::register('admin_dash_plugins', array( 'class' => 'Bunyad_Theme_Admin_DashPlugins', 'init' => true ));