| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/hotelzm.com/wp-content/plugins/newsletter/widget/ |
Upload File : |
<?php
defined('ABSPATH') || exit;
if (version_compare(phpversion(), '5.3', '<')) {
return;
}
class NewsletterWidgetMinimal extends WP_Widget {
function __construct() {
parent::__construct(false, $name = 'Newsletter Minimal', array('description' => 'Newsletter widget to add a minimal subscription form'), array('width' => '350px'));
}
function widget($args, $instance) {
$newsletter = Newsletter::instance();
$current_language = $newsletter->get_current_language();
extract($args);
echo $before_widget;
if (!is_array($instance)) {
$instance = array();
}
// Filters are used for WPML
if (!empty($instance['title'])) {
$title = apply_filters('widget_title', $instance['title'], $instance);
echo $before_title . $title . $after_title;
}
$options_profile = NewsletterSubscription::instance()->get_options('profile', $current_language);
if (empty($instance['button'])) {
$instance['button'] = $options_profile['subscribe'];
}
$form = '<div class="tnp tnp-widget-minimal">';
$form .= '<form class="tnp-form" action="' . $newsletter->build_action_url('s') . '" method="post">';
if (isset($instance['nl']) && is_array($instance['nl'])) {
foreach ($instance['nl'] as $a) {
$form .= "<input type='hidden' name='nl[]' value='" . ((int) trim($a)) . "'>\n";
}
}
// Referrer
$form .= '<input type="hidden" name="nr" value="widget-minimal"/>';
$form .= '<input class="tnp-email" type="email" required name="ne" value="" placeholder="' . esc_attr($options_profile['email']) . '">';
$form .= '<input class="tnp-submit" type="submit" value="' . esc_attr($instance['button']) . '">';
$form .= '</form></div>';
echo $form;
echo $after_widget;
}
function update($new_instance, $old_instance) {
return $new_instance;
}
function form($instance) {
if (!is_array($instance)) {
$instance = array();
}
$newsletter = Newsletter::instance();
$current_language = $newsletter->get_current_language();
$profile_options = NewsletterSubscription::instance()->get_options('profile', $current_language);
$instance = array_merge(array('title' => '', 'text' => '', 'button' => $profile_options['subscribe'], 'nl' => array()), $instance);
if (!is_array($instance['nl'])) {
$instance['nl'] = array();
}
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>">
Title:
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($instance['title']); ?>">
</label>
<label for="<?php echo $this->get_field_id('button'); ?>">
Button label:
<input class="widefat" id="<?php echo $this->get_field_id('button'); ?>" name="<?php echo $this->get_field_name('button'); ?>" type="text" value="<?php echo esc_attr($instance['button']); ?>">
Use a short one!
</label>
</p>
<p>
<?php _e('Automatically subscribe to', 'newsletter') ?>
<br>
<?php
$lists = Newsletter::instance()->get_lists_public();
foreach ($lists as $list) {
?>
<label for="nl<?php echo $list->id ?>">
<input type="checkbox" value="<?php echo $list->id ?>" name="<?php echo $this->get_field_name('nl[]') ?>" <?php echo array_search($list->id, $instance['nl']) !== false ? 'checked' : '' ?>> <?php echo esc_html($list->name) ?>
</label>
<br>
<?php } ?>
</p>
<?php
}
}
add_action('widgets_init', function() {
return register_widget("NewsletterWidgetMinimal");
});