Ejemplo n.º 1
0
function seamless_donations_4012_update_indexes()
{
    // prior to 4.0.12, donation records did not save fund ids
    // (even though it could have been a one-line fix, argh!)
    $indexes_updated = get_option('dgx_donate_4012_indexes_updated');
    if (!$indexes_updated) {
        seamless_donations_rebuild_funds_index();
        seamless_donations_rebuild_donor_index();
        $plugin_version = 'sd4012';
        update_option('dgx_donate_4012_indexes_updated', $plugin_version);
    }
}
Ejemplo n.º 2
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'));
    }
}