Server IP : 170.150.155.74 / Your IP : 18.220.233.2 Web Server : Apache/2.4.53 (Debian) System : Linux b22bf132354b 5.4.0-162-generic #179-Ubuntu SMP Mon Aug 14 08:51:31 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/themes/neve/inc/admin/dashboard/ |
Upload File : |
<?php /** * Plugin Action Helper * * @package Neve\Admin\Dashboard */ namespace Neve\Admin\Dashboard; /** * Class Plugin_Helper * * @package Neve\Admin\Dashboard */ class Plugin_Helper { /** * Check plugin state. * * @param string $slug - plugin slug. * * @return string */ public function get_plugin_state( $slug ) { $plugin_link_suffix = $this->get_plugin_path( $slug ); if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_link_suffix ) ) { return is_plugin_active( $plugin_link_suffix ) ? 'deactivate' : 'activate'; } return 'install'; } /** * Get plugin path based on plugin slug. * * @param string $slug - plugin slug. * * @return string */ public function get_plugin_path( $slug ) { switch ( $slug ) { case 'mailin': return $slug . '/sendinblue.php'; case 'wpforms-lite': return $slug . '/wpforms.php'; case 'intergeo-maps': case 'visualizer': case 'translatepress-multilingual': return $slug . '/index.php'; case 'beaver-builder-lite-version': return $slug . '/fl-builder.php'; case 'adblock-notify-by-bweb': return $slug . '/adblock-notify.php'; case 'feedzy-rss-feeds': return $slug . '/feedzy-rss-feed.php'; default: return $slug . '/' . $slug . '.php'; } } /** * Call plugin api * * @param string $slug plugin slug. * * @return object */ public function get_plugin_details( $slug ) { include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; return plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'downloaded' => false, 'rating' => false, 'description' => false, 'short_description' => true, 'donate_link' => false, 'tags' => false, 'sections' => false, 'homepage' => false, 'added' => false, 'last_updated' => false, 'compatibility' => false, 'tested' => false, 'requires' => false, 'downloadlink' => false, 'icons' => false, 'banners' => true, ), ) ); } /** * Get Plugin Action link. * * @param string $slug plugin slug. * @param string $action action [activate, deactivate]. * @return string */ public function get_plugin_action_link( $slug, $action = 'activate' ) { if ( ! in_array( $action, [ 'activate', 'deactivate' ] ) ) { return ''; } return add_query_arg( array( 'action' => $action, 'plugin' => rawurlencode( $this->get_plugin_path( $slug ) ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( $action . '-plugin_' . $this->get_plugin_path( $slug ) ), ), esc_url( network_admin_url( 'plugins.php' ) ) ); } /** * Get plugin version. * * @param string $slug plugin slug. * @return string | bool */ public function get_plugin_version( $slug, $default = false ) { $plugin_file = $this->get_plugin_path( $slug ); if ( ! is_plugin_active( $plugin_file ) ) { return $default; } $plugin_data = get_plugin_data( ABSPATH . 'wp-content/plugins/' . $plugin_file ); if ( ! empty( $plugin_data ) && array_key_exists( 'Version', $plugin_data ) ) { return $plugin_data['Version']; } return $default; } }