Commit Graph

946 Commits

Author SHA1 Message Date
Isaac Connor 98d0c4b104 Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-10-18 14:14:07 -04:00
Isaac Connor 2619e90e96 add missing sendCmd's, spacing 2019-10-18 14:12:26 -04:00
Isaac Connor 13b02284fe Merge branch 'master' into timezone_as_config 2019-10-18 13:58:22 -04:00
Isaac Connor fdf48c4123
Merge pull request #2726 from externo6/more-filter-options
More filter options
2019-10-16 10:15:58 -04:00
externo6 e232c22b3d Only add % to value if % is not present. 2019-10-16 10:10:23 +01:00
Isaac Connor b63fc0b0e5 Delete linkpath before deleting empty directories. add closedir and some more debugging. Also add popping off that last part of the dir at each loop 2019-10-15 20:44:15 -04:00
externo6 4b71bc75ea Change language to Contains / Not Contains and update perl filter. 2019-10-16 00:35:49 +01:00
Isaac Connor 04c22988ad Add code to delete empty event directories after deleting an event 2019-10-15 15:04:55 -04:00
Simpler1 436c46207f Remove dash from IPCC7210W.pm 2019-10-04 22:52:51 -04:00
Isaac Connor 5aa639ff76 use common printMsg 2019-10-03 18:11:54 -04:00
Isaac Connor 5799815c2e Better debugging 2019-10-03 18:09:15 -04:00
Isaac Connor 0515fe51fd debug 2019-10-03 17:59:34 -04:00
Isaac Connor 12f75c32de Fix version 2019-10-03 17:54:41 -04:00
Isaac Connor 783358c932 Import Sony PTZ driver 2019-10-03 17:31:54 -04:00
Isaac Connor 88ca9816fe handle a profile not being a videoEncoder 2019-10-03 17:29:33 -04:00
Isaac Connor 6f5c297265 google code style 2019-10-03 17:28:57 -04:00
Isaac Connor a7f27dddde quotes and more useful sendCmd debugging. 2019-10-03 17:27:46 -04:00
Isaac Connor 714ce0ba60 Add coller info to AUTOLOAD error message when PTZ function isn't defined. Provide parent printMsg function. 2019-10-03 17:27:16 -04:00
Isaac Connor d02aee64e4 Add setting of timezone to Options/Config instead of php.ini 2019-10-02 09:07:18 -04:00
Isaac Connor 30687de918 Handle 0 value for StorageId 2019-09-10 17:20:18 -04:00
Isaac Connor 6b83a62fad allow for StorageId to be 0 2019-09-04 13:35:46 -04:00
Isaac Connor d1ac88d301 Now you can have a subpath under the S3 bucket 2019-08-29 17:55:39 -04:00
Isaac Connor ab0a939550 Turn off event dir creation on S3. It's not neccessary. Allow s3fs:// at the beginning of the S3 url 2019-08-29 11:27:58 -04:00
Isaac Connor 93d642304e Add debug line for aws credentials 2019-08-29 09:42:20 -04:00
Isaac Connor 307fad72be Default to using V4 Signature 2019-08-28 11:43:46 -04:00
Isaac Connor cdb8e056b6 Turn off debug in Event 2019-08-27 15:20:30 -04:00
Isaac Connor 35d3a7d4fa introduce files, has_capture_jpegs and has_analyse_jpegs functions to use in zmaudit. Improve delete debugging output 2019-08-27 15:17:18 -04:00
Isaac Connor b43093234f Merge branch 'master' of github.com:/ZoneMinder/zoneminder 2019-08-27 13:54:24 -04:00
Isaac Connor bf40421203 Turn on debugging in Event 2019-08-27 13:54:19 -04:00
Isaac Connor 796b99cd5b When no results from Object->load, clear the id in the object 2019-08-27 13:52:52 -04:00
Isaac Connor 547ee749e6 Test for Storage existing when generating path 2019-08-27 13:52:25 -04:00
Isaac Connor b0b27a24aa Add errstr reporting on add_key_filename failure 2019-08-27 13:11:38 -04:00
Isaac Connor 561fcfac7d Fix 2019-08-27 10:01:01 -04:00
Isaac Connor 1e91f5501e MOre debug, fix problems with S3 upload 2019-08-26 20:44:59 -04:00
Isaac Connor f01bedb33e Merge branch 'master' of github.com:ZoneMinder/zoneminder 2019-08-26 18:49:12 -04:00
Isaac Connor 5f5d5f691a Add backticks for mysql 8 2019-08-25 12:30:06 -04:00
Isaac Connor 45aa5bd58c Code style, spacing, quotes and documentation 2019-08-22 08:28:42 -04:00
Isaac Connor 74e414eb00 Clean up ugly hack in CopyTo. Do not modify the object resulting in cached crap 2019-08-13 15:33:38 -04:00
Isaac Connor bf6170bf61 Test for values in aws url and give better errors if Url empty. Don't append events dir to S3 bucket path 2019-08-07 15:47:12 -04:00
Isaac Connor afa02e436d Upgrade Storage perl object to use parent Object::find 2019-07-24 10:53:56 -04:00
Isaac Connor 98922b6788 Add SecondaryStorageId to Event so that we can update it 2019-07-24 09:37:16 -04:00
Isaac Connor bb653b172c Use hires time to give better bandwidth reporitng 2019-07-23 14:34:26 -04:00
Isaac Connor d4eae18055 Merge branch 'master' into filter_add_copy 2019-07-23 13:06:17 -04:00
Isaac Connor 49621bf652 Only parse Sql if there is a Query in the filter 2019-07-23 12:58:03 -04:00
Isaac Connor f9b5c8a1f4 If query is empty don't bother parsing it 2019-07-23 09:55:14 -04:00
Isaac Connor e821553265 Split MoveTo into CopyTo and MoveTo. 2019-07-23 09:54:39 -04:00
Isaac Connor 44e4d93445 Merge branch 'master' into storageareas 2019-06-24 11:35:36 -04:00
Isaac Connor ad1df8f80a log the response if command fails, and add missing uthentication sections 2019-06-21 11:40:46 -04:00
Isaac Connor 36995de96f Alter option help for EVENT_CLOSE_MODE to reflect that alarm will end the continuous event and start a new one 2019-06-20 15:11:49 -04:00
Isaac Connor b068428bbc zmcontrol complains about unfinished statement handles. This is because we aren't finishing them in functions in Database.pm 2019-06-20 13:27:42 -04:00
Isaac Connor 1928d1153f spacing and quotes 2019-06-11 13:32:15 -04:00
Isaac Connor 4466ef13fd Merge branch 'pliablepixels-crypt-replacement3' into storageareas 2019-05-23 15:21:58 -04:00
Isaac Connor 2bf022d69c Merge branch 'crypt-replacement' of https://github.com/pliablepixels/ZoneMinder into pliablepixels-crypt-replacement3 2019-05-23 14:26:05 -04:00
Isaac Connor bdbbab0d3e Handle no results from get_ProbeMatch() 2019-05-21 17:15:08 -04:00
Isaac Connor 93aeceecfc Merge branch 'crypt-replacement' of https://github.com/pliablepixels/ZoneMinder into pliablepixels-crypt-replacement 2019-05-17 10:18:15 -04:00
Isaac Connor 3888d140a8 Merge branch 'master' into storageareas 2019-05-17 10:16:29 -04:00
Pliable Pixels 915e9f05a9 merged fifo changes 2019-05-16 16:14:06 -04:00
Mitch Capper eb005e8b9c FIFO support for zoneminder zone debugging (#2594)
Adds fifo options for diagnostic images for much lower impact diagnostics mode.  Diagnostic images are only written when there is a client listening for them (otherwise they are skipped).  Also added a json stream for the detection data so you can see in real time the pixels or blobs detected for the motion.  This allows for easy real time stream of both delta and reference images (as video streams) along with the detection numbers.
2019-05-16 15:37:03 -04:00
Jonathan Meredith 74d9f4f1aa Spelling and grammar fixes in help (#2603)
* Edit Help array to make it match others below. This should not affect the results

* Misc. grammer and spelling fixes along with removing some duplicated words.  This should not affect compilation.

* More grammer and spelling errors

* Replace Javascript with ZoneMinder because it did not make sense there.

* More spelling and grammar edits
2019-05-13 07:58:18 -04:00
Isaac Connor 74095963cc Merge branch 'master' into storageareas 2019-05-12 19:39:09 -04:00
Pliable Pixels 881d531fe9 make old API auth optional, on by default 2019-05-12 18:19:19 -04:00
Pliable Pixels c1891e35b9 moved API enable back to system 2019-05-12 12:15:08 -04:00
Pliable Pixels e6b7af4583 initial baby step for api tab 2019-05-10 15:11:35 -04:00
Isaac Connor d9f7e93df3 Fix typo gegress to degrees. Fixes #2601 2019-05-10 14:27:51 -04:00
Isaac Connor 25614bb75e Merge branch 'master' into storageareas 2019-05-01 08:57:20 -04:00
Rémi Da Costa 16697565bf Netcat ONVIF: adding ONVIF authentication 2019-04-30 07:48:47 +02:00
cnighswonger dfa997a989
Add camera relative iris control methods
This set of methods invoke realtive iris size in the direction indicated by
    the <Large/Small> portion of their name. They accept no arguments.

    NOTE:

    This only just does work. The Dahua API specifies "multiples" as the input.
    We pass in a 1 for that as it does not seem to matter what number (0-8) is
    provided, the camera iris behaves the same.
2019-04-29 16:05:44 -04:00
redaco 76dd411341 Netcat ONVIF: Added support for "profile token" (#2589) 2019-04-29 15:56:55 -04:00
Isaac Connor 9421c0208d Add instructions for enabling the web user to run shutdown 2019-04-12 14:48:47 -04:00
Isaac Connor 0dd4a23770 Add Config for showing a system shutdown/restart option 2019-04-12 09:36:30 -04:00
Isaac Connor 3abf263e7a fixup half-merged changes to filter to view in montagereview 2019-04-08 16:57:41 -04:00
Isaac Connor e1873b1693 debug response content 2019-04-05 15:17:13 -04:00
Isaac Connor aaef151815 ZM_VERSION is a constant not a scalar variable 2019-04-05 13:18:06 -04:00
Isaac Connor d579faa291 attr in modern ZM should be StartWeekday. Continue to support legacy filters 2019-03-28 15:13:53 -04:00
Isaac Connor 7b878a4c64 Sync up quotes and space differences frmo zma_to_thread 2019-03-19 17:15:32 -04:00
Isaac Connor 3f9564c10a Merge branch 'master' into storageareas 2019-03-19 10:37:35 -04:00
Chris ad5f6a8729 Camera reboot function (#2554)
* Adding a button for camera reboot function

This series of commits will add a camera reboot function to the
control interface if supported by the camera configuration.

* Adding reboot function option to contorl configuration

This patch adds a reboot option to the camera control configuration
view.

* Adding Reboot field to Controls table

This patch adds a Reboot field to the Controls table to support
a camera reboot control option.

* Correcting button value to match reset

* Updating language files

I'm not sure of the proper procedure to trigger updating of
non-english language files so I'm updating them all with English
hoping that that will draw attention to the changes and others
will translate accordingly.

* Add missing forward slash
2019-03-18 14:49:05 -04:00
Isaac Connor 520c41da23 Merge ../ZoneMinder.connortechnology.bad into storageareas 2019-03-18 14:40:03 -04:00
Chris 6ee689f4bf Dahua control improvements (#2552)
* Adding a presetHome method

The Dahua protocol does not appear to support a preset Home feature. We could
allow the user to assign a preset slot as the "home" slot. Dahua does appear
to support naming presets which may lend itself to this sort of thing. At
this point, we'll just send the camera back to center and zoom wide. (0°,0°,0)

* Adjusting naming of private methods and adding POD

* Adding relative focus methods

This patch also adds the return value of the get request used to
send the command to the camera.

Furthermore, it fixes a small bug in the authentication of requests
sent to the camera after the connection is opened. I really have no
idea why the problem occurred and it appeared to have no practical
effect on the execution of the command. It showed up when I enabled
debug, so this attempts to fix it or at least quiet it.

* Adding POD for the new relative focus methods

Also doing a bit of cleanup on POD in general.

* Adding some documentation to demystify control motion types

This was not clear to me at the outset, and I could not locate existing
documentation which explained the prioritization and exclusion aspects.

Maybe it will help someone else.

* Renaming private methods and adding more POD

This patch renames private methods by prefixing an underscore to
them. This at least helps visually distinguish them as private
when reading through the code.

It also adds more documentation on public methods.

* Grouping all relative motion methods together

This makes for easier reading.

* Adding in a reset method from Issue #2414

This method was supplied by kobold81 who got it from
bobylapointe69300 who posted it in the following forum post:

https://forums.zoneminder.com/viewtopic.php?f=9&t=27000&p=104601&hilit=dahua#p104601

This patch also includes some POD cleanup.

* Adding continuous movement methods and fixing reset

This patch adds the continuous movement methods provided in the patch
for Issue #2414. Note that these are not truly continuous as they
result in movement for less than a ms. Adapting the code to support
truly continuous movement would invovle some considerable work.

This patch also correct the reset method and adds a reboot method.
The two are different creatures with different effects.

POD added as well.

* Removing redundant get request code

Two slightly different versions of code are currently used to post
the get request to the camera in order to execute commands. This
patch modifies the open method in order to allow its re-use and
removes redundant code.

Note: This is the first installment on changes towards improving
the way the HTTP transactions are handled.

* Making authenication failures fatal

Authentication failures result in camera commands not being executed.
They may as well be fatal and return the general reason to the user
directly.

* Work on persistent sessions

I think this will have to wait since it appears that the camera expects
some sort of keepalive/heartbeat signal to keep the session open.

* Restoring accidentally deleted code
2019-03-12 11:09:57 -04:00
Isaac Connor 016fda22ce reduce duplicated db code from Config. Use fully namespace'd variables so we can use require instead of use 2019-03-01 12:31:41 -05:00
Isaac Connor fd310c0f0a Merge branch 'master' into storageareas 2019-02-22 11:33:47 -05:00
Isaac Connor 2b90bf15a6
Improve session (#2487)
* Introduce ZM_COOKIE_LIFETIME which sets the life of the SESSION cookie, instead of using what is in php.ini

* Use zm specific session functions, which are now located in includes/session.php.  Be more agressive about clearing session on logout.

* Move session code to includes/session.php

* remove duplicate line

* Move is_session_open to session.php.  Move code to clear a session into session.php

* improve debug line when there is a problem updating config entry

* split description into description and help text for COOKIE_LIFETIME

* Remove redirect on line.  We do it in javascript on postlogin view so that we can say logging in before switching to console

* If there is a username in the session, then we are logged in, but we need to load the user object from the db.  We can't just trust it from the session. The user may have been deleted and having that data in the session can be a security risk. So load the user object on every request.

* Use session_regenerate_id instead of our broken code to do the same

* Move auth code to includes/auth.php

* add autocomplete tags to username and password inputs

* Don't redirect to login if we are already viewing login.  Put auth before including skin includes

* need to include session.php in auth.php

* update to php namespace
2019-02-22 09:43:38 -05:00
Chris b8117f7fc9 Add support for control of Amcrest cameras (#2536)
* Add a control module to support the current Amcrest HTTP API

This patch adds ZoneMinder::Control::Amcrest_HTTP

This module is adapted and improved from one available on the ZoneMinder
forums.[1] It appears that a number of individuals have contributed to
it. This is an attempt to correct some of its interactions with ZM::Control
and friends as well as enhance and extend supported control features
for Amcrest cameras.

This work is based on Amcrest HTTP Protocol API Specifications
Rev. 2.12 2017-03-15

[1]https://forums.zoneminder.com/download/file.php?id=1878

* Fixing zoom methods

* Misc. cleanup of comments, etc.

* Fixing up POD, etc.

* Converting line endings to Unix

* Fixing up preset methods

The current Amcrest HTTP API does not support a Home command per se. So this
method is set up to send the camera to the first preset position. Of course,
this presupposes that the user will setup a preset #1 otherwise the command
will fail on a bad preset error.

If a future version of the API supports a true Home command, we'll adjust
at that point. For now this seems to be a useful workaround.

* Removing duplicate home method

* Adding moveAbs method

I'm putting this in, but absolute camera movement does not seem to be well
supported in the classic skin ATM. Reading
www/skins/classic/include/control_functions.php seems to indicate
a faulty implementation, unless I'm reading it wrong. I see nowhere
where the user is able to specify the absolute location to move to. Rather,
the call is passed back movement in increments of 1 unit. At least with the
Amcrest/Duhua API this would result in the camera moving to the 1* or 0* etc.
position.

moveAbsUp, Down, Left, Right, etc. Doesn't make sense given the definition
of Absolute movement.

* Adding a note about the moveMap method

This method does not appear to be implemented in the classic skin,
but we'll leave it here for future implementation. Caveat: It may
or may not work as-is.

* Fixing up zoomConTele/Wide methods

* Adding a vanilla control type for the Amcrest HTTP API

Please note that this control type matches (mostly) the currently
available control options in Amcrest_HTTP.pm. It does not match
all (or possibly any) of the control options available on a specific
Amcrest camera. The user may need to create their own control type
specific to the camera model they are using.

* Removing misplaced comment

Thanks to connortechnology for pointing this out!
2019-02-22 09:17:28 -05:00
Isaac Connor 24845e0457 Merge branch 'master' into storageareas 2019-02-14 15:40:52 -05:00
Isaac Connor 62bf7d54f1 close sth's on Fatal to prevent error message 2019-02-14 15:40:42 -05:00
Isaac Connor a3374aa26c Merge branch 'reload_zmfilter_on_filter_save' into storageareas 2019-02-11 13:26:53 -05:00
Steve Gilvarry 87413d447d Set CSRF on as the default for new installs. Fixes #2507 (#2508)
* Set CSRF on as the default for new installs. Not sure we can impact config on existing installations.

* Fix the spelling mistake that I noticed after editing this.
2019-02-10 13:08:58 -05:00
Isaac Connor 555cb4780d Merge branch 'master' into storageareas 2019-02-10 12:37:45 -05:00
Isaac Connor e2fc0ea25d Increase navbar refresh times. 5 seconds is way too fast 2019-02-08 10:22:42 -05:00
Isaac Connor d121ecab75 Merge branch 'improve_session' into storageareas 2019-02-05 15:48:42 -05:00
Isaac Connor 5b288d3b67 split description into description and help text for COOKIE_LIFETIME 2019-02-05 11:39:50 -05:00
Isaac Connor a176c9bbd2 improve debug line when there is a problem updating config entry 2019-02-05 11:39:21 -05:00
Isaac Connor 4e10e6f0ae Merge branch 'improve_session' into storageareas 2019-01-30 15:26:37 -05:00
Isaac Connor 1e56e750cf Introduce ZM_COOKIE_LIFETIME which sets the life of the SESSION cookie, instead of using what is in php.ini 2019-01-30 11:04:38 -05:00
Isaac Connor cc8de69eba Merge branch 'master' into storageareas 2019-01-22 11:44:42 -05:00
Isaac Connor e60e3666d5 Fix comment 2019-01-22 10:53:53 -05:00
Matt N 0619a4a161 Validate cnj, obr, and cbr arguments in parseFilter (#2434) 2019-01-22 08:03:25 -05:00
Isaac Connor b8d065275b Merge branch 'master' into storageareas 2019-01-04 15:22:18 -05:00
techrockedge 571daec8fc Merge branch 'master' of git://github.com/ZoneMinder/zoneminder
refresh with master
2019-01-03 15:02:57 -05:00
techrockedge e21b8dc1f9 changed to ZM db functions 2019-01-02 16:01:33 -05:00