function widget($args, $instance) { extract($args, EXTR_SKIP); $title = $instance['title'] ? $instance['title'] : "Subscirbe via E-Mail"; //there will be any output only if the corresponding subscription form exists. //generate an output only if the subscription form exists. if (!($subscriptionForm = _wpr_subscriptionform_get($instance['the_form']))) { return false; } echo '<span class="wprsf">'; echo $before_widget; echo '<span class="wprsfbt">'; echo $before_title; echo esc_html($instance['title']); echo $after_title; echo '</span>'; echo '<span class="wprsf-beforeform">'; echo $instance['before_form']; echo '</span>'; echo '<span class="wprsf-theform">'; echo _wpr_subscriptionform_code($subscriptionForm, true); echo '</span>'; echo '<span class="wprsf-afterform">'; echo $instance['after_form']; echo '</span>'; echo $after_widget; echo '</span>'; }
function wpr_subscriptionforms() { if (_wpr_no_newsletters("To create subscription forms")) { return; } $action = isset($_GET['action']) ? $_GET['action'] : ''; switch ($action) { case 'create': _wpr_subscriptionforms_create(); break; case 'form': $id = $_GET['fid']; $form = _wpr_subscriptionform_get($id); _wpr_subscriptionform_getcode($form, "'" . $form->name . "' Form HTML Code"); return; break; case 'delete': if (isset($_POST['forms'])) { $formsToDelete = $_POST['forms']; if (count($formsToDelete) > 0) { _wpr_subscriptionforms_delete($formsToDelete); _wpr_subscriptionform_delete_done(); } else { _wpr_subscriptionform_delete_notfound(); } } else { _wpr_subscriptionform_delete_notfound(); } break; case 'edit': $id = (int) $_GET['fid']; $errors = array(); do_action("_wpr_subscriptionform_edit_form_controller", $id); $form = _wpr_subscriptionform_get($id); $form->confirm_subject = stripslashes($form->confirm_subject); $form->confirm_body = stripslashes($form->confirm_body); $form->confirmed_subject = stripslashes($form->confirmed_subject); $form->confirmed_body = stripslashes($form->confirmed_body); if (isset($_POST['fid'])) { $checkList = array("name" => "Name field is required", "confirm_subject" => "E-Mail Confirmation Subject Field is required", "confirm_body" => "E-Mail Confirmation Body field", "confirmed_subject" => "Confirmed Subscription subject field is required", "confirmed_body" => "Confirmed subscription body field is required"); $errors = array(); foreach ($checkList as $field => $errorMessage) { $theValue = $_POST[$field]; $theValue = trim($theValue); if (empty($theValue)) { $errors[] = $checkList[$field]; } } $errors = apply_filters("_wpr_subscriptionform_edit_handler_validate", $errors); if (count($errors) == 0) { $info['id'] = $_GET['fid']; $info['name'] = $_POST['name']; $info['return_url'] = $_POST['return_url']; if (!isset($_POST['followup']) || !preg_match("@postseries_[0-9]+@", $_POST['followup']) && !preg_match("@autoresponder_[0-9]+@", $_POST['followup'])) { $info['followup_id'] = 0; $info['followup_type'] = "none"; } else { if (preg_match("@autoresponder_[0-9]+@", $_POST['followup'])) { $followup = "autoresponder"; $followupid = str_replace("autoresponder_", "", $_POST['followup']); } else { if (preg_match("@postseries_[0-9]+@", $_POST['followup'])) { $followup = "postseries"; $followupid = str_replace("postseries_", "", $_POST['followup']); } else { $followup = "none"; $followupid = 0; } } $info['followup_type'] = $followup; $info['followup_id'] = $followupid; } //if it is a unknown follow-up type its probably an extended one. switch ($_POST['blogsubscription']) { case 'none': case 'all': $blogSubscription = $_POST['blogsubscription']; $blogCategory = 0; break; default: if (preg_match("@category_[0-9]+@", $_POST['blogsubscription'])) { $blogSubscription = "cat"; $blogCategory = str_replace("category_", "", $_POST['blogsubscription']); } } $info['blogsubscription_type'] = $blogSubscription; $info['blogsubscription_id'] = $blogCategory; $info['submit_button'] = $_POST['submit_value']; $info['custom_fields'] = isset($_POST['custom_fields']) && is_array($_POST['custom_fields']) ? implode(",", $_POST['custom_fields']) : ""; $info['confirm_subject'] = $_POST['confirm_subject']; $info['confirm_body'] = $_POST['confirm_body']; $info['nid'] = $_POST['newsletter']; $info['confirmed_subject'] = $_POST['confirmed_subject']; $info['confirmed_body'] = $_POST['confirmed_body']; _wpr_subscriptionform_update($info); do_action("_wpr_subscriptionform_edit_handler_save", $info['id']); $form = _wpr_subscriptionform_get($info['id']); _wpr_subscriptionform_getcode($form, "Form Saved"); return; } else { $form = (object) $_POST; } } _wpr_subscriptionform_form($form, $errors); break; default: _wpr_subscriptionforms_list(); } }