public function widget($args, $instance)
 {
     extract($args, EXTR_SKIP);
     $id = $instance['id'];
     $amount = $instance['amount'];
     $form = $instance['form'];
     echo qpp_loop($instance);
 }
Example #2
0
function qpp_coupon_codes($id)
{
    qpp_change_form_update();
    if (isset($_POST['Submit']) && check_admin_referer("save_qpp")) {
        $arr = array('couponnumber', 'couponget', 'duplicate', 'couponerror');
        foreach ($arr as $item) {
            $coupon[$item] = stripslashes($_POST[$item]);
            $coupon[$item] = filter_var($coupon[$item], FILTER_SANITIZE_STRING);
        }
        $options = array('code', 'coupontype', 'couponpercent', 'couponfixed');
        if ($coupon['couponnumber'] < 1) {
            $coupon['couponnumber'] = 1;
        }
        for ($i = 1; $i <= $coupon['couponnumber']; $i++) {
            foreach ($options as $item) {
                $coupon[$item . $i] = stripslashes($_POST[$item . $i]);
            }
            if (!$coupon['coupontype' . $i]) {
                $coupon['coupontype' . $i] = 'percent' . $i;
            }
            if (!$coupon['couponpercent' . $i]) {
                $coupon['couponpercent' . $i] = '10';
            }
            if (!$coupon['couponfixed' . $i]) {
                $coupon['couponfixed' . $i] = '5';
            }
        }
        update_option('qpp_coupon' . $id, $coupon);
        if ($coupon['duplicate']) {
            $qpp_setup = qpp_get_stored_setup();
            $arr = explode(",", $qpp_setup['alternative']);
            foreach ($arr as $item) {
                update_option('qpp_coupon' . $item, $coupon);
            }
        }
        qpp_admin_notice("The coupon settings have been updated.");
    }
    if (isset($_POST['Reset']) && check_admin_referer("save_qpp")) {
        delete_option('qpp_coupon' . $id);
        qpp_admin_notice("The coupon settings have been reset.");
    }
    $qpp_setup = qpp_get_stored_setup();
    $id = $qpp_setup['current'];
    $currency = qpp_get_stored_curr();
    $before = array('USD' => '&#x24;', 'CDN' => '&#x24;', 'EUR' => '&euro;', 'GBP' => '&pound;', 'JPY' => '&yen;', 'AUD' => '&#x24;', 'BRL' => 'R&#x24;', 'HKD' => '&#x24;', 'ILS' => '&#x20aa;', 'MXN' => '&#x24;', 'NZD' => '&#x24;', 'PHP' => '&#8369;', 'SGD' => '&#x24;', 'TWD' => 'NT&#x24;', 'TRY' => '&pound;');
    $after = array('CZK' => 'K&#269;', 'DKK' => 'Kr', 'HUF' => 'Ft', 'MYR' => 'RM', 'NOK' => 'kr', 'PLN' => 'z&#322', 'RUB' => '&#1056;&#1091;&#1073;', 'SEK' => 'kr', 'CHF' => 'CHF', 'THB' => '&#3647;');
    foreach ($before as $item => $key) {
        if ($item == $currency[$id]) {
            $b = $key;
        }
    }
    foreach ($after as $item => $key) {
        if ($item == $currency[$id]) {
            $a = $key;
        }
    }
    $coupon = qpp_get_stored_coupon($id);
    $content = '<div class="qpp-settings"><div class="qpp-options">';
    if ($id) {
        $content .= '<h2>Coupons codes for ' . $id . '</h2>';
    } else {
        $content .= '<h2>Default form coupons codes</h2>';
    }
    $content .= qpp_change_form($qpp_setup);
    $content .= '<form method="post" action="">
    <p<span<b>Note:</b> Leave fields blank if you don\'t want to use them</span></p>
    <p>Number of Coupons: <input type="text" name="couponnumber" value="' . $coupon['couponnumber'] . '" style="width:4em"></p>
    <table>
    <tr><td>Coupon Code</td><td>Percentage</td><td>Fixed Amount</td></tr>';
    for ($i = 1; $i <= $coupon['couponnumber']; $i++) {
        $percent = $coupon['coupontype' . $i] == 'percent' . $i ? 'checked' : '';
        $fixed = $coupon['coupontype' . $i] == 'fixed' . $i ? 'checked' : '';
        $content .= '<tr><td><input type="text" name="code' . $i . '" value="' . $coupon['code' . $i] . '" /></td>
        <td><input style="margin:0; padding:0; border:none;" type="radio" name="coupontype' . $i . '" value="percent' . $i . '" ' . $percent . ' /> <input type="text" style="width:4em;padding:2px" label="couponpercent' . $i . '" name="couponpercent' . $i . '" value="' . $coupon['couponpercent' . $i] . '" /> %</td>
        <td><input style="margin:0; padding:0; border:none;" type="radio" name="coupontype' . $i . '" value="fixed' . $i . '" ' . $fixed . ' />&nbsp;' . $b . '&nbsp;<input type="text" style="width:4em;padding:2px" label="couponfixed' . $i . '" name="couponfixed' . $i . '" value="' . $coupon['couponfixed' . $i] . '" /> ' . $a . '</td></tr>';
    }
    $content .= '</table>
    <h2>Invalid Coupon Code Message</h2>
    <input id="couponerror" type="text" name="couponerror" value="' . $coupon['couponerror'] . '" /></p>
    <h2>Coupon Code Autofill</h2>
    <p>You can add coupon codes to URLs which will autofill the field. The URL format is: mysite.com/mypaymentpage/?coupon=code. The code you set will appear on the form with the following caption:<br>
    <input id="couponget" type="text" name="couponget" value="' . $coupon['couponget'] . '" /></p>
    <h2>Clone Coupon Settings</h2>
    <p><input type="checkbox" style="margin:0; padding: 0; border: none" name="duplicate" ' . $coupon['duplicate'] . ' value="checked" /> Duplicate coupon codes across all forms</p>
    <p><input type="submit" name="Submit" class="button-primary" style="color: #FFF;" value="Save Changes" /> <input type="submit" name="Reset" class="button-primary" style="color: #FFF;" value="Reset" onclick="return window.confirm( \'Are you sure you want to reset the coupon codes?\' );"/></p>';
    $content .= wp_nonce_field("save_qpp");
    $content .= '</form>
    </div>
    <div class="qpp-options" style="float:right;">
    <h2>Coupon Check</h2>
    <p>Test your coupon codes.</p>';
    if ($id) {
        $form = ' form="' . $id . '"';
    }
    $args = array('form' => $id, 'id' => '', 'amount' => '');
    $content .= qpp_loop($args);
    $content .= '<p>There are some more examples of payment forms <a href="http://quick-plugins.com/quick-paypal-payments/paypal-examples/" target="_blank">on this page</a>.</p>
    <p>And there are loads of shortcode options <a href="http://quick-plugins.com/quick-paypal-payments/paypal-payments-shortcodes/" target="_blank">on this page</a>.</p>
    </div></div>';
    echo $content;
}
function qem_display_form($values, $errors)
{
    $register = qem_get_stored_register();
    $payment = qem_get_stored_payment();
    global $post;
    $event = get_the_ID();
    $check = get_post_meta($post->ID, 'event_counter', true);
    $cost = get_post_meta($post->ID, 'event_cost', true);
    $paypal = get_post_meta($post->ID, 'event_paypal', true);
    if ($paypal && $cost) {
        $payment['paypal'] = 'checked';
    }
    $number = get_post_meta($event, 'event_number', true);
    if ($check) {
        $num = qem_numberscoming($register, $event, $payment);
    }
    $content = qem_totalcoming($register, $payment);
    $content .= qem_whoscoming($register, $payment);
    if ($errors['spam']) {
        $errors['alreadyregistered'] = 'checked';
        $register['alreadyregistered'] = $register['spam'];
    } elseif ($values['completed']) {
        if (!empty($register['replytitle'])) {
            $register['replytitle'] = '<h2>' . $register['replytitle'] . '</h2>';
        }
        if (!empty($register['replyblurb'])) {
            $register['replyblurb'] = '<p>' . $register['replyblurb'] . '</p>';
        }
        $content .= $register['replytitle'] . $register['replyblurb'];
        if (function_exists('qpp_loop') && $cost && $payment['useqpp']) {
            $id = $payment['qppform'];
            $title = get_the_title();
            $args = array('form' => $id, 'id' => $title, 'amount' => $cost);
            $content .= qpp_loop($args);
        } elseif (($payment['paypal'] && !$paypal || $paypal == 'checked') && $cost) {
            $content .= '<a id="qem_reload"></a>';
            $content .= '<script type="text/javascript" language="javascript">
        document.querySelector("#qem_reload").scrollIntoView();
        </script>';
            $content .= qem_process_payment_form($values);
        } elseif ($register['useread_more']) {
            $content .= '<p><a href="' . get_permalink() . '">' . $register['read_more'] . '</a></p>';
        }
        $content .= '<a id="qem_reload"></a>';
    } elseif (!$num && $check && $number) {
        $content .= '<h2>' . $register['eventfullmessage'] . '</h2>';
        $content .= '<a id="qem_reload"></a>';
    } elseif ($errors['alreadyregistered'] == 'checked') {
        $content .= $num . '<h2>' . $register['alreadyregistered'] . '</h2>';
        if ($register['useread_more']) {
            $content .= '<p><a href="' . get_permalink() . '">' . $register['read_more'] . '</a></p>';
        }
        $content .= '<a id="qem_reload"></a>';
    } elseif ($errors['alreadyregistered'] == 'removed') {
        $content .= $num . '<h2>' . $register['nameremoved'] . '</h2>';
        if ($register['useread_more']) {
            $content .= '<p><a href="' . get_permalink() . '">' . $register['read_more'] . '</a></p>';
        }
        $content .= '<a id="qem_reload"></a>';
    } else {
        if (!empty($register['title'])) {
            $register['title'] = '<h2>' . $register['title'] . '</h2>';
        }
        if (!empty($register['blurb'])) {
            $register['blurb'] = '<p>' . $register['blurb'] . '</p>';
        }
        $content .= '<div class="qem-register">';
        if (count($errors) > 0) {
            $content .= "<h2 style='color:red'>" . $register['error'] . "</h2>\r\t";
            $arr = array('yourname', 'youremail', 'yourtelephone', 'yourplaces', 'yourmessage', 'youranswer', 'yourblank1', 'yourblank2', 'yourdropdown');
            foreach ($arr as $item) {
                if ($errors[$item] == 'error') {
                    $errors[$item] = ' style="border:1px solid red;" ';
                }
            }
            if ($errors['yourplaces']) {
                $errors['yourplaces'] = 'border:1px solid red;';
            }
            if ($errors['yournumber1']) {
                $errors['yournumber1'] = 'border:1px solid red;';
            }
            if ($errors['youranswer']) {
                $errors['youranswer'] = 'border:1px solid red;';
            }
        } else {
            $content .= $register['title'] . $register['blurb'];
        }
        $content .= $num;
        $content .= '<form action="" method="POST" enctype="multipart/form-data">';
        foreach (explode(',', $register['sort']) as $name) {
            switch ($name) {
                case 'field1':
                    if ($register['usename']) {
                        $content .= '<input id="yourname" name="yourname" ' . $errors['yourname'] . ' type="text" value="' . $values['yourname'] . '"onblur="if (this.value == \'\') {this.value = \'' . $values['yourname'] . '\';}" onfocus="if (this.value == \'' . $values['yourname'] . '\') {this.value = \'\';}" />' . "\n";
                    }
                    break;
                case 'field2':
                    if ($register['usemail']) {
                        $content .= '<input id="email" name="youremail" ' . $errors['youremail'] . ' type="text" value="' . $values['youremail'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['youremail'] . '\';}" onfocus="if (this.value == \'' . $values['youremail'] . '\') {this.value = \'\';}" />';
                    }
                    break;
                case 'field3':
                    if ($register['useattend']) {
                        $content .= '<p><input type="checkbox" name="notattend" value="checked" ' . $values['notattend'] . ' /> ' . $register['yourattend'] . '</p>';
                    }
                    break;
                case 'field4':
                    if ($register['usetelephone']) {
                        $content .= '<input id="email" name="yourtelephone" ' . $errors['yourtelephone'] . ' type="text" value="' . $values['yourtelephone'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['yourtelephone'] . '\';}" onfocus="if (this.value == \'' . $values['yourtelephone'] . '\') {this.value = \'\';}" />';
                    }
                    break;
                case 'field5':
                    if ($register['useplaces']) {
                        $content .= '<p><input id="yourplaces" name="yourplaces" type="text" style="' . $errors['yourplaces'] . 'width:3em;margin-right:5px" value="' . $values['yourplaces'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['yourplaces'] . '\';}" onfocus="if (this.value == \'' . $values['yourplaces'] . '\') {this.value = \'\';}" />' . $register['yourplaces'] . '</p>';
                    } else {
                        $content .= '<input type="hidden" name="yourplaces" value="1">';
                    }
                    if ($register['usemorenames']) {
                        $content .= '<div id="morenames" hidden="hidden"><p>' . $register['morenames'] . '</p>
                    <textarea rows="4" label="message" name="morenames"></textarea></div>';
                    }
                    break;
                case 'field6':
                    if ($register['usemessage']) {
                        $content .= '<textarea rows="4" label="message" name="yourmessage" ' . $errors['yourmessage'] . ' onblur="if (this.value == \'\') {this.value = \'' . $values['yourmessage'] . '\';}" onfocus="if (this.value == \'' . $values['yourmessage'] . '\') {this.value = \'\';}" />' . stripslashes($values['yourmessage']) . '</textarea>';
                    }
                    break;
                case 'field7':
                    if ($register['usecaptcha']) {
                        $content .= $values['thesum'] . ' = <input id="youranswer" name="youranswer" type="text" style="' . $errors['youranswer'] . 'width:3em;"  value="' . $values['youranswer'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['youranswer'] . '\';}" onfocus="if (this.value == \'' . $values['youranswer'] . '\') {this.value = \'\';}" /><input type="hidden" name="answer" value="' . strip_tags($values['answer']) . '" />
<input type="hidden" name="thesum" value="' . strip_tags($values['thesum']) . '" />';
                    }
                    break;
                case 'field8':
                    if ($register['usecopy']) {
                        $content .= '<p><input type="checkbox" name="qem-copy" value="checked" ' . $values['qem-copy'] . ' /> ' . $register['copyblurb'] . '</p>';
                    }
                    break;
                case 'field9':
                    if ($register['useblank1']) {
                        $content .= '<input id="yourblank1" name="yourblank1" ' . $errors['yourblank1'] . ' type="text" value="' . $values['yourblank1'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['yourblank1'] . '\';}" onfocus="if (this.value == \'' . $values['yourblank1'] . '\') {this.value = \'\';}" />';
                    }
                    break;
                case 'field10':
                    if ($register['useblank2']) {
                        $content .= '<input id="yourblank2" name="yourblank2" ' . $errors['yourblank2'] . ' type="text" value="' . $values['yourblank2'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['yourblank2'] . '\';}" onfocus="if (this.value == \'' . $values['yourblank2'] . '\') {this.value = \'\';}" />';
                    }
                    break;
                case 'field11':
                    if ($register['usedropdown']) {
                        $content .= '<select ' . $errors['yourdropdown'] . ' name="yourdropdown">';
                        $arr = explode(",", $register['yourdropdown']);
                        foreach ($arr as $item) {
                            $selected = '';
                            if ($values['yourdropdown'] == $item) {
                                $selected = 'selected';
                            }
                            $content .= '<option value="' . $item . '" ' . $selected . '>' . $item . '</option>';
                        }
                        $content .= '</select>';
                    }
                    break;
                case 'field12':
                    if ($register['usenumber1']) {
                        $content .= $register['yournumber1'] . '&nbsp;<input id="yournumber1" name="yournumber1" ' . $errors['yournumber1'] . ' type="text" style="' . $errors['yournumber1'] . 'width:3em;margin-right:5px" value="' . $values['yournumber1'] . '" value="' . $values['yournumber1'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['yournumber1'] . '\';}" onfocus="if (this.value == \'' . $values['yournumber1'] . '\') {this.value = \'\';}" />';
                    }
                    break;
                case 'field13':
                    if ($register['useaddinfo']) {
                        $content .= '<p>' . $register['addinfo'] . '</p>';
                    }
                    break;
                case 'field14':
                    if ($register['useselector']) {
                        $content .= '<select ' . $errors['yourselector'] . ' name="yourselector">';
                        $arr = explode(",", $register['yourselector']);
                        foreach ($arr as $item) {
                            $selected = '';
                            if ($values['yourselector'] == $item) {
                                $selected = 'selected';
                            }
                            $content .= '<option value="' . $item . '" ' . $selected . '>' . $item . '</option>';
                        }
                        $content .= '</select>';
                    }
                    break;
            }
        }
        if ($register['useterms']) {
            if ($errors['terms']) {
                $termstyle = ' style="border:1px solid red;"';
                $termslink = ' style="color:red;"';
            }
            if ($register['termstarget']) {
                $target = ' target="_blank"';
            }
            $content .= '<p><input type="checkbox" name="terms" value="checked" ' . $termstyle . $values['terms'] . ' /> <a href="' . $register['termsurl'] . '"' . $target . $termslink . '>' . $register['termslabel'] . '</a></p>';
        }
        if (($payment['paypal'] && !$paypal || $paypal == 'checked') && $cost) {
            $register['qemsubmit'] = $payment['qempaypalsubmit'];
            if ($payment['usecoupon']) {
                $content .= '<input name="couponcode" type="text" value="' . $values['couponcode'] . '" onblur="if (this.value == \'\') {this.value = \'' . $values['couponcode'] . '\';}" onfocus="if (this.value == \'' . $values['couponcode'] . '\') {this.value = \'\';}" />';
            }
        }
        $content .= '<input type="hidden" name="ipn" value="' . $values['ipn'] . '">
<input type="submit" value="' . $register['qemsubmit'] . '" id="submit" name="qemregister" />
        </form>
        <div style="clear:both;"></div></div>';
    }
    $content .= '<script type="text/javascript" language="javascript">
        document.querySelector("#qem_reload").scrollIntoView();
        </script>';
    echo $content;
}