Commit Graph

19966 Commits

Author SHA1 Message Date
Isaac Connor 4f8aba0801 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2022-02-15 10:41:51 -05:00
Isaac Connor 956579d557 handle snap->in_frame being null. 2022-02-15 10:41:42 -05:00
Isaac Connor a149fa37fc Make filter debug modal work on non-saved filter 2022-02-15 10:37:14 -05:00
Isaac Connor b2e0f805bd Add NOT IN case. Also, fix bad SQL when value evals to false. Test for empty string instead. Fixes #3425 2022-02-15 10:29:58 -05:00
Isaac Connor 59039de985 Use =[] instead of IN as operator. Fixes #3432 2022-02-15 10:23:30 -05:00
Isaac Connor ecd27d033c
Merge pull request #3435 from ZoneMinder/revert-3434-3432-fix-events-view-filter-monitorid
Revert "Add SQL opTypes IN, NOT IN to filter view, #3432"
2022-02-15 10:07:59 -05:00
Isaac Connor 554840d811
Revert "Add SQL opTypes IN, NOT IN to filter view, #3432" 2022-02-15 10:07:48 -05:00
Isaac Connor 03bc24362f
Merge pull request #3434 from jjakob/3432-fix-events-view-filter-monitorid
Add SQL opTypes IN, NOT IN to filter view, #3432
2022-02-15 10:05:57 -05:00
Isaac Connor 5fd5c7fdd1 Maybe fix build on freebsd by including unistd.h 2022-02-15 10:04:37 -05:00
Jernej Jakob 13f2076dc9 Add SQL opTypes IN, NOT IN to filter view, #3432
This possibly fixes the issue where changing the filter for an event
view via the filter button would produce invalid SQL and SQL errors.

web_php[43835].ERR [1.2.3.4] [SQL-ERR 'SQLSTATE[HY000]: General error: 4078 Illegal parameter data types int and row for operation '='', statement was 'SELECT E.*, M.Name AS Monitor FROM `Events` AS E INNER JOIN Monitors AS M ON E.MonitorId = M.Id WHERE ( ( E.StartDateTime >= '2022-02-14 00:47:41'
 and E.StartDateTime <= '2022-02-14 11:47:41' )
 and E.MonitorId = ('1','3')
) ORDER BY E.StartDateTime DESC' params:] at /usr/share/zoneminder/www/includes/database.php line 161

When in the events view, clicking the filterBtn sends us to the filter view with this query term (url-decoded):

&filter[Query][terms][2][attr]=MonitorId&filter[Query][terms][2][op]=IN&filter[Query][terms][2][val]=1,3&filter[Query][sort_asc]=0

