Commit Graph

2453 Commits

Author SHA1 Message Date
Isaac Connor
8864d5759d Merge pull request #4510 from SteveGilvarry/videojs_update
Videojs update
2026-01-10 10:21:50 -05:00
copilot-swe-agent[bot]
b44aafb0ca Add "Any Tag" filter option for events
- Added "Any Tag" entry with value -1 to availableTags in Filter.php (widget and simple_widget methods)
- Added "Any Tag" entry to filter.php view
- Added translation for "Any Tag" in en_gb.php language file
- Implemented SQL logic in FilterTerm.php to handle "Any Tag" (value -1) using EXISTS query
- Implemented SQL logic in Filter.pm (Perl) to handle "Any Tag" (value -1) using EXISTS query

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-01-10 14:13:37 +00:00
IgorA100
da63055802 Now you can download without archiving, and archiving is performed in stages as new MP4 files are generated (download_functions.php)
This allows you to save significant disk space.
2026-01-09 16:26:33 +03:00
Claude
639bb6821e Fix ONVIF password URL encoding in camera configuration
When adding cameras via ONVIF probe, passwords containing special
characters (like parentheses, slashes, etc.) were being stored in the
database in URL-encoded form instead of plain text. This caused
authentication failures when the encoded password was used.

The issue was in extract_auth_values_from_url() which extracted
credentials from the stream URI but didn't decode them. Since the ONVIF
probe process double-encodes passwords (to survive POST encoding), and
monitor.php decodes once, the extracted password still remained
URL-encoded.

The fix adds urldecode() to both username and password after extraction,
ensuring they're stored in their original form in the database.

