| Server IP : 34.67.85.211 / Your IP : 216.73.217.52 Web Server : Apache System : Linux wordpress-1-vm 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 User : root ( 0) PHP Version : 7.4.9 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/mailchimp-for-wp/includes/forms/ |
Upload File : |
<?php
defined( 'ABSPATH' ) or exit;
/**
* Adds MC4WP_Widget widget.
*
* @ignore
*/
class MC4WP_Form_Widget extends WP_Widget {
/**
* @var array
*/
private $default_instance_settings = array(
'title' => '',
'form_id' => '',
);
/**
* Register widget with WordPress.
*/
public function __construct() {
// translate default widget title
$this->default_instance_settings['title'] = __( 'Newsletter', 'mailchimp-for-wp' );
parent::__construct(
'mc4wp_form_widget', // Base ID
__( 'Mailchimp Sign-Up Form', 'mailchimp-for-wp' ), // Name
array(
'description' => __( 'Displays your Mailchimp for WordPress sign-up form', 'mailchimp-for-wp' ),
)
);
}
/**
* Front-end display of widget.
*
* @see WP_Widget::widget()
*
* @param array $args Widget arguments.
* @param array $instance_settings Saved values from database.
*/
public function widget( $args, $instance_settings ) {
// ensure $instance_settings is an array
if ( ! is_array( $instance_settings ) ) {
$instance_settings = array();
}
$instance_settings = array_merge( $this->default_instance_settings, $instance_settings );
$title = apply_filters( 'widget_title', $instance_settings['title'], $instance_settings, $this->id_base );
echo $args['before_widget'];
if ( ! empty( $title ) ) {
echo $args['before_title'] . $title . $args['after_title'];
}
mc4wp_show_form( $instance_settings['form_id'] );
echo $args['after_widget'];
}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
*
* @param array $settings Previously saved values from database.
*
* @return string|void
*/
public function form( $settings ) {
$settings = array_merge( $this->default_instance_settings, (array) $settings ); ?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'mailchimp-for-wp' ); ?></label>
<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( $settings['title'] ); ?>" />
</p>
<?php
/**
* Runs right after the widget settings form is outputted
*
* @param array $settings
* @param MC4WP_Form_Widget $this
* @ignore
*/
do_action( 'mc4wp_form_widget_form', $settings, $this );
?>
<p class="help">
<?php printf( __( 'You can edit your sign-up form in the <a href="%s">Mailchimp for WordPress form settings</a>.', 'mailchimp-for-wp' ), admin_url( 'admin.php?page=mailchimp-for-wp-forms' ) ); ?>
</p>
<?php
}
/**
* Validates widget form values as they are saved.
*
* @see WP_Widget::update()
*
* @param array $new_settings Values just sent to be saved.
* @param array $old_settings Previously saved values from database.
*
* @return array Updated safe values to be saved.
*/
public function update( $new_settings, $old_settings ) {
if ( ! empty( $new_settings['title'] ) ) {
$new_settings['title'] = sanitize_text_field( $new_settings['title'] );
}
/**
* Filters the widget settings before they are saved.
*
* @param array $new_settings
* @param array $old_settings
* @param MC4WP_Form_Widget $widget
* @ignore
*/
$new_settings = apply_filters( 'mc4wp_form_widget_update_settings', $new_settings, $old_settings, $this );
return $new_settings;
}
} // class MC4WP_Widget