Commit Graph

912 Commits

Author SHA1 Message Date
Isaac Connor 2f48c442cc add Enabled to Storage 2020-03-04 10:15:35 -05:00
Dinko Bajric 6b2f78c192 Added presets for Amcrest IP8M-T2499EW Camera 2020-02-28 21:08:02 -08:00
Isaac Connor 92f87756ff Merge branch 'release-1.34' 2020-02-28 17:14:22 -05:00
Isaac Connor 52cb2441f0 Bump version to 1.34.5 for release 2020-02-25 20:46:59 -05:00
Isaac Connor bf9ba39aa2 Merge branch 'release-1.34' 2020-02-25 18:22:55 -05:00
Isaac Connor e630550d0f bump version for release 1.34.4 2020-02-24 14:44:19 -05:00
Isaac Connor 93fa1cd03c Convert the default filters to insert by specifying the column names to make them less fragile to db changes. Mostly this helps developers who may have other columns defined than what is currently in use in the version they are working on. 2020-02-21 09:48:01 -05:00
Isaac Connor 300402013c Merge branch 'master' into improve_filter_emails 2020-02-19 14:44:37 -05:00
Isaac Connor ea2eba4110 bump version to 1.34.3 2020-02-19 13:50:27 -05:00
zlodag 0c97bff645 monitor presets and controls for D-Link DCS-5020L 2020-02-19 22:50:09 +13:00
Isaac Connor fc8f94c315 Merge branch 'master' into improve_filter_emails 2020-02-17 16:42:44 -05:00
Isaac Connor af6b51f0d3 release 1.34.2 2020-02-04 16:47:33 -05:00
Isaac Connor fb5111ffe4 bump version to 1.34.1 for release 2020-01-24 17:01:47 -05:00
Isaac Connor 259530fd3d Add EmailTo,EmailSubject,EmailBody fields to Filter 2020-01-22 13:52:05 -05:00
Isaac Connor d4bc0bf72b bump version for release to 1.34.0 2020-01-15 17:31:06 -05:00
Isaac Connor a84031f819 TEXT fields cannot have default values 2019-12-19 09:25:22 -05:00
Isaac Connor 34354f5871 Add Notes field to monitors to store random info in. Bump version to 1.33.16. use htmlSElect for savejpegs. Move storage area under Storage tab. 2019-12-18 12:13:00 -05:00
Isaac Connor 09fcbad666 Merge branch 'master' into zma_to_thread 2019-11-30 14:59:39 -05:00
Isaac Connor 55dd40ec85 Change Orientation Enum to use strings instead of numbers as values. Sync them up with what we use in C code 2019-11-29 13:47:45 -05:00
Isaac Connor 01d61f4f32 Change Orientation Enum to use strings instead of numbers as values. Sync them up with what we use in C code 2019-11-29 13:47:25 -05:00
Isaac Connor f3f253c083 Query was renamed to Query_json 2019-09-28 11:55:28 -04:00
Isaac Connor 6bd2267483 Fix installing default filters failing due to missing values for AutoCopy and AutoCopyTo 2019-09-06 10:55:34 -04:00
Isaac Connor 6f59d63e08 Add missing AutoCopy and AutoCopyTo in db creation 2019-09-05 09:55:58 -04:00
Isaac Connor 396be10d6f Merge branch 'master' into zma_to_thread 2019-08-22 12:57:00 -04:00
Isaac Connor 962049fa31 Merge branch 'master' into filter_add_copy 2019-08-06 20:17:21 -04:00
Isaac Connor 90cb5d018a
Fix 2673 (#2675)
* Change MaxFPS to DECIMAL(5,3) to handle values like 1/60 = 0.017

* When fps < 1 we may need to wait longer than 10s.  Also, we cannot sleep for a long time, because we may need to send a keep alive or check the command queue. So limit the sleep to 1s

* Bump version

* Update MaxFPS to Decimal(5,3)

* Fix missing ;
2019-07-31 11:42:38 -04:00
Isaac Connor 57133691e9 Add update script for SecondaryStorageArea capability in Events and Filters 2019-07-24 10:53:23 -04:00
Isaac Connor 2d556e6402 Add SecondaryStorageId to Events 2019-07-24 10:52:32 -04:00
Isaac Connor 5b896b5e5c Replace password('admin') with the resulting string because use of password is deprecated 2019-07-08 14:16:57 -04:00
bluikko aa817adbed Add primary keys to Logs and Stats tables (#2653)
* Add primary keys to Logs and Stats tables

Adds an auto_increment int(10) Id as PRIMARY KEY to Logs and Stats tables.

Closes ZoneMinder#2550 and makes ZoneMinder compatible with Galera writeset replication for InnoDB (Galera Cluster, Percona XtraDB Cluster).

*  Do ALTER TABLE only if columns do not exist

*  Add forgotten prepare/execute
2019-07-07 08:26:06 -04:00
Isaac Connor 19af25bf1a add DecoderHWAccel fields to Monitors 2019-06-25 15:29:46 -04:00
Isaac Connor 6ed0074077
End continuous events on alarm (#2644)
* Reference /run/zm instead of /var/run/zm because systemd-tmpfiles complains about it

* Spacing, google code style and tabs to spaces

* add update script to add MinSectionLength

* Add min_section_length to enforce a minimum event length when closing continuous events on alarm
2019-06-24 11:29:00 -04:00
Kirill Zhuykov a244af49ad fix #2622 (#2623) 2019-05-28 10:57:01 -04:00
Pliable Pixels 915e9f05a9 merged fifo changes 2019-05-16 16:14:06 -04:00
Pliable Pixels 4027a5adf8 fix update script 2019-05-13 14:48:26 -04:00
Pliable Pixels 87e407aa90 forgot to checkin update file 2019-05-13 10:31:09 -04:00
Pliable Pixels 91b6d0103c remove M typo 2019-05-11 13:41:19 -04:00
Pliable Pixels ae14be916c initial plumbing to introduce token expiry and API bans per user 2019-05-11 13:39:40 -04:00
Chris faaec9e1d6 Another attempt to fix SQL Control values (#2600) 2019-05-06 12:14:03 -04:00
Isaac Connor 75b4f4f2b3 Add a few missing GREATESTs in the triggers. 2019-04-30 17:29:18 -04:00
Andrew Bauer 27344df373
fix typo 2019-04-30 07:15:00 -05:00
Andrew Bauer c57017bd34
Merge pull request #2587 from connortechnology/update_triggers_prevent_negatives
Use GREATEST function prevent negative values in event counts
2019-04-29 18:30:47 -05:00
cnighswonger ff738a99ba
Enabling relative iris methods 2019-04-29 16:06:41 -04:00
Isaac Connor 077ad75516 Merge branch 'storageareas' into origin/zma_to_thread 2019-04-25 12:41:48 -04:00
Isaac Connor 3c56b32b08 Use GREATEST function prevent negative values in event counts 2019-04-24 10:38:08 -04:00
Isaac Connor d776f63bd8 Change MonitorIds from TinyText to TEXT. Fixes #2569 2019-04-07 17:23:39 -04:00
Isaac Connor 3ab1c9983a Update Controls INSERTS to match new column count. Add a db update script to update the Controls table with the new CanReboot column 2019-04-02 09:05:52 -04:00
Isaac Connor b97801a174 Don't specify database name when turning off DEEP storage 2019-03-20 16:22:47 -04:00
Isaac Connor 71cd024fda spacing updates. Use MP4 instead of H264/H265 in viewing codec dropdown 2019-03-19 12:16:31 -04:00
Isaac Connor 927071bb4d Fix db update adding DefaultCodec 2019-03-19 11:08:14 -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 d737e81e21 bump version for DefaultCodec in monitors 2019-03-06 14:57:05 -05:00
Isaac Connor 6c8eac1ac8 Merge branch 'storageareas' into h265 2019-03-06 11:10:01 -05:00
Isaac Connor 053289c4a0 rename eventserver to eventnotification 2019-02-27 09:27:50 -05:00
Isaac Connor 279e0d8bcf Merge branch 'storageareas' into zma_to_thread 2019-02-22 11:39:58 -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 7d6286d517 Merge branch 'storageareas' into zma_to_thread 2019-02-18 16:23:17 -05:00
Isaac Connor d3a8117385 add missing db update script 2019-02-13 20:38:13 -05:00
Isaac Connor 419e60e8b4 Allow negative DiskSpace values. Technically shouldn't happen but since we don't have foreign keys yet, it can happen 2019-02-13 16:55:40 -05:00
Isaac Connor a9e2011727 Merge branch 'storageareas' into zma_to_thread 2019-02-13 12:24:38 -05:00
Isaac Connor f726666f54 Merge branch 'master' into h265 2019-01-14 12:36:11 -05:00
Andrew Bauer 151c7677d8 add WebSite type to enum (#2382)
* add WebSite type to enum

* add website enum to update script

* update enum

* bump the version
2019-01-03 17:06:44 -05:00
Andrew Bauer 92aa29d8d0
Update zm_create.sql.in 2019-01-03 16:00:30 -06:00
Andrew Bauer c0e54a9874
Delete zm_create.sql 2019-01-03 15:59:28 -06:00
techrockedge af7d4b1af6 added Control line to zm_create.sql.in 2019-01-03 14:58:17 -05:00
techrockedge 07d745cf55 added Control line to zm_create.sql.in 2019-01-03 14:46:23 -05:00
techrockedge 561a881114 added Control line to zm_create.sql 2019-01-03 14:35:01 -05:00
Isaac Connor 28dafd5931 Merge branch 'storageareas' into zma_to_thread 2018-12-26 12:02:00 -05:00
Isaac Connor c4bf67b063 fix commas 2018-12-12 09:17:14 -05:00
Andrew Bauer 21a98f3653 Merge branch 'remove_default_view' of https://github.com/connortechnology/ZoneMinder into connortechnology-remove_default_view 2018-12-11 09:44:13 -06:00
Isaac Connor 4e4c7502c3 put sql update into zm_update-1.33.0.sql 2018-12-11 10:37:52 -05:00
Isaac Connor 278abbc201 Merge branch 'master' into remove_default_view 2018-12-11 10:37:26 -05:00
Andrew Bauer af6b709ae1 bump to 1.33.0 development 2018-12-11 09:28:48 -06:00
Isaac Connor 4272225a17 Merge branch 'master' into h265 2018-11-30 16:42:16 -05:00
Isaac Connor 1c17f334d3 fix missing bits. Implement UrlToIndex in Monitor and fix use of Url(). Implement PathToApi as well 2018-11-29 14:26:30 -05:00
Isaac Connor 1e915e9567 Merge branch 'master' into server_path_prefix 2018-11-28 10:45:36 -05:00
Isaac Connor f8b2ff5c77 rework from Url() to PathToIndex(), PathToZMS(), UrlToIndex() and UrlToZMS() 2018-11-27 17:35:25 -05:00
Andrew Bauer 8301f5d039 add missing sql update text 2018-11-25 15:42:35 -06:00
Andrew Bauer 94944abd98 Fix triggers to sum event counts properly (#2323)
* rpm - update README

* update triggers to su mevent counts properly

* fix merge error

* merge content of triggers.sql with 1.32.3 sql update

* populate day, week, month summary tables with existing

* populate archive summary table with existing

* fix typo

* remove startime column from query

* my machine is possessed
2018-11-25 10:26:51 -05:00
Isaac Connor c5f7fb7b18 Merge branch 'master' into server_path_prefix 2018-11-22 10:04:33 -05:00
Isaac Connor b16cd7ec84 Merge branch 'h265' into zma_to_thread 2018-11-20 12:38:17 -05:00
Isaac Connor 490fb40917 DefaultView in the past was used to control whether the watch view starts up with ptz controls visible or the events list. Isaac changed the watch view to always have the controls visible... so this setting is no longer useful. 2018-11-14 09:22:38 -05:00
Isaac Connor a8329465fb Merge branch 'master' into h265 2018-10-22 10:30:01 -04:00
Isaac Connor 5ab1126260 Merge branch 'storageareas' into zma_to_thread 2018-10-20 17:31:14 -04:00
Verdi R-D 325405b0b8 Added monitor preset for D-link DCS-930L (#2255)
* added monitor preset for d-link dcs-930l

* moved update to new database update version
2018-10-15 17:14:57 -04:00
Andy Bauer 5b93b77499 bump verion to 1.32.2 2018-10-13 13:36:15 -05:00
Andrew Bauer 7ffc5ab266
Merge branch 'master' into control_plugin_psia 2018-10-11 09:32:06 -05:00
Andy Bauer 5c6cf88d93 bump version to 1.32.1 2018-10-02 07:37:55 -05:00
Jonathan Lassoff c7e1e7b901 Control plugin for Dahua PTZ cameras (#2192)
* Control plugin for Dahua PTZ cameras

* Update http/https protocol handling

* Update doc and license

* Remove license from top of file

* Use named regex capture groups for ControlAddress parsing

* Remove trailing whitespace in Trendnet.pm
2018-09-20 12:29:54 -04:00
Andrew Bauer 2f7c9a406a bump sql to 1.32.0 2018-09-12 07:27:45 -05:00
Isaac Connor 03f769eacc Rough in codec specification for Events 2018-09-10 12:22:55 -04:00
Isaac Connor 672b4affe1 Merge branch 'storageareas' into zma_to_thread 2018-08-31 19:05:22 -04:00
Jonathan Lassoff c605769fc9 Add Control plugin for PTZ cameras supporting the PSIA IP Media Device API 2018-08-28 15:28:52 +00:00
Isaac Connor 718bb6bba3 Remove zm from alter statement 2018-08-28 10:37:02 -04:00
Isaac Connor d64dc4f288 Frames EventId somehow never got an update even though zm_create.sql did.So add an update to convert EventId to a bigint. 2018-08-24 10:49:30 -04:00
Isaac Connor 6e5472d305 Merge branch 'master' into server_path_prefix 2018-08-22 12:57:16 -04:00
Isaac Connor 459a88a5e7 Merge branch 'master' into ip_webcam_preset 2018-08-22 11:23:56 -04:00
Isaac Connor 4e30a9e71c Stats.EventId must be a bigint too 2018-08-21 12:50:33 -04:00
Isaac Connor 70ba0ad342 Merge https://github.com/michaelbarkdoll/ZoneMinder into trendnet 2018-08-13 11:05:50 -04:00
Isaac Connor 979b31ffc3 Merge branch 'storageareas' into zma_to_thread 2018-08-11 10:08:30 -04:00
Isaac Connor 11cedb4335 repeat the update that adds Refresh to Monitors. Bump version. 2018-07-31 10:27:34 -04:00
Isaac Connor ee97dc39dc Add Refresh column to Monitors table. Explicitly put it after ZoneCount in the update.sql 2018-07-31 10:22:13 -04:00
Roman Dissertori 48b91c5544 Bugfix in Control and added new Camera (#2171)
* fixed control typos

missing word "s" for "Controls" Table for database queries

* added Dericam P2 camera Control

* fixed missing CanReset column

* Update DericamP2.pm

* added some more missing controls

CanSleep, CanWake

* Update DericamP2.pm

* Update DericamP2.pm

* Update DericamP2.pm

* Update DericamP2.pm

* Update DericamP2.pm

* Update DericamP2.pm

* Update DericamP2.pm

* Update zm_create.sql.in
2018-07-28 09:26:02 -04:00
Daedilus d90e3daf80 Added default settings for control script IPCAMIOS as per comments in Pull #2161 2018-07-17 08:31:55 -06:00
Isaac Connor 34299aff2c Add PathPrefix to Servers Table 2018-07-09 12:09:10 -04:00
Isaac Connor fc456b3d5f this file is now autogenerated 2018-06-11 16:34:44 -04:00
Isaac Connor 6ad10a5b73 Correct Load to CpuLoad in Servers 2018-06-11 15:49:23 -04:00
Isaac Connor f6139d33ed Merge branch 'storageareas' into zma_to_thread 2018-05-05 12:25:11 -04:00
Isaac Connor 8a80cf686b Merge branch 'master' into storageareas 2018-04-26 21:58:34 -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 20f6985dff implement capturing bandwidth 2018-04-24 14:11:27 -04:00
Isaac Connor e4465c0a61 add this to git... 2018-04-24 12:44:11 -04:00
Andrew Bauer 0a24f8550a
Update path to zmtriggers.sql
ZM_PATH_DATA is not configured as a make macro. Use @PKGDATADIR@ instead.
2018-04-23 08:59:31 -05:00
Isaac Connor 914c608dbc get rid of stored procedure. Do everything in the Trigger 2018-04-20 08:54:25 -04:00
Isaac Connor 56d3c2824f Fix path to triggers.sql 2018-04-19 12:31:50 -04:00
Isaac Connor a3373e5e40 Use correct dir to source cmake generated files from 2018-04-19 08:22:28 -07:00
Isaac Connor 1f80277bee Add SignalCheckPoints to Monitors 2018-04-19 10:09:32 -04:00
Andy Bauer 98eb6570dd use make macros in zm_update-1.31.30.sql.in 2018-04-19 07:43:43 -05:00
Isaac Connor b965eca683 Use a build substr for the default path to events 2018-04-18 21:06:13 -04:00
Isaac Connor cb7107ec4d Fix insert for default Storage Group 2018-04-18 21:04:54 -04:00
Isaac Connor 1e3c3643c9 Fix mysql signed bug by casting to signed 2018-04-14 17:25:44 -04:00
Isaac Connor c7deb91319 Merge branch 'zma_to_thread' of github.com:ConnorTechnology/ZoneMinder into zma_to_thread 2018-04-14 14:58:25 -04:00
Isaac Connor 41c52f25b7 Merge branch 'storageareas' into zma_to_thread 2018-04-14 11:57:18 -04:00
Isaac Connor dd945eed75 remove wip .42 2018-04-14 11:09:35 -04:00
Isaac Connor cd3046abb3 Merge branch 'storageareas' into zma_to_thread 2018-04-14 11:03:08 -04:00
Isaac Connor f9f78e9aa3 Convert event_id to a 64bit unsigned int 2018-04-12 13:40:11 -07:00
Isaac Connor 4ec595a98d EventId and FrameId to BIGINT 2018-04-10 13:09:24 -07:00
Isaac Connor f1a8d5f1ff start of work on .41. Adding foreign keysy 2018-04-05 13:41:24 -07:00
Isaac Connor 793f630ee0 Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas 2018-04-02 10:43:07 -07:00
Isaac Connor 1ff17c97b8 Add DoDelete to Storage and Locked to Events 2018-04-02 09:04:09 -07:00
Isaac Connor 2748f47fb7 add Url to Storage for S3 support 2018-03-28 08:23:03 -07:00
Isaac Connor e523067df7 Merge branch 'storageareas' into zma_to_thread 2018-03-15 11:28:14 -04:00
Isaac Connor 27736fb5d9 Merge ../ZoneMinder.master into storageareas 2018-03-15 11:04:41 -04:00
Isaac Connor 5ca7871510 Merge branch 'zma_to_thread' of github.com:connortechnology/ZoneMinder into zma_to_thread 2018-03-10 10:12:22 -05:00
Andy Bauer b41363fd60 Merge branch 'patch-3' of https://github.com/habibapp1365/zoneminder into habibapp1365-patch-3 2018-03-06 11:37:49 -06:00
habibapp1365 aa2134bde4
Update zm_create.sql.in 2018-03-06 19:59:06 +03:30
Isaac Connor 80127cbf81 Merge branch 'storageareas' into zma_to_thread 2018-03-06 10:57:49 -05:00
Isaac Connor 03d3f5e665 Merge branch 'storageareas' into zma_to_thread 2018-03-03 13:28:01 -08:00
Isaac Connor dc074bd2c0 fix path to triggers.sql 2018-02-28 07:18:38 -08:00
Isaac Connor a19e6b619c add Encoder to Monitors 2018-02-28 07:17:52 -08:00
Isaac Connor c443168389 split out codec and encoder, allowing one to specify which encoder to use 2018-02-28 07:17:16 -08:00
Isaac Connor 3aa31fd524 Merge branch 'master' into storageareas 2018-02-23 10:23:35 -05:00
Isaac Connor cece2f35f0 remove triggers from zm_create.sql.in as they are now contained in triggers.sql 2018-02-23 07:50:05 -05:00
Isaac Connor 0a6b463301 FIx MontageLayout=>MontageLayouts 2018-02-23 07:46:37 -05:00
Isaac Connor 834edafc63 install triggers as well 2018-02-23 07:46:24 -05:00
Isaac Connor 83785ac73f Merge branch 'storageareas' into zma_to_thread 2018-02-22 09:41:50 -05:00
Isaac Connor 52bca9d3ae Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas 2018-02-20 22:48:45 -05:00
Isaac Connor 13ef478820 refix triggers updating EventCounts. remove unsigned from eventcounts and diskspace totals. 2018-02-20 22:48:34 -05:00
Isaac Connor 0ad01f09bd refix triggers updating EventCounts. remove unsigned from eventcounts and diskspace totals. 2018-02-20 22:48:23 -05:00