Commit Graph

788 Commits

Author SHA1 Message Date
Matt N 9675367e03 event.js: Wait for delete request to succeed before navigating. Fixes #2384 (#2515) 2019-02-11 09:34:51 -05:00
Matthew Noorenberghe cda4a28fec Fix accidental use of 'let' in 255806bd54 2019-02-10 11:14:55 -08:00
Isaac Connor 555cb4780d Merge branch 'master' into storageareas 2019-02-10 12:37:45 -05:00
Matthew Noorenberghe 99f1e23c5b Replace usage of PHP_SELF in views/. Fixes #2450 2019-02-09 21:39:19 -08:00
Matthew Noorenberghe 255806bd54 log.js: Escape HTML to be shown in the log HtmlTable. Fixes #2453 2019-02-09 18:43:55 -08:00
Matthew Noorenberghe 6d2f3c265f events.php: Remove inline event handlers and enforce CSP 2019-02-09 17:34:59 -08:00
Matthew Noorenberghe b2a97ee190 frame.php: Fix multiple XSS from 'show' and 'scale' parameters and enforce CSP.
Fixes #2448, fixes #2449, and fixes #2447.
2019-02-09 15:10:45 -08:00
Matthew Noorenberghe 02f09aad7f view=export: Remove inline event handlers and fix arbitrary URL/XSS usage. Fixes #2443 2019-02-09 02:01:26 -08:00
Matthew Noorenberghe 0b38e72f88 view=download: Remove inline event handlers and fix arbitrary URL/XSS usage. Fixes #2441 2019-02-09 01:16:32 -08:00
Isaac Connor 0eb1efff8b fix eslint errors 2019-02-08 13:48:38 -05:00
Isaac Connor ee3a0c1fd1 fix validateForm running on monitor cancel due to lack of type=button on cancel button 2019-02-08 09:55:32 -05:00
Isaac Connor d33e094526 Merge branch 'master' into storageareas 2019-02-06 17:03:41 -05:00
Isaac Connor 7e84a5914c fix CSP policy violations on filters view 2019-02-06 13:55:19 -05:00
Isaac Connor 0783802d0c fix CSP violations on events 2019-02-06 13:31:34 -05:00
Isaac Connor b04b67c39d Fix CSP violation in the onclick of the monitor view in montagereview 2019-02-06 12:17:10 -05:00
Isaac Connor edaf582eb4 Make montagereview more robust when the storage area of an event has been deleted. Add the onmouse events using javascript instead of in the html canvas element so that our CSP policy works. 2019-02-06 11:46:48 -05:00
Isaac Connor 141f2afc8c Merge branch 'master' into storageareas 2019-02-05 15:46:58 -05:00
Isaac Connor c54fe7e89a fix state actions 2019-02-05 12:35:06 -05:00
Isaac Connor 86b7fe5d29 fix spacing 2019-01-30 16:08:41 -05:00
Isaac Connor 533d021dea Merge branch 'master' into storageareas 2019-01-30 15:17:27 -05:00
Isaac Connor 604dbf8776 fix state changing/etc 2019-01-30 14:36:46 -05:00
Isaac Connor 6eb4d7ae27
Filter improvements (#2438)
* Put back code to close the popup when view is none

* clean up and reduce depth of some logic

* Increase width of user popup

* fix code style

* Make execute_filter work on a filter Id instead of name

* rework logic to reduce code depth. Change view to events to display the results of execute.

* Change the redirect to stay on the new view.  When redirecting from executing a filter, it was redirecting to filter.

* Set a form action for correctness. Change execute button to a button instead of a submit. Stay on the filter view when executing
2019-01-23 11:30:51 -05:00
montagdude 4da95369f9 Fix zone area calculation (#2437)
Previous method resulted in bogus zone areas (in the range of
1000s of % of frame area) when entering points with the keyboard, even
after applying commit 4937a68650. This
change implements the method here:

http://mathworld.wolfram.com/PolygonArea.html

It has been tested on ZoneMinder 1.32.3 and works correctly when
either entering coordinates with the keyboard or dragging points with
the mouse.
2019-01-23 10:35:18 -05:00
Isaac Connor 7260f823cb Merge branch 'master' into storageareas 2019-01-21 13:52:38 -05:00
Isaac Connor a2d4dc974b Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2019-01-21 11:19:07 -05:00
Isaac Connor e663397816 spacing 2019-01-21 11:17:21 -05:00
Matt N 19c272061a Replace MooTools usage for adding window event listeners (#2429) 2019-01-21 11:14:32 -05:00
Matt N d7ebc85d81 Replace remaining `console` inline event handlers (#2432)
* Use a hidden submit button in _monitor_filters rather than onkeydown

* events/console: Convert checkbox header toggle inline event listeners
2019-01-21 11:11:40 -05:00
Isaac Connor f69b77e38f fix eslint complaints 2019-01-19 12:40:17 -05:00
Matt N a1a42345e3 More eslint fixes; eslint in php; add eslint to travis (#2419)
* Add eslint to travis.yml

* Update eslint package versions and apply new indent rules

* Enable the brace-style and block-style eslint rules

* Enable the 'curly' eslint rule

* Enable the 'keyword-spacing' eslint rule

* Enable the 'key-spacing' eslint rule

* Enable the 'object-curly-spacing' eslint rule

* Enable the 'no-new-object' eslint rule

* Only disable the no-caller eslint rule in the one affected file

* Enable the 'no-unused-vars' eslint rule for local variables

* Add linting of JS in .php files
2019-01-19 10:32:40 -05:00
Matt N 4e48939660 Add a validateForm event listener and enforce CSP on some views (#2425)
* Add a validateForm event listener and enforce CSP on the controlcap view

* filter.php: Use .validateFormOnSubmit

* server.php: Use .validateFormOnSubmit and fix makePopupButton condition check

* Use .validateFormOnSubmit and enforce CSP on the storage view
2019-01-19 09:41:53 -05:00
Isaac Connor 552e14a971 Merge branch 'master' into storageareas 2019-01-18 10:36:59 -05:00
Matt N deaf651aad Fix eslint violations (#2416)
* Add more JS libraries to eslintignore

* eslint . --fix

Automatic fixes only

* frame.js: eslint fixes

* events.js: manual eslint fixes

* skin.js: manual eslint fixes

* watch.js: manual eslint fixes

* Remove some tabs used for indentation in JS

* state.js: Fix new-cap eslint violation

* Disable guard-for-in eslint rule to get everything passing
2019-01-18 10:00:55 -05:00
Matt N 6bb5aa1b87 More inline JS / nonce conversions (#2415)
* monitor.php: Add nonce and move <script> inside </body>

* export_functions.php: Untested: Add @nonce to <script>

* blank.php: Add @nonce to <script> and add to CSP enforced views

* Enforce CSP on login and privacy views

* group.php: Add nonce and move <script> inside </body>

* filter.php: Add @nonce to <script>

* Fix updateButtons argument on the filter page upon change and page load

* events.php: Add @nonce to <script>
2019-01-18 09:51:06 -05:00
Isaac Connor 87d1390fed Merge branch 'storageareas' into h265 2019-01-16 15:20:17 -05:00
Isaac Connor f49dd93b6a Merge branch 'master' into storageareas 2019-01-16 14:39:56 -05:00
Matt N d33fec9c3f Add a CSP script-src policy with nonce-source and convert more inline event handlers (#2413)
* Add Content-Security-Policy-Report-Only: script-src 'self' 'nonce-' policy

* Use @data-on-click-this to attach inline click event handlers which expect being called with 'this'

Only handle ones that don't return a value.

* Use @data-on-click to attach inline click event handlers with no args and no return value

* Use @data-on-click-true to attach inline click event handlers with 'true' as the only argument

* Enforce a script-src CSP on views without inline JS

* Convert some onchange attributes to data-on-change
2019-01-16 09:59:58 -05:00
Isaac Connor ac27005944 remove debug 2019-01-15 11:38:43 -05:00
Isaac Connor 07c7c271a6 prevent error when event has no frames. Fix PathToIndex() -> PathToIndex. Fixes #2411 2019-01-15 11:38:19 -05:00
Isaac Connor f726666f54 Merge branch 'master' into h265 2019-01-14 12:36:11 -05:00
Isaac Connor 52466c398b Merge branch 'split_actions' into storageareas 2019-01-04 15:28:55 -05:00
Isaac Connor b8d065275b Merge branch 'master' into storageareas 2019-01-04 15:22:18 -05:00
Isaac Connor 99471836b7 Use monitor's serverId when loading server object so that images load from recording server. 2019-01-02 11:28:12 -05:00
Isaac Connor 8a1707a615 Add monitorServerId array to provide server info for each monitor so that we can load images from the recording server. 2019-01-02 11:27:46 -05:00
Isaac Connor 79113a6869 Add a default Server object to handle non-multi-server case 2019-01-02 10:56:40 -05:00
Isaac Connor 1a1231fdaa Merge branch 'master' into storageareas 2018-12-28 10:47:27 -05:00
Isaac Connor 101f24feb5
Update area when editing x and y coords (#2366) 2018-12-27 14:28:14 -05:00
Isaac Connor 27826b4aca Merge branch 'master' into storageareas 2018-12-24 09:48:29 -05:00
Isaac Connor 1130d6650a Fix spacing and pass popup to previous/next event so that popups stay as popups 2018-12-21 10:50:19 -05:00
Andrew Bauer 3cf6bf1786
Merge pull request #2243 from connortechnology/add_archive_filter_to_montagereview
Rough in an archived status filter in montagereview.
2018-12-11 09:36:35 -06:00
Andrew Bauer c530337c50
Merge pull request #2331 from connortechnology/fix_ios9
Fix ios9
2018-12-11 09:29:50 -06:00
Isaac Connor c8c34d3f95 Merge branch 'master' into storageareas 2018-12-11 10:21:22 -05:00
Isaac Connor 1e8c4276bb fix #2319 some more. This is fixing rate sticking across gapless events and reload 2018-12-10 17:32:17 -05:00
Isaac Connor a9290759a5 Merge branch 'fix_ios9' into storageareas 2018-12-03 16:25:34 -05:00
Isaac Connor 18ce7c9ea0 Old browsers, specifically Safari on IOS9 doesn't support let. Need to use var instead. 2018-12-03 15:17:16 -05:00
Isaac Connor 4272225a17 Merge branch 'master' into h265 2018-11-30 16:42:16 -05:00
Andrew Bauer 5a88cbcddb
Merge pull request #2329 from connortechnology/fix_2319
Fix rate resetting
2018-11-29 09:57:13 -06:00
Isaac Connor c0a9fae01f Merge branch 'fix_2319' into storageareas 2018-11-29 09:57:41 -05:00
Isaac Connor 605397b565 Fix rate resetting by storing it in a cookie and using that on initial event load. Fixes #2319 2018-11-29 09:43:21 -05:00
Isaac Connor 1e915e9567 Merge branch 'master' into server_path_prefix 2018-11-28 10:45:36 -05:00
Isaac Connor 57acb2aac6 Merge branch 'server_path_prefix' into storageareas 2018-11-28 10:41:11 -05:00
Isaac Connor f8b2ff5c77 rework from Url() to PathToIndex(), PathToZMS(), UrlToIndex() and UrlToZMS() 2018-11-27 17:35:25 -05:00
Isaac Connor b5430a1927 Merge branch 'fix_2317' into storageareas 2018-11-23 15:35:55 -05:00
Isaac Connor 6128d2a4d9 fix #2317 by updating the url encoding of a filter to match events for that monitor 2018-11-23 15:34:23 -05:00
Isaac Connor 19f3cce41f Dont auto-guess pathPrefix 2018-11-23 13:54:14 -05:00
Isaac Connor 7ad19be0d7 Merge branch 'server_path_prefix' into storageareas 2018-11-23 13:29:01 -05:00
Isaac Connor dea5db9dd9 Merge branch 'zmaudit_check_other_storageareas' into storageareas 2018-11-23 11:11:39 -05:00
Isaac Connor c5f7fb7b18 Merge branch 'master' into server_path_prefix 2018-11-22 10:04:33 -05:00
Isaac Connor 62e511cfd1 Merge branch 'master' into h265 2018-11-17 10:41:20 -05:00
Isaac Connor f72651da5a Add auth hash to ajax fps and status calls in zone edit 2018-11-15 12:22:35 -05:00
Isaac Connor e24a308481 Merge branch 'master' into h265 2018-11-14 17:15:37 -05:00
Isaac Connor d89c0bc737 Merge branch 'master' into storageareas 2018-11-14 15:55:00 -05:00
Isaac Connor 3be31020b7 Automatically add width to frames view when thumbnails are turned on. 2018-11-14 15:54:01 -05:00
Isaac Connor 9148d3f7c4 Merge branch 'zone_point_buttons' into storageareas 2018-10-24 12:44:21 -04:00
Isaac Connor 9cf31eafa0 Use a button element instead of an anchor tag for plus and minus point buttons. Cleanup dead code 2018-10-24 12:43:43 -04:00
Isaac Connor ca8770bd5a Merge branch 'fix_rce' into storageareas 2018-10-24 10:17:16 -04:00
Isaac Connor a8329465fb Merge branch 'master' into h265 2018-10-22 10:30:01 -04:00
Isaac Connor 559f34a838 User Monitor->Url() instead of Monitor->Server->Url() which will append port # 2018-10-20 14:33:09 -04:00
Isaac Connor 069f67a10f Break some long lines 2018-10-20 14:32:58 -04:00
Isaac Connor c9c46aa12d User Monitor->Url() instead of Monitor->Server->Url() which will append port # 2018-10-20 14:32:25 -04:00
Isaac Connor f5eca2da1e No longer need to add thisUrl to monitorUrl 2018-10-20 11:37:36 -04:00
Isaac Connor 3723f7acb3 comment out redundatn code increasing load on server 2018-10-19 15:02:10 -04:00
Isaac Connor 98579fc02a Merge branch 'master' into storageareas 2018-10-19 11:27:43 -04:00
Isaac Connor e7ec2faccd monitorUrl now includes /zm/index.php so adding thisUrl generates an incorrect url 2018-10-18 20:33:50 -04:00
Isaac Connor b0078fb1d9 whitespace, get rid of redundant ajax startup 2018-10-16 17:20:10 -04:00
Isaac Connor c2af380e29 Merge branch 'master' into storageareas 2018-10-16 11:39:26 -04:00
Isaac Connor 1b9b2811b3 remove ? from streamCmdParms. Mootools adds it in so this gives us a double ? 2018-10-16 11:39:16 -04:00
Isaac Connor 2881d2af3f Merge branch 'master' into storageareas 2018-10-10 14:13:27 -04:00
Isaac Connor a46c9a8a7a Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2018-10-10 14:03:35 -04:00
Isaac Connor 63a5211789 use url instead of server_url in Monitor object 2018-10-10 14:03:27 -04:00
Isaac Connor 48e805c09f Make header flips perisisent based on cookie 2018-10-10 13:11:27 -04:00
Isaac Connor 229315fc92 Merge branch 'add_archive_filter_to_montagereview' into storageareas 2018-10-09 11:10:27 -04:00
Isaac Connor 217d1e44ba Rough in an archived status filter in montagereview. 2018-10-09 11:06:54 -04:00
Isaac Connor 33bd30fbbd Merge branch 'master' into storageareas 2018-09-28 13:40:18 -04:00
Isaac Connor c481fc868f be more robust when curFrames is empty. 2018-09-28 11:25:19 -04:00
Isaac Connor 9c437b0303 Merge branch 'add_export_to_filter' into storageareas 2018-09-25 14:35:19 -04:00
Isaac Connor 520d1bb7bf Merge branch 'master' into storageareas 2018-09-20 09:08:29 -04:00
Isaac Connor 6181e52c47 gracefully handle non-existence of imageFeed 2018-09-20 09:07:28 -04:00
Isaac Connor 870300ed93 remove debug line 2018-09-14 16:19:41 -04:00
Isaac Connor 34c7ee32ee Merge branch 'master' into storageareas 2018-09-14 15:13:57 -04:00
Isaac Connor b5b71edbf6 Make a Url function in the Monitor object to use the Server->Url + Port. Default to port used in current url. Fixes problems with using something other than port 80 2018-09-14 14:26:45 -04:00
Isaac Connor 60b952ab86 Merge branch 'master' into storageareas 2018-09-13 16:20:36 -04:00
Isaac Connor 0ec391354c Merge branch 'fix_zms_from_mp4' into h265 2018-09-13 16:18:28 -04:00
Andrew Bauer c66dd25ebb implement collapsible headers (#2203) 2018-09-11 17:39:40 -04:00
Isaac Connor eef928a742 fix find_all => find 2018-09-11 14:31:03 -04:00
Isaac Connor 8608fc97be fix trms=>terms 2018-09-10 15:11:57 -04:00
Isaac Connor 0ee261fae3 get rid of code that hid the close/back button on events if there was no history. 2018-09-10 15:11:41 -04:00
Isaac Connor 03f769eacc Rough in codec specification for Events 2018-09-10 12:22:55 -04:00
Isaac Connor 978e332e3a Merge branch 'master' into storageareas 2018-09-09 16:36:31 -04:00
Isaac Connor 534aebb21f When loading previous and subsequent log lines, merge the fields in the filters instead of replacing 2018-09-09 16:36:09 -04:00
Isaac Connor d5cab088d6 Merge branch 'master' into add_export_to_filter 2018-09-05 10:33:10 -04:00
Isaac Connor 2858564155 Merge branch 'master' into storageareas 2018-08-31 16:06:13 -04:00
Isaac Connor 9ec415b30a Just reload the event view instead of dynamically updating the stream. Fixes #2196 2018-08-31 15:56:21 -04:00
Isaac Connor 799b34eee8 handle xhr errors like when auth is no longer valid. Do a page refresh when this happens 2018-08-31 10:34:54 -04:00
Isaac Connor 4e32089a48 Merge branch 'master' into storageareas 2018-08-30 14:51:27 -04:00
Andrew Bauer 8f0fb0843a Add Privacy Statement (#2194)
* initial implementation of privacy popup

* split the privacy text and run it through translate

* change style of toggle button, validate the form

* fix copy/paste error

* fix typos

* display privacy view inline rather than popup

* display privacy inline if show_privacy flag set

* redirect to console after selection is made

* typo

* css formatting

* update privacy verbiage

* create and load default.php

* fix typos

* fix erroneous copy/paste
2018-08-30 13:25:02 -04:00
Isaac Connor 6e5472d305 Merge branch 'master' into server_path_prefix 2018-08-22 12:57:16 -04:00
Isaac Connor d768f5f7fc Merge branch 'master' into storageareas 2018-08-13 15:35:55 -04:00
Isaac Connor 15a6eb7e78
Revert "Add Privacy Statement (#2176)" (#2179)
This reverts commit 56f4d768c2.
2018-08-13 15:33:43 -04:00
Isaac Connor 026390ccd8 Merge branch 'master' into storageareas 2018-08-13 15:26:29 -04:00
Andrew Bauer 56f4d768c2 Add Privacy Statement (#2176)
* initial implementation of privacy popup

* split the privacy text and run it through translate

* change style of toggle button, validate the form

* fix copy/paste error

* fix typos

* display privacy view inline rather than popup

* display privacy inline if show_privacy flag set

* redirect to console after selection is made

* typo

* css formatting

* update privacy verbiage

* push privacy text to all language files
2018-08-13 15:23:44 -04:00
Isaac Connor b85f74bb99 when selecting auto, we need to remove the width & height css key 2018-07-31 16:55:54 -04:00
Isaac Connor b20d61e0df fix onclick when editing layout 2018-07-31 16:47:25 -04:00
Isaac Connor 37779ff51d use a window.location.assign instead of creating a popup to export 2018-07-17 08:26:19 -04:00
Isaac Connor 05f0338219 use a unique connection key for downloads 2018-07-12 14:07:19 -04:00
Isaac Connor ce22f207e3 Merge branch 'master' into add_export_to_filter 2018-07-12 11:40:32 -04:00
Isaac Connor 8a936cdcc9 Merge branch 'master' into add_export_to_filter 2018-07-11 16:43:02 -04:00
Isaac Connor f56d751661 join multiple echos into 1 2018-07-10 13:47:30 -04:00
Isaac Connor e98578b2d7 Use Server.js objects for Servers array populated by json 2018-07-09 14:30:55 -04:00
Isaac Connor 51cfd9b265 Use Server.js object for generating url to images 2018-07-09 14:30:06 -04:00
Isaac Connor 8db6561030 Add missing ; 2018-07-09 13:08:20 -04:00
Isaac Connor 12a673169f spacing 2018-07-09 12:33:37 -04:00
Isaac Connor ba8dc2059d spacing 2018-07-09 12:33:21 -04:00
Isaac Connor e29ed9bc54 add Export button to Filter 2018-07-09 12:01:40 -04:00
Isaac Connor 4c916e880b Pass event_ids when reloading after export generation. 2018-07-09 12:01:25 -04:00
Isaac Connor 4de7ae8edc Pass event_ids when reloading after export generation. 2018-07-09 12:01:09 -04:00
Isaac Connor 5ea2edb2ee Convert export from a popup to a full page. 2018-07-09 12:00:10 -04:00
Isaac Connor 6cf336cc33 Always use a /zm in urls to zm assets 2018-07-09 09:47:20 -04:00
Isaac Connor 4a4e845e9c Fix stupid code that defaulted minTimeSecs to 2010 instead of the first event 2018-07-08 16:24:53 -04:00
Andrew Bauer 084f1ab1d6
Add missing reloadWebSite js function
Somehow this went missing when the new website monitor type was merged
2018-07-05 08:43:21 -05:00
Isaac Connor 55f2e7c6a2 Fix #2124. Always allow selection of checkboxes, include canEdit(Events) in button disabling. 2018-06-15 15:21:10 -04:00
Isaac 7ad6b01310 double to single quotes and spacing 2018-05-18 15:52:12 +02:00
Isaac Connor 4815162bea fix extra } 2018-05-18 09:11:15 -04:00
Isaac Connor 8276386a44 We always return an associative array now 2018-05-18 09:06:17 -04:00
Isaac Connor fdaf992156 Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas 2018-05-16 14:18:48 -04:00
Isaac 93dd943fec Fix some spacing 2018-05-16 20:17:57 +02:00
Isaac Connor 780cb693c2 google code style 2018-05-16 11:14:11 -04:00
Isaac Connor 81c4542a94 correct use of getValue. Use standard ddm element value instead 2018-05-16 11:13:59 -04:00
Isaac Connor 348468a98d Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas 2018-04-26 22:09:48 -04:00
Andrew Bauer 86b2f6a12e New Monitor Type - Website (#2065)
* implement website monitor

* don't check certain fields when using website monitor

* continue to fix javascript errors for website monitors

* check $monitor, not $new_monitor here

* add website monitor documentation

was somehow left out of the initial commit

* fix corruption of functions.php

* add missing comma

* remove errors by testing for existence of key.  If it's a new monitor, then none of the keys will be valid

* If the monitor type is WebSite, then default Status to Running.

* put back start function that got lost in merge.  Don't start StreamCmd's if it's a WebSite

* Add midding comma

* Hide unrelated tabs when type is WebSite. Put back input fields for Type=WebSite

* Don't show control or any of the status fields for WebSite type monitors

* add some parenthesis to ensure order of operations, seems to fix fps and status fields not being shown for regular monitors
2018-04-26 17:18:36 -04:00