Skip to content

Commit 1cbc1bd

Browse files
Merge branch 'master' into webgeek1234-avcodec-jpeg
2 parents bbc5aa1 + 2f03e05 commit 1cbc1bd

File tree

537 files changed

+227392
-182477
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

537 files changed

+227392
-182477
lines changed

.eslintignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ web/js/videojs.zoomrotate.js
77
web/js/fontfaceobserver.standalone.js
88
web/skins/classic/js/bootstrap-4.5.0.js
99
web/skins/classic/js/bootstrap.bundle.min.js
10-
web/skins/classic/js/bootstrap-table-1.22.3
10+
web/skins/classic/js/bootstrap-table-1.23.5
1111
web/skins/classic/js/chosen
1212
web/skins/classic/js/dateTimePicker
1313
web/skins/classic/js/jquery-*.js
@@ -16,7 +16,6 @@ web/skins/classic/js/jquery.js
1616
web/skins/classic/js/moment.js
1717
web/skins/classic/js/video.js
1818
web/skins/classic/assets
19-
web/tools/mootools
2019
web/js/janus.js
2120
web/js/ajaxQueue.js
2221
web/js/hls.js

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,6 @@ web/cmake_install.cmake
199199
web/events/
200200
web/images/
201201
web/includes/config.php
202-
web/tools/mootools/CMakeFiles/
203-
web/tools/mootools/cmake_install.cmake
204-
web/tools/mootools/mootools-core.js
205-
web/tools/mootools/mootools-more.js
206202
web/undef.log
207203
zm.conf
208204
zmconfgen.pl

.readthedocs.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ build:
77

88
sphinx:
99
fail_on_warning: true
10+
configuration: docs/conf.py
1011

1112
python:
1213
install:

.well-known/funding-manifest-urls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://zoneminder.com/funding.json

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ if(NOT ZM_NO_MQTT)
445445
find_package(MOSQUITTO)
446446
if(MOSQUITTO_FOUND)
447447
include_directories(${MOSQUITTO_INCLUDE_DIRS})
448-
list(APPEND ZM_BIN_LIBS "${MOSQUITTO_LIBRARIES}")
448+
list(APPEND ZM_BIN_LIBS "${MOSQUITTO_LIBRARY}")
449449
set(optlibsfound "${optlibsfound} Mosquitto")
450450
else()
451451
set(optlibsnotfound "${optlibsnotfound} Mosquitto")
@@ -454,7 +454,7 @@ if(NOT ZM_NO_MQTT)
454454
find_package(MOSQUITTOPP)
455455
if(MOSQUITTOPP_FOUND)
456456
include_directories(${MOSQUITTOPP_INCLUDE_DIRS})
457-
list(APPEND ZM_BIN_LIBS "${MOSQUITTOPP_LIBRARIES}")
457+
list(APPEND ZM_BIN_LIBS "${MOSQUITTOPP_LIBRARY}")
458458
set(optlibsfound "${optlibsfound} Mosquittopp")
459459
else()
460460
set(optlibsnotfound "${optlibsnotfound} Mosquittopp")

cmake/Modules/Pod2Man.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ MACRO(POD2MAN PODFILE MANFILE SECTION MANPAGE_DEST_PREFIX)
4747

4848
ADD_CUSTOM_COMMAND(
4949
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MANFILE}.${SECTION}.gz
50-
COMMAND ${GZIP} --best -c ${CMAKE_CURRENT_BINARY_DIR}/${MANFILE}.${SECTION} > ${CMAKE_CURRENT_BINARY_DIR}/${MANFILE}.${SECTION}.gz
50+
COMMAND ${GZIP} -n --best -c ${CMAKE_CURRENT_BINARY_DIR}/${MANFILE}.${SECTION} > ${CMAKE_CURRENT_BINARY_DIR}/${MANFILE}.${SECTION}.gz
5151
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${MANFILE}.${SECTION}
5252
)
5353

