zoneminder/web/includes
Isaac Connor 7d78b722d0 fix: auto-detect zone coordinate format instead of trusting Units field
The zone loader now ignores the Units DB field and detects the coordinate
format by checking for decimal points: decimal values are percentages,
integer-only values are legacy pixels. This fixes motion detection being
broken when zones had Units=Pixels but percentage coordinates (or vice
versa), which resulted in a ~99x99 pixel zone on a 2560x1440 monitor.

The PHP zone view now always forces Units=Percent when saving, since it
always works in percentage space. convertPixelPointsToPercent() now
returns bool to indicate whether conversion occurred.

Tests added for: truncation bug via atoi, correct percentage-to-pixel
conversion, auto-detect heuristic, and resolution independence.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:26:36 -04:00
..
actions fix: sanitize monitor Device path to prevent command injection (GHSA-g66m-77fq-79v9) 2026-03-08 13:19:03 -04:00
csrf Until we use "use strict", additional code analysis is required (csrf-magic.js) 2025-08-09 18:54:45 +03:00
Control.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Event.php Fix RCE vulnerability via API config edit privilege escalation 2026-02-26 13:51:30 -05:00
Event_Data.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Event_Tag.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Filter.php Remove Preview Rate Control. Disable BuiltIn Video controls. 2026-01-29 11:18:30 -05:00
FilterTerm.php fix: address review feedback for tag filter handling 2026-02-07 13:11:13 -05:00
Frame.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Group.php Remove session usage for monitor filters, use cookies only 2026-01-07 18:23:47 +00:00
Group_Monitor.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Group_Permission.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Manufacturer.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Model.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Monitor.php fix: sanitize monitor Device path to prevent command injection (GHSA-g66m-77fq-79v9) 2026-03-08 13:19:03 -04:00
Monitor_Permission.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
MontageLayout.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Object.php Add support for the string NULL is object lookup values 2026-01-30 08:33:49 -05:00
Report.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Role_Group_Permission.php feat: add User Roles feature for reusable permission templates 2026-01-29 13:34:27 -05:00
Role_Monitor_Permission.php feat: add User Roles feature for reusable permission templates 2026-01-29 13:34:27 -05:00
Server.php Update Server.php 2026-01-31 21:01:00 -05:00
Snapshot.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
Storage.php Use the same filter on Storage Name as we use in Monitor Name. 2024-09-30 06:33:09 -04:00
Tag.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
User.php feat: add User Roles feature for reusable permission templates 2026-01-29 13:34:27 -05:00
User_Preference.php fix: php 8.3 deprecated get_class method call without argument 2023-11-22 10:48:04 +03:30
User_Role.php feat: add User Roles feature for reusable permission templates 2026-01-29 13:34:27 -05:00
Zone.php fix: auto-detect and convert pixel zone coordinates to percentages in web layer 2026-02-27 17:49:14 -05:00
auth.php feat: add Remember Me checkbox to login page 2026-03-06 15:41:25 -05:00
config.php.in Remove zm_configvals. Just use zm_config. Move code into loadConfig. 2026-01-05 09:32:25 -05:00
control_functions.php Remove extra { breaking ptz 2022-04-23 19:29:04 -04:00
database.php Merge dbUpdate and dbInsert from another branch 2024-11-18 10:47:07 -05:00
download_functions.php Now you can download without archiving, and archiving is performed in stages as new MP4 files are generated (download_functions.php) 2026-01-09 16:26:33 +03:00
functions.php fix: auto-detect zone coordinate format instead of trusting Units field 2026-03-08 15:26:36 -04:00
lang.php Convert user from an array to a User object 2023-04-23 12:57:29 -04:00
logger.php feat: add AUDIT logging level for tracking administrative changes 2026-02-23 18:19:20 -05:00
monitor_probe.php feat: add network probe function for Uniview cameras 2026-02-13 09:17:58 -05:00
session.php feat: add Remember Me checkbox to login page 2026-03-06 15:41:25 -05:00