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); } }
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')); } }