Commit Graph

1739 Commits

Author SHA1 Message Date
Kyle Johnson 0d6d531e8b Use the API to start and stop ZM 2015-01-17 12:25:33 -05:00
Kyle Johnson 7af0cadd67 Add API support for starting and stopping ZM 2015-01-17 12:23:58 -05:00
Kyle Johnson 432c3c9d82 Add States MVC to API 2015-01-17 11:18:22 -05:00
Kyle Johnson c238b0c10a Move a misplaced php bracket.
Was causing the page title to not be set.
2015-01-12 23:29:20 -05:00
Kyle Johnson 1cd7f50e1b Significantly cleaned up Bootstrap functions.php
Got rid of all unnecessary php and variables.
2015-01-12 23:24:50 -05:00
Kyle Johnson 0b0545823d Remove event from view (scope) after deleting it 2015-01-09 14:24:45 -05:00
Kyle Johnson 8279f71266 Rewrite of Log view to use dir-paginate 2015-01-08 16:06:13 -05:00
Kyle Johnson c42ad0ba13 Add support for deleting monitor in new ui
Deletes via the API.  Also attempts to stop any zma or zmc processes
for the given monitor before deleting it from the table.
2015-01-07 16:43:37 -05:00
Kyle Johnson 26c29afb38 Start a monitor after adding it via api 2015-01-07 14:50:57 -05:00
Kyle Johnson 45e450e988 Rename getEvent to get 2015-01-06 18:39:04 -05:00
Kyle Johnson 11b1344697 Allow playing back and deleting event from a modal 2015-01-06 18:36:55 -05:00
Kyle Johnson a29b551a64 Expand scope of EventsController to include sidebar 2015-01-06 18:19:57 -05:00
Kyle Johnson b904cfde58 Remove events.css and event.css 2015-01-05 15:44:49 -05:00
Kyle Johnson 501b762b81 Remove event.js and event.js.php. Recreating in angular 2015-01-05 15:42:09 -05:00
Kyle Johnson a1d9f25c75 Remove bad vim swap file 2015-01-05 15:41:33 -05:00
Kyle Johnson afefef3cc2 Only build filter if named params are set 2015-01-05 14:21:19 -05:00
Kyle Johnson 648252cf50 Allow filtering of events in index view 2015-01-05 14:08:09 -05:00
Kyle Johnson 040094e984 Add initial API Filter component
The purpose of this is to turn ZoneMinder filter queries into usable
CakePHP find() conditions.
As example would be turning
api/events/index/MonitorId:7/MonitorId:8/StartTime >=:2015-01-05.json
into an array like this:
'conditions' => array(
	'MonitorId' => (7, 8),
	'StartTime >=' => '2015-01-05'
)
2015-01-05 14:02:42 -05:00
Kyle Johnson 9221675d2e Upgrade Angular from 1.3.2 to 1.3.8 2015-01-05 12:03:22 -05:00
Kyle Johnson c945b23dae Log which event a frame could not be found for 2015-01-01 11:33:12 -05:00
Kyle Johnson da495c65ac Add a link to replay each event in the Events list 2014-12-29 12:24:27 -05:00
Kyle Johnson 96551c98cf Use pagination directive in Events view
Pagination is now handled via the pagination directive with
asynchronous data.  The server returns a subset of the total events.
The directive looks at the 'limit' and 'count' fields to determine
how many pages to generate
2014-12-29 12:19:30 -05:00
Kyle Johnson 07e04ea9ff Load pagination directive into the angular app 2014-12-29 12:15:51 -05:00
Kyle Johnson 4b029fc2ae Remove page querystring from Events link in header 2014-12-29 12:13:13 -05:00
Kyle Johnson ad8bbea2bc Add pagination directive to angular frontend
Big thanks to @michaelbromley for his work on this.  Source can
be be found at https://github.com/michaelbromley/angularUtils/tree/master/src/directives/pagination
2014-12-29 12:11:53 -05:00
Kyle Johnson a2cd6e1434 Add pagination support to Events in the API
/api/events.json now accepts the ?page querystring, e.g.
/api/events.json?page=2 or /api/events.json
2014-12-29 12:10:05 -05:00
Kyle Johnson a7d32a2cd7 Default to Low bandwidth in API if not set 2014-12-25 23:47:44 -05:00
Kyle Johnson a71e291331 Add footer to events view 2014-12-23 22:43:42 -05:00
Kyle Johnson 0c38102951 First stab at Events view via angular and API 2014-12-23 22:38:54 -05:00
Kyle Johnson 930b94be40 Create a thumbnail for each event in index view 2014-12-23 22:11:24 -05:00
Kyle Johnson 1146e42c0f Add createThumbnail function to the API 2014-12-23 22:10:52 -05:00
Kyle Johnson 6718559be5 Set Frame model to not be recursive by default 2014-12-23 22:05:23 -05:00
Kyle Johnson 39501f4f52 Add angular function to show length of event 2014-12-23 22:04:23 -05:00
Kyle Johnson 5598cce260 Add getImageSrc function to the API via component 2014-12-23 17:42:44 -05:00
Kyle Johnson ef99e30a33 Add reScale and deScale components to API 2014-12-23 11:22:34 -05:00
Kyle Johnson e61b19b4d8 Fix bug where only Remote tab would display 2014-12-21 21:54:27 -05:00
Kyle Johnson 9e417730d2 Change Monitor input type from number to text
Angular seems to have a bug where when an input is type="number",
assiging a value to it via ng-model produces an error.
2014-12-21 21:47:04 -05:00
Kyle Johnson 0436b099d0 Use monitor save function from Factory, not controller 2014-12-21 21:45:44 -05:00
Kyle Johnson 1fadbff72d Add support for editing an existing monitor
Saving and editing of monitors now works.  Tested only with
Type = Remote.

