Commit Graph

1487 Commits

Author SHA1 Message Date
Kyle Johnson 16994dbdb2 Add some styling to the version number in the footer.
If there is an upgrade available, the label-info (blue) class is
applied.
If there is not an upgrade avaiable, the label-success (green)
class is applied.
2013-09-13 09:07:19 -04:00
Kyle Johnson b2ab1cea09 Initial commit of Version Controller and View 2013-09-13 08:55:46 -04:00
Kyle Johnson 2f99274c0a Initial commit of Version model 2013-09-13 08:44:21 -04:00
Kyle Johnson 180d879894 Display the ZM version in the footer of all pages. 2013-09-13 08:43:11 -04:00
Kyle Johnson 0437e6e5b6 Pass the zmVersion variable to all views 2013-09-13 08:42:55 -04:00
Serguei S. Dukachev ed9f647dd7 Update actions.php
SQL-ERR 'Incorrect integer value: '' for column 'Enabled' at row 1', statement was 'update Monitors set Function = 'Monitor', Enabled = '' where Id = '2''
2013-09-13 03:48:01 -07:00
Kyle Johnson f0231a7d5f Added some styling to the logs table 2013-09-12 20:10:51 -04:00
Kyle Johnson 34b4ec0b94 Display elements properly for bootstrap. Also fixed element id's 2013-09-12 20:03:41 -04:00
Kyle Johnson d32bab4248 Use the Html, Form and Paginator helpers from BoostCake 2013-09-12 20:02:33 -04:00
Kyle Johnson e42afcd76a Load all available CakePHP plugins 2013-09-12 20:01:31 -04:00
Kyle Johnson e1ce213f04 Adding the BoostCake plugin 2013-09-12 20:00:57 -04:00
Richard Kojedzinszky 0f5c90bbe4 Rewritten the query to allow mysql to use indexes
On a system with heavy logging, without this the login procedure took
too long.
2013-09-12 22:46:26 +02:00
Isaac Connor ab1314f250 clean out autogenerated files 2013-09-12 14:43:57 -04:00
Isaac Connor fcf7e5b188 Redo the patch that added the <0 test. Since it isn't an actual error there won't be an error message set so I've made it another case entirely. 2013-09-12 13:54:03 -04:00
Kyle Johnson 75acaea36e Open the monitor edit general tab by default 2013-09-11 15:29:18 -04:00
Kyle Johnson 6dbd10621d Reworked to use Bootstrap tabs 2013-09-11 15:24:51 -04:00
Kyle Johnson e27a065039 Add the necessary class to allow these elements to display in tabs 2013-09-11 15:24:28 -04:00
Kyle Johnson cbf48a1d8f Use bootstrap tabs instead of jquery tabs 2013-09-11 15:09:43 -04:00
Kyle Johnson b18b38c486 Apply bootstrap theme to the events table 2013-09-11 15:08:41 -04:00
Kyle Johnson 9dfa3eb5af Rework the config index view to use bootstrap tabs 2013-09-11 15:08:07 -04:00
Kyle Johnson d33f32f6ce Moved the config indev view form to not enclose the tab list 2013-09-11 15:07:03 -04:00
Kyle Johnson c03c21895c Display a red or green alert, depending on daemon status 2013-09-11 10:37:18 -04:00
Kyle Johnson 62679e3ff1 Display monitors as bootstrap thumbnails in a grid view
This will need to be reworked to dynamically determine the number
of rows
2013-09-11 10:17:47 -04:00
Kyle Johnson dfa2d37c4d Moved the daemonStatus to the header, from the footer 2013-09-11 10:17:10 -04:00
Kyle Johnson 735f85a255 Renamed the thumb_width variable to be width as that is what my helper expects 2013-09-11 10:14:04 -04:00
Kyle Johnson 6a65bef736 Display the system load and free disk space in the nav bar 2013-09-11 09:23:55 -04:00
Kyle Johnson dbba80fcbf Added a function in AppModel to check the free disk space in the events directory 2013-09-11 09:23:13 -04:00
Kyle Johnson 646b511cd4 Added a function in AppModel to check the System Load 2013-09-11 09:22:53 -04:00
Kyle Johnson c41810bbf1 Reworked the paginator number display to play nice with Bootstrap 2013-09-10 20:27:30 -04:00
Kyle Johnson fa3725d377 Put the sidebar into the Bootstrap sidebar 2013-09-10 20:19:03 -04:00
Kyle Johnson d9b6140bf8 Convert the Logs index view to use a bootstrap sidebar 2013-09-10 20:18:25 -04:00
Kyle Johnson 09a3b9e353 Convert the default layout to use Bootstrap 2013-09-10 20:17:44 -04:00
Kyle Johnson 88b8534efb Adding bootstrap CSS and JS files 2013-09-10 19:06:10 -04:00
Kyle Johnson 2a0613a370 Bunch of updates to css 2013-09-06 15:39:37 -04:00
Kyle Johnson 5c857029ce Merged the JS from config.js and events.js into main.js 2013-09-06 15:07:08 -04:00
Kyle Johnson 9b22dae624 Adding the loading AJAX image to the header 2013-09-06 15:02:43 -04:00
Kyle Johnson c4283ad72e Adding some base HTML to make the ajax view work 2013-09-06 15:01:59 -04:00
Kyle Johnson 48d162d432 Adding a function to control the daemons (start, stop, etc) 2013-09-06 15:01:05 -04:00
Kyle Johnson 6a9ce02870 Moving some of the monitor options to the controller 2013-09-06 15:00:01 -04:00
Isaac Connor 0a9e63ca2c remove autogenerated files 2013-09-06 14:40:55 -04:00
Kyle Johnson c8ad6ae656 Fixes #107 for real this time. 2013-09-05 20:31:52 -04:00
Kyle Johnson c02d496d23 More CakePHP cleanup - missed it in 2c04d0774f 2013-09-05 10:52:55 -04:00
Kyle Johnson d47aaec775 Merge pull request #92 from knnniggett/patch-9
Update getBrowser() to match IE10
2013-09-03 06:38:13 -07:00
Kyle Johnson c5196407a9 Moved all of the Monitors HTML to elements 2013-09-01 17:50:26 -04:00
Kyle Johnson 2f92689d7e Resolving CVE-2013-0232 - this should fix #93. 2013-08-30 21:53:19 -04:00
Andy de51926434 Update getBrowser() to match IE10
Updates the preg_match expression to match Internet Explorer 10. The previous pattern would not detect IE10, and hence zoneminder would not attempt to stream via Cambozola, which leaves IE10 users looking at a broken link.

