![]() Server : LiteSpeed System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : claqxcrl ( 523) PHP Version : 8.1.32 Disable Function : NONE Directory : /home/claqxcrl/www/wp-content/themes/newsup/inc/ansar/admin/ |
<?php /** * Plugin install helper. * * @package Newsup */ /** * Class Newsup_Getting_Started_Page_Plugin_Helper * * @package Newsup */ class Newsup_Getting_Started_Page_Plugin_Helper { /** * Instance of class. * * @var bool $instance instance variable. */ private static $instance; /** * Check if instance already exists. * * @return Newsup_Getting_Started_Page_Plugin_Helper; */ public static function instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Newsup_Getting_Started_Page_Plugin_Helper ) ) { self::$instance = new Newsup_Getting_Started_Page_Plugin_Helper(); } return self::$instance; } /** * Get plugin path based on plugin slug. * * @param string $slug - plugin slug. * * @return string */ public static function get_plugin_path( $slug ) { switch ( $slug ) { case 'contact-form-7': return $slug . '/' . 'wp-' . $slug . '.php'; break; default: return $slug . '/' . $slug . '.php'; } } /** * Generate action button html. * * @param string $slug plugin slug. * @param array $settings button settings. * * @return string */ public function get_button_html( $slug, $settings = array() ) { $button = ''; $redirect = ''; if ( ! empty( $settings ) && array_key_exists( 'redirect', $settings ) ) { $redirect = $settings['redirect']; } $state = $this->check_plugin_state( $slug ); if ( empty( $slug ) ) { return ''; } $additional = ''; if ( $state === 'deactivate' ) { $additional = ' action_button active'; } $button .= '<div class=" plugin-card-' . esc_attr( $slug ) . esc_attr( $additional ) . '" style="padding: 8px 0 5px;">'; $plugin_link_suffix = self::get_plugin_path( $slug ); $nonce = add_query_arg( array( 'action' => 'activate', 'plugin' => rawurlencode( $plugin_link_suffix ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_link_suffix ), ), network_admin_url( 'plugins.php' ) ); switch ( $state ) { case 'install': $button .= '<a data-redirect="' . esc_url( $redirect ) . '" data-slug="' . esc_attr( $slug ) . '" class="install-now button " href="' . esc_url( $nonce ) . '" data-name="' . esc_attr( $slug ) . '" aria-label="Install ' . esc_attr( $slug ) . '">' . __( 'Install and activate', 'newsup' ) . '</a>'; break; case 'activate': $button .= '<a data-redirect="' . esc_url( $redirect ) . '" data-slug="' . esc_attr( $slug ) . '" class="activate-now button button-primary" href="' . esc_url( $nonce ) . '" aria-label="Activate ' . esc_attr( $slug ) . '">' . esc_html__( 'Activate', 'newsup' ) . '</a>'; break; case 'deactivate': $nonce = add_query_arg( array( 'action' => 'deactivate', 'plugin' => rawurlencode( $plugin_link_suffix ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( 'deactivate-plugin_' . $plugin_link_suffix ), ), network_admin_url( 'plugins.php' ) ); $button .= '<a data-redirect="' . esc_url( $redirect ) . '" data-slug="' . esc_attr( $slug ) . '" class="deactivate-now button" href="' . esc_url( $nonce ) . '" data-name="' . esc_attr( $slug ) . '" aria-label="Deactivate ' . esc_attr( $slug ) . '">' . esc_html__( 'Deactivate', 'newsup' ) . '</a>'; break; }// End switch(). $button .= '</div>'; return $button; } /** * Check plugin state. * * @param string $slug - plugin slug. * * @return bool */ public function check_plugin_state( $slug ) { $plugin_link_suffix = self::get_plugin_path( $slug ); if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_link_suffix ) ) { $needs = is_plugin_active( $plugin_link_suffix ) ? 'deactivate' : 'activate'; if ( $needs === 'deactivate' && ! post_type_exists( 'portfolio' ) && $slug === 'jetpack' ) { return 'enable_cpt'; } return $needs; } else { return 'install'; } } }