All of the settings in the admin UI have been implemented in the new extensible interface. Settings load from previously-saved settings and write to previously-saved settings, so both settings environments are data-compatible with the exception of the custom post types discussed earlier.
The following tabs are feature complete: Donors, Donations, Funds, Thank You Templates, Thank You Page, Form Options, Settings, and Logs. The only tabs that need work are the initial promo tab (which will provide welcome information and introductory guidance) and the Help/FAQ tab, which may well be eliminated if the initial tab does its job. These won’t be added until the rest of the work is done for 4.0.
Elements being removed
I’m eliminating the default state and default province drop down in the Form Options tab because they’re ambiguous. Is it the state or province of the charity operator or of the donor? If it’s the donor, how bound to states or provinces are we going to be with Web donations? In using it and setting it up, I found it confusing. It adds no value, so I’m removing it.
I’m also removing the Scripts section from the Settings area. That gave the user the option of choosing where scripts are loaded. Since we’re now using APF for most scripts, I don’t want to delve into that level of granularity and breakage seems very possible if we’re relocating scripts.
Also in the Settings area, there’s a single radio button for PayPal Standard. I am guessing that the original author intended to add more gateways. But for now, I’m removing that option and renaming the Payment Gateways section to PayPal Settings. If more gateways get added later, they will require a lot more of a project than just one radio button.
Refactors
Changed process_addSettingsFields_with_options to the more PHP-function-like (and namespaceless) seamless_donations_process_add_settings_fields_with_options. In addition, the Thank You Emails tab has been renamed Thank You Templates.
Hooks
Add filter that’s called when any of the admin forms are submitted. Called right at the beginning of the form submission/validation process, format is:
- validate_page_slug_seamless_donations_admin_[tabname]_callback: gets passed three parameters, $_submitted_array, $_existing_array, $_setup_object
- The following filter existed pre-4.0: dgx_donate_giving_levels contains an array of integer giving level values fed to the giving-level system
Next up
Now it’s time to look at the front-end forms interface. That’s a completely different segment of the project. Stay tuned.