Commit Graph

508 Commits

Author SHA1 Message Date
Isaac Connor 702cb65d2a Merge branch 'storageareas' 2019-08-08 13:38:36 -04:00
Isaac Connor df285006d2 change sortHeader to include eid if it is in the request 2019-08-08 13:34:10 -04:00
Isaac Connor 5b0509e000 When invalid operator terms, use print_r on the term instead of just the operator 2019-08-08 09:26:00 -04:00
Isaac Connor 45afc2a534 introduce array_recursive_diff which we use to compare two arrays in Object::changes 2019-07-24 11:24:37 -04:00
Isaac Connor fe71a9abaa php_errormsg is deprecated 2019-07-19 16:32:40 -04:00
Tom Hodder 1336c03f97 WIP: Add pagination to frames.php in classic (#2618)
* add pagination to the frames.php results

* remove commented code, fix view all paging

* removing debugging logging statements

* default frames paging to on
2019-06-16 12:02:00 -04:00
Isaac Connor b0869a0b13 spaces and quotes 2019-05-31 10:34:53 -04:00
Isaac Connor db9ba7eeab Add StartDateTime and EndDateTime as Sort options. Fixes #2614 2019-05-24 10:02:15 -04:00
Isaac Connor 8f28ba0be3 beter debug and less often when no terms in parseFilter 2019-03-22 17:28:12 -04:00
Isaac Connor 7f7acc18ee spacing and code doc 2019-03-21 14:14:30 -04:00
Isaac Connor 6efeab5f8d improve readability of parseFilter 2019-03-20 14:26:48 -04:00
Isaac Connor 778707c8df Merge branch 'master' into storageareas 2019-03-04 14:33:28 -05:00
Isaac Connor 96e29c0299 fix up remaining issues with cycle updates 2019-03-04 13:35:40 -05:00
Isaac Connor 5da51d51bc Merge branch 'master' into storageareas 2019-02-26 10:55:51 -05:00
Isaac Connor 2187dea2aa add namespace to Warnings 2019-02-25 15:11:08 -05:00
Isaac Connor fd310c0f0a Merge branch 'master' into storageareas 2019-02-22 11:33:47 -05:00
Isaac Connor 8dd8888975
Php namespace (#2537)
* 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
2019-02-22 09:19:07 -05:00
Isaac Connor 5029d7214a Merge branch 'master' into storageareas 2019-02-18 17:00:45 -05:00
Mitch Capper b646284da3 don't quote dbEscape values it will quote it already (#2529) 2019-02-17 11:31:28 -05:00
Isaac Connor 555cb4780d Merge branch 'master' into storageareas 2019-02-10 12:37:45 -05:00
Matthew Noorenberghe a97711de89 Replace or sanitize remaining uses of PHP_SELF. Fixes #2446 2019-02-09 22:12:36 -08:00
Matthew Noorenberghe effd609ff7 Escape output of state names. Fixes #2475 2019-02-09 20:40:08 -08:00
Matthew Noorenberghe 6d2f3c265f events.php: Remove inline event handlers and enforce CSP 2019-02-09 17:34:59 -08:00
Matthew Noorenberghe fcbc22b6a2 functions.php: Ensure 'limit' request parameter is an integer. Fixes #2456 2019-02-09 17:27:47 -08:00
Matthew Noorenberghe 502f53fad0 functions.php: Fix SQLi in getFormChanges 2019-02-09 17:15:02 -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 c8066919ff functions.php: Esacepe textContent in htmlOptions() 2019-02-09 14:14:46 -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 533d021dea Merge branch 'master' into storageareas 2019-01-30 15:17:27 -05:00
Matt N 8c5687ca30 Fix name/protocol XSS in controlcaps.php. Fixes #2445 (#2479) 2019-01-25 08:35:07 -05:00
Matt N fd6179d7c8 Enforce CSP on many more views (#2480) 2019-01-25 08:34:29 -05:00
Matthew Noorenberghe 47d8c9b066 plugin.php: Remove undefined onclick function reference and enforce CSP
Also fix tag closing.
2019-01-23 19:47:58 -08: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
Isaac Connor cc8de69eba Merge branch 'master' into storageareas 2019-01-22 11:44:42 -05:00
Matt N 0619a4a161 Validate cnj, obr, and cbr arguments in parseFilter (#2434) 2019-01-22 08:03:25 -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 fbc236128e add a function to format a time into a duration. Can't use date() because 0 doesn't give us 00:00:00 it gives 19:00:00 2019-01-21 11:16:14 -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
Matt N 35fb4366b6 Fix recaptcha support with the CSP (#2420) 2019-01-19 09:47:04 -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 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 f49dd93b6a Merge branch 'master' into storageareas 2019-01-16 14:39:56 -05:00
Isaac Connor 1f3da476b8 switch to single quotes 2019-01-16 14:04:24 -05:00
Isaac Connor d8ef33396a If multi-port is on, we need to output CORS headers 2019-01-16 13:44:57 -05:00
Isaac Connor ba21820fd0 fix typo 2019-01-16 12:10:34 -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
Andrew Bauer 07d8ac1d49 implement timezone check function (#2387)
* implement timezone check function

* remove comment

* also check if the timezone is valid

* whitespace
2019-01-15 09:05:11 -05:00
Matt N 083f284599 Replace onclick inline event handlers for createPopup (#2410)
* Move <script> before </body>

* Change makePopupLink to not use onclick

* Change makePopupButton to not use onclick

* Use .popup-link in control_functions.php

* Use makePopupButton in controlcaps.php

* Prevent double-encoding in makePopup*

* Use makePopupButton in devices.php

* Use makePopupButton in logout.php

* Use makePopupLink in monitor.php

* Use makePopupLink and .popup-link in montage.php

* Use makePopupButton in options.php

* Use makePopupButton, makePopupLink, and .popup-link in zones.php
2019-01-15 09:01:58 -05:00
Isaac Connor 52466c398b Merge branch 'split_actions' into storageareas 2019-01-04 15:28:55 -05:00
Isaac Connor dbe9817bc8 Split actions.php into individual files per view 2019-01-04 09:26:34 -05:00
Isaac Connor 5060358870 Merge branch 'master' into storageareas 2018-12-29 09:56:53 -05:00
Andrew Bauer d14e9ecf74 force overloadframes and ExtendAlarmFrames to int (#2373) 2018-12-29 09:53:31 -05:00
Isaac Connor 1a1231fdaa Merge branch 'master' into storageareas 2018-12-28 10:47:27 -05:00
Andrew Bauer fb37fc48e1 update viewImagePatch (#2370) 2018-12-28 10:38:39 -05:00
Isaac Connor eba8b3327d Merge branch 'master' into cleanup_auth 2018-12-11 16:04:42 -05:00
Isaac Connor 4625f7c879 Merge branch 'master' into storageareas 2018-11-28 10:46:49 -05:00
Isaac Connor 17c1933913 remove an extra l 2018-11-26 16:20:15 -05:00
Isaac Connor dea5db9dd9 Merge branch 'zmaudit_check_other_storageareas' into storageareas 2018-11-23 11:11:39 -05:00
Isaac Connor 415d43fafb Include Server Name when testing for CORS. Also be case insensitive. 2018-11-15 12:23:52 -05:00
Isaac Connor 461ce3c1f8 Merge branch 'master' into storageareas 2018-10-29 12:52:06 -04:00
Isaac Connor 6691b5fb52 Include CORS headers when there is a Server defined, instead of requiring there to be more than 1 2018-10-29 12:50:50 -04:00
Isaac Connor 95a6d0666a Improve behaviour and reduce extra logging when db goes away 2018-10-29 09:59:26 -04:00
Isaac Connor 91d83a89fa include semaphore function replacements 2018-10-25 15:40:12 -04:00
Isaac Connor 2881d2af3f Merge branch 'master' into storageareas 2018-10-10 14:13:27 -04:00
Isaac Connor 6ed146b4dd Use Hostname instead of Url in test for CORS access. 2018-10-10 14:01:36 -04:00
Isaac Connor e268264761 Merge branch 'cleanup_auth' into storageareas 2018-10-09 10:24:32 -04:00
Isaac Connor 918d5fd469 move utility functions for doing get/post requests into functions.php from actions.php 2018-10-09 09:39:04 -04:00
Isaac Connor fa55cec12c fix error when scale is auto 2018-09-14 16:57:28 -04:00
Isaac Connor 77edb8f74b Add test for auto scale and don't rescale. Use find_one when loading StorageArea so as to use caching 2018-09-14 16:19:29 -04:00
Isaac Connor 34c7ee32ee Merge branch 'master' into storageareas 2018-09-14 15:13:57 -04:00
Isaac Connor f1442eba90 once we have found a match for our origin, break out of loop 2018-09-14 14:56:26 -04:00
Isaac Connor d9b1d3ec11 fix CORS Headers when we are coming from a non-standard port. Use a regexp instead of == so that we match regardless of port 2018-09-14 14:52:33 -04:00
Isaac Connor 683789eb41 Merge branch 'master' into storageareas 2018-08-03 10:27:48 -04:00
Isaac Connor b72d520e02 implement the ability to pass a disabled option to htmlSelect. Use it to disable the h264 passthrough option for non-ffmpeg monitors. Instead of disappearing it. 2018-08-03 10:02:42 -04:00
Isaac Connor c934295bf9 we shall always pass width & height as pixels without units. 2018-07-31 16:55:13 -04:00
Isaac Connor 05615c5cf4 We should not use a hard path in cache bust 2018-07-11 15:48:01 -04:00
Isaac Connor cf4a1c73fd Always us /zm in cache_bust 2018-07-04 14:46:22 -04:00
Isaac Connor d271d8bf1d Fix my botched change to generateAuthHash 2018-06-25 14:50:54 -04:00
Isaac Connor 99a97543f1 Rework generateAuthHash to take a force parameter so that it can be used to generate auth hashes for zmu 2018-06-25 13:43:08 -04:00
Isaac Connor af3ce3660f Only unlink if file exists, removing warning. Always return a Storage object in Monitor->Storage() fixes Monitor Delete. 2018-05-24 09:54:45 -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
Isaac Connor 00e82fb751 Implement MonitoServerId,StorageServerId,FilterServerID in Filters 2018-04-25 13:05:19 -07:00
Isaac Connor dfae6661ab use isset when determining if a column exists, otherwise we throw warnings 2018-04-25 09:32:40 -04:00
Isaac Connor fac3cde1e7 Merge branch 'master' of github.com:ZoneMinder/ZoneMinder 2018-04-20 15:23:23 -04:00
Isaac Connor 3ea39ad417 whitespace 2018-04-20 15:22:45 -04:00
Andrew Bauer 3c225c9f1c Migrate Webcache out of webroot (#2083)
* migrate webcache folder out of webroot, migrate htaccess files

* rpm specfile - add missing reference to cache folder

* fix submodule mixup
2018-04-19 15:01:46 -04:00
Isaac Connor e3afa5e309 handle scale not being defined when using mpeg streaming 2018-04-18 11:28:19 -04:00
Isaac Connor ef70ff86e9 cleanup zmaControl 2018-04-17 11:36:14 -04:00
Isaac Connor 53ce8c008a move auth functions into it's own file 2018-04-06 14:36:23 -04:00
Isaac Connor 793f630ee0 Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas 2018-04-02 10:43:07 -07:00
Isaac Connor df3a5b7d58 must reopen the session before destorying it 2018-03-29 19:19:08 -04:00
Isaac Connor 3fe5bb6fe2 open and close the session around user login 2018-03-29 11:30:20 -04:00
Isaac Connor 27736fb5d9 Merge ../ZoneMinder.master into storageareas 2018-03-15 11:04:41 -04:00
Andrew Bauer 0df59c26b8
fix typo
Fix unable to enable camera
2018-03-10 19:48:53 -06:00
Andrew Bauer ed4dac761a
Merge pull request #2049 from ZoneMinder/fix_2044
Fix 2044
2018-03-03 12:49:57 -06:00
Isaac Connor 3fc7ebee6c Merge ../ZoneMinder.master into storageareas 2018-03-03 09:32:23 -08:00
Isaac Connor 735e36c2a8 split htmlSelect into htmlOptions 2018-02-26 17:08:30 -08:00
Isaac Connor 464b588f08 add a case for toggle, which are booleans and default them to false 2018-02-26 07:29:49 -08:00
Isaac Connor 505e726636 turn off debug 2018-02-14 13:51:49 -05:00
Isaac Connor a09bf3b097 slightly improve auth debugging 2018-02-14 11:58:00 -05:00
Isaac Connor 93996402d9 turn off debug 2018-02-02 13:24:07 -05:00
Isaac Connor 018523134e use ZM_BASE_PROTOCOL when loading plugins. https can't load http content 2018-01-31 14:35:23 -05:00
Isaac Connor 2ea2f46ec8 braes 2018-01-25 09:13:31 -08:00
Isaac Connor a271f1776d Fix #80 don't escape NULL value when building SQL 2018-01-24 10:35:22 -05:00
Isaac Connor 9f89ccfa32 revert issue with AUTH_HASH_LOGINS 2018-01-24 07:46:56 -05:00
Isaac 06c9266c62 use snapshot.jpg more 2018-01-22 03:27:01 +01:00
Isaac Connor 0f3cf33565 Move unparse_url from add_monitors to functions to make it generally available 2018-01-19 08:16:52 -08:00
Isaac Connor 4b37c6fc42 Change the Group dropdown to a single indented dropdown, and use chosen on it 2018-01-12 11:25:15 -08:00
Isaac 3c55557c77 Handle to val in a filter term 2018-01-11 22:53:53 +01:00
Isaac Connor 5792021ee3 Merge branch 'storageareas' into fugro 2018-01-10 15:08:28 -05:00
Isaac Connor 74269fea73 make montagereview load event images from the server that the storage is located on 2017-12-22 12:33:30 -08:00
Isaac Connor 148e21d707 fugro 2017-12-21 21:46:21 -05:00
Isaac Connor 5f4b2ca53f don't close the session when logging in 2017-12-18 14:35:11 -05:00
Isaac Connor d312482a2b add StorageScheme to Storage and Events. Deprecate ZM_USE_DEEP_STORAGE 2017-12-18 12:52:26 -05:00
digital-gnome c0fcfe6eb6 Combine possible sort inputs to one in sortQuery, output limitQuery 2017-12-15 08:47:08 -05:00
Isaac Connor e364641d7b on initial page hit, the cookie might not be set. Use global instead. 2017-12-13 11:21:50 -05:00
Isaac Connor bd73e7c2e2 Merge branch 'robots' into storageareas 2017-12-07 10:31:25 -05:00
digital-gnome f8d3c07586 Add h264 event view functionality and new feature alarmCues (#2012)
* Fix nearEventsQuery

Removed dbEscape from getNearEvents previous event because it only returns 0.  Now matches next.  Changed getEventDefaultVideoPath function to return a web path rather than the absolute path based on ic0ns branch.  Also added start times to allow for videoJS replaymode.

* Unescape filters

Filters need to be unescaped

* Add initial values to page load

* Add replay modes to videojs

* rough in figuring out a frame in between bulk frames

* Add alarmCues

Add a graphical indication of where alarm frames happened in an event.  Similar to what zmNinja shows.

* Add remaining buttons to videojs

Functionality for all buttons on videojs streams.  FF/RW buttons show as active when they are active.

* Whitespace and fix Bulkframe calcs

* Fix zms events trying to generate with mp4 code

ZMS events would attempt to generate frames as though they were an mp4/passthrough type because the full eventpath wasn't passed

* ZMS scrub bar

Move zms scrub bar to bottom of image feed.  Make it simpler and more like videojs style.

* Wrap event feeds properly

* Fix dvrControls on watch view

* Add scaleToFit

Add a scaleToFit option to event view

* Add navigation for videoJS streams

Disables nav buttons at beginning and end of events.  Handles switching from zms to videojs.  If zms crashes changes next event function to reload page instead of ajax.

* Add scaleToFit to watch and frame view

Adds scaleToFit to watch view.  Since frame view uses the watch cookie this required changes to frame view

* Add transition to zoom

* Change stills view to match stream

Move stills slider bar to match scrub bar on streams.  Allow it to resize, make it larger.  Add alarmcues.

* Add Stills for every event

Add stills for every event.  Match size to stream size

* Progressbox transitions
2017-12-04 21:26:59 -05:00
Isaac Connor 6270408c8f rework group MonitorIds and add GroupId filters to api 2017-12-04 15:52:16 -05:00
Isaac Connor b565125df9 montage layout improvements 2017-11-22 12:33:34 -05:00
Isaac Connor cd1d2e1721 lots more debugging. re-add status update command on failure 2017-11-22 01:18:07 -05:00
Isaac Connor 489d3ba6ed Merge ../ZoneMinder.master into storageareas 2017-11-21 12:23:17 -05:00
Isaac Connor 12b47cbfe4
Merge pull request #51 from digital-gnome/storageareasFixes
Minor UI fixes
2017-11-20 20:15:32 -05:00
digital-gnome b655689f47 Fix cache_bust
Cache busting was preventing changing css due to leaving symlinks behind.  Adding the css name to each symlink prevents the need for a forced refresh since mtime is the same on unchanged files but filename does not change between css sets.
2017-11-20 12:27:20 -05:00
digital-gnome d8af654338 Fix dvrControls on watch view 2017-11-18 14:05:11 -05:00
Isaac Connor 821717b06e turn off debug 2017-11-08 11:26:13 -05:00
Isaac Connor 625170bffc fix getVideoStream to getVideoStreamHTML. Change how scaling works 2017-11-08 11:17:30 -05:00
Isaac Connor f39353a4a3 add missing breaks 2017-11-03 15:44:53 -04:00
Isaac Connor 0ef5c16bcc when doing parseSort, reset the sortfield to StartTime instead of DateTime 2017-11-03 15:07:04 -04:00
Isaac Connor 67bb8c302f add missing / 2017-11-03 10:00:29 -04:00
Isaac Connor 4ef28bb30d don't put the leading / in the cache link 2017-11-03 09:22:43 -04:00
Isaac Connor a9d4dfac45 fix the file extension so that mime type works better 2017-11-01 11:52:32 -04:00
Isaac Connor e6918cd1bd implement crude cache busting code for .js and .css files 2017-11-01 09:41:19 -04:00
Isaac Connor 82fbec697f add IS and IS NOT as filter operators so that we can do IS NULL and IS NOT NULL because = NULL and !=NULL are not valid 2017-10-27 08:37:53 -07:00
Isaac Connor 653d213d62 Add EndTime and DiskSpace to Filters 2017-10-25 11:11:19 -07:00
Isaac Connor ced5015a83 move zmcControl and zmaControl to the Monitor Object 2017-10-23 17:00:59 -07:00
Isaac Connor cf2eace2c7 improve htmlSelect and add Storage and Server filters to console 2017-10-19 09:50:07 -04:00
Isaac Connor 6bf9e28a1e fix use of api when auth not in use and actually specify which monitor to restart 2017-10-16 10:00:41 -07:00
Isaac Connor 67cb3a7d3c better human_filesize function 2017-10-10 12:39:36 -07:00
Isaac Connor a9d3be549f try caching storage 2017-10-10 10:39:17 -07:00
Isaac Connor 7f73f0bf8c do a backtrace when we ca;; generateAuthHash without open session 2017-10-10 11:51:35 -04:00
Andrew Bauer e825e5d61e initial commit to change color of web console systemstats (#1981)
* initial commit to change color of web console systemstats

* use css classes
2017-10-07 18:42:39 -04:00
digital-gnome e23b4a0d5d Fix event path 2017-10-07 12:42:16 -04:00
Isaac Connor b56a976d7a fixes to montage review and cleanup in group filtering/editing 2017-10-05 10:46:04 -04:00
Isaac Connor 87a49ad009 work on infinite depths of groups 2017-10-04 16:40:09 -04:00
Isaac Connor 4be133ed09 remove btn styles from buttons. make groups, cycle, montage, montage review non-popups. Add datetime filters to montagereview. Fix dark skin 2017-09-30 14:19:32 -04:00