NOTE: There is another file in the zoneminder source tree, AssetDispatcher.php, that also uses the same pattern match expression.  It is part of the Cake folder, which I am not familiar with.  Please advise if we should edit that file as well.
2013-08-29 17:41:20 -05:00
Kyle Johnson 4d6b9f7276 More updates to the Hungarian translation. #Fixes #45 2013-08-15 09:39:45 -04:00
nagyrobi 1fa04cc104 Update hu_hu.php 2013-08-14 22:38:37 +02:00
Kyle Johnson ee251b3c02 Removing lingering references to UsedPl 2013-08-13 12:34:59 -04:00
Isaac Connor 266b67d0bd Support for control when monitor source is ffmpeg. This should fix #16. 2013-08-13 08:34:37 -04:00
Isaac Connor cdac403fb1 Merge ../zum into develop
Conflicts:
	AUTHORS
	configure.ac
	db/zm_create.sql.in
	scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
	scripts/zmupdate.pl.in
	src/Makefile.am
	src/zm_buffer.cpp
	src/zm_config_defines.h
	src/zm_event.cpp
	src/zm_ffmpeg.h
	src/zm_ffmpeg_camera.cpp
	src/zm_image.cpp
	src/zm_jpeg.h
	src/zm_local_camera.cpp
	src/zm_logger.cpp
	src/zm_mem_utils.h
	src/zm_monitor.cpp
	src/zm_monitor.h
	src/zm_mpeg.cpp
	src/zm_remote_camera_http.cpp
	src/zm_remote_camera_rtsp.cpp
	src/zm_rtsp.cpp
	src/zm_sdp.cpp
	src/zm_sdp.h
	src/zm_stream.cpp
	src/zm_thread.cpp
	src/zm_thread.h
	src/zm_threaddata.cpp
	src/zm_user.cpp
	src/zm_user.h
	src/zm_utils.cpp
	src/zm_zone.cpp
	src/zm_zone.h
	web/includes/actions.php
	web/lang/big5_big5.php
	web/lang/cn_zh.php
	web/lang/cs_cz.php
	web/lang/de_de.php
	web/lang/dk_dk.php
	web/lang/en_gb.php
	web/lang/es_ar.php
	web/lang/et_ee.php
	web/lang/fr_fr.php
	web/lang/he_il.php
	web/lang/hu_hu.php
	web/lang/it_it.php
	web/lang/ja_jp.php
	web/lang/nl_nl.php
	web/lang/pl_pl.php
	web/lang/pt_br.php
	web/lang/ro_ro.php
	web/lang/ru_ru.php
	web/lang/se_se.php
	web/skins/classic/js/skin.js
	web/skins/classic/views/js/monitor.js.php
	web/skins/classic/views/monitor.php
	web/skins/classic/views/zone.php
