When creating a new monitor with Orientation set to ROTATE_90 or
ROTATE_270, the default "All" zone dimensions are now correctly swapped
to match the rotated image dimensions. This prevents zm_zone.cpp from
reporting that zones extend outside of image dimensions and having to
fix them at runtime.
Fixes issue where monitors created with Rotate Right or Rotate Left
would generate warnings like:
"Zone 1/All for monitor X extends outside of image dimensions,
(0,0), (3839,2159) != (2160,3840), fixing"
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Removed all $_SESSION reads/writes in _monitor_filters.php
- Removed zm_session_start() and session_write_close() calls
- Updated all filter value retrieval to use cookies only via getFilterFromCookie()
- Updated Group::get_group_dropdown() to use cookies instead of session
- Filter persistence now entirely client-side via cookies
- Simplified code by removing session management complexity
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Added Sequence field to row data in ajax/console.php
- Sequence is now available for bootstrap-table to sort by (already configured as default)
- Sequence column remains hidden (not defined in table headers)
- Ensures table sorts by monitor sequence order by default
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Changed priority to check cookie first, then fallback to session
- Cookies now take precedence as they represent the most recent user selection
- Updated comment to reflect the new priority order
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Removed session access and manipulation code
- Changed from session_filters to request_filters using $_REQUEST directly
- Removed zm_session_start() and session_write_close() calls
- AJAX handler now stateless, getting all filter values from request parameters
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Modified addFilterSelect to consult cookies as fallback when session is empty
- Replaced jQuery serialize with native form.elements iteration in console.js
- Skip empty values when building params.data (no empty strings or empty arrays)
- Properly handle multi-select, checkbox, radio, and text inputs
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Added MonitorId to session_filters array
- Implemented MonitorId filtering logic to filter monitors by selected IDs
- Handles both single value and array of monitor IDs
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Initialize params.data to empty object if undefined to prevent errors
- Improve validation logic to consistently handle arrays vs strings
- Make type checking more explicit and readable
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Fixed array field detection in ajaxRequest using endsWith('[]')
- Improved multi-value field detection in monitorFilterOnChange
- Fixed empty value check to properly handle '0' as valid value
- Added proper initialization of array fields in params.data
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Fixed cookie naming to use consistent names without array brackets
- Updated JavaScript to separate field names from cookie names
- Simplified empty value check in AJAX handler using empty()
- Consolidated cookie restoration logic in _monitor_filters.php
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Added cookie restoration in _monitor_filters.php as fallback when session is empty
- Fixed empty array comparison in AJAX console handler
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
- Updated Group::get_group_dropdown() to accept view parameter and use monitorFilterOnChange for console view
- Updated ajaxRequest in console.js to include filter form data in params.data
- Added session update logic in AJAX console handler to persist filter selections
- Added cookie storage in monitorFilterOnChange for client-side persistence
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
Merged commit 52ea542 from SteveGilvarry/ZoneMinder.
Bandwidth was showing as a raw number without units, making it
difficult to interpret. Now formats bandwidth with appropriate
units (B/s, kB/s, MB/s, GB/s) using human_filesize() function
with 1024 as the conversion step.
Server-side formatting is consistent with event disk space
formatting and reduces client-side processing.
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
Merged commit 9b0d391 from SteveGilvarry/ZoneMinder.
Material icons (videocam, settings) in table headers were not
vertically aligned with text-only headers. Added CSS rule to
ensure icons align properly with middle vertical alignment
and inherit line height.
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
Merged commit fd671d7 from SteveGilvarry/ZoneMinder.
The Id column was too wide for displaying numeric monitor IDs.
Added width constraint of 70px with centered text alignment
to make better use of horizontal space.
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
Merged commit 04a3b60 from SteveGilvarry/ZoneMinder.
Thumbnails were getting cut off by table boundaries when hovering.
Added relative positioning to .colThumbnail parent and absolute
positioning with high z-index to hover state, allowing thumbnails
to expand beyond table boundaries and overlay other content.
Works with existing .zoom-console class in skin.js for animation.
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
Merged commit 448b2b3 from SteveGilvarry/ZoneMinder.
The Function column was showing "Status: Connected" which was
redundant with the colored dot indicator in the Name column.
Removed the status line while keeping "Offline" text for
monitors that haven't reported in 90+ seconds.
This reduces visual clutter and makes the Function column
focus on actual function-related information.
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>