db/zm_update-1.37.27.sql

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,34 @@ SET @s = (SELECT IF(
112112
PREPARE stmt FROM @s;
113113
EXECUTE stmt;
114114

115-
REPLACE INTO Monitors_Permissions (UserId,Permission, MonitorId)
115+
SET @s = (SELECT IF(
116+
(SELECT COUNT(*)
117+
FROM INFORMATION_SCHEMA.STATISTICS
118+
WHERE table_name = 'Users'
119+
AND table_schema = DATABASE()
120+
AND column_name = 'MonitorIds'
121+
) > 0,
122+
"REPLACE INTO Monitors_Permissions (UserId,Permission, MonitorId)
116123
SELECT Id, 'Edit', SUBSTRING_INDEX(SUBSTRING_INDEX(Users.MonitorIds, ',', n.n), ',', -1) value FROM Users CROSS JOIN (
117-
SELECT a.N + b.N * 10 + 1 n FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b ORDER BY n ) n WHERE Users.Monitors='Edit' and Users.MonitorIds != '' AND n.n <= 1 + (LENGTH(Users.MonitorIds) - LENGTH(REPLACE(Users.MonitorIds, ',', ''))) ORDER BY value;
124+
SELECT a.N + b.N * 10 + 1 n FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b ORDER BY n ) n WHERE Users.Monitors='Edit' and Users.MonitorIds != '' AND n.n <= 1 + (LENGTH(Users.MonitorIds) - LENGTH(REPLACE(Users.MonitorIds, ',', ''))) ORDER BY value",
125+
"SELECT 'No MonitorIds in Users'"
126+
));
127+
PREPARE stmt FROM @s;
128+
EXECUTE stmt;
118129

119-
REPLACE INTO Monitors_Permissions (UserId,Permission, MonitorId)
130+
SET @s = (SELECT IF(
131+
(SELECT COUNT(*)
132+
FROM INFORMATION_SCHEMA.STATISTICS
133+
WHERE table_name = 'Users'
134+
AND table_schema = DATABASE()
135+
AND column_name = 'MonitorIds'
136+
) > 0,
137+
"REPLACE INTO Monitors_Permissions (UserId,Permission, MonitorId)
120138
SELECT Id, 'View', SUBSTRING_INDEX(SUBSTRING_INDEX(Users.MonitorIds, ',', n.n), ',', -1) value FROM Users CROSS JOIN (
121-
SELECT a.N + b.N * 10 + 1 n FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b ORDER BY n ) n WHERE Users.Monitors!='Edit' and Users.MonitorIds != '' AND n.n <= 1 + (LENGTH(Users.MonitorIds) - LENGTH(REPLACE(Users.MonitorIds, ',', ''))) ORDER BY value;
122-
139+
SELECT a.N + b.N * 10 + 1 n FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) a ,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) b ORDER BY n ) n WHERE Users.Monitors!='Edit' and Users.MonitorIds != '' AND n.n <= 1 + (LENGTH(Users.MonitorIds) - LENGTH(REPLACE(Users.MonitorIds, ',', ''))) ORDER BY value",
140+
"SELECT 'No MonitorIds in Users'"
141+
));
142+
PREPARE stmt FROM @s;
143+
EXECUTE stmt;
123144
DELETE FROM Monitors_Permissions WHERE MonitorID NOT IN (SELECT Id FROM Monitors);
124145
ALTER TABLE Monitors_Permissions ADD CONSTRAINT Monitors_Permissions_ibfk_1 FOREIGN KEY (`MonitorId`) REFERENCES `Monitors` (`Id`) ON DELETE CASCADE;

dep/jwt-cpp/.clang-format

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
BasedOnStyle: LLVM
2+
BreakBeforeBraces: Attach
3+
4+
ColumnLimit: 120 # Match GitHub UI
5+
6+
UseTab: Always
7+
TabWidth: 4
8+
IndentWidth: 4
9+
AccessModifierOffset: -4
10+
ContinuationIndentWidth: 4
11+
NamespaceIndentation: All
12+
IndentCaseLabels: false
13+
14+
PointerAlignment: Left
15+
AlwaysBreakTemplateDeclarations: Yes
16+
SpaceAfterTemplateKeyword: false
17+
AllowShortCaseLabelsOnASingleLine: true
18+
AllowShortIfStatementsOnASingleLine: WithoutElse
19+
AllowShortBlocksOnASingleLine: Always
20+
21+
FixNamespaceComments: true
22+
ReflowComments: false