2013-07-25 11:49:55 -04:00
Kyle Johnson f1d9de75b0 Point root to the Monitors index action 2013-07-19 09:30:08 -04:00
Kyle Johnson 46deb93f74 Events index view is now at a semi-usable state, similar to the original skin.
In the interest of releasing something, I am not going to use ajax here
for now.  Goal is to have this view behave similar to the original Events
view in the original skin.  Currently you can:

  * Paginate events
  * Filter events using the sidebar

Bug:  Filter elements are unset when paginating.
2013-07-19 07:30:13 -04:00
Kyle Johnson ad0aaa6e93 Initial commit of Zone MVC 2013-07-18 08:08:07 -04:00
Kyle Johnson 6ba1d8f041 Added the Js helper and RequestHandler component to AppController to be available app-wide. 2013-07-16 08:33:53 -04:00
Kyle Johnson e4ccd359cd Allow setting of width with the live stream helper 2013-07-15 07:35:39 -04:00
Kyle Johnson 4265e8b45f Sort with newest at top, not bottom. 2013-07-11 12:09:45 -04:00
Kyle Johnson 67ad15fdc5 Initial commit of the Logs Controller and View.
The log functionality is similar to that of the classic skin, though
with fewer options.  Initial filtering support is for only component type.
Also displays a fixed last 100 log events, sorted by TimeKey ascending.
2013-07-11 12:06:12 -04:00
Kyle Johnson 2ea43105ec Merged config.js and events.js into main.js.
This should fix #15 as I'm keeping all JS in a single file, instead of
a file per page.
2013-07-11 12:00:01 -04:00
Kyle Johnson 80ebaad07b Initial commit of the Log model 2013-07-10 10:00:49 -04:00
Kyle Johnson 64fba81f6a Moved the navigation items to an ordered list 2013-06-25 12:21:21 -04:00
Kyle Johnson cdbb3d126e Added Masonry from http://masonry.desandro.com/
Masonry is a JavaScript grid layout library, and it is going to make my
life easier on the Events page.
2013-06-22 21:53:53 -04:00
Kyle Johnson 12537a7860 Added jquery-ui images and updated jquery-ui css to point to them. 2013-06-22 21:50:22 -04:00
Kyle Johnson e9e99261d9 Better styling of the Config page.
Added row highlighting, positioned all of the labels and inputs
appropriately, and added the description of the option.
2013-06-22 21:40:29 -04:00
Kyle Johnson bffe78904f Display the correct input type for the config option.
I am keying the input type off of the 'Hint' and 'Type' columns
in the Config table.  It would be easier if I just added an 'inputtype'
column to the Config table, and I might do that later, but I don't want to
mess with the database right now.
2013-06-22 11:59:46 -04:00
Kyle Johnson fe5df3eb8c Also grab the Hint column from the Config table 2013-06-22 11:59:03 -04:00
Kyle Johnson 5635b24897 Make the tab's first character uppercase 2013-06-21 22:22:54 -04:00
Kyle Johnson 567c0c5c20 Switching on the category type to determine which type of input to display. 2013-06-21 22:20:16 -04:00
Kyle Johnson 6faa248248 Sorting the Config results by Type (boolean, string, etc) 2013-06-21 22:19:27 -04:00
Kyle Johnson 819f1b48d6 Filtering out the "hidden" category 2013-06-21 22:18:44 -04:00
Kyle Johnson d64a09576f Split the config / options page into tabs based on Category.
Still a lot of work to do such as displaying the proper input
type based on option, however basic tabbing and saving works,
as does the on-hover tooltip (I think I put that in this commit).
2013-06-21 12:52:30 -04:00
Kyle Johnson bb19e80fa8 Support for control when monitor source is ffmpeg. This should fix #16.
Some IP cameras need the source set to ffmpeg even though they are remote
cameras.  These cameras do have a remote PTZ interface, but previously
when the monitor source was set to ffmpeg, the only control type
available was 'none'.
2013-06-15 19:50:19 -04:00
Kyle Johnson 964e1919bc Initial commit of Filters MVC.
The filters will be split from the events in this interface, where
in the classic interface, they were combined.
2013-06-04 13:23:00 -04:00
Kyle Johnson f50bf834d9 Forgot to change $event to $value, and to move a <td> or two. 2013-05-30 23:00:09 -04:00
Kyle Johnson 50085d48b5 Reworked the Events index view to display thumbnails by default.
The EventsController calls createListThumbnail() to build a list
of thumbnail data which is then passed to the view to be looped though.