There is a bug where when editing a monitor, Orientation is not
set properly.  Due to number vs. string and mysql enum.
0 != '0'
2014-12-21 21:44:18 -05:00
Kyle Johnson 44a44580b7 Add Angular factory to get and save Monitors 2014-12-21 21:42:54 -05:00
Kyle Johnson de221f4d57 Remove the old console.js file 2014-12-19 10:25:34 -05:00
Kyle Johnson 09ce6e01df Set monitor Method to simple by default 2014-12-19 10:17:25 -05:00
Kyle Johnson d79286e101 Fix bug where Remote tab was not displayed 2014-12-19 10:15:41 -05:00
Kyle Johnson 227f32a6a9 Fix bug where monitor source type was not set 2014-12-19 10:13:52 -05:00
Kyle Johnson 2e96b141e5 Major rehaul of Monitor view in Angular JS
You can now add monitors via angularjs, with the api as the
backend.
2014-12-17 16:08:35 -05:00
Kyle Johnson d5c8de6cb7 Set each input's ng-model for remote monitor type 2014-12-16 21:05:07 -05:00
Kyle Johnson 6d921a2a1a Moved curl, ffmpeg, vlc and file into their own files 2014-12-16 20:55:21 -05:00
Kyle Johnson de5106d90c Moved 'Remote' monitor type into its own file 2014-12-16 20:54:42 -05:00
Kyle Johnson 6764211ebd Add initial MonitorController 2014-12-16 17:11:28 -05:00
Kyle Johnson f770382268 Move FPS options to bottom of General tab 2014-12-16 17:11:02 -05:00
Kyle Johnson f9519d963c Fix ng-model names in General tab
As ng-model is namespaced into the MonitorController,
it is safe to name the variables 'Name' instead of
newMonitor[Name] as before
2014-12-16 17:10:02 -05:00
Kyle Johnson d662bf41e9 First pass at formatting Misc tab 2014-12-16 17:07:19 -05:00
Kyle Johnson 2f254eefef Split 'Local' and 'Remote' tabs into their own files 2014-12-16 17:06:54 -05:00
Kyle Johnson 00427c2e41 Fix indenting and missing </div> in monitor.php 2014-12-16 17:04:02 -05:00
Kyle Johnson 735c14ea2d Replace 'name' with 'ng-model' in General monitor tab 2014-12-16 14:18:54 -05:00
Kyle Johnson 21f29cfa29 Open the General monitor tab by default 2014-12-16 14:04:30 -05:00
Kyle Johnson d76e9e5f5d Initial work on cleaning up monitor view.
Starting by splitting each 'tab' out into their own php
file, and then including it.  Easier to manage.  Following up by
removing tables and replacing with a responsive form layout.
Also working on removing PHP dependencies and using the UI instead.
2014-12-13 23:15:31 -05:00
Kyle Johnson 030f6af057 Initial angular view for Logs 2014-12-01 16:16:30 +00:00
Kyle Johnson 904b946bfb Initial Logs controller 2014-12-01 16:15:42 +00:00
Kyle Johnson 87e1133506 Initial Log factory for returning log entires 2014-12-01 16:15:12 +00:00
Kyle Johnson f213657c0e Add cakephp route for logs 2014-12-01 16:14:23 +00:00
Kyle Johnson 9a041efbf0 Remove log.js 2014-12-01 16:14:02 +00:00
Kyle Johnson dd9188b7cd Remove Logs views, ouput log json via _serialize 2014-12-01 16:13:08 +00:00
Kyle Johnson 682190c186 Redo console HTML to be organized by flexbox, not bootstrap grid
Utilizing css3 flexbox, I'm able to easily lay out all monitors
with equal width and height, while not having to worry about parent
.row <div>'s
2014-11-28 16:56:22 +00:00
Kyle Johnson 8b7733cd37 Remove mootools, overlay and logger from bootstrap
Everything these files do is being replaced by AngularJS
2014-11-28 16:55:12 +00:00
Kyle Johnson e56248ab88 Remove copywrite from console view header 2014-11-28 00:27:55 +00:00
Kyle Johnson cdcf29964b Remove rest of unused php from console view. 2014-11-28 00:27:04 +00:00
Kyle Johnson ff65a701eb Display stills of each monitor, set per-monitor alerts
This commit displays a still of each monitor at page load time.
The panel surrounding the monitor is context sensitive - if zmc or
zma is not running, the panel is red (well, pink).

