/** * Plugin install helper. * * @package Construction_Landing_Page */ /** * Class Construction_Landing_Page_Getting_Started_Page_Plugin_Helper * * @package Construction_Landing_Page_Getting_Started_Page */ class Construction_Landing_Page_Getting_Started_Page_Plugin_Helper { /** * Instance of class. * * @var bool $instance instance variable. */ private static $instance; /** * Check if instance already exists. * * @return Construction_Landing_Page_Getting_Started_Page_Plugin_Helper; */ public static function instance(){ if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Construction_Landing_Page_Getting_Started_Page_Plugin_Helper ) ) { self::$instance = new Construction_Landing_Page_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, $filename ){ return $slug . '/' . $filename; } /** * Generate action button html. * * @param string $slug plugin slug. * @param array $settings button settings. * * @return string */ public function get_button_html( $slug, $filename, $settings = array() ) { $button = ''; $redirect = ''; if ( ! empty( $settings ) && array_key_exists( 'redirect', $settings ) ) { $redirect = $settings['redirect']; } $state = $this->check_plugin_state( $slug, $filename ); if ( empty( $slug ) ) { return ''; } $additional = ''; if ( $state === 'deactivate' ) { $additional = ' action_button active'; } $button .= '
'; $plugin_link_suffix = self::get_plugin_path( $slug, $filename ); $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 .= '' . __( 'Install and activate', 'construction-landing-page' ) . ''; break; case 'activate': $button .= '' . esc_html__( 'Activate', 'construction-landing-page' ) . ''; 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 .= '' . esc_html__( 'Deactivate', 'construction-landing-page' ) . ''; break; case 'enable_cpt': $url = admin_url( 'admin.php?page=jetpack#/settings' ); $button .= '' . esc_html__( 'Activate', 'construction-landing-page' ) . ' ' . esc_html__( 'Jetpack Portfolio', 'construction-landing-page' ) . ''; break; }// End switch(). $button .= '
'; return $button; } /** * Check plugin state. * * @param string $slug - plugin slug. * * @return bool */ public function check_plugin_state( $slug, $filename ){ $plugin_link_suffix = self::get_plugin_path( $slug, $filename ); 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'; } } }
Skip to content (Press Enter)
DC Excavation Inc

DC Excavation Inc

25 years industry experience

  • Home
  • Services
  • Projects
  • Meet the Team
  • 5412865271
DC Excavation Inc

DC Excavation Inc

25 years industry experience

  • Home
  • Services
  • Projects
  • Meet the Team
  • 5412865271

Category: onlinecasinoslot22

Discover the Thrills of Joker’s Ace Casino Online Games

Posted by Jami Vromanonlinecasinoslot22Posted on January 12, 2026Leave a Comment on Discover the Thrills of Joker’s Ace Casino Online Games

Welcome to the thrilling universe of online gaming at Joker’s Ace Casino Online Games Joker’s Ace casino UK, where every …

Continue Reading

Explore the Thrills of Jokabet Casino Your Ultimate Gaming Destination

Posted by Jami Vromanonlinecasinoslot22Posted on January 12, 2026Leave a Comment on Explore the Thrills of Jokabet Casino Your Ultimate Gaming Destination

Welcome to the exhilarating realm of Jokabet Casino, where thrilling gaming experiences await every player. As you embark on this …

Continue Reading
© Copyright 2026 DC Excavation Inc
Construction Landing Page | Developed By Rara Theme Powered by WordPress