Esempio n. 1
0
 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>';
 }
Esempio n. 2
0
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();
    }
}