Also if either zmc or zma are not running, we add an icon in the
panel's header, explaining what is wrong.
2014-11-28 00:25:15 +00:00
Kyle Johnson addc985656 Load ui.bootstrap angular module 2014-11-28 00:20:04 +00:00
Kyle Johnson 1d7d53d166 Add ui-bootstrap 0.12 2014-11-27 14:50:31 +00:00
Kyle Johnson b3d1811c43 Add getMonitors factory to angular 2014-11-27 14:35:00 +00:00
Kyle Johnson d9e65e37f9 Add daemonStatus factory to angular.
Used to query the status of daemons (zmc, zma, etc)
2014-11-27 14:34:08 +00:00
Kyle Johnson dcde5e16ad Add API function to check daemon status of monitor
This replaces daemonStatus(), zmcStatus() and zmaStatus() from
the original includes/functions.php.

Can be accessed like:
/api/monitors/daemonStatus/id:2/daemon:zma.json
2014-11-26 03:38:41 +00:00
Kyle Johnson b0aeea262b Set Monitor model to not be recursive 2014-11-26 03:31:20 +00:00
Kyle Johnson 348564de64 Remove a bunch of unused php in Console view 2014-11-25 17:56:54 +00:00
Kyle Johnson 963e02a0a3 Make all outputImageStill calls have class="img-responsive" 2014-11-25 17:47:28 +00:00
Kyle Johnson 50b1a53369 Put mid into the liveStream ID in console view 2014-11-25 17:45:47 +00:00
Kyle Johnson 929d332ce7 Remove group querystring from Host link 2014-11-25 16:31:40 +00:00
Kyle Johnson f854bf4dcb Move getDiskPercent from Footer to Host factory 2014-11-25 16:30:27 +00:00
Kyle Johnson 9b636c89bc Show disk usage as a chart on the Host view 2014-11-25 16:27:38 +00:00
Kyle Johnson f32cb32da9 Move getLoad to Host factory, and display via chartjs 2014-11-25 16:25:10 +00:00
Kyle Johnson 284b51b73d Update API to return disk usage for all monitors
This allows us to get back an array of monitor => usage key pairs
2014-11-25 16:10:34 +00:00
Kyle Johnson e7ab18236a Get load via sys_getloadavg() instead of `uptime` 2014-11-25 16:07:27 +00:00
Kyle Johnson d6a921810c Load the tc chartjs angular module 2014-11-25 15:25:34 +00:00
Kyle Johnson 7dff223aa6 Include Chart.js and tc-angular-chartjs in bootstrap skin 2014-11-25 15:23:06 +00:00
Kyle Johnson 7faace32b9 Initial commit of empty HostController 2014-11-25 15:21:30 +00:00
Kyle Johnson 840ead467b Remove Load and Disk Usage from Footer 2014-11-25 15:19:45 +00:00
Kyle Johnson 3e10ab10ac Added Chart.js v 1.0.1 beta-4 2014-11-24 20:09:22 +00:00
Kyle Johnson c8ab231cef Add Host view to header 2014-11-24 20:03:06 +00:00
Kyle Johnson fe87ca7bd7 Initial commit of Host view 2014-11-24 20:02:59 +00:00
Kyle Johnson d44b89b7fc Allow API to return per-monitor disk usage
* For monitor 1: api/host/getDiskPercent/1.json
 * For all: api/host/getDiskPercent.json
