Esempio n. 1
0
function validate_page_slug_seamless_donations_admin_thanks_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $_submitted_array = apply_filters('validate_page_slug_seamless_donations_admin_thanks_callback', $_submitted_array, $_existing_array, $_setup_object);
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    // no real need for switch, but structured this way for easy expansion
    switch ($section) {
        case 'seamless_donations_admin_thanks_section_note':
            // SAVE EMAILS //
            $note = trim($_submitted_array[$section]['dgx_donate_thanks_text']);
            $note = sanitize_text_field($note);
            if ($note == "") {
                $_aErrors[$section]['dgx_donate_thanks_text'] = __('Field must not be empty.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            update_option('dgx_donate_thanks_text', $note);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_thanks_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
Esempio n. 2
0
function validate_page_slug_seamless_donations_admin_forms_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $_submitted_array = apply_filters('validate_page_slug_seamless_donations_admin_forms_callback', $_submitted_array, $_existing_array, $_setup_object);
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    switch ($section) {
        case 'seamless_donations_admin_forms_section_levels':
            // SAVE LEVELS //
            $none_enabled = true;
            $giving_levels = dgx_donate_get_giving_levels();
            foreach ($giving_levels as $giving_level) {
                if ($_submitted_array[$section]['giving_levels'][$giving_level]) {
                    dgx_donate_enable_giving_level($giving_level);
                    $none_enabled = false;
                } else {
                    dgx_donate_disable_giving_level($giving_level);
                }
            }
            if ($none_enabled) {
                $_aErrors[$section]['giving_levels'] = __('At least one giving level is required.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_forms_section_defaults':
            // SAVE DEFAULTS //
            update_option('dgx_donate_currency', $_submitted_array[$section]['dgx_donate_currency']);
            update_option('dgx_donate_default_country', $_submitted_array[$section]['dgx_donate_default_country']);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_forms_section_fields':
            // SAVE FIELDS //
            update_option('dgx_donate_show_designated_funds_section', $_submitted_array[$section]['dgx_donate_show_designated_funds_section']);
            update_option('dgx_donate_show_repeating_option', $_submitted_array[$section]['dgx_donate_show_repeating_option']);
            update_option('dgx_donate_show_tribute_section', $_submitted_array[$section]['dgx_donate_show_tribute_section']);
            update_option('dgx_donate_show_employer_section', $_submitted_array[$section]['dgx_donate_show_employer_section']);
            update_option('dgx_donate_show_donor_telephone_field', $_submitted_array[$section]['dgx_donate_show_donor_telephone_field']);
            update_option('dgx_donate_show_donor_employer_field', $_submitted_array[$section]['dgx_donate_show_donor_employer_field']);
            update_option('dgx_donate_show_donor_occupation_field', $_submitted_array[$section]['dgx_donate_show_donor_occupation_field']);
            update_option('dgx_donate_show_mailing_list_option', $_submitted_array[$section]['dgx_donate_show_mailing_list_option']);
            update_option('dgx_donate_show_anonymous_option', $_submitted_array[$section]['dgx_donate_show_anonymous_option']);
            update_option('dgx_donate_show_donor_address_fields', $_submitted_array[$section]['dgx_donate_show_donor_address_fields']);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_forms_section_tweaks':
            // SAVE TWEAKS //
            update_option('dgx_donate_labels_for_input', $_submitted_array[$section]['dgx_donate_labels_for_input']);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_forms_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
function validate_page_slug_seamless_donations_admin_settings_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $_submitted_array = apply_filters('validate_page_slug_seamless_donations_admin_settings_callback', $_submitted_array, $_existing_array, $_setup_object);
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    switch ($section) {
        case 'seamless_donations_admin_settings_section_emails':
            // SAVE EMAILS //
            $email = $_submitted_array[$section]['dgx_donate_notify_emails'];
            $email = sanitize_email($email);
            if (!is_email($email)) {
                $_aErrors[$section]['dgx_donate_notify_emails'] = __('Valid email address required.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            update_option('dgx_donate_notify_emails', $email);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_paypal':
            // SAVE PAYPAL //
            $email = $_submitted_array[$section]['dgx_donate_paypal_email'];
            $email = sanitize_email($email);
            $option = $_submitted_array[$section]['dgx_donate_paypal_server'];
            if (!is_email($email)) {
                $_aErrors[$section]['dgx_donate_paypal_email'] = __('Valid email address required.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            update_option('dgx_donate_paypal_email', $email);
            update_option('dgx_donate_paypal_server', $option);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_tabs':
            // SAVE TABS //
            update_option('dgx_donate_display_admin_donors_tab', 'show');
            update_option('dgx_donate_display_admin_donations_tab', 'show');
            update_option('dgx_donate_display_admin_funds_tab', 'show');
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_debug':
            // SAVE DEBUG //
            update_option('dgx_donate_debug_mode', $_submitted_array[$section]['dgx_donate_debug_mode']);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
Esempio n. 4
0
function validate_page_slug_seamless_donations_admin_licenses_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $_submitted_array = apply_filters('validate_page_slug_seamless_donations_admin_licenses_callback', $_submitted_array, $_existing_array, $_setup_object);
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    // no real need for switch, but structured this way for easy expansion
    switch ($section) {
        case 'seamless_donations_admin_licenses_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
Esempio n. 5
0
function validate_page_slug_seamless_donations_admin_logs_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    // no real need for switch, but structured this way for easy expansion
    switch ($section) {
        case 'seamless_donations_admin_logs_section_data':
            delete_option('dgx_donate_log');
            $_setup_object->setSettingNotice('Log data cleared.', 'updated');
            break;
        case 'seamless_donations_admin_log_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
Esempio n. 6
0
function validate_page_slug_seamless_donations_admin_donations_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    // no real need for switch, but structured this way for easy expansion
    switch ($section) {
        case 'seamless_donations_admin_donations_section_help':
            update_option('dgx_donate_display_admin_donations_tab', 'hide');
            $_setup_object->setSettingNotice('Donations tab hidden. Restore using Settings Tab.', 'updated');
            wp_redirect(admin_url('admin.php?page=seamless_donations_admin_main'));
            exit;
            // required to make wp_redirect work
            break;
        case 'seamless_donations_admin_donations_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
Esempio n. 7
0
function validate_page_slug_seamless_donations_admin_settings_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $_submitted_array = apply_filters('validate_page_slug_seamless_donations_admin_settings_callback', $_submitted_array, $_existing_array, $_setup_object);
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    switch ($section) {
        case 'seamless_donations_admin_settings_section_emails':
            // SAVE EMAILS //
            $email_list = $_submitted_array[$section]['dgx_donate_notify_emails'];
            $email_array = explode(',', $email_list);
            $clean_email_array = array();
            foreach ($email_array as $email) {
                $email = trim($email);
                $email = sanitize_email($email);
                array_push($clean_email_array, $email);
                if (!is_email($email)) {
                    $_aErrors[$section]['dgx_donate_notify_emails'] = __('Valid email address required.', 'seamless-donations');
                    $_setup_object->setFieldErrors($_aErrors);
                    $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                    return $_existing_array;
                }
            }
            $email_list = implode(',', $clean_email_array);
            update_option('dgx_donate_notify_emails', $email_list);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_paypal':
            // SAVE PAYPAL //
            $email = $_submitted_array[$section]['dgx_donate_paypal_email'];
            $email = sanitize_email($email);
            $option = $_submitted_array[$section]['dgx_donate_paypal_server'];
            if (!is_email($email)) {
                $_aErrors[$section]['dgx_donate_paypal_email'] = __('Valid email address required.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            update_option('dgx_donate_paypal_email', $email);
            update_option('dgx_donate_paypal_server', $option);
            update_option('dgx_donate_obsolete_legacy_ssl_mode', $_submitted_array[$section]['dgx_donate_obsolete_legacy_ssl_mode']);
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_hosts':
            // SAVE HOSTS //
            $settings_notice = 'Form updated successfully.';
            update_option('dgx_donate_form_via_action', $_submitted_array[$section]['dgx_donate_form_via_action']);
            update_option('dgx_donate_browser_uuid', $_submitted_array[$section]['dgx_donate_browser_uuid']);
            update_option('dgx_donate_ignore_form_nonce', $_submitted_array[$section]['dgx_donate_ignore_form_nonce']);
            $_setup_object->setSettingNotice($settings_notice, 'updated');
            break;
        case 'seamless_donations_admin_settings_section_tweaks':
            // SAVE TWEAKS //
            $settings_notice = 'Form updated successfully.';
            update_option('dgx_donate_compact_menus', $_submitted_array[$section]['dgx_donate_compact_menus']);
            $_setup_object->setSettingNotice($settings_notice, 'updated');
            break;
        case 'seamless_donations_admin_settings_section_tabs':
            // SAVE TABS //
            update_option('dgx_donate_display_admin_donors_tab', 'show');
            update_option('dgx_donate_display_admin_donations_tab', 'show');
            update_option('dgx_donate_display_admin_funds_tab', 'show');
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_settings_section_debug':
            // SAVE DEBUG //
            $settings_notice = 'Form updated successfully.';
            update_option('dgx_donate_debug_mode', $_submitted_array[$section]['dgx_donate_debug_mode']);
            update_option('dgx_donate_log_obscure_name', $_submitted_array[$section]['dgx_donate_log_settings'][0]);
            if ($_submitted_array[$section]['dgx_donate_rebuild_xref_by_name'] == "1") {
                dgx_donate_debug_log('----------------------------------------');
                dgx_donate_debug_log('INDEX CROSS-REFERENCE ATTEMPTED');
                seamless_donations_rebuild_donor_index();
                seamless_donations_rebuild_funds_index();
                seamless_donations_rebuild_donor_anon_flag();
                $settings_notice .= ' Cross-reference index rebuild by name complete.';
                dgx_donate_debug_log('Cross-reference index rebuild by name complete.');
            }
            $_setup_object->setSettingNotice($settings_notice, 'updated');
            break;
        case 'seamless_donations_admin_settings_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}
Esempio n. 8
0
function validate_page_slug_seamless_donations_admin_templates_callback($_submitted_array, $_existing_array, $_setup_object)
{
    $_submitted_array = apply_filters('validate_page_slug_seamless_donations_admin_templates_callback', $_submitted_array, $_existing_array, $_setup_object);
    $section = seamless_donations_get_submitted_admin_section($_submitted_array);
    switch ($section) {
        case 'seamless_donations_admin_templates_section_test':
            // SAVE EMAILS //
            $test_mail = $_submitted_array[$section]['email_test_address'];
            $test_mail = sanitize_email($test_mail);
            if (!is_email($test_mail)) {
                // check address
                $_aErrors[$section]['email_test_address'] = __('Valid email address required.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            dgx_donate_send_thank_you_email(0, $test_mail);
            $_setup_object->setSettingNotice('Test email sent.', 'updated');
            break;
        case 'seamless_donations_admin_templates_section_template':
            // SAVE TEMPLATE //
            // check email address
            $email = $_submitted_array[$section]['dgx_donate_email_reply'];
            $email = sanitize_email($email);
            if (!is_email($email)) {
                $_aErrors[$section]['dgx_donate_paypal_email'] = __('Valid email address required.', 'seamless-donations');
                $_setup_object->setFieldErrors($_aErrors);
                $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                return $_existing_array;
            }
            // check array fields for clean and not-empty
            for ($i = 0; $i < count($_submitted_array[$section]); ++$i) {
                $key = seamless_donations_name_of($_submitted_array[$section], $i);
                $value = trim($_submitted_array[$section][$key]);
                $value = wp_kses_post($value);
                if ($key == 'submit') {
                    continue;
                    // not a text field
                }
                if ($key == 'dgx_donate_email_reply') {
                    continue;
                    // already tested for validation
                }
                if ($value == "") {
                    $_aErrors[$section][$key] = __('This field must not be empty.', 'seamless-donations');
                    $_setup_object->setFieldErrors($_aErrors);
                    $_setup_object->setSettingNotice(__('There were errors in your submission.', 'seamless-donations'));
                    return $_existing_array;
                }
            }
            // save array fields as clean, sanitized options
            for ($i = 0; $i < count($_submitted_array[$section]); ++$i) {
                $key = seamless_donations_name_of($_submitted_array[$section], $i);
                $value = trim($_submitted_array[$section][$key]);
                if ($key == 'dgx_donate_email_reply') {
                    $value = sanitize_email($value);
                } else {
                    $value = wp_kses_post($value);
                }
                if ($key == 'submit') {
                    continue;
                    // not a text field
                }
                update_option($key, $value);
            }
            $_setup_object->setSettingNotice('Form updated successfully.', 'updated');
            break;
        case 'seamless_donations_admin_templates_section_extension':
            // LET EXTENSIONS DO THE PROCESSING
            break;
        default:
            $_setup_object->setSettingNotice(__('There was an unexpected error in your entry.', 'seamless-donations'));
    }
}