Also had to change how I loop through $events so that I can match up the
indexes in $events with the indexes in $thumbData
2013-05-30 22:54:51 -04:00
Kyle Johnson 3505f35a6d Replaced my function for selecting and filtering events based on monitors
The new way of doing it leverages jquery-ui functions.
2013-05-30 22:46:27 -04:00
Kyle Johnson 59a1740dca Re-worked the Events index view to display the monitors as a list
This will allow me to use the jquery-ui selectabled on the list.
2013-05-30 22:43:48 -04:00
Kyle Johnson e80bd5ffd0 Updated the CSS for jquery-ui-selected elements 2013-05-30 22:36:51 -04:00
Kyle Johnson 26c1110e3f Function to return info necessary to create an HTML img tag for a given event.
This function determines the scaled width and height of the image for the
thumbnail, as well as other information relating to the frame with the
highest score in this event.
2013-05-30 22:31:55 -04:00
Kyle Johnson 1ae5cdd291 Function to return components necessary to build src to an event thumbnail.
A lot of this code was re-worked from the original includes/functions.php
file found in the classic zoneminder skin to work with CakePHP.
Function seems to work, but looks like it could use some serious re-factoring.
2013-05-30 22:22:48 -04:00
Kyle Johnson 22a73a3255 Added one of the hard coded options from the original config.php file 2013-05-30 22:03:20 -04:00
Kyle Johnson f4d2df3941 Function to determine the path to an event in the filesystem. 2013-05-30 20:30:09 -04:00
Kyle Johnson c2e2079818 Function to rescale dimenions of events. 2013-05-30 20:25:18 -04:00
Kyle Johnson e107e34164 Associated the Event Model with the Frame Model 2013-05-30 19:47:32 -04:00
Kyle Johnson fb97233869 Initial commit of Frame Model 2013-05-30 19:47:07 -04:00
Kyle Johnson 26f99bf76b Adding jQuery UI 2013-05-29 17:46:07 -04:00
Kyle Johnson 633aa7a9ad Initial support for filtering events.
First I tell extractNamedParams() which params I care about (ignore the rest),
then I loop through the returned results and build my query via named params.

Finally I pass the named params into the $conditions array for paginate to use.
2013-05-29 07:54:06 -04:00
Kyle Johnson cc4af23115 Removed the Config model from the Events controller.
Not needed since commit c408575075
2013-05-29 07:52:34 -04:00
Kyle Johnson fdb5fd5b57 An AJAX loading / spinner gif 2013-05-29 07:50:49 -04:00
Kyle Johnson 870298082e Minor styling to selected rows in the Events view. 2013-05-29 07:50:23 -04:00
Kyle Johnson 984035dde3 Initial commit of events.js file; added it to all pages.
events.js should eventually be loaded in only the events view.  This commit
creates #15.
2013-05-29 07:47:27 -04:00
Kyle Johnson 47af648803 Minor HTML updates so that I can better select elements with jQuery later on.
Wrapped the Events table in a div, and gave the id #Events to that div.
2013-05-29 07:45:47 -04:00
Kyle Johnson d5e60e8b78 Minor indenting, and added an empty placeholder $conditions array. 2013-05-29 07:44:30 -04:00
Kyle Johnson 545826b55c A method to make named parameters strongly defined.
Added a method that processes named parameters and ensures all mandatory ones
exist and substitutes missing optional ones with default values.  This makes
named parameters strongly defined and easier to read.