2014-11-24 19:56:44 +00:00
Kyle Johnson 941bf3535f Display version in footer via api / angular 2014-11-24 00:56:20 +00:00
Kyle Johnson 40dcca2084 Add API function to get ZM version 2014-11-24 00:52:27 +00:00
Kyle Johnson 7ba971806f Removed a console.log() 2014-11-21 22:17:01 +00:00
Kyle Johnson 1f74d1cd60 Get the diskPercent from angular, via the API 2014-11-21 22:16:19 +00:00
Kyle Johnson 055a494fe4 Add getDiskPercent function to the api
Returns the amount of space used
2014-11-21 22:15:32 +00:00
Kyle Johnson ffaa24d108 daemonCheck finds zmdc.pl via Configure::read 2014-11-21 21:42:21 +00:00
Kyle Johnson 0108f43cab Add function for making vars in zm.conf global in api
This loops throgh zm.conf and sets each variable in it
as global in CakePHP via Configure::write.  The vars
can then later be read withing CakePHP via Configure::read
2014-11-21 21:40:31 +00:00
Kyle Johnson 4da50a8199 Merge branch 'master' of github.com:ZoneMinder/ZoneMinder into bootstrap-skin 2014-11-21 21:06:32 +00:00
Kyle Johnson 403ece33bd Tell cmake to configure zm version and config path in cakephp 2014-11-21 21:04:46 +00:00
Kyle Johnson e541976b77 Grab system load from API and set with angular 2014-11-21 20:06:59 +00:00
Kyle Johnson 345f152181 Add function for returning system load via api 2014-11-21 19:49:03 +00:00
Emmanuel Papin 4e9c3494b8 Convert french lang file to UTF-8 2014-11-20 20:51:49 +01:00
Kyle Johnson 9dd1a2261f Output a real snapshot of the camera in console view 2014-11-20 13:47:41 +00:00
Kyle Johnson 2ae1880006 Initial commit of general purpose API event search 2014-11-20 13:46:49 +00:00
Kyle Johnson 4364c73143 Remake Options view with angular. Uses API. 2014-11-20 04:11:33 +00:00
Kyle Johnson ad65fa1820 Make Config table options available to angular 2014-11-20 04:10:01 +00:00
Kyle Johnson 92bfac0aad Add angular directive allowing elements to bind to html 2014-11-20 04:05:22 +00:00
Kyle Johnson 408c6111b8 Return specific configs as an HTML <form> in API 2014-11-20 04:04:23 +00:00
Kyle Johnson 4298d4a498 Fix <form> location in state.php 2014-11-20 03:40:15 +00:00
Kyle Johnson c8a3cb9df9 Initial refactor of console view to use api & angular
* Move eventCounts to the API and bind with angular
 * Display the console as a grid, rather than a table
 * Show only information we want to see
