/home3/bmscom/webinar.bmice.com/wp-content/plugins/webinar-ignition/inc/wi-admin-functions.php
<?php defined( 'ABSPATH' ) || exit;
add_action('admin_enqueue_scripts', 'webinarignition_enqueue_admin_scripts');
function webinarignition_enqueue_admin_scripts($hook) {
wp_enqueue_script( 'webinarignition-admin-notice-js', WEBINARIGNITION_URL . 'inc/js/admin-notice.js', array('jquery'), '1.0.0', true );
wp_localize_script( 'webinarignition-admin-notice-js', 'wi_notice_var', array(
'ajaxurl' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('webinarignition-notice')
));
$assets = WEBINARIGNITION_URL . "inc/lp/";
$current_screen = get_current_screen();
if(
($current_screen->base === 'webinarignition_page_webinarignition_settings') ||
( $current_screen->base === 'webinarignition_page_webinarignition_welcome' ) ||
( $current_screen->base === 'webinarignition_page_webinarignition_changelog' )
):
wp_enqueue_style( 'webinarignition-admin', WEBINARIGNITION_URL . 'css/webinarignition-admin.css', [], '2.2.9' );
endif;
wp_enqueue_media();
if( isset( $_GET['id'] ) ){
$webinar_data = WebinarignitionManager::get_webinar_data( $_GET['id'] );
if ( !empty( $webinar_data->webinar_lang ) ) {
$applang = $webinar_data->webinar_lang;
switch_to_locale( $applang );
unload_textdomain( 'webinarignition' );
load_textdomain( 'webinarignition', WEBINARIGNITION_PATH . 'languages/webinarignition-' . $applang . '.mo' );
}
}
if ( $current_screen->base === 'toplevel_page_webinarignition-dashboard' ):
//<head> css
wp_enqueue_style( 'google-font', '//fonts.googleapis.com/css?family=Source+Sans+Pro:400,600' );
wp_enqueue_style( 'webinarignition-admin', WEBINARIGNITION_URL . 'css/webinarignition-admin.css', [], '2.0.84-' . time() );
wp_enqueue_script('wp-color-picker');
wp_enqueue_style( 'wp-color-picker' );
wp_add_inline_script(
'wp-color-picker',
'jQuery( function() {
jQuery( ".cp-picker" ).wpColorPicker({
clear: function() {
jQuery(this).prev().find(\'.cp-picker\').val( \'transparent\' );
}
});
} );'
);
wp_enqueue_script( 'webinarignition-admin-js', WEBINARIGNITION_URL . 'inc/js/webinarignition-admin.js', ['jquery', 'jquery-ui-sortable'], '2.0.1-' . time(), false );
wp_enqueue_editor();
wp_enqueue_script( 'webinarignition_moment', WEBINARIGNITION_URL . 'inc/js/moment/moment-with-locales.min.js' );
wp_enqueue_script( 'webinarignition_moment_tz', WEBINARIGNITION_URL . 'inc/js/moment/moment-timezone-with-data-10-year-range.min.js' );
wp_enqueue_script( 'webinarignition-admin-custom-js', WEBINARIGNITION_URL . 'inc/js/webinarignition-admin-custom.js', ['webinarignition-admin-js'], '2.0.1-' . time(), true );
$privacy_policy_link = get_privacy_policy_url();
$privacy_policy = '<a href="'.$privacy_policy_link.'" target="_blank">'.__( "Privacy Policy", "webinarignition").'</a>';
wp_localize_script( 'webinarignition-admin-custom-js', 'webinarignitionTranslations', array(
'wpMediaImgTitle' => __( 'Insert image', 'webinarignition' ),
'wpMediaImgButtonText' => __( 'Use this image', 'webinarignition' ),
'wpMediaVidTitle' => __( 'Insert video', 'webinarignition' ),
'wpMediaVidButtonText' => __( 'Use this video', 'webinarignition' ),
'someWrong' => __( 'Something went wrong', 'webinarignition' ),
'monthsArray' => WiDateHelpers::get_locale_months(),
'weekdaysFull' => WiDateHelpers::get_locale_days(),
'weekdaysShort' => WiDateHelpers::get_locale_weekday_abbrev(),
'today' => __( 'Today', 'webinarignition' ),
'clear' => __( 'clear', 'webinarignition' ),
'close' => __( 'close', 'webinarignition' ),
'mailingList' => __( 'Want to be added to our mailing list', 'webinarignition' ),
'privacyPolicy' => __( 'Understand our', 'webinarignition' ) . ' ' . $privacy_policy,
'termsAndConditions' => __( 'Agree to our <a href="https://example.com" target="_blank">Terms and Conditions</a>', 'webinarignition' )
) );
endif;
if ( !empty( $webinar_data ) && !empty( $webinar_data->webinar_lang ) ) { restore_previous_locale(); }
}
function webinarignition_test_smtp_phpmailer( $webinarignition_smtp_host, $webinarignition_smtp_port, $webinarignition_smtp_user, $webinarignition_smtp_pass){
$return_array = [];
global $phpmailer;
if ( ! ( $phpmailer instanceof PHPMailer\PHPMailer\PHPMailer ) ) {
require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php';
require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php';
require_once ABSPATH . WPINC . '/PHPMailer/Exception.php';
$phpmailer = new PHPMailer\PHPMailer\PHPMailer( true );
}
/*SMTP Test: See https://github.com/PHPMailer/PHPMailer/blob/master/examples/smtp_check.phps*/
date_default_timezone_set('Etc/UTC');
$smtp = $phpmailer->getSMTPInstance();
try {
//Connect to an SMTP server
if (!$smtp->connect($webinarignition_smtp_host, $webinarignition_smtp_port)) {
throw new Exception(__( 'SMTP Connection Test Failed.', "webinarignition"));
}
//Say hello
if (!$smtp->hello(gethostname())) {
throw new Exception( __( 'EHLO failed: ', "webinarignition") . $smtp->getError()['error']);
}
//Get the list of ESMTP services the server offers
$e = $smtp->getServerExtList();
//If server can do TLS encryption, use it
if (is_array($e) && array_key_exists('STARTTLS', $e)) {
$tlsok = $smtp->startTLS();
if (!$tlsok) {
throw new Exception( __( 'Failed to start encryption: ', "webinarignition") . $smtp->getError()['error']);
}
//Repeat EHLO after STARTTLS
if (!$smtp->hello(gethostname())) {
throw new Exception( __( 'EHLO (2) failed: ', "webinarignition") . $smtp->getError()['error']);
}
//Get new capabilities list, which will usually now include AUTH if it didn't before
$e = $smtp->getServerExtList();
}
//If server supports authentication, do it (even if no encryption)
if (is_array($e) && array_key_exists('AUTH', $e)) {
if ($smtp->authenticate($webinarignition_smtp_user, $webinarignition_smtp_pass)) {
$return_array['message'] = __( 'SMTP Connection Test Successful!', "webinarignition");
$return_array['status'] = 1;
} else {
throw new Exception( __( 'Authentication failed: ', "webinarignition") . $smtp->getError()['error']);
}
}
} catch (Exception $e) {
$return_array['message'] = __( 'SMTP error: ', "webinarignition") . $e->getMessage();
$return_array['status'] = 0;
}
$smtp->quit();
return $return_array;
}
/**
* Check if saved Webinarignition SMTP settings are still valid. If not, disable them.
*
*/
function webinarignition_test_smtp_options() {
$option_smtp_host = get_option( 'webinarignition_smtp_host' );
$option_smtp_port = get_option( 'webinarignition_smtp_port' );
$option_smtp_user = get_option( 'webinarignition_smtp_user' );
$option_smtp_pass = get_option( 'webinarignition_smtp_pass' );
$can_use_smtp = get_option( 'webinarignition_smtp_connect' );
if( !empty( $can_use_smtp ) && !empty( $option_smtp_host ) && !empty( $option_smtp_port ) && !empty( $option_smtp_user ) && !empty( $option_smtp_pass ) && !empty($can_use_smtp) ){
$smtp_test_results_array = webinarignition_test_smtp_phpmailer( $option_smtp_host, $option_smtp_port, $option_smtp_user, $option_smtp_pass );
if( is_array($smtp_test_results_array) && isset($smtp_test_results_array['status'] ) && ( $smtp_test_results_array['status'] == 0 ) ){
update_option( 'webinarignition_smtp_connect', 0 ); //don't use wi smtp settings
update_option( 'webinarignition_smtp_credentials_failed', 1 ); //show global smtp-failed notice
return false;
}
}
}
function webinarignition_display_only_ultimate_upgrade($statusCheck, $webinar_data = null) {
?>
<p><?php echo __( "Available only in Ultimate version.", 'webinarignition' ); ?></p>
<?php
webinarignition_display_upgrade_buttons($statusCheck);
}
function webinarignition_display_upgrade_buttons($statusCheck) {
if (!empty($statusCheck->upgrade_url)) {
?>
<a href="<?php echo $statusCheck->upgrade_url; ?>" class="btn btn-success">
<?php _e( 'Upgrade', 'webinarignition' ); ?>
</a>
<a href="https://webinarignition.com/#pricing" target="_blank" class="btn btn-warning">
<?php _e( 'Compare', 'webinarignition' ); ?>
</a>
<?php
}
if (!empty($statusCheck->trial_url)) {
?>
<a href="<?php echo $statusCheck->trial_url; ?>&plan_name=ultimate_powerup&checkout=true" class="btn btn-info">
<?php _e( 'Try 30 days trial', 'webinarignition' ); ?>
</a>
<?php
}
}