dep/jwt-cpp/.clang-tidy

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
Checks: '-*,
2+
bugprone-*,
3+
cert-*,
4+
clang-analyzer-*,
5+
clang-diagnostic-*,
6+
-clang-diagnostic-c++17-extensions,
7+
google-*,
8+
-google-runtime-references,
9+
-google-readability-braces-around-statements,
10+
hicpp-*,
11+
-hicpp-braces-around-statements,
12+
-hicpp-signed-bitwise,
13+
misc-*,
14+
-misc-non-private-member-variables-in-classes,
15+
llvm-*,
16+
modernize-*,
17+
-modernize-use-trailing-return-type,
18+
performance-*,
19+
portability-*,
20+
readability-*,
21+
-readability-magic-numbers,
22+
-readability-braces-around-statements,
23+
-readability-uppercase-literal-suffix'
24+
25+
CheckOptions:
26+
- key: readability-identifier-naming.TypedefCase
27+
value: lower_case
28+
- key: readability-identifier-naming.StructCase
29+
value: lower_case
30+
- key: readability-identifier-naming.ClassCase
31+
value: lower_case
32+
- key: readability-identifier-naming.VariableCase
33+
value: lower_case
34+
- key: readability-identifier-naming.ParameterCase
35+
value: lower_case
36+
- key: readability-identifier-naming.FunctionCase
37+
value: lower_case
38+
- key: readability-identifier-naming.NamespaceCase
39+
value: lower_case
40+
- key: readability-identifier-naming.GlobalConstantCase
41+
value: lower_case