Thanks to http://developinginthedark.com/posts/cakephp-tip-1-named-parameters
for the idea.
2013-05-29 07:37:00 -04:00
Kyle Johnson c408575075 Grab ZM_WEB_EVENTS_PER_PAGE from Configure instead of the database 2013-05-25 12:30:34 -04:00
Kyle Johnson 6d2f7baf5d Re-added the jQuery javascript engine 2013-05-25 12:22:23 -04:00
Kyle Johnson 1795633b71 Added names to the tables and td for sorting the events list via js 2013-05-25 11:55:52 -04:00
Kyle Johnson 60b67a1703 Removed the jquery helper. Going to keep my js code in seperate files for now 2013-05-25 11:54:34 -04:00
Kyle Johnson 07ac7aaeb4 Use the jQuery javascript engine 2013-05-25 11:44:53 -04:00
Kyle Johnson 13b7c4b04a Write cached scripts 2013-05-25 11:43:22 -04:00
Kyle Johnson aa72855b28 Added jQuery 2.0.1 file 2013-05-25 11:39:24 -04:00
Kyle Johnson 05c8ddf153 Reworked to allow displaying of monitors from many views with less code.
* Moved getStreamSrc from Monitors Controller to Monitors Model
 * Minor indenting of code
 * Removed some old code
 * Changed how I lookup ZM_MPEG_LIVE_FORMAT from within getStreamSrc
 * Changed Monitors View view to use divs instead of tables
