| Linux webm007.cluster106.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 Path : /home/eglisebaa/www/wp-content/themes/hallelujah/includes/plugins-installer/ |
| Current File : /home/eglisebaa/www/wp-content/themes/hallelujah/includes/plugins-installer/plugins-installer.php |
<?php
/**
* Plugin install helper.
*
* @package WordPress
* @subpackage HALLELUJAH
* @since HALLELUJAH 1.0.31
*/
// Return button (link) to install/activate plugin
if ( ! function_exists( 'hallelujah_plugins_installer_get_button_html' ) ) {
function hallelujah_plugins_installer_get_button_html( $slug, $show = true ) {
$output = '';
if ( ! empty( $slug ) ) {
$state = hallelujah_plugins_installer_check_plugin_state( $slug );
switch ( $state ) {
case 'install':
if ( class_exists( 'TGM_Plugin_Activation' ) ) {
$instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
$nonce = wp_nonce_url(
add_query_arg(
array(
'plugin' => urlencode( $slug ),
'tgmpa-install' => 'install-plugin',
),
$instance->get_tgmpa_url()
),
'tgmpa-install',
'tgmpa-nonce'
);
} else {
$nonce = wp_nonce_url(
add_query_arg(
array(
'action' => 'install-plugin',
'from' => 'import',
'plugin' => urlencode( $slug ),
),
network_admin_url( 'update.php' )
),
'install-plugin_' . trim( $slug )
);
}
$output .= '<a class="hallelujah_about_block_link hallelujah_plugins_installer_link button button-primary install-now"'
. ' href="' . esc_url( $nonce ) . '"'
. ' data-slug="' . esc_attr( $slug ) . '"'
. ' data-name="' . esc_attr( $slug ) . '"'
. ' data-processing="' . esc_attr__( 'Installing ...', 'hallelujah' ) . '"'
// Translators: Add the plugin's slug to the 'aria-label'
. ' aria-label="' . esc_attr( sprintf( __( 'Install %s', 'hallelujah' ), $slug ) ) . '"'
. '>'
. esc_html__( 'Install', 'hallelujah' )
. '</a>';
break;
case 'activate':
if ( class_exists( 'TGM_Plugin_Activation' ) ) {
$instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
$nonce = wp_nonce_url(
add_query_arg(
array(
'plugin' => urlencode( $slug ),
'tgmpa-activate' => 'activate-plugin',
),
$instance->get_tgmpa_url()
),
'tgmpa-activate',
'tgmpa-nonce'
);
} else {
$plugin_link = $slug . '/' . $slug . '.php';
$nonce = add_query_arg(
array(
'action' => 'activate',
'plugin' => rawurlencode( $plugin_link ),
'plugin_status' => 'all',
'paged' => '1',
'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_link ),
),
network_admin_url( 'plugins.php' )
);
}
$output .= '<a class="hallelujah_about_block_link hallelujah_plugins_installer_link button button-primary activate-now"'
. ' href="' . esc_url( $nonce ) . '"'
. ' data-slug="' . esc_attr( $slug ) . '"'
. ' data-name="' . esc_attr( $slug ) . '"'
. ' data-processing="' . esc_attr__( 'Activating ...', 'hallelujah' ) . '"'
// Translators: Add the plugin's slug to the 'aria-label'
. ' aria-label="' . esc_attr( sprintf( __( 'Activate %s', 'hallelujah' ), $slug ) ) . '"'
. '>'
. esc_html__( 'Activate', 'hallelujah' )
. '</a>';
break;
}
}
if ( $show ) {
hallelujah_show_layout( $output );
}
return $output;
}
}
// Return plugin's state
if ( ! function_exists( 'hallelujah_plugins_installer_check_plugin_state' ) ) {
function hallelujah_plugins_installer_check_plugin_state( $slug ) {
$state = 'install';
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $slug . '/' . $slug . '.php' ) ) {
$state = is_plugin_inactive( $slug . '/' . $slug . '.php' ) ? 'activate' : 'deactivate';
} elseif ( file_exists( ABSPATH . 'wp-content/plugins/' . $slug . '/index.php' ) ) {
$state = is_plugin_inactive( $slug . '/index.php' ) ? 'activate' : 'deactivate';
}
return $state;
}
}
// Enqueue scripts
if ( ! function_exists( 'hallelujah_plugins_installer_enqueue_scripts' ) ) {
function hallelujah_plugins_installer_enqueue_scripts() {
wp_enqueue_script( 'plugin-install' );
wp_enqueue_script( 'updates' );
wp_enqueue_script( 'hallelujah-plugins-installer', hallelujah_get_file_url( 'includes/plugins-installer/plugins-installer.js' ), array( 'jquery' ), null, true );
}
}