HEX
Server: Apache
System: Linux gains.arrowcloudlinux.com 4.18.0-553.69.1.lve.el8.x86_64 #1 SMP Wed Aug 13 19:53:59 UTC 2025 x86_64
User: mbkashyap (2642)
PHP: 8.1.33
Disabled: allow_url_include, show_source, symlink, system, passthru, exec, popen, pclose, proc_open, proc_terminate,proc_get_status, proc_close, proc_nice, allow_url_fopen, shell-exec, shell_exec, fpassthru, base64_encodem, escapeshellcmd, escapeshellarg, crack_check,crack_closedict, crack_getlastmessage, crack_opendict, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, dl, escap, phpinfo
Upload Files
File: /home/mbkashyap/public_html/wp-content/plugins/mailchimp-for-wp/includes/forms/class-widget.php
<?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="description">
            <?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;
    }
}