- Modified web/ajax/console.php to generate filter querystrings for each event period (Hour, Day, Week, Month, Archived, Total)
- Modified web/skins/classic/views/js/console.js to use filter querystrings in event links
- Links now include proper date filters matching old console.php implementation
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>
- 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>
- 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>
* experiment with namespaces on the Server class
* experiment with namespaces on the Server class
* Implement the ZM namespace on objects
* Implement the ZM namespace on objects
* Implement the ZM namespace on objects