whoami7 - Manager
:
/
home
/
techyfnq
/
public_html
/
wp-content
/
plugins
/
newsletter
/
widget
/
Upload File:
files >> //home/techyfnq/public_html/wp-content/plugins/newsletter/widget/standard.php
<?php defined('ABSPATH') || exit; /** * Newsletter widget version 2.0: it'll replace the old version left for compatibility. */ class NewsletterWidget extends WP_Widget { function __construct() { parent::__construct(false, $name = 'Newsletter', array('description' => 'Newsletter widget to add subscription forms on sidebars'), array('width' => '350px')); } static function get_widget_form($instance) { if (!isset($instance['nl']) || !is_array($instance['nl'])) { $instance['nl'] = []; } $instance = array_merge(array('lists_layout' => '', 'lists_empty_label' => '', 'lists_field_label' => ''), $instance); $form = ''; $form .= NewsletterSubscription::instance()->get_subscription_form('widget', null, array( 'referrer' => 'widget', 'class' => 'tnp-widget', 'lists' => implode(',', $instance['nl']), 'lists_field_layout' => $instance['lists_layout'], 'lists_field_empty_label' => $instance['lists_empty_label'], 'lists_field_label' => $instance['lists_field_label'], 'show_labels' => isset($instance['hide_labels']) ? 'false' : 'true' )); return $form; } function widget($args, $instance) { $newsletter = Newsletter::instance(); if (empty($instance)) { $instance = []; } $instance = array_merge(['text' => '', 'title' => ''], $instance); echo $args['before_widget']; // Filters are used for WPML if (!empty($instance['title'])) { echo $args['before_title'] . esc_html(apply_filters('widget_title', $instance['title'], $instance, $this->id_base)) . $args['after_title']; } $buffer = apply_filters('widget_text', $instance['text'], $instance); if (stripos($instance['text'], '<form') === false) { $form = NewsletterWidget::get_widget_form($instance); // Canot user directly the replace, since the form is different on the widget... if (strpos($buffer, '{subscription_form}') !== false) $buffer = str_replace('{subscription_form}', $form, $buffer); else { if (strpos($buffer, '{subscription_form_') !== false) { // TODO: Optimize with a method to replace only the custom forms $buffer = $newsletter->replace($buffer, null, null, 'page'); } else { $buffer .= $form; } } } else { $buffer = str_ireplace('<form', '<form method="post" action="' . esc_attr($newsletter->get_subscribe_url()) . '"', $buffer); $buffer = str_ireplace('</form>', '<input type="hidden" name="nr" value="widget"/></form>', $buffer); } // That replace all the remaining tags $buffer = $newsletter->replace($buffer, null, null, 'page'); echo $buffer; echo $args['after_widget']; } function update($new_instance, $old_instance) { $new_instance = wp_kses_post_deep($new_instance); return $new_instance; } function form($instance) { if (!is_array($instance)) { $instance = array(); } $instance = array_merge(array('title' => '', 'text' => '', 'lists_layout' => '', 'lists_empty_label' => '', 'lists_field_label' => ''), $instance); $options_profile = get_option('newsletter_profile'); if (!isset($instance['nl']) || !is_array($instance['nl'])) $instance['nl'] = []; ?> <p> <label for="<?php echo esc_attr($this->get_field_id('title')); ?>"> <?php esc_html_e('Title') ?>: <input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>" name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo esc_attr($instance['title']); ?>" /> </label> <br> <label for="<?php echo esc_attr($this->get_field_id('text')); ?>"> Introduction: <textarea class="widefat" rows="10" cols="20" id="<?php echo esc_attr($this->get_field_id('text')); ?>" name="<?php echo esc_attr($this->get_field_name('text')); ?>"><?php echo esc_html($instance['text']); ?></textarea> </label> <br> <label for="<?php echo esc_attr($this->get_field_id('hide_labels')); ?>"> <input type="checkbox" id="<?php echo esc_attr($this->get_field_id('hide_labels')); ?>" value="1" name="<?php echo esc_attr($this->get_field_name('hide_labels')); ?>" <?php echo isset($instance['hide_labels']) ? 'checked' : '' ?>> Hide the field labels </label> <br> <label> Show lists as: <select name="<?php echo esc_attr($this->get_field_name('lists_layout')); ?>" id="<?php echo esc_attr($this->get_field_id('lists_layout')); ?>" style="width: 100%"> <option value="">Checkboxes</option> <option value="dropdown" <?php echo $instance['lists_layout'] == 'dropdown' ? 'selected' : '' ?>>Dropdown</option> </select> </label> <br> <label for="<?php echo esc_attr($this->get_field_id('lists_empty_label')); ?>"> First dropdown entry label: <input class="widefat" id="<?php echo esc_attr($this->get_field_id('lists_empty_label')); ?>" name="<?php echo esc_attr($this->get_field_name('lists_empty_label')); ?>" type="text" value="<?php echo esc_attr($instance['lists_empty_label']); ?>" /> </label> <br> <label for="<?php echo esc_attr($this->get_field_id('lists_field_label')); ?>"> Lists field label: <input class="widefat" id="<?php echo esc_attr($this->get_field_id('lists_field_label')); ?>" name="<?php echo esc_attr($this->get_field_name('lists_field_label')); ?>" type="text" value="<?php echo esc_attr($instance['lists_field_label']); ?>" /> </label> <br><br> <?php esc_html_e('Automatically subscribe to', 'newsletter') ?> <br> <?php $lists = Newsletter::instance()->get_lists_public(); foreach ($lists as $list) { ?> <label for="nl<?php echo (int) $list->id ?>"> <input type="checkbox" value="<?php echo (int) $list->id ?>" name="<?php echo esc_attr($this->get_field_name('nl[]')); ?>" <?php echo array_search($list->id, $instance['nl']) !== false ? 'checked' : '' ?>> <?php echo esc_html($list->name) ?> </label> <br> <?php } ?> <br> </p> <p> Use the tag {subscription_form} to place the subscription form within your personal text. </p> <?php return ''; } } add_action('widgets_init', function () { return register_widget("NewsletterWidget"); });
Copyright ©2021 || Defacer Indonesia