dep/jwt-cpp/.cmake-format

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
# ----------------------------------
2+
# Options affecting listfile parsing
3+
# ----------------------------------
4+
with section("parse"):
5+
6+
# Specify structure for custom cmake functions
7+
additional_commands = { 'foo': { 'flags': ['BAR', 'BAZ'],
8+
'kwargs': {'DEPENDS': '*', 'HEADERS': '*', 'SOURCES': '*'}}}
9+
10+
# -----------------------------
11+
# Options effecting formatting.
12+
# -----------------------------
13+
with section("format"):
14+
15+
# How wide to allow formatted cmake files
16+
line_width = 120
17+
18+
# How many spaces to tab for indent
19+
tab_size = 2
20+
21+
# If an argument group contains more than this many sub-groups (parg or kwarg
22+
# groups) then force it to a vertical layout.
23+
max_subgroups_hwrap = 12
24+
25+
# If a positional argument group contains more than this many arguments, then
26+
# force it to a vertical layout.
27+
max_pargs_hwrap = 24
28+
29+
# If true, separate flow control names from their parentheses with a space
30+
separate_ctrl_name_with_space = False
31+
32+
# If true, separate function names from parentheses with a space
33+
separate_fn_name_with_space = False
34+
35+
# If a statement is wrapped to more than one line, than dangle the closing
36+
# parenthesis on its own line.
37+
dangle_parens = False
38+
39+
# If the trailing parenthesis must be 'dangled' on its on line, then align it
40+
# to this reference: `prefix`: the start of the statement, `prefix-indent`:
41+
# the start of the statement, plus one indentation level, `child`: align to
42+
# the column of the arguments
43+
dangle_align = 'prefix'
44+
45+
# If the statement spelling length (including space and parenthesis) is
46+
# smaller than this amount, then force reject nested layouts.
47+
min_prefix_chars = 4
48+
49+
# If the statement spelling length (including space and parenthesis) is larger
50+
# than the tab width by more than this amount, then force reject un-nested
51+
# layouts.
52+
max_prefix_chars = 10
53+
54+
# If a candidate layout is wrapped horizontally but it exceeds this many
55+
# lines, then reject the layout.
56+
max_lines_hwrap = 12
57+
58+
# What style line endings to use in the output.
59+
line_ending = 'unix'
60+
61+
# Format command names consistently as 'lower' or 'upper' case
62+
command_case = 'lower'
63+
64+
# Format keywords consistently as 'lower' or 'upper' case
65+
keyword_case = 'upper'
66+
67+
# A list of command names which should always be wrapped
68+
always_wrap = []
69+
70+
# If true, the argument lists which are known to be sortable will be sorted
71+
# lexicographicall
72+
enable_sort = True
73+
74+
# If true, the parsers may infer whether or not an argument list is sortable
75+
# (without annotation).
76+
autosort = False
77+
78+
# By default, if cmake-format cannot successfully fit everything into the
79+
# desired linewidth it will apply the last, most agressive attempt that it
80+
# made. If this flag is True, however, cmake-format will print error, exit
81+
# with non-zero status code, and write-out nothing
82+
require_valid_layout = False
83+
84+
# A dictionary mapping layout nodes to a list of wrap decisions. See the
85+
# documentation for more information.
86+
layout_passes = {}
87+
88+
# ------------------------------------------------
89+
# Options affecting comment reflow and formatting.
90+
# ------------------------------------------------
91+
with section("markup"):
92+
93+
# What character to use for bulleted lists
94+
bullet_char = '*'
95+
96+
# What character to use as punctuation after numerals in an enumerated list
97+
enum_char = '.'
98+
99+
# If comment markup is enabled, don't reflow the first comment block in each
100+
# listfile. Use this to preserve formatting of your copyright/license
101+
# statements.
102+
first_comment_is_literal = False
103+
104+
# If comment markup is enabled, don't reflow any comment block which matches
105+
# this (regex) pattern. Default is `None` (disabled).
106+
literal_comment_pattern = None
107+
108+
# Regular expression to match preformat fences in comments
109+
# default=r'^\s*([`~]{3}[`~]*)(.*)$'
110+
fence_pattern = '^\\s*([`~]{3}[`~]*)(.*)$'
111+
112+
# Regular expression to match rulers in comments
113+
# default=r'^\s*[^\w\s]{3}.*[^\w\s]{3}$'
114+
ruler_pattern = '^\\s*[^\\w\\s]{3}.*[^\\w\\s]{3}$'
115+
116+
# If a comment line matches starts with this pattern then it is explicitly a
117+
# trailing comment for the preceeding argument. Default is '#<'
118+
explicit_trailing_pattern = '#<'
119+
120+
# If a comment line starts with at least this many consecutive hash
121+
# characters, then don't lstrip() them off. This allows for lazy hash rulers
122+
# where the first hash char is not separated by space
123+
hashruler_min_length = 10
124+
125+
# If true, then insert a space between the first hash char and remaining hash
126+
# chars in a hash ruler, and normalize its length to fill the column
127+
canonicalize_hashrulers = True
128+
129+
# enable comment markup parsing and reflow
130+
enable_markup = True
131+
132+
# ----------------------------
133+
# Options affecting the linter
134+
# ----------------------------
135+
with section("lint"):
136+
137+
# a list of lint codes to disable
138+
disabled_codes = []
139+
140+
# regular expression pattern describing valid function names
141+
function_pattern = '[0-9a-z_]+'
142+
143+
# regular expression pattern describing valid macro names
144+
macro_pattern = '[0-9A-Z_]+'
145+
146+
# regular expression pattern describing valid names for variables with global
147+
# scope
148+
global_var_pattern = '[0-9A-Z][0-9A-Z_]+'
149+
150+
# regular expression pattern describing valid names for variables with global
151+
# scope (but internal semantic)
152+
internal_var_pattern = '_[0-9A-Z][0-9A-Z_]+'
153+
154+
# regular expression pattern describing valid names for variables with local
155+
# scope
156+
local_var_pattern = '[0-9a-z_]+'
157+
158+
# regular expression pattern describing valid names for privatedirectory
159+
# variables
160+
private_var_pattern = '_[0-9a-z_]+'
161+
162+
# regular expression pattern describing valid names for publicdirectory
163+
# variables
164+
public_var_pattern = '[0-9A-Z][0-9A-Z_]+'
165+
166+
# regular expression pattern describing valid names for keywords used in
167+
# functions or macros
168+
keyword_pattern = '[0-9A-Z_]+'
169+
170+
# In the heuristic for C0201, how many conditionals to match within a loop in
171+
# before considering the loop a parser.
172+
max_conditionals_custom_parser = 2
173+
174+
# Require at least this many newlines between statements
175+
min_statement_spacing = 1
176+
177+
# Require no more than this many newlines between statements
178+
max_statement_spacing = 1
179+
max_returns = 6
180+
max_branches = 12
181+
max_arguments = 5
182+
max_localvars = 15
183+
max_statements = 50
184+
185+
# -------------------------------
186+
# Options effecting file encoding
187+
# -------------------------------
188+
with section("encode"):
189+
190+
# If true, emit the unicode byte-order mark (BOM) at the start of the file
191+
emit_byteorder_mark = False
192+
193+
# Specify the encoding of the input file. Defaults to utf-8
194+
input_encoding = 'utf-8'
195+
196+
# Specify the encoding of the output file. Defaults to utf-8. Note that cmake
197+
# only claims to support utf-8 so be careful when using anything else
198+
output_encoding = 'utf-8'
199+
200+
# -------------------------------------
201+
# Miscellaneous configurations options.
202+
# -------------------------------------
203+
with section("misc"):
204+
205+
# A dictionary containing any per-command configuration overrides. Currently
206+
# only `command_case` is supported.
207+
per_command = {}
208+

0 commit comments

Comments
 (0)