Commit Graph

12115 Commits

Author SHA1 Message Date
Isaac Connor
26627dc334 Add data-on-input to Monitor Name input 2026-01-08 11:39:28 -05:00
Steve Gilvarry
c4385768ad Fix default zone creation to account for monitor rotation
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>
2026-01-08 22:58:59 +11:00
Isaac Connor
49335e6bb5 We delete entries from Monitor_Status in zmstats.pl so we don't need to check for age of UpdatedOn 2026-01-07 16:01:28 -06:00
Isaac Connor
fade6742ed Merge branch 'update-filter-dropdowns-ajax-request' 2026-01-07 16:36:23 -05:00
Isaac Connor
19aef62eb1 Set thumbnail column width 2026-01-07 16:36:02 -05:00
Isaac Connor
e51325e520 Add Sequence column and remove existing footer as it will be auto-generated by bootstrap-table 2026-01-07 16:35:41 -05:00
Isaac Connor
43345105b7 Default to hiding Sequence 2026-01-07 16:35:06 -05:00
Isaac Connor
33e04020c5 Merge pull request #4524 from ZoneMinder/copilot/update-filter-dropdowns-ajax-request
Fix monitor filter AJAX persistence with stateless, cookie-only architecture
2026-01-07 16:33:57 -05:00
Isaac Connor
1c9c0e59cc On consnole fire monitorFilterOnChange when clicking the clear all X button in monitor filters 2026-01-07 16:19:29 -05:00
Isaac Connor
8e71110305 Merge pull request #4513 from ZoneMinder/copilot/fix-event-redirect-after-login
Fix login redirect by passing postLoginQuery as URL parameter
2026-01-07 13:33:58 -05:00
copilot-swe-agent[bot]
cd1bb4bda4 Remove session usage for monitor filters, use cookies only
- 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>
2026-01-07 18:23:47 +00:00
copilot-swe-agent[bot]
a0f9194280 Add Sequence field to AJAX response data for proper sorting
- 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>
2026-01-07 18:05:44 +00:00
copilot-swe-agent[bot]
af25894dfb Prefer cookie value over session in addFilterSelect
- 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>
2026-01-07 17:55:45 +00:00
copilot-swe-agent[bot]
ba316a9c83 Make ajax/console.php stateless by using REQUEST instead of SESSION
- 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>
2026-01-07 17:45:03 +00:00
copilot-swe-agent[bot]
e41339b292 Add cookie fallback to addFilterSelect and improve form data handling
- 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>
2026-01-07 17:29:46 +00:00
copilot-swe-agent[bot]
5a7b18620e Add missing MonitorId filter implementation in AJAX console handler
- 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>
2026-01-07 17:10:42 +00:00
Simpler1
f6f7bf8f77 Fix: Deprecated format from ${ to {$ 2026-01-07 12:04:01 -05:00
copilot-swe-agent[bot]
579e9a1d6c Add params.data initialization and improve type handling
- 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>
2026-01-07 16:48:03 +00:00
copilot-swe-agent[bot]
400b44b823 Improve array field handling and value validation
- 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>
2026-01-07 16:46:17 +00:00
copilot-swe-agent[bot]
7bcbde9639 Fix cookie naming consistency and simplify empty check
- 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>
2026-01-07 16:43:58 +00:00
copilot-swe-agent[bot]
cd0f1b9b07 Add cookie fallback for filter persistence and fix empty array check
- 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>
2026-01-07 16:38:58 +00:00
copilot-swe-agent[bot]
62e86716af Fix monitor filter AJAX and Group dropdown onChange handler
- 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>
2026-01-07 16:36:53 +00:00
Isaac Connor
947cf7b04a Merge remote-tracking branch 'upstream/copilot/refactor-console-view-table' 2026-01-07 09:58:55 -05:00
Isaac Connor
d0659b5f71 Merge remote-tracking branch 'upstream/copilot/refactor-console-view-table' 2026-01-07 09:58:20 -05:00
copilot-swe-agent[bot]
61137ac78c Add bandwidth units to Function column display
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>
2026-01-07 14:50:02 +00:00
copilot-swe-agent[bot]
5336cf1608 Fix table header icon alignment in console view
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>
2026-01-07 14:39:38 +00:00
copilot-swe-agent[bot]
02983f5a99 Reduce Id column width in console view
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>
2026-01-07 14:23:15 +00:00
copilot-swe-agent[bot]
67dff2f774 Enable thumbnail hover expansion in console view
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>
2026-01-07 14:05:53 +00:00
copilot-swe-agent[bot]
e3ed9247a6 Remove redundant status line from Function column
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>
2026-01-07 13:56:03 +00:00
copilot-swe-agent[bot]
f6598a023f Add monitorFilterOnChange function for AJAX filter updates on console view
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-07 01:47:21 +00:00
copilot-swe-agent[bot]
6104e15bcb Move updateFooter call after params.success and target only th-inner div
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-07 01:33:06 +00:00
copilot-swe-agent[bot]
91defbbada Fix footer selectors to handle bootstrap-table th elements and inner divs
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-07 01:11:09 +00:00
copilot-swe-agent[bot]
3a4c464a03 Fix footer visibility and improve footer update selectors
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-07 00:54:44 +00:00
copilot-swe-agent[bot]
185651b659 Add dynamic footer totals generation via AJAX
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-07 00:33:03 +00:00
copilot-swe-agent[bot]
9f67994025 Fix filtering and remove unnecessary ZM_WEB_LIST_THUMBS variable
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-06 22:56:05 +00:00
copilot-swe-agent[bot]
a3d0d8d19b Fix PHP code style: use consistent array syntax and proper comment style
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-06 22:42:24 +00:00
copilot-swe-agent[bot]
c81fa1e662 Address feedback: remove conflicting variables, add table.show(), separate thumbnail column, add event totals in header/footer
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-06 22:40:47 +00:00
Isaac Connor
5c2d89bc82 When testing for ability to play codec, do it muted so that it succeeds on reload 2026-01-06 16:32:06 -05:00
Isaac Connor
2e578aac40 Remove bad ! 2026-01-06 09:29:18 -05:00
Isaac Connor
53cd0c92d3 Properly check for Private 2026-01-05 23:10:11 -05:00
Isaac Connor
598a43815c Fix tabs for eslint 2026-01-05 17:50:57 -05:00
Isaac Connor
0ecb344723 Don't contain Tag so we don't include Tag and event_Tag in results. 2026-01-05 17:49:46 -05:00
Isaac Connor
93c81961ed Merge branch 'master' of github.com:ZoneMinder/zoneminder 2026-01-05 17:47:23 -05:00
Isaac Connor
44496e8430 Merge pull request #4519 from SteveGilvarry/EventTags2
Add Tags to event search and return tag data with events
2026-01-05 17:47:12 -05:00
Isaac Connor
ea6e387c1d Load image by time instead of frame_id 2026-01-05 16:39:03 -05:00
Isaac Connor
edb105bb32 Update bootstrap.php.in to use zm_config instead of zm_configvals 2026-01-05 11:14:21 -05:00
Isaac Connor
7c7396115e Merge branch 'master' of github.com:ZoneMinder/zoneminder 2026-01-05 11:10:52 -05:00
Isaac Connor
b2861d5cf0 Remove zm_configvals. Just use zm_config. Move code into loadConfig. 2026-01-05 09:32:25 -05:00
Steve Gilvarry
58a0e68731 Add Tags to event search and return tag data with events 2026-01-05 21:43:27 +11:00
Isaac Connor
ed91d600d1 Only show Tags filter if there are tags to filter by 2026-01-04 19:05:07 -05:00