=== UserElements Member Export for Ultimate Member ===
Contributors: userelements
Tags: ultimate member, export users, import users, csv export, membership
Requires at least: 6.0
Tested up to: 6.9
Stable tag: 1.0.10
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Export and import Ultimate Member users via CSV — filter who to include, map fields, preview results, and save presets.

== Description ==

UserElements Member Export for Ultimate Member helps you move member data in and out of WordPress without spreadsheets of raw meta keys or one-off SQL exports.

Built as an add-on for [Ultimate Member](https://wordpress.org/plugins/ultimate-member/), it adds **Export**, **Import**, and **Export Storage** screens under the Ultimate Member admin menu. Filter members, choose and reorder columns, preview the file, then download a clean CSV — or bring users back in with a guided import wizard.

= What you can do =

* **Back up member profiles** — Download selected Ultimate Member fields as CSV for archives or audits.
* **Migrate between sites** — Export from one site and import on another with column mapping and dry-run preview.
* **Build targeted lists** — Filter by role, account status, and registration date, then export only matching members.
* **Clean data in Excel or Sheets** — Export, edit offline, then re-import with create/update controls. For larger edit rounds, [UM Export Pro](https://www.userelements.com/ultimate-member-export) adds a dedicated bulk editing workflow with a full-file preview.

= Export features =

* **CSV export** — Standard UTF-8 CSV that opens in Excel, Google Sheets, Numbers, and similar tools.
* **User filters** — Narrow by WordPress role, Ultimate Member account status (approved, pending review, awaiting email confirmation, rejected, inactive), and registration date (any time, last 7 / 30 / 90 days, or a custom range).
* **Live match count** — See how many members match your filters before you export.
* **Drag-and-drop column mapper** — Search, select, and reorder core fields, profile photo URL, roles, and Ultimate Member custom fields / user meta.
* **Readable field values** — Select, radio, checkbox, and multiselect options export as human-readable labels from your Ultimate Member forms — not raw option keys.
* **Preview** — Review the first 25 rows in the admin before downloading.
* **Saved presets** — Save, load, and delete up to 3 export presets (filters + column layout). Suggested starters: All members / Approved members.
* **Export row limit** — Free exports up to 2,000 members per download.
* **Step-by-step flow** — Target & filters → Columns → Output, with clear progress through each step.

= Import features =

* **CSV import wizard** — Three steps: upload → map columns → preview & run.
* **Create or update** — Upsert existing users, or create-only mode that skips matches.
* **Match by email or username** — Find existing members before updating.
* **Auto column mapping** — Headers are matched to WordPress and Ultimate Member fields automatically; refine the map with sample values shown.
* **Dry-run preview** — See how many rows would be created, updated, or skipped (first 25 rows) before writing to the database.
* **Update options** — Optionally skip blank CSV cells so empty cells do not overwrite existing profile data.
* **Import limit** — Free version imports up to 500 data rows per file.

= Export storage =

* **Local disk (default)** — Files download in the browser as usual.
* **Amazon S3** — Available in [UM Export Pro](https://www.userelements.com/ultimate-member-export) with signed URLs, CDN domain, and connection testing.

= Perfect for =

* Membership site backups and compliance exports
* Moving members when rebuilding or cloning a site
* Segmenting approved vs pending members for outreach
* Bulk profile cleanup after editing in a spreadsheet

= Need more? =

[UM Export Pro](https://www.userelements.com/ultimate-member-export) adds safe spreadsheet bulk editing (edit-safe exports, whole-file preview with a changed-fields report, and imports that only write values that actually differ), Excel (XLSX) export, Amazon S3 storage, unlimited export rows and presets, WooCommerce & FluentCRM enrichment and filters, background processing for large jobs, automatic sends (email / Dropbox / Google Sheets / webhook) with delivery status in Activity, unlimited imports, advanced import rules, WP-CLI, and more.

== Installation ==

1. Install and activate [Ultimate Member](https://wordpress.org/plugins/ultimate-member/).
2. Upload the `userelements-member-export-for-ultimate-member` folder to `/wp-content/plugins/`, or install the plugin from the WordPress plugins screen.
3. Activate the plugin through the Plugins menu.
4. Go to **Ultimate Member → Export** to export users, **Ultimate Member → Import** to import from CSV, or **Ultimate Member → Export Storage** for storage options.

== Frequently Asked Questions ==

= Do I need Ultimate Member installed? =
Yes. This plugin is an add-on for Ultimate Member and will not run without it.

= Can I choose which fields are exported? =
Yes. Use the drag-and-drop column mapper to include, exclude, search, and reorder core fields and Ultimate Member profile fields.

= Can I filter which users are exported? =
Yes. Filter by role, Ultimate Member account status, and registration date. The admin shows a live count of matching members.

= What format is the export file? =
CSV (.csv). Excel (XLSX), scheduled delivery, Amazon S3, and advanced segment filters are available in [UM Export Pro](https://www.userelements.com/ultimate-member-export).

= Can I import users as well? =
Yes. Use **Ultimate Member → Import** to upload a CSV, map columns, dry-run a preview, then create and/or update users. The free version supports up to 500 rows per import.

= Can I save my export settings? =
Yes. Free saves up to 3 presets that store your filters and column selection. Overwriting an existing name always works. Pro unlocks unlimited presets.

= How many members can I export? =
Free exports up to 2,000 matching members per download. Narrow filters or upgrade to Pro for unlimited exports and background jobs.

= Can exports go to Amazon S3? =
Amazon S3 is a Pro feature. Free downloads stay on the local disk / browser. Configure S3 in UM Export Pro under Export Storage.

= What happens if I also install UM Export Pro? =
The free export/import screens are disabled while Pro is active. Use the Pro export and import pages instead — your free plugin can stay installed without conflict.

== Screenshots ==

1. Export dashboard — filters, drag-and-drop column mapper, and CSV download.
2. Import wizard — upload, map columns, and dry-run preview.
3. Export Storage — local disk with Pro upgrade for Amazon S3.
4. Sample of clean, organized CSV output.

== Changelog ==

= 1.0.10 =
* Fixed SELECT/radio/checkbox import: Ultimate Member stores option labels, not numeric list indexes. Import now writes the same values UM expects in user meta and the `submitted` snapshot, so profile fields show on the frontend after a round-trip export/import.

= 1.0.9 =
* Fixed PHP 8 fatal error when reading Ultimate Member field definitions (`isset()` on method call results in FieldMapper).

= 1.0.8 =
* Export UI shell: sticky action bar with Back/Continue, unified preset strip, Review & export step, and softer Pro teasers.
* Columns step: dual-pane layout, Basic / UM field groups, Advanced technical-field gate, vertical selected list.
* Review & export step: live summary (who / members / columns / format), delivery card, and Download CSV disabled when no members match.
* Free limits: up to 3 saved presets and 2,000 members per CSV export (with clear upgrade CTAs).
* Amazon S3 moved to UM Export Pro; Free Export Storage is local disk only.
* Sites previously set to S3 are switched to local with an admin notice.
* Activity: recent CSV downloads with delivery column (browser download).
* Friendlier Pro automation copy — “Send this member list automatically” with email, Dropbox, Google Sheets, webhook, and delivery-status teaser.

= 1.0.7 =
* Suggested presets on first run (All members / Approved members).
* Honest sync download status (no fake progress bar); prevents double-submit.
* Moved Sortable.js under assets/js.
* Added Export Storage settings: local disk or Amazon S3 for finished CSV files.
* S3 support with region, bucket, credentials, object prefix, optional CDN domain, private signed URLs or public-read ACL, and optional local cleanup after upload.
* Connection test for storage settings; credentials can be locked via wp-config constants.
* Secure token-based download links for stored export artifacts.

= 1.0.6 =
* Added CSV import wizard (upload, column mapping, dry-run preview, create/upsert).
* Import up to 500 rows per file; match by email or username.
* Auto-map CSV headers to WordPress and Ultimate Member fields.
* Export filters: role, account status, and registration date with live user count.
* Drag-and-drop column mapper with field search and export preview (first 25 rows).
* Unlimited saved export presets (save, load, delete).
* Human-readable labels for Ultimate Member select/radio/checkbox values.
* Core export fields: registered date, role, profile photo, and more.

= 1.0.5 =
* Fixed saved presets not loading when selected from the Load Preset dropdown.
* Preset names with spaces, uppercase letters, or underscores now load correctly.
* Validate export columns against an allowlist on the server.
* Disable free export handlers when Pro is active or Ultimate Member is missing.
* Fixed empty-column export redirect to the correct admin page.
* Fixed registration date filters using site timezone instead of UTC.
* Added core export fields (registered date, role, profile photo, etc.) to the column picker.
* Warn when preset columns are no longer available; show notice when field list is truncated.
* Require at least one column for preview and preset save; confirm before overwriting presets.
* Harden CSV output against spreadsheet formula injection.
* Improved admin JS error handling and submit protection.

= 1.0.4 =
* Removed preset save limit; unlimited locally saved presets.
* Admin styles: moved progress bar rules into enqueued CSS.
* Prefixed localized script object name for the admin export screen.

= 1.0.3 =
* Fixed naming conflict.

= 1.0.2 =
* Fixed naming conflict.

= 1.0.1 =
* Fixed naming conflict.

= 1.0.0 =
* Initial release. Features include CSV Exporter and Field Mapper.
