SHOW:
|
|
- or go back to the newest paste.
| 1 | <?php | |
| 2 | ||
| 3 | ||
| 4 | if (function_exists('register_sidebar'))
| |
| 5 | {
| |
| 6 | /* original function with 'name' parameter added */ | |
| 7 | register_sidebar(array( | |
| 8 | 'name'=>'right', | |
| 9 | 'before_widget' => '', | |
| 10 | 'after_widget' => '', | |
| 11 | 'before_title' => '', | |
| 12 | 'after_title' => '' | |
| 13 | )); | |
| 14 | ||
| 15 | /* new code copy and pasted from above with name change */ | |
| 16 | register_sidebar(array( | |
| 17 | 'name'=>'left', | |
| 18 | 'before_widget' => '', | |
| 19 | 'after_widget' => '', | |
| 20 | 'before_title' => '', | |
| 21 | 'after_title' => '' | |
| 22 | )); | |
| 23 | ||
| 24 | } | |
| 25 | ||
| 26 | ||
| 27 | function createMCForm() {
| |
| 28 | return ' | |
| 29 | <div id="formcont"> | |
| 30 | <form id="myform"> | |
| 31 | ||
| 32 | <h1>Sign Up to Receive Exclusive <br /> | |
| 33 | News & Updates | |
| 34 | </h1> | |
| 35 | ||
| 36 | <fieldset> | |
| 37 | <h2>Get the Best Updates</h2> | |
| 38 | ||
| 39 | <p class="input"> | |
| 40 | <span> | |
| 41 | <img src="Images/mail_icon.png" class="mail_icon" title="" alt="" /> | |
| 42 | ||
| 43 | <input type="email" name="EMAIL" class="Email" id="email" /> | |
| 44 | </span> | |
| 45 | ||
| 46 | <input type="hidden" name="action" value="ajax_action" /> | |
| 47 | <input type="submit" value="" name="subscribe" class="button" id="submit_button" /> | |
| 48 | </p> | |
| 49 | ||
| 50 | ||
| 51 | </fieldset> | |
| 52 | </form> | |
| 53 | </div> | |
| 54 | <div id="output"></div>'; | |
| 55 | } | |
| 56 | add_shortcode('MCform', 'createMCForm');
| |
| 57 | ||
| 58 | ||
| 59 | ||
| 60 | ||
| 61 | wp_enqueue_script( 'ajax-script', plugin_dir_url(__FILE__).'mailchimp.js', array('jquery'), 1.0 ); // jQuery will be included automatically
| |
| 62 | ||
| 63 | ||
| 64 | wp_localize_script( 'ajax-script', 'ajax_object', array( | |
| 65 | 'ajaxurl' => admin_url( 'admin-ajax.php' ), | |
| 66 | 'errorEmpty' => __( 'The e-mail field is required' ), | |
| 67 | 'errorEmail' => __( 'The entered e-mail address is not valid.' ) | |
| 68 | ) | |
| 69 | ); | |
| 70 | ||
| 71 | ||
| 72 | ||
| 73 | ||
| 74 | add_action( 'wp_ajax_ajax_action', 'ajax_action_stuff' ); // ajax for logged in users | |
| 75 | add_action( 'wp_ajax_nopriv_ajax_action', 'ajax_action_stuff' ); // ajax for not logged in users | |
| 76 | ||
| 77 | function ajax_action_stuff() {
| |
| 78 | $resp['status'] = 'error'; | |
| 79 | $resp['errmessage'] = ''; | |
| 80 | $apikey = 'API KEY REMOVED'; | |
| 81 | $listID = 'LIST ID REMOVED'; | |
| 82 | if (!empty($_POST['email']) && !empty($_POST['name'])) {
| |
| 83 | ||
| 84 | $name = $_POST['name']; | |
| 85 | $lname = $_POST['lname']; | |
| 86 | $email = $_POST['email']; | |
| 87 | ||
| 88 | $url = sprintf('http://api.mailchimp.com/1.2/?method=listSubscribe&apikey=%s&id=%s&email_address=%s&merge_vars[OPTINIP]=%s&output=json&merge_vars[FNAME]=%s&merge_vars[LNAME]=%s', $apikey, $listID, $email, $_SERVER['REMOTE_ADDR'], $name, $lname);
| |
| 89 | $ch = curl_init($url); | |
| 90 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | |
| 91 | $data = curl_exec($ch); | |
| 92 | curl_close($ch); | |
| 93 | $arr = json_decode($data, true); | |
| 94 | if ($arr == 1) {
| |
| 95 | $resp['errmessage'] = 'Check now your e-mail and confirm your subsciption.'; | |
| 96 | $resp['status'] = 'success'; | |
| 97 | } else {
| |
| 98 | switch ($arr['code']) {
| |
| 99 | case 214: | |
| 100 | $resp['errmessage'] = 'You are already subscribed.'; | |
| 101 | break; | |
| 102 | // check the MailChimp API for more options | |
| 103 | default: | |
| 104 | $resp['errmessage'] = 'Unkown error...'; | |
| 105 | break; | |
| 106 | } | |
| 107 | } | |
| 108 | } else {
| |
| 109 | $resp['errmessage'] = 'Missing required fields!'; | |
| 110 | } | |
| 111 | header( "Content-Type: application/json" ); | |
| 112 | echo json_encode($resp); | |
| 113 | exit; | |
| 114 | } | |
| 115 | ||
| 116 | ?> |