/**
* 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';
}
}
}
Comments on: Finest ten A 실질 소득 온라인 카지노 및 게임 인터넷 사이트 Usa 2025
http://www.dcexcavationinc.com/uncategorized/finest-ten-a-%ec%8b%a4%ec%a7%88-%ec%86%8c%eb%93%9d-%ec%98%a8%eb%9d%bc%ec%9d%b8-%ec%b9%b4%ec%a7%80%eb%85%b8-%eb%b0%8f-%ea%b2%8c%ec%9e%84-%ec%9d%b8%ed%84%b0%eb%84%b7-%ec%82%ac%ec%9d%b4%ed%8a%b8-usa-2025/
25 years industry experience
Tue, 06 Jan 2026 21:33:05 +0000
hourly
1
https://wordpress.org/?v=5.7.14