2013-05-24 20:13:14 -04:00
Kyle Johnson 7b98b62c16 Fixed some indenting 2013-05-22 21:19:10 -04:00
Kyle Johnson 57c553e05f Added LiveStream helper 2013-05-22 21:18:43 -04:00
Kyle Johnson 155ec308a0 Replaced HTML image tag with LiveStream helper 2013-05-22 21:18:01 -04:00
Kyle Johnson f05c23b104 Created a helper for live video streams 2013-05-18 18:22:39 -04:00
Kyle Johnson c28a35ca31 Added a daemon status message to the footer of every page (whether or not ZM is running) 2013-05-17 09:03:30 -04:00
Kyle Johnson ae5a3d716c Made zm.conf options available site-side 2013-05-17 09:02:34 -04:00
Kyle Johnson 9628aff358 Load AppModel to AppController 2013-05-17 09:01:54 -04:00
Kyle Johnson 195b5deac1 Added a function to check the status of the ZoneMinder daemons 2013-05-17 08:57:24 -04:00
Kyle Johnson f1a590c805 Made the options in the Config table available site-wide. 2013-05-17 08:42:32 -04:00
Kyle Johnson 17c8b98a41 Moved all of the Events table stuff in the Monitors index view to the Events index view 2013-05-15 17:53:07 -04:00
Kyle Johnson 869fb3f626 Changed the way that I am looking up monitors 2013-05-15 17:52:30 -04:00
Kyle Johnson 0d004fb588 Changed some minor indents 2013-05-15 17:51:53 -04:00
Kyle Johnson 343fd4c3b6 Removed the host field from the monitors query 2013-05-15 17:51:14 -04:00
Kyle Johnson 176064343d Moved the events table code frmo the Monitors controller to the Events controller 2013-05-15 17:50:46 -04:00
Kyle Johnson 4022695961 Reworked the events paginate function, it now grabs only the needed fields, sorts properly, and limits based on the configured ZM_WEB_EVENTS_PER_PAGE option. 2013-05-15 17:46:11 -04:00
Kyle Johnson c47f450e41 Added the Monitor and Config model to the Events controller 2013-05-15 17:42:42 -04:00
Kyle Johnson 2a3b649341 Forgot to pull out the Monitors schema before committing... 2013-05-15 08:42:39 -04:00
Kyle Johnson 7913fbb49f Added a link to the add monitors page 2013-05-15 08:36:05 -04:00
Kyle Johnson a1aed0ec03 First pass at ability to add monitors. Field names do not match database columns so not all values are saved 2013-05-15 08:35:49 -04:00
Kyle Johnson 39e15b48a1 Replaced use of querybuilder functionality via find() with prebuilt queries via query(). This fixes #1. 2013-05-14 22:52:47 -04:00
Isaac Connor 3a8481a591 cleanup 2013-05-10 14:02:22 -04:00
Isaac Connor a468baf9eb cleanup 2013-05-10 13:55:45 -04:00
Isaac Connor 9d89fb3bcb Merge branch 'kfir-proper' into develop 2013-05-10 12:23:58 -04:00
Isaac Connor 0a3ffb5e2e fix control types dropdown for a new monitor 2013-05-09 14:11:20 -04:00
Kyle Johnson 1307ba41c8 Changed the event count lookups to use find() instead of custom functions 2013-05-08 09:37:56 -04:00
Kyle Johnson 08f57b6b47 Made the footer link legible 2013-05-08 08:03:58 -04:00
Kyle Johnson 0e8a96141e Lack of newlines makes me cry 2013-05-08 07:56:11 -04:00
Kyle Johnson 74008dcb8b Moved some of the logic for determining video streaming options from the controller to the model 2013-05-07 11:15:06 -04:00
Kyle Johnson b5e15a1708 First pass of the Monitors view page with code to determine stream type (mpeg, jpeg), bitrate, fps, etc 2013-05-07 10:29:34 -04:00
Kyle Johnson a6bcd78e6e Added a link to change the bandwidth 2013-05-06 19:53:38 -04:00
Kyle Johnson 29784fa3d3 Set the zmBandwidth variable app-wide 2013-05-06 19:53:25 -04:00
Kyle Johnson 82c14790c5 Added the live stream with hardcoded values 2013-05-06 19:38:22 -04:00
Kyle Johnson 49a01a9c28 Initial commit of Bandwidth Model, View and Controller. 2013-05-06 19:37:22 -04:00
Kyle Johnson ac93b8318e Added Cookie and Session components to the entire app, also set the zmBandwidth cookie to low by default 2013-05-06 19:36:34 -04:00
Kyle Johnson 9052b7fda5 Added a style to make the header legible 2013-05-06 11:34:48 -04:00
Kyle Johnson 69f9f446a8 Added Monitors, Events and Options index view to the header 2013-05-06 11:34:17 -04:00
Kyle Johnson f35e7cbe73 Initial commit of Config Controller and View.
* Allows basic updating of config options
 * No validation yet
 * All options are rendered as text boxes.  Some need to be dropdown, etc.
2013-05-06 11:06:58 -04:00
Kyle Johnson 869b84732d Changed the primaryKey to the actual primary key of the Config table 2013-05-06 11:05:33 -04:00
Kyle Johnson 5f7e4a3471 Overriding the primaryKey for the Events and Monitors models 2013-05-06 10:36:47 -04:00
Kyle Johnson 03a9915138 Added the Config model 2013-05-06 08:42:05 -04:00
Kyle Johnson b6bf96b701 Added the list of distinct monitors to the monitors variable for later use with filtering 2013-05-06 08:40:25 -04:00
Kyle Johnson d4b0d05366 Added number of archived events per monitor to Monitors index view 2013-05-04 22:45:59 -04:00
Kyle Johnson 3af0600917 Limited the number of fields returned when searching for associated events and zones 2013-05-04 22:41:27 -04:00
Kyle Johnson d681654e56 Moved events queries from the Monitors controller to the Monitors model 2013-05-04 19:42:37 -04:00
Kyle Johnson a56ae4ed42 Display last events per hour, day, week, month per monitor 2013-05-04 19:22:48 -04:00
Kyle Johnson 20b024ef02 Added queries for last events per hour, day, week and month 2013-05-04 19:22:09 -04:00
Kyle Johnson c42ae4a91d Moved the Html and Form helpers to the common AppController 2013-05-03 07:34:45 -04:00
Kyle Johnson cff58441fc Fixed some indents 2013-05-02 21:31:05 -04:00