Example: Password "pass)word" was being stored as "pass%29word"
2026-01-09 11:00:59 +11: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
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]
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
b2861d5cf0 Remove zm_configvals. Just use zm_config. Move code into loadConfig. 2026-01-05 09:32:25 -05:00
Isaac Connor
ed91d600d1 Only show Tags filter if there are tags to filter by 2026-01-04 19:05:07 -05:00
Isaac Connor
50fbbb0154 When logging in by auth hash, clear old auth in session. 2026-01-04 18:27:14 -05:00
Steve Gilvarry
e389eed485 Final cleanup of videojs update 2025-12-31 19:33:54 +11:00
Steve Gilvarry
819da45ecc Fix double rotation 2025-12-31 19:33:54 +11:00
Steve Gilvarry
12450b390f Removing object tags as plugins are dead. I think this page still has reasons to exist but none of this code works in modern browsers. Well that is my opinion. 2025-12-31 19:33:54 +11:00
Steve Gilvarry
7abf180a27 Revert "Update getVideoStreamHtml to use videojs for mp4, I suspect this whole section including ZM_WEB_USE_OBJECT_TAGS can be deprecated. But minimal changes to upgrade videojs is all I am going for here"
This reverts commit ed64f084af.
2025-12-31 19:33:53 +11:00
Steve Gilvarry
caab1cc6ee Update getVideoStreamHtml to use videojs for mp4, I suspect this whole section including ZM_WEB_USE_OBJECT_TAGS can be deprecated. But minimal changes to upgrade videojs is all I am going for here 2025-12-31 19:33:53 +11:00
Steve Gilvarry
1d5498270a Fix nonce 2025-12-31 19:33:53 +11:00
Steve Gilvarry
4463f5dcf7 Videojs not loaded when inline script called. 2025-12-31 19:33:53 +11:00
Steve Gilvarry
277cf15518 Fix Nonce and attempt text tracks fixes 2025-12-31 19:33:53 +11:00
Steve Gilvarry
a71d5d9c3c Update Videojs to v8 2025-12-31 19:33:53 +11:00
Isaac Connor
e6c5bdb85d Use modern string interpolation style 2025-12-22 19:43:05 -05:00
Isaac Connor
3b0feba15f Add db config entries to zm_configvals 2025-12-19 16:48:44 -05:00
Isaac Connor
254fd58c40 Use css style= to set width of video tag, and if height is specified, also set it. Fixes streams not having height. 2025-12-19 12:03:29 -05:00
Isaac Connor
6c2ad8d906 Use the same code for ImageStill and for ImageStream. Use ImageStream when mode == paused. Fixes #4491 2025-12-19 11:10:32 -05:00
Isaac Connor
c325610aba Change structure of availableTags to be an array of objects so that we don't lose sorting. Sort alphabetically. Use json_decode instead of explode, but use isset instead of empty since empty('0') == true 2025-12-08 17:46:46 -05:00
Simpler1
c393083f8c array('0'=>translate('No Tag')) 2025-12-08 15:59:53 -05:00
Simpler1
3a0d8d7c8f Fix(tags): "No Tag" filter now works properly. 2025-12-08 15:09:01 -05:00
Isaac Connor
3957a212f8 Dont error when using auth_relay=none and there is no username in session 2025-11-10 13:47:50 -05:00
Isaac Connor
4b5d7c11f0 Log wwhen defined server is not found 2025-11-04 10:26:56 -05:00
Isaac Connor
736610d349 Simplify monitor state html, mostly to include the stream-info into the part that gets hidden with the other state info 2025-10-29 12:15:32 -04:00
Isaac Connor
9932c1f690 Add missing EncoderHWAccel fields 2025-10-27 09:40:06 -04:00
Isaac Connor
a0d66fc58f Add support for CurrentDate/Time/DateTime to filters 2025-10-23 19:17:00 -04:00
Isaac Connor
cd2bd508ff Test for is_object(user) 2025-10-23 15:09:11 -04:00
Isaac Connor
cc76c723d2 Handle objects as well as arrays in array_to_hash 2025-10-23 15:07:57 -04:00
Isaac Connor
9d9131075f Put remove-all button in with value select to fix layout 2025-10-23 13:02:15 -04:00
Isaac Connor
ecd37ae6c7 Revert change to assign 4 streams per port. It caused more trouble than it was worth 2025-10-16 12:13:53 -04:00
Isaac Connor
0ccc604380 Fix \n\r to \n preg_replace. Must use double quotes to do it right. 2025-10-15 17:37:29 -04:00
Isaac Connor
83800e8753 Test for existend of type in defaults to avoid warning 2025-10-10 13:26:57 -04:00
Isaac Connor
aeff647f90 Apply intval to scale calculations 2025-10-10 13:26:30 -04:00
Isaac Connor
b5a10ca1ce Add +1 because we will now use 30000 instead of 30001.. so some existing configs may break. 2025-10-09 11:01:08 -04:00
Isaac Connor
1fc27261e1 Add initial_scale property 2025-10-07 21:02:30 -04:00
Isaac Connor
fdfe87be38 Fixup deletePath. Handle links, and report failures. Fix escaping the filename and put it in quotes in case it has spaces. Fixes #4446 2025-10-03 16:11:55 -04:00
Isaac Connor
e04d38f83e When using MIN_SPREAMING_PORT, divide by 5 so we get 5 streams per port 2025-10-01 21:01:29 -04:00
Isaac Connor
3373fb71aa Simply zms option let's just assume that that we can stream 2025-09-25 17:36:13 -04:00
Isaac Connor
fe323e0aff Add DefaultPlayer support in getStreamSrc 2025-09-24 14:05:58 -04:00
Isaac Connor
063ec36106 Add DefaultPlayer to Monitor object 2025-09-24 09:54:19 -04:00
Isaac Connor
b1e7266319 Turn off debug 2025-09-06 11:38:50 -04:00
Isaac Connor
ca8a3048ed Turn off debug 2025-09-06 11:38:40 -04:00
Isaac Connor
164c4b9117 Default password for Amcrest is admin, pass Manufacturer to monitor creation 2025-09-06 11:37:59 -04:00
Isaac Connor
203418d45e Only make symlink if name is different than id 2025-09-06 11:37:07 -04:00
Isaac Connor
edf87d6463 Move stream-info off the video stream down to where the monitor status info is. 2025-09-05 09:35:53 -04:00