Commit Graph

203 Commits

Author SHA1 Message Date
Isaac Connor 9a3bee28d2 add logging and handling of oninput and oninput-this 2019-11-01 13:38:09 -04:00
Isaac Connor 80e3922165 add backWindow function to handle back buttons 2019-09-28 12:57:43 -04:00
Isaac Connor df0aef89af gracefully handle when window[fnName] doesn't exist 2019-07-23 10:03:28 -04:00
Isaac Connor 256a0aa679 google code style 2019-07-04 09:04:43 -04:00
Isaac Connor 86ad96b788 increase height of donate popup to hold all content 2019-06-04 12:08:08 -04:00
Isaac Connor 36336d67be set width and height of shutdown window 2019-04-12 13:09:25 -04:00
Isaac Connor 677b9cfbed Make controlcap popup wider 2019-03-24 09:59:04 -04:00
Isaac Connor e59eb510e3 update and fix the donate popup 2019-03-05 13:10:04 -05:00
Isaac Connor d93924bd89 increase width of controls popup. 2019-02-20 15:39:26 -05:00
Matthew Noorenberghe cdbd59f054 bandwidth.php: Submit to the 'bandwidth' view but render the 'none' view. Fixes #2493 2019-02-10 13:22:08 -08:00
Matthew Noorenberghe a97711de89 Replace or sanitize remaining uses of PHP_SELF. Fixes #2446 2019-02-09 22:12:36 -08:00
Matthew Noorenberghe e36ac1b872 Add a polyfill for NodeList.prototype.forEach 2019-02-08 21:54:23 -08:00
Isaac Connor dca9a81cfd implement data-on-click-true 2019-02-05 16:45:05 -05:00
Isaac Connor a2e04c307d update buttons. reduce duplicated code. Make it so that users with System=View can at least see if there is an update. 2019-01-31 09:40:19 -05:00
Isaac Connor b9584bb5d2 Increase width of user popup 2019-01-23 11:18:46 -05:00
Isaac Connor e712cedbde spacing and quotes 2019-01-22 09:14:44 -05:00
Matt N e7e45b2d95 Remove jQuery use from top-level event listeners in skin.js since view=none doesn't have $j (#2433) 2019-01-22 08:00:39 -05:00
Isaac Connor 785c208ecf Fixes #2426. Ca should have been endTime 2019-01-21 12:01:46 -05:00
Matt N 19c272061a Replace MooTools usage for adding window event listeners (#2429) 2019-01-21 11:14:32 -05:00
Matt N 27bcf3f994 Upgrade jQuery version (#2430)
* Upgrade jQuery to 1.12.4

* Upgrade jQuery to 2.2.4; Stop support for IE8

* 2.2.4 is compatible with 1.12.4
* This fixes a CSP violation on every page load due to jQuery testing of focusin support with a hidden element.
2019-01-21 11:13:40 -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 a1a42345e3 More eslint fixes; eslint in php; add eslint to travis (#2419)
* Add eslint to travis.yml

* Update eslint package versions and apply new indent rules

* Enable the brace-style and block-style eslint rules

* Enable the 'curly' eslint rule

* Enable the 'keyword-spacing' eslint rule

* Enable the 'key-spacing' eslint rule

* Enable the 'object-curly-spacing' eslint rule

* Enable the 'no-new-object' eslint rule

* Only disable the no-caller eslint rule in the one affected file

* Enable the 'no-unused-vars' eslint rule for local variables

* Add linting of JS in .php files
2019-01-19 10:32:40 -05:00
Matt N d3f8037e58 Replace onclick='submitTab(...' with a click listener (#2424) 2019-01-19 09:42:12 -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
Matt N deaf651aad Fix eslint violations (#2416)
* Add more JS libraries to eslintignore

* eslint . --fix

Automatic fixes only

* frame.js: eslint fixes

* events.js: manual eslint fixes

* skin.js: manual eslint fixes

* watch.js: manual eslint fixes

* Remove some tabs used for indentation in JS

* state.js: Fix new-cap eslint violation

* Disable guard-for-in eslint rule to get everything passing
2019-01-18 10:00:55 -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 a7db6f08f5 single vs double quotes 2019-01-16 13:47:50 -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
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 0cce0a642b Update chosen library to 1.8.7 2018-12-24 09:37:49 -05:00
Isaac Connor 18ce7c9ea0 Old browsers, specifically Safari on IOS9 doesn't support let. Need to use var instead. 2018-12-03 15:17:16 -05:00
Isaac Connor c5f7fb7b18 Merge branch 'master' into server_path_prefix 2018-11-22 10:04:33 -05:00
Isaac Connor 3be31020b7 Automatically add width to frames view when thumbnails are turned on. 2018-11-14 15:54:01 -05:00
Isaac Connor 86b0e4ea18 fix auth_hash. Should use generateAuthHash instead of accessing session directly 2018-10-22 18:32:39 -04:00
Isaac Connor d1bef49d0b Don't reload on a timeout when refreshing the navbar 2018-10-11 11:30:30 -04:00
Isaac Connor 592f55a550 do a location.reload instead of trying to guess what the current url is. Should solve permission denied problem when watching live view and auth times out. 2018-10-01 10:39:00 -04:00
Isaac Connor 6e5472d305 Merge branch 'master' into server_path_prefix 2018-08-22 12:57:16 -04:00
Isaac Connor 40cd27e68a when refreshing because ajax failed, reload the current view, not just index.php 2018-08-15 17:21:54 -04:00
Isaac Connor 2ff47e04da the updated video-js.css puts the fonts into a font dir. 2018-07-25 17:04:42 -04:00
Isaac Connor 00bdfdcb16 increase height of function popup so that dropdown options fit in it 2018-07-25 09:39:24 -04:00
Isaac Connor dc57a3c91c fix spacing/quotes/google code style 2018-07-24 16:41:09 -04:00
Isaac Connor 2767e7cca3 remove unneeded packaging files from chosen. 2018-07-12 11:35:02 -04:00
Dmitry Smirnov 7db1fabbe1 Removed "chosen" web site; "prism.js" is not distributable. (#2154) 2018-07-11 15:46:43 -04:00
Isaac Connor 77fbfccee0 fix #2149 2018-07-10 10:31:43 -04:00
Isaac Connor c2c7b75956 check for ZM_SERVER_ID being defined 2018-07-09 15:30:15 -04:00
Isaac Connor 45f6eaf530 Add the current serverId to the available javascript variables 2018-07-09 14:28:21 -04:00
Isaac Connor 87aa146d84 remove debug output from updating navbar 2018-07-09 14:10:36 -04:00
Dmitry Smirnov b5ca671103 Misc JS hygiene (#2150)
* fixed "jquery-ui.js" symlink.

* Bootstrap source, matching minified version.

Also origin URL.

* moment.js: added missing source and URL of origin.

* video-js: replaced bad case of source-less minified binary.

 Original file was not identical to https://github.com/videojs/video.js/blob/v4.11.4/dist/video-js/video-js.min.css
 i.e. it was modified in unknown way without sources. Very bad.

* jQuery: renamed URL file for consistency

* mootools-core-compat.js: replaced original with unknown modifications; renamed; added origin URL.

* mootools-more: rename file to properly reflect version.

 This is a default build without any options.

* prism.js.FIXME: note about outdated source-less file.
2018-07-07 10:30:16 -04:00
Isaac Connor 55f2e7c6a2 Fix #2124. Always allow selection of checkboxes, include canEdit(Events) in button disabling. 2018-06-15 15:21:10 -04:00
Isaac Connor 37badbfb17 fix #2123 2018-06-12 08:58:19 -04:00