but the filter view displays this as "equals", not "in set", because it doesn't know IN from opTypes, only =[].
2022-02-15 14:15:08 +01:00
Isaac Connor b6d2d96d11 Remove offending extra comma 2022-02-14 09:47:59 -05:00
Isaac Connor 91b536b868 Change the test for slow functions to mod4. The unrolled and SSE function work on 4 pixels at a time or 16 or 12 bytes depending on colours.This will improve cpu use on resolutions like 1280x800 2022-02-14 09:43:48 -05:00
Isaac Connor 0e2f2cf572 Merge branch 'timeline_multi_monitor' 2022-02-11 18:08:41 -05:00
Isaac Connor 6e7e6d9e8e small code cleanup, add Warnings when using slow blend functions. 2022-02-11 18:06:43 -05:00
Isaac Connor 94bc40a6cf Split the data by monitor and display a monitor image/info for each monitor. 2022-02-11 18:06:42 -05:00
Isaac Connor 3250e0edfe simplify some code, pass around zm_event json objects instead of event_id. Each monitor has it's own image so when loading event data put it into a div/img referenced by monitor Id 2022-02-11 18:06:08 -05:00
Isaac Connor 4cc82e24f3 convert some tags to classes instead of ids. Add margin: 0 auto so that monitor images are centered 2022-02-11 18:04:54 -05:00
Isaac Connor cb80283398 Merge branch 'master' into timeline_multi_monitor
update code to use jquery instead of mootools
when only viewing 1 monitor, split view in half
load first event image righ toff the bat
2022-02-11 18:03:35 -05:00
Isaac Connor 514a64ad45 small code cleanup, add Warnings when using slow blend functions. 2022-02-11 12:43:10 -05:00
Isaac Connor b700e7b5ce
Merge pull request #3424 from r01k/master
Fixed in export.php "Class 'Filter' not found" and SQL query with wrong syntax
2022-02-10 21:39:50 -05:00
Isaac Connor 4507b06e29 libcurl4-gnutls-dev is actually a runtime dependency 2022-02-10 11:57:57 -05:00
Isaac Connor bcd0b6430b Convert Fatal()s to Errors() which is really more appropriate anyways. Maybe Fixes #3426 2022-02-08 18:12:06 -05:00
Isaac Connor b866888062 Change title of settings button to give an indication WHY it isn't enabled 2022-02-08 17:52:59 -05:00
Isaac Connor 9fee64b62f detaint language file. 2022-02-08 14:31:01 -05:00
Isaac Connor 2db781ed44 Test for valid language file when saving user. 2022-02-08 14:30:53 -05:00
Isaac Connor b1d235f991 Use getBodyTopHTML so that we get error messages in UI 2022-02-08 13:33:22 -05:00
Isaac Connor d7a8947e05 Only include janus.js if needed 2022-02-08 13:33:02 -05:00
Isaac Connor cc9306afe3 Change the error message banner to always take up space and be seen. 2022-02-08 13:32:37 -05:00
Isaac Connor 8cdd96f286 Implement a check on change of language. Make sure that the specified language file exists. Reports errors to UI 2022-02-08 13:29:51 -05:00
Isaac Connor 03f6637060 Only load janus.js if we are using it 2022-02-08 11:03:25 -05:00
Isaac Connor a7dc9d4e36 Implement General::jsonLoad 2022-02-08 10:14:00 -05:00
Isaac Connor 2768975f96 Only notify one. Anyone waiting is waiting on a lock and only 1 process can get that lock, so only one should try. 2022-02-08 10:12:29 -05:00
Isaac Connor 8c13aa7d3a Cleanup LockedPacket, use RAII 2022-02-08 10:10:00 -05:00
Isaac Connor 8e689340ce Don't need to check for end of queue as we already did that when adding packet to the queue 2022-02-08 10:06:32 -05:00
Isaac Connor 2f5a403fc4 Handle when no swap is configured 2022-02-08 10:04:19 -05:00
Isaac Connor fe01af6966 Don't need to test for end() because we added our packet to the queue and still have the lock 2022-02-08 09:57:56 -05:00
Isaac Connor 33473eac6a Add arp-scan as a tool for getting list of devices on network. Add an interface specifier to monitor probe just like on onvif-probe. Rough in support for Hikvision cameras 2022-02-07 12:33:53 -05:00
Isaac Connor 2c23e18ea0 Add system path for arp-scan 2022-02-07 12:33:05 -05:00
Isaac Connor 2b468fa115 Add policykit rules for arp-scan 2022-02-07 12:32:50 -05:00
Isaac Connor d056f15e54 Add arp-scan to executable for use in network probing for cameras. 2022-02-07 12:32:16 -05:00
Isaac Connor 5078eecdfd Add in get_networks and get_subnets as utilities to parse devices and networks in preparation for scanning/probing 2022-02-07 12:31:31 -05:00
Isaac Connor 69053424cd When adding a new monitor, ModelId and ManufacturerId are not defined, so handle that 2022-02-06 19:06:35 -05:00
r01k 02d896abe2 Fixed in export.php "Class 'Filter' not found" and construction of SQL query with wrong syntax 2022-02-04 22:19:15 -05:00
Isaac Connor ac909d404a Use the reported move with x=0 y=0 for autostop in addition to old stop movement code 2022-02-03 18:19:07 -05:00
Isaac Connor 1982c21e1f
Merge pull request #3423 from jp-bennett/master
Starts moving elements from zm_monitor.cpp into nested classes and dedicated files.
2022-02-03 17:53:31 -05:00
Isaac Connor b3092f2f59 Add special handling for skip_locked, as it is a checkbox. Don't update REQUEST['Id'] on execute so we can redirect to the original filter. 2022-02-03 17:31:37 -05:00
Jonathan Bennett dde3884084 Moves Janus and Amcrest into their own nested classes 2022-02-03 16:31:07 -06:00
Isaac Connor a6dc7ba0fc Add debugging, but commented out 2022-02-03 17:30:38 -05:00
Isaac Connor ac39be33f5 Don't assume filename of mp4. We store it in the event record for a reason. Fixes #3422 2022-02-03 17:24:33 -05:00
Isaac Connor 3c655807e8 Use new Event->Server function to return the correct (and matching url to zms) url to use for ajax status calls. Fixes errors in a multi-server environment. 2022-02-03 14:47:32 -05:00