Files
zoneminder/web
Isaac Connor df6f48334f fix: translate filter attrs for the API without rewriting the form
a3b1ab558 translated DateTime to StartDateTime by assigning to attr.value,
which edits the filter form itself, not just the query being built.  The
form is submitted whenever a filter changes, and montagereview.php decides
whether the range terms are already there with

  if (!$filter->has_term('DateTime', '>='))   (montagereview.php:193)
  if (!$filter->has_term('DateTime', '<='))   (montagereview.php:196)

so a form arriving with StartDateTime failed both checks and PHP appended a
second pair.  Selecting a monitor left the filter bar showing four date
terms.

Verified against a live install by submitting the same filter both ways:

  terms as StartDateTime -> 7 terms, 4 date terms
  terms as DateTime      -> 5 terms, 2 date terms

Compute the API attribute into a local and leave attr.value alone.  The
pre-existing Monitor to MonitorId rewrite moves too: it has the same shape
and montagereview.php has its own 'Monitor' handling.

The URL is unchanged, so the DateTime fix still holds; only the side effect
on the submitted form is gone.
2026-08-28 12:52:04 -04:00
..
…
…

Modern ZoneMinder Skin

This web frontend to ZoneMinder is a complete rewrite of the classic frontend, based on CakePHP.