2014-11-19 15:53:07 +00:00
Kyle Johnson a0f12575fe Add API function to return event counts for console view 2014-11-19 15:49:38 +00:00
Kyle Johnson 64122b3b98 Set the logState in header via angular 2014-11-16 00:35:10 +00:00
Kyle Johnson 175e7d3e22 Initial commit of Host MVC.
Used for daemonCheck, getLoad, etc
2014-11-16 00:21:55 +00:00
Kyle Johnson f1a70076d0 Convert some of event view to angularjs 2014-11-15 23:51:31 +00:00
Kyle Johnson 5b4dfce34a Add Event controller and factory 2014-11-15 23:50:46 +00:00
Kyle Johnson 519a5e1612 Setup html5mode to enabled 2014-11-15 23:50:04 +00:00
Kyle Johnson 47770bffe4 Add <base> element to <head> so I can use $location.search 2014-11-15 23:49:18 +00:00
Kyle Johnson 1fc26c01ac Merge remote-tracking branch 'origin/master' into bootstrap-skin 2014-11-15 21:47:01 +00:00
Kyle Johnson 2db5d66134 Include state js and php in all pages.
As we can now start / stop the software from any page, via a modal,
we need the state's php and js files to do so.
2014-11-15 19:48:04 +00:00
Kyle Johnson f38a9c9f06 Add jquery 2014-11-15 19:46:34 +00:00
Kyle Johnson 36ebaaff33 Add HeaderController to the header nav 2014-11-15 19:45:18 +00:00
Kyle Johnson 58fbc6c833 Wrap pagination links in <li> instead of <p> 2014-11-15 19:38:45 +00:00
Kyle Johnson 4c0e2dc743 Include initial angularjs files 2014-11-15 19:34:00 +00:00
Kyle Johnson 35530c627a Initial commit of Logs MVC 2014-11-15 19:03:40 +00:00
Kyle Johnson 0129ca5f74 Rework the ConfigParser component. 2014-11-15 19:03:10 +00:00
Kyle Johnson e7d726bf75 Don't print out the Config string to the file system. 2014-11-15 19:02:54 +00:00
Kyle Johnson fcaa67e3c3 Slight refactor of ConfigParser Component. Needs more work. 2014-11-15 19:02:18 +00:00
Kyle Johnson cf3d0f962c Add view for Configs Edit 2014-11-15 19:02:03 +00:00
Kyle Johnson 9f80a7d5f5 Show a list of Config Key:Value pairs 2014-11-15 19:01:32 +00:00
Kyle Johnson 9268c503af Do not display the "hidden" config category 2014-11-15 19:01:19 +00:00
Kyle Johnson b9f54056da Add component for dumping Config table as HTML 2014-11-15 18:59:58 +00:00
Kyle Johnson de631075d3 Return possible source types ni DB via API 2014-11-15 18:59:24 +00:00
Kyle Johnson 0d57306790 Find category configs only when $category is not null. API 2014-11-15 18:58:58 +00:00
Kyle Johnson 9f150c4e46 Revert "Find category configs only when $category is not null. API"
This reverts commit efbbcadc7dad9aa52a7aab0483546eab48840ae6.
2014-11-15 18:58:51 +00:00
Kyle Johnson b88febeaee Find category configs only when $category is not null. API 2014-11-15 18:58:43 +00:00
Kyle Johnson 0a7ba112ab API support for querying config categories.
Either return a list of distinct categories, or all configs under a
certain category
2014-11-15 18:55:20 +00:00
Kyle Johnson b04d970132 Add charset and other meta tags to head 2014-11-15 17:34:51 +00:00
Kyle Johnson 6911b99271 Move groups link to the console sidebar 2014-11-15 16:51:39 +00:00
Kyle Johnson a6027ccdca Make the ZoneMinder text a link to the console 2014-11-15 16:49:44 +00:00
Kyle Johnson e359a1cf97 Move 'state' to header, as on/off btn, in a modal 2014-11-15 16:47:42 +00:00
Kyle Johnson 08d2cf801e Move header outside of form in console 2014-11-15 16:34:45 +00:00
Isaac Connor 9c30b806f2 don't require SystemView to view/select groups.
Change the way the groups ine is displayed to give people some idea that it might have something to do with grouping
use _POST instead of _REQUEST
2014-11-13 10:38:20 -05:00
Isaac Connor ebe35c2135 handle empty [file] to prevent logzilla 2014-11-13 09:17:54 -05:00
Kyle Johnson 7b4effc3ed Remove Chart.js 2014-11-11 16:49:56 +00:00
Kyle Johnson 7f83eeafbf Do not text-align center everything 2014-11-11 14:56:45 +00:00
Kyle Johnson 942c65f1e2 Remove the existing #header from timeline 2014-11-11 14:34:34 +00:00
Kyle Johnson 1c046a7afd Added header to the timeline view 2014-11-11 14:33:35 +00:00
Kyle Johnson 09282045c6 Align the Events control buttons vertically 2014-11-11 14:31:43 +00:00
Kyle Johnson 487cd20b18 Fix typo in class name 2014-11-11 14:23:21 +00:00