/**
  * Localize Script
  * Pass our imported list data, to the JS file
  * to build the drop down list in the modal
  */
 public function tinymce_yikes_easy_mc()
 {
     // check capabilities
     if (!current_user_can(apply_filters('yikes-mailchimp-user-role-access', 'manage_options'))) {
         return;
     }
     $list_data = $this->form_interface->get_all_forms();
     $lists = array();
     if (!empty($list_data)) {
         // build an array to pass to our javascript
         foreach ($list_data as $id => $form) {
             $lists[] = array('text' => urlencode($form['form_name']), 'value' => $id);
         }
     } else {
         $lists[0] = array('text' => __('Please Import Some MailChimp Lists', 'yikes-inc-easy-mailchimp-extender'), 'value' => '-');
     }
     /* Pass our form data to our JS file for use */
     wp_localize_script('editor', 'localized_data', array('forms' => json_encode($lists), 'button_title' => __('Easy Forms for MailChimp by YIKES', 'yikes-inc-easy-mailchimp-extender'), 'popup_title' => __('Easy Forms for MailChimp by YIKES', 'yikes-inc-easy-mailchimp-extender'), 'list_id_label' => __('MailChimp Opt-In Form', 'yikes-inc-easy-mailchimp-extender'), 'show_title_label' => __('Display Form Title', 'yikes-inc-easy-mailchimp-extender'), 'show_description_label' => __('Display Form Description', 'yikes-inc-easy-mailchimp-extender'), 'submit_button_text_label' => __('Custom Submit Button Text', 'yikes-inc-easy-mailchimp-extender'), 'submit_button_message' => '<em>' . __('If left empty, the button will use the default submit button text .', 'yikes-inc-easy-mailchimp-extender') . '</em>', 'alert_translated' => sprintf(__('You need to <a href=%s title="%s">create a form</a> before you can add one to a page or post.', 'yikes-inc-easy-mailchimp-extender'), esc_url_raw(admin_url('admin.php?page=yikes-inc-easy-mailchimp')), __('Create a form', 'yikes-inc-easy-mailchimp-extender'))));
 }
    public function form($instance)
    {
        $all_forms = $this->form_interface->get_all_forms();
        if (empty($all_forms)) {
            ?>
				<section class="no-forms-widget">
				<strong><span class="dashicons dashicons-no-alt no-forms-found-icon"></span><?php 
            echo sprintf(__('No forms found. It looks like you need to <a href="%s" title="%s">%s</a>.', 'yikes-inc-easy-mailchimp-extender'), esc_url_raw(admin_url('admin.php?page=yikes-inc-easy-mailchimp')), __('Create a form', 'yikes-inc-easy-mailchimp-extender'), __('create a form', 'yikes-inc-easy-mailchimp-extender'));
            ?>
</strong>
				</section>
			<?php 
            return;
        }
        // Title
        if (isset($instance['title'])) {
            $title = $instance['title'];
        } else {
            $title = __('MailChimp Signup Form', 'yikes-inc-easy-mailchimp-extender');
        }
        // Selected Form
        if (isset($instance['form_id'])) {
            $selected_form = $instance['form_id'];
        } else {
            $selected_form = '';
        }
        // Submit Button Text
        if (isset($instance['submit_text'])) {
            $submit_text = $instance['submit_text'];
        } else {
            $submit_text = __('Submit', 'yikes-inc-easy-mailchimp-extender');
        }
        if (get_option('yikes-mc-api-validation', 'invalid_api_key') == 'invalid_api_key') {
            ?>
				<p class="enter-valid-api-error-widget"><strong><?php 
            _e('Please enter a valid MailChimp API key to connect your site to MailChimp.', 'yikes-inc-easy-mailchimp-extender');
            ?>
</strong></p>
			<?php 
            return;
        }
        // Widget admin form
        ?>
		<p>
			<label for="<?php 
        echo $this->get_field_id('title');
        ?>
"><?php 
        _e('Title:');
        ?>
</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($title);
        ?>
" />
		</p>

		<p>
			<label for="<?php 
        echo $this->get_field_id('form_id');
        ?>
"><?php 
        _e('Form:');
        ?>
</label>
			<select id="<?php 
        echo $this->get_field_id('form_id');
        ?>
" name="<?php 
        echo $this->get_field_name('form_id');
        ?>
" class="widefat">
				<?php 
        // build our array
        foreach ($all_forms as $id => $form) {
            ?>
						<option <?php 
            selected($selected_form, $id);
            ?>
 name="<?php 
            echo $this->get_field_name('form_id');
            ?>
" value="<?php 
            echo $id;
            ?>
"><?php 
            echo stripslashes($form['form_name']);
            ?>
</option>
					<?php 
        }
        ?>
			</select>
		</p>

		<p>
			<label for="<?php 
        echo $this->get_field_id('form_description');
        ?>
"><?php 
        _e('Display Form Description:');
        ?>
</label>
			<input class="widefat" id="<?php 
        echo $this->get_field_id('form_description');
        ?>
" name="<?php 
        echo $this->get_field_name('form_description');
        ?>
" type="checkbox" value="1" <?php 
        if (isset($instance['form_description'])) {
            checked($instance['form_description'], 1);
        }
        ?>
 />
		</p>

		<p>
			<label for="<?php 
        echo $this->get_field_id('submit_button_text');
        ?>
"><?php 
        _e('Submit Button Text:');
        ?>
</label>
			<input class="widefat" id="<?php 
        echo $this->get_field_id('submit_text');
        ?>
" name="<?php 
        echo $this->get_field_name('submit_text');
        ?>
" type="text" value="<?php 
        echo esc_attr($submit_text);
        ?>
" />
		</p>
		<?php 
    }