| Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/ |
| Current File : /home/x/b/o/xbodynamge/namtation/wp-content/class-hestia-subscribe-info.php.tar |
wp-content/themes/hestia/inc/customizer/controls/ui/subscribe-info/class-hestia-subscribe-info.php 0000644 00000010115 15114566613 0033414 0 ustar 00 home/xbodynamge/www <?php
/**
* Customizer functionality for the Blog settings panel.
*
* @package Hestia
* @since Hestia 1.1.10
*/
if ( ! class_exists( 'WP_Customize_Control' ) ) {
return null;
}
/**
* A custom text control for Subscribe info.
*
* @since Hestia 1.0
*/
class Hestia_Subscribe_Info extends WP_Customize_Control {
/**
* Control id
*
* @var string $id Control id.
*/
public $id = '';
/**
* Check plugin state.
*
* @var string $state Plugin state.
*/
private $state = '';
/**
* Plugin you want to install;
*
* @var string $plugin Plugin slug.
*/
public $plugin = 'mailin';
/**
* Plugin path.
*
* @var string $path Plugin path.
*/
public $path = 'mailin/sendinblue.php';
/**
* Hestia_Subscribe_Info constructor.
*
* @param WP_Customize_Manager $manager Customizer manager.
* @param string $id Control id.
* @param array $args Argument.
*/
public function __construct( $manager, $id, $args = array() ) {
parent::__construct( $manager, $id, $args );
$this->state = $this->check_plugin_state();
$this->id = $id;
}
/**
* Check plugin state.
*
* @return string
*/
private function check_plugin_state() {
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $this->path ) ) {
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
if ( is_plugin_active( $this->path ) ) {
return $this->check_activation();
}
return 'activate';
}
return 'install';
}
/**
* This method check if user registered his account for SIB.
*
* @return string
*/
public function check_activation() {
if ( ! class_exists( 'SIB_Manager' ) ) {
return 'install';
}
if ( SIB_Manager::is_done_validation() == true ) {
return 'configure';
}
return 'create_account';
}
/**
* Enqueue function
*/
public function enqueue() {
if ( $this->state === 'activate' || $this->state === 'install' ) {
Hestia_Plugin_Install_Helper::instance()->enqueue_scripts();
}
}
/**
* Render content for the control.
*
* @since Hestia 1.0
*/
public function render_content() {
$text = '';
$display_button = false;
$sib_account = false;
if ( $this->state === 'install' || $this->state === 'activate' ) {
$text = esc_html__( 'Here is where you must add the "SendinBlue Newsletter" widget. But first, you will need to install SendinBlue plugin.', 'hestia' );
$display_button = true;
$sib_account = false;
}
if ( $this->state === 'create_account' ) {
$text = sprintf(
/* translators: %s Path in plugin wrapped*/
esc_html__( 'After installing the plugin, you need to navigate to %s and configure the plugin.', 'hestia' ),
sprintf(
/* translators: %s Path in plugin*/
'<a target="_blank" href="' . admin_url( 'admin.php?page=sib_page_home' ) . '"><b>%s</b></a>',
esc_html__( 'Sendinblue > Home', 'hestia' )
)
);
$display_button = false;
$sib_account = true;
}
if ( $this->state === 'configure' ) {
$text = sprintf(
esc_html__( 'Here is where you must add the "SendinBlue Newsletter" widget.', 'hestia' ) . ' %s',
sprintf(
'<a target="_blank" href="https://docs.themeisle.com/article/879-how-to-integrate-sendinblue-wordpress-plugin-to-your-website">%s</a>',
esc_html__( 'Read full documentation', 'hestia' )
)
);
$display_button = false;
$sib_account = false;
}
if ( ! empty( $text ) ) {
echo wp_kses_post( $text );
}
if ( $display_button === true ) {
echo $this->create_plugin_install_button( $this->plugin, array( 'redirect' => admin_url( 'customize.php' ) . '?autofocus[control]=' . $this->id ) );
}
if ( $sib_account === true ) {
echo '<br/>';
echo '<a target="_blank" href="http://bit.ly/sibcwp" class="button" style="margin-top: 8px">' . esc_html( 'Create SendinBlue Account', 'hestia-pro' ) . '</a>';
}
}
/**
* Check plugin state.
*
* @param string $slug slug.
*
* @return bool
*/
public function create_plugin_install_button( $slug, $settings = array() ) {
return Hestia_Plugin_Install_Helper::instance()->get_button_html( $slug, $settings );
}
}