Adds a new Multi-fields edition action to the Batch Manager (global mode). It lets an administrator edit several properties of the selected photos in a single operation, instead of applying one action at a time.
Today each field (title, author, description, albums, tags) requires choosing an action, applying it, then starting over for the next one. When tagging or organizing many photos, this is slow and repetitive. A single panel with one toggle per field makes bulk edits much faster.
Mockup
Behavior
A new entry Multi-fields edition appears in the action list. It displays one row per field, each with an on/off toggle. Only enabled rows are applied; disabled rows are never touched.
Field
Modes
Title
Replace / Empty
Author
Replace / Empty
Linked albums
Associate / Dissociate
Tags
Add / Replace / Remove / Empty
Description
Replace / Empty
Details:
Turning a toggle off resets its row (text, selected albums/tags, mode), so no stale value is shown when re-enabling it.
In Empty mode, the input field is hidden.
In Remove mode for tags, the selector only offers the tags already associated with the photos (same list as the existing "remove tags" action) and tag creation is disabled. In Add / Replace, the full tag list is offered and new tags can be created.
The operation is logged through pwg_activity with the enabled fields and the mode used for each.
Changes
Template (batch_manager_global.tpl)
New multi_fields option and #action_multi_fields block (toggle rows, mode radios, field inputs, album picker).
New styles (flex layout, custom radio buttons, Selectize tag pills).
associated_tags exposed to JS for the Remove mode.
JavaScript (batchManagerGlobal.js)
Show/hide and reset logic per row (refresh(), resetRow()).
switchTagsList(mode) swaps the Selectize options between all tags and associated tags.
Album picker for the multi-fields block.
PHP (batch_manager_global.php)
New multi_fields branch handling title / author / description (mass_updates), albums (associate / dissociate), and tags (add / replace / remove / empty).
Input validation with check_input_parameter
## Summary
Adds a new **Multi-fields edition** action to the Batch Manager (global mode). It lets an administrator edit several properties of the selected photos in a single operation, instead of applying one action at a time.
Today each field (title, author, description, albums, tags) requires choosing an action, applying it, then starting over for the next one. When tagging or organizing many photos, this is slow and repetitive. A single panel with one toggle per field makes bulk edits much faster.
## Mockup
<img width="639" height="283" alt="Image" src="https://github.com/user-attachments/assets/cc3654f2-5218-47d7-b6b9-676b99ef99aa" />
## Behavior
A new entry **Multi-fields edition** appears in the action list. It displays one row per field, each with an on/off toggle. Only enabled rows are applied; disabled rows are never touched.
| Field | Modes |
|---|---|
| Title | Replace / Empty |
| Author | Replace / Empty |
| Linked albums | Associate / Dissociate |
| Tags | Add / Replace / Remove / Empty |
| Description | Replace / Empty |
Details:
- Turning a toggle off resets its row (text, selected albums/tags, mode), so no stale value is shown when re-enabling it.
- In **Empty** mode, the input field is hidden.
- In **Remove** mode for tags, the selector only offers the tags already associated with the photos (same list as the existing "remove tags" action) and tag creation is disabled. In Add / Replace, the full tag list is offered and new tags can be created.
- The operation is logged through `pwg_activity` with the enabled fields and the mode used for each.
## Changes
**Template (`batch_manager_global.tpl`)**
- New `multi_fields` option and `#action_multi_fields` block (toggle rows, mode radios, field inputs, album picker).
- New styles (flex layout, custom radio buttons, Selectize tag pills).
- `associated_tags` exposed to JS for the Remove mode.
**JavaScript (`batchManagerGlobal.js`)**
- Show/hide and reset logic per row (`refresh()`, `resetRow()`).
- `switchTagsList(mode)` swaps the Selectize options between all tags and associated tags.
- Album picker for the multi-fields block.
**PHP (`batch_manager_global.php`)**
- New `multi_fields` branch handling title / author / description (`mass_updates`), albums (associate / dissociate), and tags (add / replace / remove / empty).
- Input validation with `check_input_parameter`
<!-- github-sync-id:5995610267 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Adds a new Multi-fields edition action to the Batch Manager (global mode). It lets an administrator edit several properties of the selected photos in a single operation, instead of applying one action at a time.
Today each field (title, author, description, albums, tags) requires choosing an action, applying it, then starting over for the next one. When tagging or organizing many photos, this is slow and repetitive. A single panel with one toggle per field makes bulk edits much faster.
Mockup
Behavior
A new entry Multi-fields edition appears in the action list. It displays one row per field, each with an on/off toggle. Only enabled rows are applied; disabled rows are never touched.
Details:
pwg_activitywith the enabled fields and the mode used for each.Changes
Template (
batch_manager_global.tpl)multi_fieldsoption and#action_multi_fieldsblock (toggle rows, mode radios, field inputs, album picker).associated_tagsexposed to JS for the Remove mode.JavaScript (
batchManagerGlobal.js)refresh(),resetRow()).switchTagsList(mode)swaps the Selectize options between all tags and associated tags.PHP (
batch_manager_global.php)multi_fieldsbranch handling title / author / description (mass_updates), albums (associate / dissociate), and tags (add / replace / remove / empty).check_input_parameter