Compare commits

...

642 Commits
1.780 ... 1.820

Author SHA1 Message Date
Jamie Cameron
d2b43d2eaa TLSA record support 2016-10-02 20:30:36 -07:00
Jamie Cameron
7ff9e6501a Fix ordering of number-string-number version check, as it needs to come before number-string 2016-10-02 11:31:43 -07:00
Jamie Cameron
18bae5be08 Use a separate mode input to determine whether the system time, hardware time or NTP time are being set. This is needed because authentic theme changes the values of submit buttons 2016-10-02 00:01:29 -07:00
Jamie Cameron
b6bc89aa31 German translation updates from Raymond Vetter 2016-10-01 15:05:33 -07:00
Jamie Cameron
8c8afc0cbb Fix missing space 2016-10-01 15:04:50 -07:00
Jamie Cameron
e8120afc9e New version bump 2016-10-01 15:02:38 -07:00
Jamie Cameron
ce3074ad47 Add missing slash 2016-10-01 14:57:41 -07:00
Jamie Cameron
27ea3f50c0 Fix comparison of versions like 5foo7 and 5foo10 https://github.com/webmin/webmin/issues/282 2016-10-01 10:37:45 -07:00
Jamie Cameron
ac77da0e75 Merge branch 'master' of git@github.com:webmin/webmin 2016-09-30 15:36:59 -07:00
Jamie Cameron
8ab998b123 Fix creation of new actions 2016-09-30 15:36:47 -07:00
Jamie Cameron
a40052a3f0 Merge pull request #432 from cornec81/master
firewall6 modules changes
2016-09-30 14:04:03 -07:00
Jamie Cameron
c6cd892f15 Fail fast if file can't be opened 2016-09-30 14:01:44 -07:00
Corne Cornelius
12b0364e62 silly perl path fix 2016-09-30 20:03:32 +00:00
Corne Cornelius
0883226098 firewall6: bug fixes and pager 2016-09-30 19:57:44 +00:00
Jamie Cameron
7208412de2 let's encrypt output can be a symlink, so always de-reference it https://www.virtualmin.com/node/42419 2016-09-29 16:28:54 -07:00
Jamie Cameron
ceae4b5228 LDAP client check doesn't handle new-style nslcd format https://www.virtualmin.com/node/42113 2016-09-25 09:40:12 -07:00
Jamie Cameron
f308101805 Also use list-unit-files to find disabled units https://github.com/webmin/webmin/issues/430 2016-09-24 15:55:43 -07:00
Jamie Cameron
371d2b008f ATA mode no longer needs to be on by default, as it breaks on some drives https://sourceforge.net/p/webadmin/bugs/4821/ 2016-09-19 19:57:34 -07:00
Jamie Cameron
5f39cfdd39 Properly deal with the case where a directive is missing https://www.virtualmin.com/node/41676 2016-09-19 17:55:15 -07:00
Jamie Cameron
53f087cafa Fix protocol check https://sourceforge.net/p/webadmin/bugs/4820/ 2016-09-18 16:02:39 -07:00
Jamie Cameron
481d2b6d4b German translation updates from Raymond Vetter 2016-09-17 16:21:11 -07:00
Jamie Cameron
e3192f2f19 German translation updates from Raymond Vetter 2016-09-17 16:21:04 -07:00
Jamie Cameron
186d49c1a0 Option has been renamed in IPv6 https://sourceforge.net/p/webadmin/bugs/4819/ 2016-09-17 10:23:58 -07:00
Jamie Cameron
003424a60e Support new format comments https://sourceforge.net/p/webadmin/bugs/4818/ 2016-09-16 21:15:54 -07:00
Jamie Cameron
c2657aab8a Clear zone list on each iteration https://github.com/webmin/webmin/issues/411 2016-09-15 20:53:38 -07:00
Jamie Cameron
3cceb09daa Upgrade form is no longer GET https://sourceforge.net/p/webadmin/usermin-bugs/455/ 2016-09-12 21:34:12 -07:00
Jamie Cameron
9e57a7df51 German translation updates from Raymond Vetter 2016-09-12 20:24:00 -07:00
Jamie Cameron
4cfb984694 German translation updates from Raymond Vetter 2016-09-12 20:24:00 -07:00
Jamie Cameron
220897472f Fix typo 2016-09-12 20:21:43 -07:00
Jamie Cameron
dc69374aaa let's encrypt cert size option 2016-09-11 09:49:18 -07:00
Jamie Cameron
ac4d68f2ce Close HTTP connection on failure, to avoid dangling file handles https://www.virtualmin.com/node/41967 2016-09-09 16:25:11 -07:00
Jamie Cameron
202d672855 dev version bump 2016-09-08 21:44:19 -07:00
Jamie Cameron
2f5ee3eb33 Handle gentoo's apache cofnig check output https://www.virtualmin.com/node/41961 2016-09-08 20:04:49 -07:00
Jamie Cameron
b2d4380577 Add depenency on time::local, so that on systems like Fedora 24 the needed Perl modules get installed https://github.com/webmin/webmin/issues/405 2016-09-06 21:12:36 -07:00
Jamie Cameron
d93ae142f2 Allow password reading from stdin 2016-08-31 22:03:57 -07:00
Jamie Cameron
c8cebbb4b9 German translation updates from Raymond Vetter 2016-08-29 20:40:41 -07:00
Jamie Cameron
db8407ab09 German translation updates from Raymond Vetter 2016-08-29 20:40:35 -07:00
Jamie Cameron
ebfcf159c7 Don't replace a new update with an older one in the same cycle https://www.virtualmin.com/node/41721 2016-08-27 17:48:31 -07:00
Jamie Cameron
8748d785b4 German translation updates from Raymond Vetter 2016-08-27 10:31:50 -07:00
Jamie Cameron
25d31738ec German translation updates from Raymond Vetter 2016-08-27 10:31:45 -07:00
Jamie Cameron
499fba0b8c Forgotten checkin from previous work to validation options files 2016-08-27 09:09:30 -07:00
Jamie Cameron
00bd87ae86 Download all the Let's Encrypt CA files 2016-08-27 09:07:21 -07:00
Jamie Cameron
2bf3dcbf38 Catalan update from Jaume Badiella 2016-08-27 09:06:01 -07:00
Jamie Cameron
6586126d6b Catalan update from Jaume Badiella 2016-08-27 09:05:13 -07:00
Jamie Cameron
8b358c438d Fix default also notify field https://www.virtualmin.com/node/41824 2016-08-26 23:19:08 -07:00
Jamie Cameron
cb481287ac Force stop before starting, just in case the init system thinks we're already started 2016-08-24 21:45:21 -07:00
Jamie Cameron
7e6982a0cf Use title from clone, if any 2016-08-24 21:01:01 -07:00
Jamie Cameron
700afdb0cc Fix perl warning 2016-08-24 20:30:39 -07:00
Jamie Cameron
000405b749 Skip fuse filesystemss 2016-08-23 21:41:39 -07:00
Jamie Cameron
a14864e932 Turkish translation from Melih akpınar 2016-08-21 20:43:47 -07:00
Jamie Cameron
36048fe4cd Option to download mysql backup 2016-08-20 18:46:34 -07:00
Jamie Cameron
e461576cd9 Merge pull request #415 from ymulleneers/patch-1
Copy jobs do not have destination tape
2016-08-19 22:26:05 -07:00
ymulleneers
7188abc556 Copy jobs do not have destination tapes
copy jobs do not have any destination tape (here called volume) (=> ? on the 7th or latest field)
example (spaces removed) : Full Backup 11 19-Aug-16 17:50 ykfdc1-Copyjob
2016-08-19 12:15:44 +02:00
Jamie Cameron
55fb44f34c open_execute_command doesn't work with file handle vars https://sourceforge.net/p/webadmin/bugs/4801/ 2016-08-17 20:12:57 -07:00
Jamie Cameron
b7bbeb457b Don't try to read missing zone file https://sourceforge.net/p/webadmin/bugs/4801/ 2016-08-15 20:29:18 -07:00
Jamie Cameron
e1e6fd43e0 Don't attempt to run named- v if not installed https://sourceforge.net/p/webadmin/bugs/4802/ 2016-08-15 09:01:35 -07:00
Jamie Cameron
46239c247f Fix IPv6 ICMP type option https://sourceforge.net/p/webadmin/bugs/4807/ 2016-08-14 17:36:01 -07:00
Jamie Cameron
22c8d8d041 Assume IPFW version 2, since it's been out for ages https://github.com/webmin/webmin/issues/410 2016-08-14 17:09:28 -07:00
Jamie Cameron
792b4d2bd7 Fix perl error 2016-08-14 11:41:33 -07:00
Jamie Cameron
031dd76538 Perl expects arrays to exist https://sourceforge.net/p/webadmin/bugs/4805/ 2016-08-14 10:22:30 -07:00
Jamie Cameron
74efe3465e Allow version override https://github.com/webmin/webmin/issues/410 2016-08-13 12:23:44 -07:00
Jamie Cameron
b08445e9c4 Fix perl error about use of unitialized arrays 2016-08-12 21:46:03 -07:00
Jamie Cameron
959adc098f Deal with invalid version file https://sourceforge.net/p/webadmin/bugs/4802/ 2016-08-11 20:35:49 -07:00
Jamie Cameron
54c7f75bf9 Some records don't have values https://sourceforge.net/p/webadmin/bugs/4800/ 2016-08-11 20:27:02 -07:00
Jamie Cameron
4dfaaaff09 Don't crash if there are no records of some type https://www.virtualmin.com/node/41676 2016-08-10 13:41:28 -07:00
Jamie Cameron
52180cea58 Work-around for chance that clients may call this API with a string list https://www.virtualmin.com/node/41674 2016-08-10 13:30:45 -07:00
Jamie Cameron
c8f403c5f6 Fix some warnings 2016-08-07 22:11:30 -07:00
Jamie Cameron
162e181c21 New version bump 2016-08-07 17:24:16 -07:00
Jamie Cameron
7f73d135a3 Don't read from non-existent file 2016-08-07 16:58:20 -07:00
Jamie Cameron
65c2b20b15 Fix small perl warning 2016-08-07 16:56:14 -07:00
Jamie Cameron
457c4d85e3 Remove unused UI mode which is hard for themes to support https://github.com/webmin/webmin/issues/409 2016-08-02 22:08:02 -07:00
Jamie Cameron
57a918dc1b Merge branch 'master' of git@github.com:webmin/webmin 2016-08-02 21:30:56 -07:00
Jamie Cameron
ee373ab2be Update Let's Encrypt agreement URL https://www.virtualmin.com/node/41565 2016-08-02 21:30:24 -07:00
Jamie Cameron
fb26abb000 Merge pull request #407 from maanas/master
Clone rules are added after the original Rule
2016-07-25 20:28:48 -07:00
Maanas Royy
48bfce7cb1 Clone rules are added after the original Rule
In the existing state the clone rules are added in the bottom of the firewall wall rule list. Generally the clone rules are for similar interface, port, etc and most of the time after adding they need to be arranged. The change enable the clone rule to be placed after the original rule. This will allow a better comparison and arrangement of the firewall rules.
2016-07-26 06:45:47 +05:30
Jamie Cameron
b77193c95d German translation updates from Raymond Vetter 2016-07-24 21:18:09 -07:00
Jamie Cameron
3effb160b5 Fix comments 2016-07-24 17:46:56 -07:00
Jamie Cameron
5881b223b4 inet6 constants are now in the Socket package https://www.virtualmin.com/node/40065 2016-07-24 13:12:25 -07:00
Jamie Cameron
0055290c76 German translation updates from Raymond Vetter 2016-07-23 18:34:07 -07:00
Jamie Cameron
253defe365 Fix slapd path on SuSE https://sourceforge.net/p/webadmin/bugs/4792/ 2016-07-22 08:12:43 -07:00
Jamie Cameron
cd950f1c0a Don't allow twofactor to be disabled if any users are enrolled https://sourceforge.net/p/webadmin/bugs/4788/ 2016-07-22 07:52:42 -07:00
Jamie Cameron
ded6d9a37f Fix config for SuSE Linux https://sourceforge.net/p/webadmin/bugs/4791/ 2016-07-20 22:29:17 -07:00
Jamie Cameron
401ff8466a New OSX version 2016-07-13 21:13:15 -07:00
Jamie Cameron
7de1f09c9f Use the correct var for the file handle https://github.com/webmin/webmin/issues/404 2016-07-11 02:12:34 -07:00
Jamie Cameron
8f18e8cdf4 Use formal parameters https://github.com/webmin/webmin/issues/403 2016-07-11 02:09:01 -07:00
Jamie Cameron
17cea3d3a2 Allow change of renewal only 2016-07-10 17:51:35 -07:00
Jamie Cameron
60800e3b6b Allow LV creation based on original LV size 2016-07-06 07:58:03 -07:00
Jamie Cameron
8c07bc9f30 Merge branch 'master' of git@github.com:webmin/webmin 2016-07-06 02:32:35 -07:00
Jamie Cameron
0f8119a6d5 Support logfiles with spaces in them, via quoted strings https://www.virtualmin.com/node/41316 2016-07-06 02:31:18 -07:00
Jamie Cameron
d40ff8a547 Merge pull request #401 from pwahle87/master
firewall6 module / fixes for ICMPv6
2016-07-06 08:44:56 +08:00
pwahle87
fb3524471a Update setup.cgi
Fixed icmpv6
2016-07-05 05:47:30 +02:00
pwahle87
132fa7a16b Update save_rule.cgi
Fixed icmpv6
check_ipmask disabled because the regex needs to be adjusted
2016-07-05 05:44:32 +02:00
pwahle87
0d87686862 Update edit_rule.cgi
Fixed icmpv6
Fixed icmpv6 reject types
2016-07-05 05:33:40 +02:00
Jamie Cameron
4ec1e182d5 error if options file doesn't exist 2016-07-04 03:17:16 -07:00
Jamie Cameron
e6765ece27 fix perl errors if dmarc components are missing 2016-07-03 16:57:51 -07:00
Jamie Cameron
e9376f3fc5 Skip zones with no type, to avoid perl warnuings 2016-07-03 16:44:32 -07:00
Jamie Cameron
46f264e22c fix yet another perl warning 2016-07-03 07:18:00 -07:00
Jamie Cameron
bb672844c7 fix another perl warning 2016-07-03 07:09:23 -07:00
Jamie Cameron
0e8d291d63 fix perl warnings 2016-07-03 07:02:23 -07:00
Jamie Cameron
c5a51403d1 name may not be defined 2016-07-03 02:15:07 -07:00
Jamie Cameron
6ed37aeef0 Merge branch 'master' of git@github.com:webmin/webmin 2016-07-02 16:36:14 -07:00
Jamie Cameron
04f8997509 German translation updates from Raymond Vetter 2016-07-02 03:38:20 -07:00
Jamie Cameron
6bd51824d1 New linux mint version 2016-07-02 18:37:05 +08:00
Jamie Cameron
c4f74a0f9d Error out if cannot create directory https://sourceforge.net/p/webadmin/bugs/4782/ 2016-06-30 15:47:06 -07:00
Jamie Cameron
357ab56b6d Fix perms 2016-06-29 17:55:21 -07:00
Jamie Cameron
2af0b05c29 Add missing text 2016-06-29 17:54:24 -07:00
Jamie Cameron
15bcab87c7 Support new-style quota 2016-06-29 17:52:54 -07:00
Jamie Cameron
1c4afe2f11 Re-factor confdir setting 2d4640f00a 2016-06-28 18:01:28 -07:00
Jamie Cameron
7e72bcdbaf Use common function for creating logged event descriptions 2016-06-25 16:45:11 -07:00
Jamie Cameron
bbff90bea4 Get rid of undefined var warning 2016-06-25 16:33:52 -07:00
Jamie Cameron
347b7e87cf Fix a bunch of minor warnings and unitialized vars 2016-06-23 23:15:12 -07:00
Jamie Cameron
085865ec9a Some fields may not be set 2016-06-23 22:45:36 -07:00
Jamie Cameron
bcd16e5ade Transfer 'query' field into table, selection and where if possible 2016-06-22 22:44:14 -07:00
Jamie Cameron
613efe4ace Fix warnings 2016-06-20 19:43:20 -07:00
Jamie Cameron
a5ffa5e309 Remove useless my 2016-06-20 19:19:45 -07:00
Jamie Cameron
80170f9b80 fix typo 2016-06-20 19:17:06 -07:00
Jamie Cameron
1fef37a8a1 Add missed variable 2016-06-20 19:16:32 -07:00
Jamie Cameron
71949364be dev version bump 2016-06-20 19:11:31 -07:00
Jamie Cameron
941f110eda github is sending the HTTP header X-Geo-Block-List: with no value, which causes webmin to stop processing headers at this point. This causes remaining headers to be included in the downloaded file 2016-06-19 12:22:50 -07:00
Jamie Cameron
2d4640f00a use get_paths, as it supports the case where the webmin user isn't a unix user 2016-06-18 22:10:46 -07:00
Jamie Cameron
ce8e0411e4 Arrays shouldn't be quoted https://sourceforge.net/p/webadmin/bugs/4777/ 2016-06-18 18:33:20 -07:00
Jamie Cameron
d49c16cb31 German translation updates from Raymond Vetter 2016-06-18 16:45:38 -07:00
Jamie Cameron
f74c22a66d Merge branch 'master' of git@github.com:webmin/webmin 2016-06-18 15:32:27 -07:00
Jamie Cameron
e59cac6f51 Merge pull request #391 from swelljoe/at-strictwarn
at module strict/warn conversion
2016-06-18 15:28:46 -07:00
Jamie Cameron
633d60900c set forgotten time_now array https://github.com/webmin/webmin/issues/392 2016-06-18 11:46:26 -07:00
Joe Cooper
d5b9cefb2c strict/warn 2016-06-17 23:23:48 -07:00
Joe Cooper
ac9a3b7c41 strict/warn 2016-06-17 23:15:07 -07:00
Joe Cooper
edccc4ea10 strict/warn 2016-06-17 23:12:11 -07:00
Joe Cooper
90d0244950 strict/warn 2016-06-17 23:11:03 -07:00
Joe Cooper
7ec8bc71e0 strict/warn 2016-06-17 23:08:57 -07:00
Joe Cooper
ecca77fdad strict/warn 2016-06-17 22:38:16 -07:00
Joe Cooper
265a775ccb strict/warn 2016-06-17 22:31:30 -07:00
Joe Cooper
91052e76b0 strict/warn 2016-06-17 22:28:54 -07:00
Joe Cooper
abba5c7377 strict/warn 2016-06-17 22:23:58 -07:00
Joe Cooper
6316210b9d strict/warn 2016-06-17 22:21:23 -07:00
Joe Cooper
fe6d99777e strict/warn 2016-06-17 22:11:42 -07:00
Joe Cooper
f8c1571e15 strict/warn 2016-06-17 22:07:25 -07:00
Joe Cooper
5870f40481 strict/warn 2016-06-17 22:04:36 -07:00
Joe Cooper
9c98a7f820 strict/warn 2016-06-17 22:03:37 -07:00
Joe Cooper
ce8e6bf481 strict/warn 2016-06-17 21:59:39 -07:00
Joe Cooper
90fc05e34a strict/warn 2016-06-17 21:58:31 -07:00
Jamie Cameron
49ed6fc377 Merge pull request #389 from swelljoe/master
strict/warn updates for ajaxterm and  typo fix for apache-lib.pl
2016-06-16 21:09:45 -07:00
Joe Cooper
f818ead2db strict/warn 2016-06-16 19:24:46 -07:00
Joe Cooper
eb6b294bed typo fix 2016-06-16 18:52:47 -07:00
Jamie Cameron
30bf7beb02 Forward and other multi-value fields need to be preserved 2016-06-15 16:54:42 -07:00
Jamie Cameron
8d6124321f remote_user_info is already set correctly https://sourceforge.net/p/webadmin/bugs/4773/ 2016-06-14 22:54:46 -07:00
Joe Cooper
ccc715a11e strict/warnings but doesn't work...no idea why 2016-06-14 01:59:36 -07:00
Joe Cooper
490b035f72 Merge remote-tracking branch 'upstream/master' 2016-06-14 01:01:52 -07:00
Jamie Cameron
025be61e1e Completed webmin logging via email 2016-06-11 18:51:46 -07:00
Jamie Cameron
005857ccd1 UI for configuring log to email 2016-06-11 18:06:19 -07:00
Jamie Cameron
31a5ec771d Upload should allow overwriting of a file https://sourceforge.net/p/webadmin/bugs/4774/ 2016-06-11 17:23:38 -07:00
Jamie Cameron
1ed25a0bbf Merge branch 'master' of git@github.com:webmin/webmin 2016-06-11 14:46:43 -07:00
Jamie Cameron
a0db27968b Support a new hwclock output format https://github.com/webmin/webmin/issues/379 2016-06-11 14:46:27 -07:00
Jamie Cameron
1f516d66f5 German translation updates from Raymond Vetter 2016-06-11 14:42:50 -07:00
Jamie Cameron
f2b21bc503 Merge pull request #385 from qooob/patch-37
Adding ability to extract `.rpm` and `.deb` files in case dependencie…
2016-06-10 08:49:10 -07:00
Jamie Cameron
7698818eec Merge branch 'master' of git@github.com:webmin/webmin 2016-06-09 22:01:17 -07:00
Jamie Cameron
21fe9cddf7 Allow start and end dates to be set for quick autoreplies https://www.virtualmin.com/node/40987 2016-06-09 22:00:11 -07:00
Jamie Cameron
bf3e1cb064 Merge pull request #386 from qooob/patch-38
Checking for dependencies to be able to extract .rpm/.deb
2016-06-09 19:53:18 -07:00
Ilia Rostovtsev
ff2976fd85 Checking for dependencies to be able to extract .rpm/.deb 2016-06-09 14:44:16 +04:00
Ilia Rostovtsev
ecd98c0030 Adding ability to extract .rpm and .deb files in case dependencies are installed 2016-06-09 14:41:58 +04:00
Jamie Cameron
7fe32a5dce Request a 2048-bit key from let's encrypt 2016-06-07 21:49:29 -07:00
Jamie Cameron
6a12fe7d23 If the URL cannot be downloaded locally, just warn instead of crashing 2016-06-06 20:49:00 -07:00
Jamie Cameron
08c55bac64 Include status message in email 2016-06-05 21:57:23 -07:00
Jamie Cameron
f4f9b32db0 Always disable or enable if the action exists 2016-06-05 16:21:59 -07:00
Jamie Cameron
6c366fd394 German translation updates from Raymond Vetter 2016-06-04 21:30:35 -07:00
Jamie Cameron
17f3235798 UI for log to email feature 2016-06-04 16:49:33 -07:00
Jamie Cameron
a0fd8f3694 Missing part of recording failed logins feature 2016-06-04 16:48:24 -07:00
Jamie Cameron
d28761ce88 explain what's going on here 2016-06-04 16:46:28 -07:00
Jamie Cameron
a9f6a4528f When looking up by folder name, transform the ID properly 2016-06-04 16:37:43 -07:00
Jamie Cameron
1e65d4b153 tgz and gz are MIME types 2016-06-04 16:37:13 -07:00
Jamie Cameron
d80a0203bd Use exclude file 2016-06-04 16:36:51 -07:00
Jamie Cameron
bdcabcfbe9 Handle case where there is no new group 2016-06-04 16:36:23 -07:00
Jamie Cameron
2cc32ee64a German translation updates from Raymond Vetter 2016-06-04 16:34:58 -07:00
Jamie Cameron
ae85145e43 German translation updates from Raymond Vetter 2016-06-04 16:34:57 -07:00
Jamie Cameron
0cfe643700 Add IPv6 firewall module to standard distributuion 2016-06-04 13:04:01 -07:00
Jamie Cameron
147990a30a Merge branch 'master' of git@github.com:webmin/webmin 2016-06-04 12:57:40 -07:00
Jamie Cameron
b4b309d6d7 Session DB value can sometimes be empty https://sourceforge.net/p/webadmin/bugs/4762/ 2016-06-04 12:40:03 -07:00
Jamie Cameron
b837846128 Merge pull request #383 from swelljoe/bind8-strictwarn
Finish up strict/warn for bind8 module
2016-06-03 16:52:48 -07:00
Joe Cooper
522bd05fff Merge remote-tracking branch 'upstream/master' into bind8-strictwarn 2016-06-03 14:59:39 -07:00
Joe Cooper
678f8ec6da strict/warn, bugifx for missing @views 2016-06-03 14:57:30 -07:00
Joe Cooper
a6983f8df7 strict/warn, close $OUT filehandle 2016-06-03 14:48:13 -07:00
Joe Cooper
5186ab8125 strict/warn 2016-06-03 14:45:55 -07:00
Joe Cooper
e9655ed5e9 strict/warn 2016-06-03 14:44:28 -07:00
Joe Cooper
9bd529fce4 strict/warn 2016-06-03 14:42:57 -07:00
Joe Cooper
21b516b52e strict/warn 2016-06-03 14:41:50 -07:00
Joe Cooper
7d1b4a66f4 strict/warn 2016-06-03 14:40:40 -07:00
Joe Cooper
8a1a182099 strict/warn 2016-06-03 14:39:47 -07:00
Joe Cooper
a6984f6be5 strict/warn 2016-06-03 14:37:59 -07:00
Jamie Cameron
6d1900f94a Add missing views variable https://github.com/webmin/webmin/issues/382 2016-06-03 14:32:40 -07:00
Joe Cooper
0bc3eb6430 strict/warn 2016-06-03 14:31:34 -07:00
Joe Cooper
caa329d749 strict/warn 2016-06-03 14:30:37 -07:00
Jamie Cameron
2e9039434b Fix incorrect variable name https://github.com/webmin/webmin/issues/380 2016-06-03 08:47:00 -07:00
Joe Cooper
a4c8e4a7bb strict/warn 2016-06-03 01:30:57 -07:00
Joe Cooper
b0e9415d01 strict/warn 2016-06-03 01:29:19 -07:00
Joe Cooper
99e46e7e3f Make $dnssec_dlv_zone our 2016-06-03 01:27:17 -07:00
Joe Cooper
e223f899e5 strict/warn 2016-06-03 01:24:10 -07:00
Joe Cooper
20c9d9f0f1 strict/warn 2016-06-03 01:15:14 -07:00
Joe Cooper
e422ae0eaf strict/warn 2016-06-03 01:12:26 -07:00
Joe Cooper
40780e96b1 strict/warn 2016-06-03 01:08:51 -07:00
Joe Cooper
2f6e937f21 strict/warn 2016-06-03 01:01:06 -07:00
Joe Cooper
3eb49c27ed strict/warn 2016-06-03 00:58:01 -07:00
Joe Cooper
90196c3f88 strict/warn 2016-06-03 00:41:31 -07:00
Joe Cooper
2d7ba714ac Oops, open_tempfile and open_lock_tempfile are not open(), so shouldn't
be three argument style (for now).
2016-06-03 00:36:35 -07:00
Joe Cooper
fb4595b38d strict/warn 2016-06-03 00:36:15 -07:00
Joe Cooper
adfd154341 strict/warn #380
XXX This one is hairy! But, self-contained in this one file, so fine for
now.
2016-06-02 21:35:42 -07:00
Jamie Cameron
9f23977794 First version of the IPv6 iptables module, ported by Patrick Wahle 2016-06-02 20:56:06 -07:00
Joe Cooper
6a80732b71 strict/warn 2016-06-02 19:42:14 -07:00
Joe Cooper
88db96cf31 strict/warn 2016-06-02 19:38:59 -07:00
Joe Cooper
10cbab5fe8 strict/warn 2016-06-02 19:34:44 -07:00
Joe Cooper
a8a1cdc05b strict/warn 2016-06-02 19:30:01 -07:00
Joe Cooper
ad26beb5b4 strict/warn 2016-06-02 19:25:58 -07:00
Joe Cooper
3a2f028f7e make $uscore and $star global
XXX could be better encapsulated
2016-06-02 19:23:50 -07:00
Joe Cooper
566a07c477 strict/warn 2016-06-02 19:23:31 -07:00
Joe Cooper
e96c1cac11 strict/warn 2016-06-02 19:16:36 -07:00
Joe Cooper
379a5a00cd strict/warn 2016-06-02 19:15:26 -07:00
Joe Cooper
e7265843d3 strict/warn 2016-06-02 19:13:33 -07:00
Joe Cooper
ca93abc540 strict/warn 2016-06-02 19:11:04 -07:00
Joe Cooper
c446449496 strict/warn 2016-06-02 19:09:33 -07:00
Joe Cooper
bb07d2d1e7 make dnssec_cron_cmd available to other files
XXX Could be improved/encapsulated in a dnssec config object or something.
2016-06-02 18:52:05 -07:00
Joe Cooper
3233f47cf2 strict/warn 2016-06-02 18:49:05 -07:00
Joe Cooper
e11e9dc86f strict/warn 2016-06-02 18:46:57 -07:00
Jamie Cameron
8938385d67 German translation updates from Raymond Vetter 2016-06-02 17:44:18 -07:00
Jamie Cameron
3ca97055c4 Merge pull request #378 from swelljoe/strictwarn
strict/warn updates, plus a couple of bug fixes to previous commits
2016-06-02 17:34:53 -07:00
Jamie Cameron
ab17eff7cf Force consistent locale for hwclock command https://github.com/webmin/webmin/issues/379 2016-06-02 17:18:09 -07:00
Joe Cooper
b46a5ce93a strict/warn 2016-06-02 01:17:26 -07:00
Joe Cooper
2136ee98ec strict/warn 2016-06-02 01:13:54 -07:00
Joe Cooper
bee4a4029b strict/warn 2016-06-02 01:12:45 -07:00
Joe Cooper
cf1991d78d strict/warn 2016-06-02 01:04:41 -07:00
Joe Cooper
0df6939988 strict/warn 2016-06-02 01:03:32 -07:00
Joe Cooper
ed265ce71f strict/warn, remove $view from can_edit_zone call 2016-06-02 00:59:53 -07:00
Joe Cooper
eaba21745a strict/warn 2016-06-02 00:57:30 -07:00
Joe Cooper
af7b9c8fac strict/warn 2016-06-02 00:56:41 -07:00
Joe Cooper
ed9b044f91 strictw/warn 2016-06-02 00:55:21 -07:00
Joe Cooper
5868988c89 strict/warn 2016-06-01 23:52:51 -07:00
Joe Cooper
54c14c668d strict/warn 2016-06-01 23:49:57 -07:00
Joe Cooper
315d517bc3 strict/warn 2016-06-01 23:47:50 -07:00
Joe Cooper
4b4176a40d strict/warn 2016-06-01 23:46:03 -07:00
Joe Cooper
f846fbd43b strict/warn 2016-06-01 23:44:22 -07:00
Joe Cooper
c51d78c804 strict/warn 2016-06-01 23:42:34 -07:00
Joe Cooper
46e629fb9b strict/warn 2016-06-01 23:03:34 -07:00
Joe Cooper
66f656a8db strict/warn 2016-06-01 22:53:41 -07:00
Joe Cooper
1db6880427 strict/warn 2016-06-01 22:18:38 -07:00
Joe Cooper
ff9bb29365 Merge remote-tracking branch 'upstream/master' into strictwarn 2016-06-01 20:54:29 -07:00
Joe Cooper
90d29e43cd strict/warn, remove dead code 2016-06-01 20:46:37 -07:00
Joe Cooper
1fed180246 strict/warn, convert use of @servers::server_types to
servers::get_server_types()
2016-06-01 20:31:13 -07:00
Jamie Cameron
d73b5d7926 Remove dead code https://github.com/webmin/webmin/issues/374 2016-06-01 20:09:39 -07:00
Jamie Cameron
411da84699 Fix incorrect var name https://github.com/webmin/webmin/issues/376 2016-06-01 20:06:30 -07:00
Joe Cooper
bda15c89da Bugfix for old style refs. 2016-06-01 19:32:12 -07:00
Joe Cooper
310d559b3b strict/warn, fix use of reference on $g 2016-06-01 19:28:53 -07:00
Joe Cooper
1fd1190da8 our $bind_version so it can be used in CGIs 2016-06-01 19:28:18 -07:00
Joe Cooper
5b85401283 strict/warn 2016-06-01 19:06:05 -07:00
Joe Cooper
e98fd286f4 strict/warn 2016-06-01 18:57:20 -07:00
Joe Cooper
d54c1a22e0 strict/warn 2016-06-01 17:07:48 -07:00
Joe Cooper
62821c2f19 strict/warn 2016-06-01 16:57:40 -07:00
Joe Cooper
5cf1cad0be strict/warn 2016-06-01 16:54:32 -07:00
Joe Cooper
2951cec66e strict/warn 2016-06-01 16:40:15 -07:00
Joe Cooper
c9b0382b61 strict/warn, and fix bug #376 2016-06-01 03:24:13 -07:00
Joe Cooper
e999beed42 strict/warn, some cleanups. This really needs a rewrite. It's a mess.
Super old school code, and unnecessarly complex.
(I'll tackle it in the near future, if nobody else does.)
2016-06-01 03:11:42 -07:00
Joe Cooper
79f1c9368f strict/warn 2016-06-01 03:02:04 -07:00
Joe Cooper
8412a08be0 strict/warn 2016-06-01 02:54:26 -07:00
Joe Cooper
3887899f3e strict/warn 2016-06-01 02:53:14 -07:00
Joe Cooper
64f39bf8f4 strict/warn 2016-06-01 02:34:01 -07:00
Joe Cooper
0762e3866d strict/warn 2016-06-01 02:32:06 -07:00
Joe Cooper
7b181d742b strict/warn 2016-05-31 23:58:57 -07:00
Joe Cooper
db99121336 strict/warn 2016-05-31 23:55:38 -07:00
Joe Cooper
7560c4a41b strict/warn 2016-05-31 23:40:02 -07:00
Joe Cooper
a7f2a04351 strict/warn 2016-05-31 23:26:58 -07:00
Joe Cooper
962a4225f0 strict/warn 2016-05-31 23:05:59 -07:00
Joe Cooper
dc7d44f150 strict/warn 2016-05-31 23:04:01 -07:00
Jamie Cameron
8d538fae68 Make ipv6revzone available in all CGIs https://github.com/webmin/webmin/issues/369 2016-05-31 20:50:06 -07:00
Jamie Cameron
e9f6416d80 Merge pull request #373 from swelljoe/strictwarn
strict and warnings and Perl Critic updates for more bind8 files
2016-05-31 20:46:05 -07:00
Joe Cooper
ed65f6371d Oops, left a git merge message in. 2016-05-31 18:30:03 -07:00
Joe Cooper
82380e1d32 Merge remote-tracking branch 'upstream/master' into strictwarn 2016-05-31 18:19:02 -07:00
Joe Cooper
1015f7b1b2 Merge remote-tracking branch 'upstream/master' 2016-05-31 18:15:17 -07:00
Joe Cooper
a76b0fbd53 strict/warn, fix undefined var 2016-05-31 18:09:24 -07:00
Jamie Cameron
e2419bfc15 Merge pull request #372 from morissette/patch-1
Hotfix: Update typo from samba-lib.pl preventing add a group
2016-05-31 17:28:32 -07:00
Matthew Harris
89d5793316 Update type from samba-lib.pl
foriegn_require => foreign_require
2016-05-31 19:21:47 -05:00
Jamie Cameron
1bd406d5c8 Declare missing var 2016-05-31 16:57:11 -07:00
Jamie Cameron
ef72775550 Deal with case with dmarc isn't even set 2016-05-31 16:50:36 -07:00
Jamie Cameron
2f626485a6 Fix incorrect var name https://github.com/webmin/webmin/issues/370 2016-05-31 16:48:11 -07:00
Joe Cooper
e87dd429c9 strict/warn 2016-05-30 22:02:16 -07:00
Joe Cooper
0a3658400e strict/warn, define $bconf, remove $view from can_edit_zone call 2016-05-30 21:51:51 -07:00
Joe Cooper
b5602d93c6 strict/warn, fix $bconf undefined bug 2016-05-30 21:47:12 -07:00
Joe Cooper
cdf631f397 strict/warn 2016-05-30 21:34:50 -07:00
Joe Cooper
e25eae389f strict/warn 2016-05-30 21:27:32 -07:00
Joe Cooper
1eb43c8503 Remove comments about $d/$dom; $d is right. #360 2016-05-30 21:13:51 -07:00
Joe Cooper
b0e94be6e3 strict/warn 2016-05-30 21:09:57 -07:00
Joe Cooper
901a64ea3a strict/warn 2016-05-30 20:53:44 -07:00
Jamie Cameron
2ec766071b No need to pass in a view object, as it can be gotten from the zone object https://github.com/webmin/webmin/issues/368 2016-05-30 20:33:31 -07:00
Jamie Cameron
0c18c5f3f9 logging page UI enhancements 2016-05-30 19:25:52 -07:00
Jamie Cameron
18f4da591f Remove useless valigns 2016-05-30 19:19:49 -07:00
Joe Cooper
355d99d232 strict/warn 2016-05-30 18:48:25 -07:00
Joe Cooper
a214f413c5 strict/warn 2016-05-30 18:44:57 -07:00
Joe Cooper
a27441b24c strict/warn 2016-05-30 18:40:11 -07:00
Jamie Cameron
80ee1c5919 There are no masters https://github.com/webmin/webmin/issues/366 2016-05-30 18:31:49 -07:00
Joe Cooper
0f3eb41489 strict/warn 2016-05-30 18:11:46 -07:00
Joe Cooper
d8f861b67e strict/warn 2016-05-30 18:09:58 -07:00
Joe Cooper
cffb3c5d61 strict/warn 2016-05-30 18:05:05 -07:00
Joe Cooper
545e9341ef strict/warn 2016-05-30 17:59:36 -07:00
Joe Cooper
7758195ae3 strict/warn 2016-05-30 17:53:17 -07:00
Joe Cooper
3d45568f37 strict/warn 2016-05-30 17:40:54 -07:00
Joe Cooper
577f5ac754 strict/warn 2016-05-30 17:39:19 -07:00
Joe Cooper
7915579de4 strict/warn 2016-05-30 17:37:14 -07:00
Joe Cooper
8f6e095091 strict/warn 2016-05-30 17:34:08 -07:00
Joe Cooper
f7c7c32427 strict/warn 2016-05-30 17:29:15 -07:00
Joe Cooper
a7ee17f5af strict/warn 2016-05-30 17:26:24 -07:00
Joe Cooper
b9e3a748c1 strict/warn 2016-05-30 17:22:06 -07:00
Joe Cooper
3ef8d17ed5 strict/warn 2016-05-30 17:18:27 -07:00
Joe Cooper
b29520e350 strict/warn 2016-05-30 17:16:22 -07:00
Joe Cooper
30569f5e28 strict/warn 2016-05-30 17:14:20 -07:00
Joe Cooper
2588a507cc strict/warn 2016-05-30 17:12:35 -07:00
Jamie Cameron
1edcc12734 'other' field may be entirely missing 2016-05-30 16:27:53 -07:00
Jamie Cameron
dd5183a0f9 If recording logins is enabled, also record failed logins 2016-05-30 16:16:42 -07:00
Jamie Cameron
dae494fdde changelog for failed logins record 2016-05-30 16:16:20 -07:00
Jamie Cameron
1c9dc7b727 Log failed logins, and display in Webmin Actions Log module 2016-05-30 16:09:51 -07:00
Jamie Cameron
689837875f UI and postinstall for recording failed logins 2016-05-30 15:36:59 -07:00
Jamie Cameron
de1c3b187f strict/warnings compliance 2016-05-30 15:29:10 -07:00
Jamie Cameron
b8951b3f7d -p flag is not valid, should be -P https://www.virtualmin.com/node/40900 2016-05-30 15:22:23 -07:00
Jamie Cameron
7ac845a01b remove debug messages https://sourceforge.net/p/webadmin/bugs/4768/ 2016-05-30 15:09:23 -07:00
Joe Cooper
c76f0720cf strict/warn 2016-05-30 13:19:08 -07:00
Jamie Cameron
f9bbe37763 Fix a whole bunch of perl warning https://sourceforge.net/p/webadmin/bugs/4762/ 2016-05-30 11:09:35 -07:00
Jamie Cameron
238f8ce2d9 Use proper var for zone name https://github.com/webmin/webmin/issues/365 2016-05-30 10:58:53 -07:00
Jamie Cameron
962b43d0d3 Merge pull request #362 from swelljoe/master
strict and warnings compliant. Tighten up scope, fix a few undefined
2016-05-30 09:56:13 -07:00
Jamie Cameron
e5769bd07b Fix perl warnings https://sourceforge.net/p/webadmin/bugs/4762/ 2016-05-30 09:36:44 -07:00
Joe Cooper
2e64eac747 strict/warn 2016-05-30 01:20:20 -07:00
Joe Cooper
a902884e51 strict/warn 2016-05-30 01:14:11 -07:00
Joe Cooper
fd46a3af4a strict/warn 2016-05-30 01:11:43 -07:00
Joe Cooper
4a2e1188ac strict/warn 2016-05-30 01:03:31 -07:00
Joe Cooper
8a761c2075 strict/warnings (except check_zone.cgi which has an undefined $dom) 2016-05-30 00:56:40 -07:00
Joe Cooper
29d607ad22 strict/warn for cgi_args.pl 2016-05-29 23:20:02 -07:00
Joe Cooper
c207f75647 strict/warn for backu_config.pl 2016-05-29 23:17:22 -07:00
Joe Cooper
2620e2cf4a warn/strict for acl_security.pl 2016-05-29 23:13:08 -07:00
Joe Cooper
d0d5806957 Maybe fix $dom issue (made it $d), etc. 2016-05-29 20:32:26 -07:00
Joe Cooper
cd904e9a73 Fix a variable that got borked during merge, I guess 2016-05-29 20:25:41 -07:00
Joe Cooper
2d3c81075d Merge remote-tracking branch 'upstream/master' 2016-05-29 20:23:58 -07:00
Joe Cooper
f3a5631c04 strict and warnings for records-lib.pl
Also make Perl Critic happy, except for return undefs.
2016-05-29 20:07:01 -07:00
Jamie Cameron
a6b71554c5 Pass all params to login script 2016-05-29 16:00:26 -07:00
Jamie Cameron
f219c7eb2f view isn't set or needed https://github.com/webmin/webmin/issues/364 2016-05-29 15:18:58 -07:00
Jamie Cameron
fc41316071 Record logins in webmin actions log by default 2016-05-29 13:28:43 -07:00
Jamie Cameron
bdd0b819d5 Fix perl warning 2016-05-29 11:35:47 -07:00
Jamie Cameron
5afb921074 Fix perl warning 2016-05-29 11:31:52 -07:00
Jamie Cameron
98677fd304 PostgreSQL 9.5 drops the can-create-user permission https://github.com/webmin/webmin/issues/359 2016-05-29 11:09:46 -07:00
Jamie Cameron
5a994bd40a Fix incorrect variable name https://github.com/webmin/webmin/issues/361 2016-05-29 07:38:36 -07:00
Joe Cooper
13f01b3f9e strict and warnings compliant. Tighten up scope, fix a few undefined
variable issues.
2016-05-29 02:56:17 -07:00
Jamie Cameron
c222dac785 preserve password on clone 2016-05-27 17:50:40 -07:00
Jamie Cameron
b1d471fac4 --force-yes is deprecated, and apparently dangerour 2016-05-27 15:08:57 -07:00
Jamie Cameron
c7554ac611 Only treat undef as null 2016-05-27 14:52:40 -07:00
Jamie Cameron
38876ff52e Norwegian update from Stein-Aksel Basma 2016-05-27 14:24:50 -07:00
Jamie Cameron
ba53820a46 Don't disable TLS 1.0 and 1.1 on old openssl versions, as they may not support newer protocols 2016-05-27 14:06:58 -07:00
Jamie Cameron
b828a6b5c6 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-27 10:26:49 -07:00
Jamie Cameron
92a66b5159 Fix more perl warnings https://sourceforge.net/p/webadmin/bugs/4762/ 2016-05-27 09:48:16 -07:00
Jamie Cameron
e66234b1b3 Merge branch 'master' of github.com:webmin/webmin 2016-05-27 09:46:39 -07:00
Jamie Cameron
553e436c54 Redirect to edit form when cloning a group 2016-05-27 09:46:26 -07:00
Jamie Cameron
ce3b84b118 German translation updates from Raymond Vetter 2016-05-26 16:19:56 -07:00
Jamie Cameron
c22919849e Handle case where there are no nameservers https://sourceforge.net/p/webadmin/bugs/4761/ 2016-05-26 16:14:30 -07:00
Jamie Cameron
3fe4bc337a Fix text name 2016-05-26 11:33:35 -07:00
Jamie Cameron
320d63ba2a version bump 2016-05-26 10:49:03 -07:00
Jamie Cameron
4d79a24158 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-26 07:44:12 -07:00
Jamie Cameron
a53b6d96ca On some systems, there is no set_tlsext_host_name function 2016-05-26 07:42:22 -07:00
Jamie Cameron
b0c779923f Merge branch 'master' of github.com:webmin/webmin 2016-05-26 01:09:31 +02:00
Jamie Cameron
a0bd54ab69 version bump 2016-05-25 15:17:37 -07:00
Jamie Cameron
f32aa17317 More perl strict enforcement 2016-05-26 00:02:59 +02:00
Jamie Cameron
24cca0d258 strict conversion 2016-05-25 23:38:35 +02:00
Jamie Cameron
52af4d489a Button to clone a group 2016-05-25 23:14:00 +02:00
Jamie Cameron
262bbd3e03 Clone user UI 2016-05-25 19:15:40 +02:00
Jamie Cameron
6880e5a575 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-25 06:19:48 -07:00
Jamie Cameron
3efec7d052 Make cert type a param 2016-05-25 06:19:42 -07:00
Jamie Cameron
004c9194f3 Suppress errors from systemctl show https://sourceforge.net/p/webadmin/bugs/4756/ 2016-05-25 14:58:34 +02:00
Jamie Cameron
2f95715827 Fix use of undef variable https://sourceforge.net/p/webadmin/bugs/4755/ 2016-05-25 14:48:33 +02:00
Jamie Cameron
2b212ee3ef Make sure that when unlocking apache config files, it is done for the same ones that were originally locked https://www.virtualmin.com/node/40800 2016-05-25 02:06:53 -07:00
Jamie Cameron
cc4b757011 New dev version 2016-05-23 08:22:36 -07:00
Jamie Cameron
d766283296 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-22 07:17:08 -07:00
Jamie Cameron
2e6771e53a Fix warning message 2016-05-22 14:46:15 +01:00
Jamie Cameron
db5cb64c4a Merge branch 'master' of github.com:webmin/webmin 2016-05-22 14:45:32 +01:00
Jamie Cameron
aca8568382 Fix warning message 2016-05-22 14:45:08 +01:00
Jamie Cameron
aad92595a9 German translation updates from Raymond Vetter 2016-05-22 06:42:32 -07:00
Jamie Cameron
caf2f2ac37 Merge pull request #356 from mnoorenberghe/sni_make_http_connection
Use SNI for make_http_connection connections. Fixes #355
2016-05-22 11:28:26 +01:00
Matthew Noorenberghe
b7815aa85e Use SNI for make_http_connection connections. Fixes #355 2016-05-21 20:35:31 -07:00
Jamie Cameron
31bd465921 Path might be broken immediately after /etc 2016-05-21 10:53:42 -07:00
Jamie Cameron
44216dbab9 German translation updates from Raymond Vetter 2016-05-21 10:03:29 -07:00
Jamie Cameron
a43730fe49 German translation updates from Raymond Vetter 2016-05-21 10:03:28 -07:00
Jamie Cameron
6e005a1106 Assume names are in UTF-8 encoding, which is now the webmin default https://github.com/webmin/webmin/issues/353 2016-05-21 03:38:26 -07:00
Jamie Cameron
312cc48597 Prevent a group from having the same ID and a user https://sourceforge.net/p/webadmin/bugs/4675/ 2016-05-21 01:44:41 -07:00
Jamie Cameron
c0292a4df8 Strip off blank extra fields https://github.com/webmin/webmin/issues/354 2016-05-21 01:10:44 -07:00
Jamie Cameron
c1e3f77c09 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-18 01:17:18 -07:00
Jamie Cameron
772a604203 Show recent logins on system information page 2016-05-18 01:17:08 -07:00
Jamie Cameron
1426db5b17 Merge pull request #349 from qooob/patch-34
It's in the button - not dot needed
2016-05-17 22:44:52 +02:00
Ilia Rostovtsev
3d35792877 It's in the button - not dot needed 2016-05-17 23:11:11 +04:00
Jamie Cameron
a3fddd0f12 Show logged out users, and update columns in the UI 2016-05-17 08:23:27 -07:00
Jamie Cameron
f54cecaf0f Add column title 2016-05-17 05:14:15 -07:00
Jamie Cameron
df32d33da5 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-17 04:44:25 -07:00
Jamie Cameron
cf1b514976 Let's Encrypt cert path may be split across multiple lines, but will always be under /etc 2016-05-17 04:44:07 -07:00
Jamie Cameron
0d452693c5 Merge pull request #348 from qooob/patch-33
Fix incorrect col span value that breaks the table drawings
2016-05-17 09:42:00 +02:00
Jamie Cameron
a0fc500676 Fix use of wrong var 2016-05-16 14:26:33 -07:00
Ilia Rostovtsev
846f023392 Fix incorrect col span value that breaks the table drawings
Here is the way it looks without Authentic fixing it. (you can't see it broken in Authentic, see the source).

After applying correct values nothing is broken and looks great:
2016-05-16 15:21:48 +03:00
Jamie Cameron
6f6482005e Apache 2.2.15 does support TLS 1.1 and 1.2 2016-05-14 21:27:54 -07:00
Jamie Cameron
9012d421cf Make variable local 2016-05-14 21:14:51 -07:00
Jamie Cameron
8b015bff01 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-14 21:14:13 -07:00
Jamie Cameron
16c35e2d1e Fix comparison of versions like foo1 and foo2 2016-05-14 21:13:36 -07:00
Jamie Cameron
9860c6b6e4 Merge pull request #346 from qooob/patch-32
Respect module info
2016-05-11 23:08:53 -07:00
Jamie Cameron
7216982ded Merge pull request #343 from TTMelki/patch-5
Update fr
2016-05-11 22:12:26 -07:00
Jamie Cameron
126659a8d1 Merge pull request #341 from TTMelki/patch-3
Create fr.UTF-8
2016-05-11 22:05:17 -07:00
Jamie Cameron
0b27152141 Merge pull request #340 from qooob/patch-29
Folder is more Windows like, Directory is Linux.
2016-05-11 22:03:13 -07:00
Ilia Rostovtsev
f20d24a1be Respect module info 2016-05-11 14:00:44 +04:00
TTMelki
728b8125de Update fr 2016-05-11 09:52:27 +02:00
TTMelki
7a95702ca2 Create fr.UTF-8 2016-05-11 09:09:09 +02:00
Ilia Rostovtsev
83a1893c7b Folder is more Windows like, Directory is Linux.
Updated all strings from folder to directory
2016-05-11 11:01:41 +04:00
Jamie Cameron
bc23507717 Merge pull request #339 from TTMelki/patch-2
Create fr translation file
2016-05-10 23:56:01 -07:00
TTMelki
a054392f7a Create fr translation file 2016-05-11 08:54:32 +02:00
Jamie Cameron
d56fb1d1e9 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-10 22:42:15 -07:00
Jamie Cameron
7a270465d3 Add missing string https://www.virtualmin.com/node/40681 2016-05-10 22:30:23 -07:00
Jamie Cameron
99e62cd67a Merge pull request #334 from qooob/patch-25
In current state it will never properly print correct UTF8 lke value …
2016-05-09 21:41:49 -07:00
Ilia Rostovtsev
ba8b0e8972 In current state it will never properly print correct UTF8 lke value to check box
As the result copy/paste and other operations will fail for Russian and other UTF8 like encodings.
2016-05-10 00:33:55 +04:00
Jamie Cameron
1bc09c40b6 Merge pull request #333 from qooob/patch-24
To compliy with upcomming Authentic release 18.00
2016-05-08 10:27:25 -07:00
Jamie Cameron
f38f3c7bec Merge pull request #332 from qooob/patch-22
Respect language forms
2016-05-08 09:45:25 -07:00
Ilia Rostovtsev
9f293451b9 To compliy with upcomming Authentic release 18.00
Respecting language forms is nice.
2016-05-08 18:46:59 +04:00
Ilia Rostovtsev
3d6e58dcba Respect language forms 2016-05-08 18:44:54 +04:00
Jamie Cameron
1cfe6b90d7 Remove debug code 2016-05-06 19:14:45 -07:00
Jamie Cameron
23aef652a7 Version bump for devel release 2016-05-06 19:13:08 -07:00
Jamie Cameron
74ca08fd42 Revert to using File::Mimeinfo module 2016-05-06 19:12:29 -07:00
Jamie Cameron
1c0e069881 Fix ordering of params to symlink 86eeb96334 2016-05-06 17:33:22 -07:00
Jamie Cameron
80be0a3c4c Use built-in function for MIME types https://sourceforge.net/p/webadmin/bugs/4745/ 2016-05-05 21:01:41 -07:00
Jamie Cameron
074f7561d8 Merge branch 'master' of git@github.com:webmin/webmin 2016-05-05 20:39:55 -07:00
Jamie Cameron
b5b81a95cf Merge pull request #323 from qooob/patch-13
For search page path could be printed twice in some cases
2016-05-05 20:39:45 -07:00
Jamie Cameron
86eeb96334 copy_source_dest support for symlinks https://github.com/webmin/webmin/issues/322 2016-05-05 20:37:29 -07:00
Ilia Rostovtsev
ae15622a57 For search page path could be printed twice in some cases
This fix will prevent double printing of the path for searched (found) folders.

It doesn't happen always but only if search results contain same value for directory and file.

Can be reproduced by going to `/boot/grub` and searching for `grub`. With the current code the folder `grub` (same as the current folder) printed on the results with doubled path on the link and thus doesn't open correctly. The best is to tweak `search.cgi` that filters search results and remove from results same folder as parent. It's more complicated. My fix does it safely, I think.
2016-05-05 23:12:24 +04:00
Jamie Cameron
094a187d54 Merge pull request #321 from qooob/patch-12
The rest of the code to support new extraction methods
2016-05-04 17:46:55 -07:00
Jamie Cameron
d44c46425f Merge pull request #320 from qooob/patch-10
Support for extracting: .7z, .bz2, .xz, .gz, .rar
2016-05-04 17:46:37 -07:00
Jamie Cameron
bd93dbe9f0 Merge pull request #319 from qooob/patch-9
Certificates must be editable
2016-05-04 17:31:14 -07:00
Ilia Rostovtsev
b5990ef9fb The rest of the code to support new extraction methods
Just committed to `extract.cgi`. Command is checked for existence and if found extract button will appear on the interface in all themes.
2016-05-04 18:01:51 +04:00
Ilia Rostovtsev
fe6965d1e2 Support for extracting: .7z, .bz2, .xz, .gz, .rar
Commands are checked before they run so no need for last else part which outputted an error message. The rest of the code I will add to -lib file.

P.S. Jamie, I tried removing `use File::MimeInfo;` in this file as on current branch and it returned an error!? Please double check.
2016-05-04 17:46:10 +04:00
Ilia Rostovtsev
c23445a223 Certificates must be editable 2016-05-04 14:28:16 +04:00
Jamie Cameron
9da5454082 Dev version bump 2016-05-02 20:35:48 -07:00
Jamie Cameron
a405b317e3 When backing up a database, only run the actual writing command as the user, rather than all of mysqldump 2016-05-01 11:21:51 -07:00
Jamie Cameron
0237dd2a0f Remove duplicate footer https://github.com/qooob/authentic-theme/issues/454 2016-05-01 11:03:02 -07:00
Jamie Cameron
6e38d8bc8c Merge branch 'master' of git@github.com:webmin/webmin 2016-05-01 10:45:26 -07:00
Jamie Cameron
e934994e8f Prevent page for hanging forver 5d0f6f0597 2016-05-01 10:40:52 -07:00
Jamie Cameron
232facbf39 Merge pull request #316 from qooob/patch-6
9000+ is way to little for `$pagelimit`
2016-05-01 10:24:03 -07:00
Ilia Rostovtsev
293d9e17ff Authentic dones't need init_datatables() 2016-05-01 12:52:02 +04:00
Jamie Cameron
c00971b390 Merge pull request #317 from qooob/patch-7
get_paths(); doesn't return proper results
2016-04-29 22:45:48 -07:00
Ilia Rostovtsev
3d5e013f59 get_paths(); doesn't return proper results
For wheel users (non-root but admins) `get_paths();` has a bug and doesn't work correctly.

It causes some other issues in user mode. Probably, if you on the `inthebox` login as `blog` user and go to File Manager, click copy - Perl Error happens. (under all themes)
2016-04-29 13:19:27 +04:00
Ilia Rostovtsev
fd3f6c729f 9000+ is way to little for $pagelimit 2016-04-29 12:56:01 +04:00
Jamie Cameron
5d0f6f0597 Handle new yum package list format https://github.com/webmin/webmin/issues/282 2016-04-27 22:31:09 -07:00
Jamie Cameron
0a2be8ecfd Support PHP 7 in mod_php 2016-04-25 21:30:05 -07:00
Jamie Cameron
a9a6d51030 dev version bump 2016-04-25 19:19:12 -07:00
Jamie Cameron
199f5edb9e Add support for Cloudrouter 2016-04-24 15:13:22 -07:00
Jamie Cameron
ce698f5bae acme_tiny can also work with Python 2.6 https://www.virtualmin.com/node/40076 2016-04-24 09:59:23 -07:00
Jamie Cameron
e27da435ff Use python27 command if installed https://www.virtualmin.com/node/40076 2016-04-23 15:07:43 -07:00
Jamie Cameron
5c31829dc7 Clean up leftover user attributes in /etc/webmin/config https://www.virtualmin.com/node/40477 2016-04-23 14:59:24 -07:00
Jamie Cameron
4ac4a2be0a Polish translation from Piotr Kozica 2016-04-22 20:32:54 -07:00
Jamie Cameron
00c632b001 Polish translation from Piotr Kozica 2016-04-22 20:07:27 -07:00
Jamie Cameron
3a590ddf6f Restore all modules by default https://www.virtualmin.com/node/40451 2016-04-22 19:53:16 -07:00
Jamie Cameron
667362c82a Include PHP versions from Virtualmin https://www.virtualmin.com/node/40450 2016-04-21 21:28:40 -07:00
Jamie Cameron
20862dca92 Don't treat dir as a regexp https://www.virtualmin.com/node/40452 2016-04-21 18:40:38 -07:00
Jamie Cameron
b5b45960a5 Include some more config files in backup https://www.virtualmin.com/node/40448 2016-04-20 21:43:22 -07:00
Jamie Cameron
601b234126 Also set authentication_string to empty if it exists https://sourceforge.net/p/webadmin/bugs/4735/ 2016-04-16 13:44:42 -07:00
Jamie Cameron
f2de59b1df Merge branch 'master' of git@github.com:webmin/webmin 2016-04-16 13:42:18 -07:00
Jamie Cameron
d61fb46c74 Fix host message in log if empty 2016-04-16 13:41:45 -07:00
Jamie Cameron
7fc27fdcdd Merge pull request #310 from qooob/patch-5
JSON must be editable
2016-04-16 08:28:04 -07:00
Ilia Rostovtsev
95d025a5b1 JSON must be editable 2016-04-16 11:44:14 +04:00
Jamie Cameron
83ee80c675 Merge pull request #308 from qooob/patch-3
Anything is an object, right?
2016-04-13 20:18:36 -07:00
Jamie Cameron
d4ef81f6b2 Merge pull request #309 from qooob/patch-4
Anything is an object, right? (MySQL clone)
2016-04-13 20:14:39 -07:00
Ilia Rostovtsev
2e76243908 Anything is an object, right? (MySQL clone) 2016-04-13 13:13:40 +04:00
Ilia Rostovtsev
97e1ad4c50 Anything is an object, right?
Jamie, it's nicer to be specific.

Please separate tables and rows from being objects in case my changes will cause problems.

Ajaxifiyng MySQL module, just wanted to be best.
2016-04-13 13:11:53 +04:00
Jamie Cameron
a4f67548f2 German translation updates from Raymond Vetter 2016-04-12 22:11:50 -07:00
Jamie Cameron
442c8a623b Merge pull request #307 from casparsmit/patch-2
Add common spanning tree tunables for bridges
2016-04-12 19:20:43 -07:00
casparsmit
4bb2ebb84e Add common spanning tree tunables for bridges 2016-04-12 14:35:36 +02:00
casparsmit
07772b29f6 Add common spanning tree tunables for bridges 2016-04-12 14:33:28 +02:00
casparsmit
1e95673391 Add common spanning tree tunables for bridges 2016-04-12 14:31:40 +02:00
casparsmit
f8982ddf4f Add common spanning tree tunables for bridges 2016-04-12 14:25:03 +02:00
casparsmit
3ce61adcc0 Add common spanning tree tunables for bridges 2016-04-12 14:19:30 +02:00
Jamie Cameron
98ff989bb9 Allow use of ${DOM} in template value 2016-04-11 20:31:59 -07:00
Jamie Cameron
204d7d30b6 Actually all operating systems should be supported 2016-04-11 20:19:07 -07:00
Jamie Cameron
7ef105ea01 Syncing of users was broken because 'olds' is actually an array https://sourceforge.net/p/webadmin/bugs/4732/ 2016-04-10 10:23:45 -07:00
Jamie Cameron
96e31eb5a2 Show this host nicer 2016-04-10 10:14:51 -07:00
Jamie Cameron
1668f6f77e Sort nicer 2016-04-10 10:07:12 -07:00
Jamie Cameron
0287e53229 changelog for network() soruce 2016-04-09 21:05:31 -07:00
Jamie Cameron
173efa83df Allow use of network() source type https://github.com/webmin/webmin/issues/303 2016-04-09 20:43:00 -07:00
Jamie Cameron
a4cb099b3f Show network source nicely 2016-04-09 17:08:05 -07:00
Jamie Cameron
e0731515d7 Use post for buttons row to prevent double-submit https://github.com/webmin/webmin/issues/302 2016-04-09 13:51:37 -07:00
Jamie Cameron
d3fc96827d German translation updates from Raymond Vetter 2016-04-08 16:57:27 -07:00
Jamie Cameron
452224a24d Make sure let's encrypt key, cert and chain aren't world readable 2016-04-08 16:55:45 -07:00
Jamie Cameron
69fd79e2b3 Remove useless module call 2016-04-08 13:50:32 -07:00
Jamie Cameron
fa8654714a Fix more references to old module name 2016-04-08 13:46:15 -07:00
Jamie Cameron
28888930e7 Declare forgotten variable 2016-04-08 13:39:21 -07:00
Jamie Cameron
7e2b4e6c5e dev version bump 2016-04-08 13:32:55 -07:00
Jamie Cameron
c613cdc8c9 don;'t completely crash if one module fails 2016-04-08 12:07:54 -07:00
Jamie Cameron
b05a2794d8 Merge branch 'master' of git@github.com:webmin/webmin 2016-04-06 22:26:48 -07:00
Jamie Cameron
997b33e5fb module_name cannot be used in library code https://sourceforge.net/p/webadmin/bugs/4730/ 2016-04-06 22:21:38 -07:00
Jamie Cameron
a1a86cfa42 Merge pull request #301 from bram96/master
Letsencrypt CA cert
2016-04-05 22:40:40 -07:00
Jamie Cameron
475870db79 Let's Encrypt chained cert has changed 2016-04-05 22:39:16 -07:00
Jamie Cameron
9189c1446a Support configure a primary teaming interface, thanks to Caspar Smit 2016-04-05 21:40:44 -07:00
bram96
ad9c2ec0f9 Merge pull request #1 from bram96/bram96-fix-letsencrypt
Fix letsencrypt CA
2016-04-05 19:22:52 +02:00
bram96
e395cf951e Fix letsencrypt CA 2016-04-05 19:22:28 +02:00
Jamie Cameron
1fcb3129f5 Merge pull request #298 from qooob/patch-2
File is not a folder
2016-04-04 19:50:59 -07:00
Jamie Cameron
c5fe632e4e Merge pull request #297 from qooob/patch-1
Folder is not a file
2016-04-04 19:50:36 -07:00
Ilia Rostovtsev
c176073339 File is not a folder 2016-04-04 14:05:23 +04:00
Ilia Rostovtsev
27c7872c94 Folder is not a file 2016-04-04 14:04:16 +04:00
Jamie Cameron
915b6ec224 PEM file path can be wrapped https://www.virtualmin.com/node/40240 2016-04-03 14:34:10 -07:00
Jamie Cameron
f3a393b2f8 Ignore signals that might fire if webmin is upgraded, or if an apache proxy is https://github.com/webmin/webmin/issues/296 2016-04-03 09:21:38 -07:00
Jamie Cameron
e529789543 Sane defaults for bonding interfaces, thanks to Caspar Smit 2016-04-01 21:50:46 -07:00
Jamie Cameron
5a20e411fc DNF uses the the word 'Upgrading' 4912384cd7 (commitcomment-16928342) 2016-04-01 21:34:31 -07:00
Jamie Cameron
7ef6ea921a Don't try a multiple package update if there isn't more than one 2016-03-31 22:07:19 -07:00
Jamie Cameron
63b6af8dd4 Document root may be quoted 2016-03-30 21:17:24 -07:00
Jamie Cameron
a103a0b10f Correct form number https://github.com/webmin/webmin/issues/294 2016-03-30 18:14:02 -07:00
Jamie Cameron
f2374b1fa2 ui-lib conversion 2016-03-28 17:12:09 -07:00
Jamie Cameron
40a90f7c71 Use pg_users instead of pg_shadow in latest PostgreSQL versions https://sourceforge.net/p/webadmin/bugs/4727/ 2016-03-27 16:26:19 -07:00
Jamie Cameron
46d7022cc9 Complete support for mysql include files https://sourceforge.net/p/webadmin/bugs/4726/ 2016-03-26 18:05:02 -07:00
Jamie Cameron
7efcd84bda Support mysql.conf innf include files https://sourceforge.net/p/webadmin/bugs/4726/ 2016-03-25 21:25:52 -07:00
Jamie Cameron
0e64774db3 Ubuntu 16 support 2016-03-24 22:08:45 -07:00
Jamie Cameron
e9a08bb3bb Variable has been renamed to key_buffer_size https://sourceforge.net/p/webadmin/bugs/4724/ 2016-03-24 20:36:00 -07:00
Jamie Cameron
e2df09438a Norwegian update from Stein-Aksel Basma 2016-03-23 22:12:09 -07:00
Jamie Cameron
63830dd456 If command set does't exist, don't use it 2016-03-22 22:08:34 -07:00
Jamie Cameron
d4b401e913 Handle case with no output 2016-03-22 22:01:32 -07:00
Jamie Cameron
a889ef3afc Show epoch-format leases nicely 2016-03-21 21:59:58 -07:00
Jamie Cameron
5f686de889 Handle epoch lease time format https://sourceforge.net/p/webadmin/bugs/4711/ 2016-03-21 21:55:45 -07:00
Jamie Cameron
9fcaa65ef4 German translation updates from Raymond Vetter 2016-03-21 20:55:10 -07:00
Jamie Cameron
8bd1b626dd Don't do automatic perl module provides, as this includes some copies of modules https://sourceforge.net/p/webadmin/bugs/4725/ 2016-03-21 20:31:48 -07:00
Jamie Cameron
cf771963c7 Add missing message for missing python module 2016-03-20 11:09:59 -07:00
Jamie Cameron
4912384cd7 Update multiple packages at the same time https://github.com/webmin/webmin/issues/286 2016-03-20 11:09:36 -07:00
Jamie Cameron
124d182bf6 Make units easier 2016-03-19 23:04:30 -07:00
Jamie Cameron
e972b65393 Put longer version numbers first, so that 10.11 doesn't match 10.1 https://www.virtualmin.com/node/39969 2016-03-19 21:58:56 -07:00
Jamie Cameron
9d0d796469 Check if the argparse python module is installed https://www.virtualmin.com/node/40053 2016-03-19 17:16:17 -07:00
Jamie Cameron
1456825ed4 Fix parsing in debug mode https://sourceforge.net/p/webadmin/bugs/4723/ 2016-03-18 22:38:07 -07:00
Jamie Cameron
9670fb69cc Break all the way out of the loop https://sourceforge.net/p/webadmin/bugs/4720/ 2016-03-17 22:21:43 -07:00
Jamie Cameron
0dd18f3f77 Rename Webmin to WebminUI, to avoid clashes with webmin on OSX https://www.virtualmin.com/node/39987 2016-03-17 20:27:18 -07:00
Jamie Cameron
21eb487ebb fix quote 2016-03-15 22:07:18 -07:00
Jamie Cameron
72cd4b3a4e Allow log paths that are variables https://www.virtualmin.com/node/38963 2016-03-15 21:07:06 -07:00
Jamie Cameron
8e2815dabe Don't spin forever on cancelled upload https://sourceforge.net/p/webadmin/bugs/4720/ 2016-03-15 20:36:11 -07:00
Jamie Cameron
581047a965 Compare fully qualified IPv6 addresses 2016-03-14 23:03:23 -07:00
Jamie Cameron
1db718fd95 fix docs 2016-03-12 20:59:00 -08:00
Jamie Cameron
04dd39842d Add missing footer 2016-03-12 20:58:44 -08:00
Jamie Cameron
72d103ea2e Add missing config files 2016-03-12 16:40:00 -08:00
Jamie Cameron
8163db111a Better handle map specs inside lists of directives 2016-03-12 16:35:35 -08:00
Jamie Cameron
55ea719197 Fix incorrect line variable 2016-03-12 15:30:06 -08:00
Jamie Cameron
116cd4162d Use hostinfo to get total RAM 2016-03-10 22:55:51 -08:00
Jamie Cameron
6791b6895f Remove obsolete feedback link 2016-03-09 21:51:58 -08:00
Jamie Cameron
2b082de03d Merge branch 'master' of git@github.com:webmin/webmin 2016-03-09 21:19:16 -08:00
Jamie Cameron
6ad0df49e1 Properly remove use of old API for writing files https://sourceforge.net/p/webadmin/bugs/4717/ 2016-03-09 21:12:36 -08:00
Jamie Cameron
a9e3582190 Merge pull request #289 from nielosz/master
Handle pipe commands
2016-03-09 20:27:32 -08:00
nielosz
5db95b1e27 Merge pull request #1 from nielosz/Handle-Pipe-commands
Handle pipe commands
2016-03-09 11:38:23 +01:00
nielosz
575f169b93 Update bacula-backup-lib.pl 2016-03-09 11:36:13 +01:00
Jamie Cameron
efb8150510 Version bump 2016-03-07 11:06:22 -08:00
Jamie Cameron
10f12a83c6 Rollback to HTTP 1.0, as switching to 1.1 seems to break some downloads 2016-03-07 10:28:39 -08:00
Jamie Cameron
3243948e59 Quotes are not valid around an email in an SOA https://www.virtualmin.com/node/39872 2016-03-06 15:39:41 -08:00
Jamie Cameron
1cf382deab Don't die if a path cannot be utf-8 decoded 2016-03-06 10:22:28 -08:00
Jamie Cameron
785cc54ddc Norwegian update from Stein-Aksel Basma 2016-03-05 11:55:16 -08:00
Jamie Cameron
d2e52c81d4 German translation updates from Raymond Vetter 2016-03-01 11:59:48 -08:00
Jamie Cameron
081036d8f6 German translation updates from Raymond Vetter 2016-03-01 11:59:48 -08:00
Jamie Cameron
64656b6f24 Norwegian update from Stein-Aksel Basma 2016-03-01 11:58:18 -08:00
Jamie Cameron
f5ccedfe5b Only save one file 2016-02-29 20:27:21 -08:00
Jamie Cameron
85a9056ee8 LSI 9750 is really 3ware https://www.virtualmin.com/node/39844 2016-02-29 16:31:58 -08:00
Jamie Cameron
0291ce2e66 Allow exclusion of files at module build time 2016-02-29 16:19:32 -08:00
Jamie Cameron
51a0631bde Allow forcing of a specific version 2016-02-29 15:39:13 -08:00
Jamie Cameron
7eec607f86 HTTP 1.0 is dead and buries 2016-02-29 15:34:48 -08:00
Jamie Cameron
4cbffaa875 Handle https properly 2016-02-29 15:25:08 -08:00
Jamie Cameron
1f5c860698 Fix table to regenerate 2016-02-28 13:03:44 -08:00
Jamie Cameron
480f0f0955 Only exclude clones 2016-02-28 13:01:00 -08:00
Jamie Cameron
80ecd012cf Make perl path consistent with the repo 2016-02-28 10:57:24 -08:00
Jamie Cameron
5e042e7f51 Version bump 2016-02-28 10:20:14 -08:00
Jamie Cameron
e780c2fa1c Fix duplicate string 2016-02-28 10:19:22 -08:00
Jamie Cameron
f94faaf303 Remove special case name change for Filemin 2016-02-28 10:07:59 -08:00
Jamie Cameron
9d2f479e6c Catalan update from Jaume Badiella 2016-02-28 09:50:53 -08:00
Jamie Cameron
e7b4985fc5 Catalan update from Jaume Badiella 2016-02-28 09:50:09 -08:00
Jamie Cameron
a2816947b1 Make all output matches case insensitive https://sourceforge.net/p/webadmin/bugs/4654/ 2016-02-27 16:51:58 -08:00
Jamie Cameron
004a888071 Clear all the caches https://github.com/webmin/webmin/issues/282 2016-02-27 15:02:00 -08:00
Jamie Cameron
6041a45e83 Skip relative paths 2016-02-26 22:09:38 -08:00
Jamie Cameron
695577a40e Handle non-syslog logs as well https://github.com/webmin/webmin/issues/283 2016-02-26 22:08:47 -08:00
Jamie Cameron
bcbd707307 Allow fast switching between logs https://github.com/webmin/webmin/issues/283 2016-02-24 21:29:12 -08:00
Jamie Cameron
c237e851f6 Use standard UI functions 2016-02-24 21:22:23 -08:00
Jamie Cameron
629f7e033b remove auto-added lines 2016-02-22 20:07:19 -08:00
Jamie Cameron
a59cd42151 Re-fork filemin from 1.783 release 2016-02-22 20:06:44 -08:00
Jamie Cameron
9ed6338db6 Undo filemin fork 2016-02-22 20:05:11 -08:00
Jamie Cameron
f98e8e3398 Bring filemin as of the last webmin release across to our own repo 2016-02-21 15:36:17 -08:00
Jamie Cameron
bcc4822e0e Use apt-cache show to get current package info if available 2016-02-18 23:16:06 -08:00
Jamie Cameron
c45980160a German translation updates from Raymond Vetter 2016-02-16 14:21:14 -08:00
Jamie Cameron
8a1446ab2c Enable server-side preferred ciphers by default 2016-02-14 18:48:21 -08:00
Jamie Cameron
c0500ee0a0 German translation updates from Raymond Vetter 2016-02-11 19:42:42 -08:00
Jamie Cameron
a8036120b9 Don't show negative RAM free 2016-02-10 23:10:53 -08:00
Jamie Cameron
6b3b7096ea Allow users who cannot drop a DB to still empty it https://www.virtualmin.com/node/28549 2016-02-10 22:49:41 -08:00
Jamie Cameron
747ea46c54 Norwegian update from Stein-Aksel Basma 2016-02-08 14:11:37 -08:00
Jamie Cameron
90d2da3588 Properly support multi-domain let's encrypt certs by generating a temporary config file with the altnames 2016-02-06 18:29:41 -08:00
Jamie Cameron
2fd5b42b60 German translation updates from Raymond Vetter 2016-02-06 17:29:58 -08:00
Jamie Cameron
3111fb4bd0 Extract alt names from the subject field. Turns out this doesn't actually work (let's encrypt doesn't sign for them), but it's worth a try 2016-02-06 16:23:50 -08:00
Jamie Cameron
2990aaaa99 Support multiple alt-names in SSL CSRs 2016-02-05 22:58:44 -08:00
Jamie Cameron
baef8aba0f If a systemd service suggests using journalctl to get more logs, do it 2016-02-05 17:36:22 -08:00
Jamie Cameron
46c2113f2f Support for editing Postfix sender restriction maps 2016-02-04 21:47:46 -08:00
Jamie Cameron
f11ef10942 Merge branch 'master' of git@github.com:webmin/webmin 2016-02-04 20:15:14 -08:00
Jamie Cameron
30597f6c38 SPF a tag cannot be an IP address https://sourceforge.net/p/webadmin/bugs/4706/ 2016-02-04 20:09:28 -08:00
Jamie Cameron
167239f8fc Merge pull request #280 from BangL/master
fixes for changes made in shorewall 4.5.3, 4.5.11 and 4.6.0
2016-02-01 20:00:35 -08:00
BangL
16fa5c5bec fixes for changes made in shorewall 4.5.3, 4.5.11 and 4.6.0
- rules: (?)SECTION and (?)COMMENT
- interfaces: (?)FORMAT {1|2}
2016-02-02 03:17:22 +01:00
Jamie Cameron
319a3b4d84 Email addresses cannot have spaces https://www.virtualmin.com/node/39564: 2016-02-01 17:44:12 -08:00
Jamie Cameron
a3fa53727d dom can be an array https://www.virtualmin.com/node/39530 2016-01-31 14:05:22 -08:00
Jamie Cameron
e9640d7622 Dev version bump 2016-01-30 16:39:43 -08:00
Jamie Cameron
7ba7a75df1 Support setting attributes for the td 2016-01-30 15:21:15 -08:00
Jamie Cameron
10b9916097 Add size for sorting as a number https://www.virtualmin.com/node/39494 2016-01-30 15:10:12 -08:00
Jamie Cameron
5bbfbc4a36 Fix select all / invert https://www.virtualmin.com/node/39529 2016-01-29 20:46:53 -08:00
Jamie Cameron
f4a7048fd9 Norwegian update from Stein-Aksel Basma 2016-01-28 19:42:52 -08:00
Jamie Cameron
9c63d0c352 Add missing footer to root password form https://github.com/webmin/webmin/issues/278 2016-01-27 19:08:33 -08:00
Jamie Cameron
ff08544347 Fail early if given config file doens't exist 2016-01-26 21:00:17 -08:00
Jamie Cameron
4265e07b4e Document new flag 2016-01-24 10:04:22 -08:00
Jamie Cameron
f06270fca1 Add some formal params 2016-01-24 10:03:43 -08:00
Jamie Cameron
350bd60cc5 German translation updates from Raymond Vetter 2016-01-24 09:38:47 -08:00
Jamie Cameron
b001855672 Support multiple file uploads 2016-01-23 21:48:42 -08:00
Jamie Cameron
bb98a1af45 Support multiple files per attachment field 2016-01-23 17:58:54 -08:00
Jamie Cameron
9040c26581 Fix group matched for content type 2016-01-23 17:49:49 -08:00
Jamie Cameron
5d0411b789 Add option to store multiple values for the same input in an array 2016-01-23 15:09:36 -08:00
Jamie Cameron
fb842fbeda Allow multiple uploads 2016-01-23 14:40:20 -08:00
Jamie Cameron
2d18903ac6 Fix typo 2016-01-23 13:56:59 -08:00
Jamie Cameron
d19f95c65d Warn if a user being edited belongs to Virtualmin, for PostgreSQL too https://www.virtualmin.com/node/39428 2016-01-23 13:56:30 -08:00
Jamie Cameron
35c65587ba Warn if a user being edited belongs to Virtualmin https://www.virtualmin.com/node/39428 2016-01-23 13:53:55 -08:00
Jamie Cameron
cd34c5450e German translation updates from Raymond Vetter 2016-01-22 23:42:01 -08:00
Jamie Cameron
4fe4d935a1 Don't allow deletion of anonymous users https://www.virtualmin.com/node/39426 2016-01-22 22:27:57 -08:00
Jamie Cameron
0229cc5c8e Wait at most 5 seconds to check new webmin version 2016-01-22 22:18:58 -08:00
Jamie Cameron
fd719dbf47 Exclude pyc files from packages, as they get re-compiled 2016-01-21 23:00:47 -08:00
Jamie Cameron
e5b05b4e2b Add missing string for special sync button 2016-01-21 22:40:29 -08:00
Jamie Cameron
a948c6d938 Exclude files when building a module from a locally checked out repo 2016-01-21 22:40:09 -08:00
Jamie Cameron
d032b22ac3 Completed support for cert request with acme_tiny 2016-01-21 22:34:50 -08:00
Jamie Cameron
a23867f019 Re-factor CSR function 2016-01-21 21:55:48 -08:00
Jamie Cameron
e564acbbf9 Fix comments 2016-01-19 22:29:06 -08:00
Jamie Cameron
b4617d7c1c Improve detection of invalid renewal period 2016-01-18 17:20:16 -08:00
Jamie Cameron
cc217d3044 completed renewal support 2016-01-18 14:36:19 -08:00
Jamie Cameron
8a86381d6e Start of work on renewal support for let's encrypt 2016-01-17 21:35:39 -08:00
Jamie Cameron
1cf689e931 Support interval-based webmincron time specs 2016-01-17 21:04:45 -08:00
Jamie Cameron
5000eddb37 Preserve unix file attributes on copy http://sourceforge.net/p/webadmin/bugs/4701/ 2016-01-14 22:29:07 -08:00
Jamie Cameron
be4cf27e12 Remove special case for old version, and add formal params 2016-01-14 21:23:01 -08:00
Jamie Cameron
44ef858725 login might not be set 2016-01-11 12:47:55 -08:00
Jamie Cameron
c18bbbee4c dev version bump 2016-01-10 22:30:15 -08:00
Jamie Cameron
769b7d82f0 Support El Capitan 2016-01-10 10:11:58 -08:00
Jamie Cameron
9b3513b148 Add support for Ubuntu 15 2016-01-08 16:47:16 -08:00
Jamie Cameron
882588d815 Add a missing perl lib needed for DNSSEC https://github.com/webmin/webmin/issues/275 2016-01-08 16:14:20 -08:00
Jamie Cameron
38bbcf1196 Stop showing encrypted password column, as it may not even exist 2016-01-06 19:19:33 -08:00
Jamie Cameron
c7d2d2a78a Allow requesting of multi-domain certs 2016-01-06 19:07:47 -08:00
Jamie Cameron
b2716fc22d Dev version bump 2016-01-05 20:47:38 -08:00
Jamie Cameron
2f98174db7 Matches before applying can be zero https://sourceforge.net/p/webadmin/bugs/4699/ 2016-01-05 20:10:01 -08:00
Jamie Cameron
2f031a1a02 Show package name lines 2016-01-05 19:59:07 -08:00
Jamie Cameron
97e7ddafd7 Use specific zone name indnssec-dsfromkey, and add missing newline when displaying https://github.com/webmin/webmin/issues/272 2016-01-03 10:08:57 -08:00
Jamie Cameron
650c06300a Fix method of getting username from LDAP object https://sourceforge.net/p/webadmin/bugs/4695/ 2016-01-02 13:19:52 -08:00
Jamie Cameron
9a7ec78cc0 German translation updates from Raymond Vetter 2016-01-02 10:43:19 -08:00
Jamie Cameron
8d5109718b Don't shows hosts table on MySQL 5.7+ 2016-01-01 15:10:45 -08:00
Jamie Cameron
0358fb2795 German translation updates from Raymond Vetter 2015-12-29 16:05:27 -08:00
Jamie Cameron
0f754b170b German translation updates from Raymond Vetter 2015-12-29 16:05:07 -08:00
1600 changed files with 106110 additions and 6264 deletions

View File

@@ -228,3 +228,5 @@ More German translation updates, thanks to Raymond Vetter.
Fixed an XSS bug that allowed xmlrpc.cgi to be abused by a malicious link.
---- Changes since 1.760 ----
For new installs, switched the location of data files in many modules to /var/webmin instead of /etc/webmin.
---- Changes since 1.790 ----
Added a recent logins section to the System Information page.

2
README
View File

@@ -1,4 +1,4 @@
Webmin Version 1.780
Webmin Version 1.820
--------------------
Webmin is a web-based interface for system administration for Unix.
Using any browser that supports tables and forms, you can setup user

View File

@@ -1,44 +0,0 @@
use Webmin::Page;
use Webmin::ResultPage;
use Webmin::ErrorPage;
use Webmin::ConfirmPage;
use Webmin::Form;
use Webmin::Section;
use Webmin::Textbox;
use Webmin::OptTextbox;
use Webmin::OptTextarea;
use Webmin::Submit;
use Webmin::Password;
use Webmin::Checkbox;
use Webmin::Select;
use Webmin::Radios;
use Webmin::Checkboxes;
use Webmin::Table;
use Webmin::Menu;
use Webmin::LinkTable;
use Webmin::Tabs;
use Webmin::Textarea;
use Webmin::Upload;
use Webmin::DynamicText;
use Webmin::DynamicBar;
use Webmin::DynamicWait;
use Webmin::DynamicHTML;
use Webmin::Properties;
use Webmin::User;
use Webmin::Group;
use Webmin::File;
use Webmin::Button;
use Webmin::JavascriptButton;
use Webmin::PlainText;
use Webmin::Multiline;
use Webmin::Date;
use Webmin::Time;
use Webmin::TitleList;
use Webmin::Columns;
use Webmin::Icon;
use Webmin::TableAction;
use Webmin::InputTable;
use WebminCore;
1;

View File

@@ -1,20 +0,0 @@
package Webmin::ResultPage;
use WebminCore;
=head2 new Webmin::ResultPage(subheading, title, message, [help-name])
Create a new page object for showing some success message.
=cut
sub new
{
if (defined(&Webmin::Theme::ResultPage::new) &&
caller() !~ /Webmin::Theme::ResultPage/) {
return new Webmin::Theme::ResultPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $help) = @_;
$self = new Webmin::Page($subheading, $title, $help);
$self->add_message("<b>$message</b>");
return $self;
}
1;

44
WebminUI/All.pm Normal file
View File

@@ -0,0 +1,44 @@
use WebminUI::Page;
use WebminUI::ResultPage;
use WebminUI::ErrorPage;
use WebminUI::ConfirmPage;
use WebminUI::Form;
use WebminUI::Section;
use WebminUI::Textbox;
use WebminUI::OptTextbox;
use WebminUI::OptTextarea;
use WebminUI::Submit;
use WebminUI::Password;
use WebminUI::Checkbox;
use WebminUI::Select;
use WebminUI::Radios;
use WebminUI::Checkboxes;
use WebminUI::Table;
use WebminUI::Menu;
use WebminUI::LinkTable;
use WebminUI::Tabs;
use WebminUI::Textarea;
use WebminUI::Upload;
use WebminUI::DynamicText;
use WebminUI::DynamicBar;
use WebminUI::DynamicWait;
use WebminUI::DynamicHTML;
use WebminUI::Properties;
use WebminUI::User;
use WebminUI::Group;
use WebminUI::File;
use WebminUI::Button;
use WebminUI::JavascriptButton;
use WebminUI::PlainText;
use WebminUI::Multiline;
use WebminUI::Date;
use WebminUI::Time;
use WebminUI::TitleList;
use WebminUI::Columns;
use WebminUI::Icon;
use WebminUI::TableAction;
use WebminUI::InputTable;
use WebminCore;
1;

View File

@@ -1,16 +1,16 @@
package Webmin::Button;
use Webmin::Input;
package WebminUI::Button;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Button(cgi, label, [name])
=head2 new WebminUI::Button(cgi, label, [name])
Creates a button that when clicked will link to some other page
=cut
sub new
{
if (defined(&Webmin::Theme::Button::new) &&
caller() !~ /Webmin::Theme::Button/) {
return new Webmin::Theme::Button(@_[1..$#_]);
if (defined(&WebminUI::Theme::Button::new) &&
caller() !~ /WebminUI::Theme::Button/) {
return new WebminUI::Theme::Button(@_[1..$#_]);
}
my ($self, $cgi, $value, $name) = @_;
$self = { };

View File

@@ -1,15 +1,15 @@
package Webmin::Checkbox;
use Webmin::Input;
package WebminUI::Checkbox;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Checkbox(name, return, label, checked, [disabled])
=head2 new WebminUI::Checkbox(name, return, label, checked, [disabled])
Create a single checkbox field
=cut
sub new
{
if (defined(&Webmin::Theme::Checkbox::new)) {
return new Webmin::Theme::Checkbox(@_[1..$#_]);
if (defined(&WebminUI::Theme::Checkbox::new)) {
return new WebminUI::Theme::Checkbox(@_[1..$#_]);
}
my ($self, $name, $return, $label, $checked, $disabled) = @_;
$self = { };

View File

@@ -1,15 +1,15 @@
package Webmin::Checkboxes;
use Webmin::Input;
package WebminUI::Checkboxes;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Checkboxes(name, value|&values, &options, [disabled])
=head2 new WebminUI::Checkboxes(name, value|&values, &options, [disabled])
Create a list of checkboxes, of which zero or more may be selected
=cut
sub new
{
if (defined(&Webmin::Theme::Checkboxes::new)) {
return new Webmin::Theme::Checkboxes(@_[1..$#_]);
if (defined(&WebminUI::Theme::Checkboxes::new)) {
return new WebminUI::Theme::Checkboxes(@_[1..$#_]);
}
my ($self, $name, $value, $options, $disabled) = @_;
$self = { };

View File

@@ -1,14 +1,14 @@
package Webmin::Columns;
package WebminUI::Columns;
use WebminCore;
=head2 new Webmin::Columns(cols)
=head2 new WebminUI::Columns(cols)
Displays some page elements in a multi-column table
=cut
sub new
{
my ($self, $cols) = @_;
if (defined(&Webmin::Theme::Columns::new)) {
return new Webmin::Theme::Columns(@_[1..$#_]);
if (defined(&WebminUI::Theme::Columns::new)) {
return new WebminUI::Theme::Columns(@_[1..$#_]);
}
$self = { 'columns' => 2 };
bless($self);
@@ -43,7 +43,7 @@ return $rv;
}
=head2 add(object)
Adds some Webmin:: object to this list
Adds some WebminUI:: object to this list
=cut
sub add
{
@@ -66,7 +66,7 @@ my ($self) = @_;
return $self->{'columns'};
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this menu is added to a page
=cut
sub set_page

View File

@@ -1,23 +1,23 @@
package Webmin::ConfirmPage;
use Webmin::Page;
package WebminUI::ConfirmPage;
use WebminUI::Page;
use WebminCore;
@ISA = ( "Webmin::Page" );
@ISA = ( "WebminUI::Page" );
=head2 new Webmin::ConfirmPage(subheading, title, message, cgi, &in, [ok-message],
=head2 new WebminUI::ConfirmPage(subheading, title, message, cgi, &in, [ok-message],
[cancel-message], [help-name])
Create a new page object that asks if the user is sure if he wants to
do something or not.
=cut
sub new
{
if (defined(&Webmin::Theme::ConfirmPage::new)) {
return new Webmin::Theme::ConfirmPage(@_[1..$#_]);
if (defined(&WebminUI::Theme::ConfirmPage::new)) {
return new WebminUI::Theme::ConfirmPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $cgi, $in, $ok, $cancel, $help) = @_;
$self = new Webmin::Page($subheading, $title, $help);
$self = new WebminUI::Page($subheading, $title, $help);
$self->{'in'} = $in;
$self->add_message($message);
my $form = new Webmin::Form($cgi, "get");
my $form = new WebminUI::Form($cgi, "get");
$form->set_input($in);
$self->add_form($form);
foreach my $i (keys %$in) {
@@ -25,8 +25,8 @@ foreach my $i (keys %$in) {
$form->add_hidden($i, $v);
}
}
$form->add_button(new Webmin::Submit($ok || "OK", "ui_confirm"));
$form->add_button(new Webmin::Submit($cancel || $text{'cancel'}, "ui_cancel"));
$form->add_button(new WebminUI::Submit($ok || "OK", "ui_confirm"));
$form->add_button(new WebminUI::Submit($cancel || $text{'cancel'}, "ui_cancel"));
bless($self);
return $self;
}

View File

@@ -1,16 +1,16 @@
package Webmin::Date;
use Webmin::Input;
package WebminUI::Date;
use WebminUI::Input;
use Time::Local;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Date(name, time, [disabled])
=head2 new WebminUI::Date(name, time, [disabled])
Create a new field for selecting a date
=cut
sub new
{
if (defined(&Webmin::Theme::Date::new)) {
return new Webmin::Theme::Date(@_[1..$#_]);
if (defined(&WebminUI::Theme::Date::new)) {
return new WebminUI::Theme::Date(@_[1..$#_]);
}
my ($self, $name, $value, $disabled) = @_;
bless($self = { });

View File

@@ -1,7 +1,7 @@
package Webmin::DynamicBar;
package WebminUI::DynamicBar;
use WebminCore;
=head2 new Webmin::DynamicBar(&start-function, max)
=head2 new WebminUI::DynamicBar(&start-function, max)
A page element for displaying progress towards some goal, like the download of
a file.
=cut
@@ -91,7 +91,7 @@ my ($self) = @_;
return $self->{'wait'};
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this dynamic text box is added to a page
=cut
sub set_page

View File

@@ -1,7 +1,7 @@
package Webmin::DynamicHTML;
package WebminUI::DynamicHTML;
use WebminCore;
=head2 new Webmin::DynamicHTML(&function, &args, [before])
=head2 new WebminUI::DynamicHTML(&function, &args, [before])
When the page is being rendered, executes the given function and prints any
text that it returns.
=cut
@@ -63,7 +63,7 @@ sub needs_unbuffered
return 1;
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this dynamic HTML element is added to a page
=cut
sub set_page

View File

@@ -1,8 +1,8 @@
# XXX should support non-Javascript mode?
package Webmin::DynamicText;
package WebminUI::DynamicText;
use WebminCore;
=head2 new Webmin::DynamicText(&start-function, &args)
=head2 new WebminUI::DynamicText(&start-function, &args)
A page element for displaying text that takes time to generate, such as from
a long-running script. Uses a non-editable text box, updated via Javascript.
The function will be called when it is time to start producing output, with this
@@ -90,7 +90,7 @@ my ($self) = @_;
return $self->{'wait'};
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this dynamic text box is added to a page
=cut
sub set_page

View File

@@ -1,7 +1,7 @@
package Webmin::DynamicWait;
package WebminUI::DynamicWait;
use WebminCore;
=head2 new Webmin::DynamicWait(&start-function, [&args])
=head2 new WebminUI::DynamicWait(&start-function, [&args])
A page element indicating that something is happening.
=cut
sub new
@@ -99,7 +99,7 @@ my ($self) = @_;
return $self->{'wait'};
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this dynamic text box is added to a page
=cut
sub set_page

View File

@@ -1,16 +1,16 @@
package Webmin::ErrorPage;
package WebminUI::ErrorPage;
use WebminCore;
=head2 new Webmin::ErrorPage(subheading, title, message, [program-output], [help-name])
=head2 new WebminUI::ErrorPage(subheading, title, message, [program-output], [help-name])
Create a new page object for showing an error of some kind
=cut
sub new
{
if (defined(&Webmin::Theme::ErrorPage::new)) {
return new Webmin::Theme::ErrorPage(@_[1..$#_]);
if (defined(&WebminUI::Theme::ErrorPage::new)) {
return new WebminUI::Theme::ErrorPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $output, $help) = @_;
$self = new Webmin::Page($subheading, $title, $help);
$self = new WebminUI::Page($subheading, $title, $help);
$self->add_message("<b>",$text{'error'}," : ",$message,"</b>");
$self->add_message("<pre>",$output,"</pre>");
return $self;

View File

@@ -1,18 +1,18 @@
package Webmin::File;
use Webmin::Textbox;
package WebminUI::File;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "Webmin::Textbox" );
@ISA = ( "WebminUI::Textbox" );
=head2 new Webmin::File(name, value, size, [directory], [disabled])
=head2 new WebminUI::File(name, value, size, [directory], [disabled])
A text box for selecting a file
=cut
sub new
{
if (defined(&Webmin::Theme::File::new)) {
return new Webmin::Theme::File(@_[1..$#_]);
if (defined(&WebminUI::Theme::File::new)) {
return new WebminUI::Theme::File(@_[1..$#_]);
}
my ($self, $name, $value, $size, $directory, $disabled) = @_;
$self = new Webmin::Textbox($name, $value, $size, $disabled);
$self = new WebminUI::Textbox($name, $value, $size, $disabled);
bless($self);
$self->set_directory($directory);
return $self;
@@ -24,7 +24,7 @@ Returns the HTML for this file input
sub html
{
my ($self) = @_;
my $rv = Webmin::Textbox::html($self);
my $rv = WebminUI::Textbox::html($self);
my $name = $self->get_name();
my $directory = $self->get_directory();
my $add = 0;

View File

@@ -1,13 +1,13 @@
package Webmin::Form;
package WebminUI::Form;
use WebminCore;
=head2 new Webmin::Form(cgi, [method])
=head2 new WebminUI::Form(cgi, [method])
Creates a new form, which submits to the given CGI
=cut
sub new
{
if (defined(&Webmin::Theme::Form::new)) {
return new Webmin::Theme::Form(@_[1..$#_]);
if (defined(&WebminUI::Theme::Form::new)) {
return new WebminUI::Theme::Form(@_[1..$#_]);
}
my ($self, $program, $method) = @_;
$self = { 'method' => 'get',
@@ -102,7 +102,7 @@ return "<form action='$self->{'program'}' ".
}
=head2 add_section(section)
Adds a Webmin::Section object to this form
Adds a WebminUI::Section object to this form
=cut
sub add_section
{
@@ -120,7 +120,7 @@ return $self->{'sections'}->[$idx];
}
=head2 add_button(button, [beside, ...])
Adds a Webmin::Submit object to this form, for display at the bottom
Adds a WebminUI::Submit object to this form, for display at the bottom
=cut
sub add_button
{
@@ -312,7 +312,7 @@ foreach my $i ($self->list_inputs()) {
return @dis;
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this form is added to a page
=cut
sub set_page

View File

@@ -1,18 +1,18 @@
package Webmin::Group;
use Webmin::Textbox;
package WebminUI::Group;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "Webmin::Textbox" );
@ISA = ( "WebminUI::Textbox" );
=head2 new Webmin::Group(name, value, [multiple], [disabled])
=head2 new WebminUI::Group(name, value, [multiple], [disabled])
A text box for entering or selecting one or many Unix groupnames
=cut
sub new
{
if (defined(&Webmin::Theme::Group::new)) {
return new Webmin::Theme::Group(@_[1..$#_]);
if (defined(&WebminUI::Theme::Group::new)) {
return new WebminUI::Theme::Group(@_[1..$#_]);
}
my ($self, $name, $value, $multiple, $disabled) = @_;
$self = new Webmin::Textbox($name, $value, $multiple ? 40 : 15, $disabled);
$self = new WebminUI::Textbox($name, $value, $multiple ? 40 : 15, $disabled);
bless($self);
$self->set_multiple($multiple);
return $self;
@@ -24,7 +24,7 @@ Returns the HTML for this group input
sub html
{
my ($self) = @_;
my $rv = Webmin::Textbox::html($self);
my $rv = WebminUI::Textbox::html($self);
my $name = $self->get_name();
my $multiple = $self->get_multiple();
local $w = $multiple ? 500 : 300;

View File

@@ -1,7 +1,7 @@
package Webmin::Icon;
package WebminUI::Icon;
use WebminCore;
=head2 Webmin::Icon(type, [message])
=head2 WebminUI::Icon(type, [message])
This object generates an icon indicating some status. Possible types are :
ok - OK
critial - A serious problem
@@ -11,8 +11,8 @@ Can be used inside tables and property lists
=cut
sub new
{
if (defined(&Webmin::Theme::Icon::new) && caller() !~ /Webmin::Theme::Icon/) {
return new Webmin::Theme::Icon(@_[1..$#_]);
if (defined(&WebminUI::Theme::Icon::new) && caller() !~ /WebminUI::Theme::Icon/) {
return new WebminUI::Theme::Icon(@_[1..$#_]);
}
my ($self, $type, $message) = @_;
$self = { };

View File

@@ -1,4 +1,4 @@
package Webmin::Input;
package WebminUI::Input;
use WebminCore;
sub set_form

View File

@@ -1,19 +1,19 @@
package Webmin::InputTable;
use Webmin::Table;
package WebminUI::InputTable;
use WebminUI::Table;
use WebminCore;
@ISA = ( "Webmin::Table" );
@ISA = ( "WebminUI::Table" );
=head2 new Webmin::InputTable(&headings, [width], [name], [heading])
=head2 new WebminUI::InputTable(&headings, [width], [name], [heading])
A table containing multiple rows of inputs, each of which is the same
=cut
sub new
{
if (defined(&Webmin::Theme::InputTable::new) &&
caller() !~ /Webmin::Theme::InputTable/) {
return new Webmin::Theme::InputTable(@_[1..$#_]);
if (defined(&WebminUI::Theme::InputTable::new) &&
caller() !~ /WebminUI::Theme::InputTable/) {
return new WebminUI::Theme::InputTable(@_[1..$#_]);
}
my $self = defined(&Webmin::Theme::Table::new) ? Webmin::Theme::Table::new(@_)
: Webmin::Table::new(@_);
my $self = defined(&WebminUI::Theme::Table::new) ? WebminUI::Theme::Table::new(@_)
: WebminUI::Table::new(@_);
bless($self);
$self->{'rowcount'} = 0;
return $self;
@@ -56,7 +56,7 @@ sub get_values
my ($self, $row) = @_;
my @rv;
foreach my $i (@{$self->{'rows'}->[$row]}) {
if (ref($i) && $i->isa("Webmin::Input")) {
if (ref($i) && $i->isa("WebminUI::Input")) {
push(@rv, $i->get_value());
}
}
@@ -68,10 +68,10 @@ return @rv;
sub list_inputs
{
my ($self) = @_;
my @rv = Webmin::Table::list_inputs($self);
my @rv = WebminUI::Table::list_inputs($self);
foreach my $r (@{$self->{'rows'}}) {
foreach my $i (@$r) {
if ($i && ref($i) && $i->isa("Webmin::Input")) {
if ($i && ref($i) && $i->isa("WebminUI::Input")) {
push(@rv, $i);
}
}
@@ -111,7 +111,7 @@ foreach my $r (@{$self->{'rows'}}) {
}
}
foreach my $i (@$r) {
if ($i && ref($i) && $i->isa("Webmin::Input") && !$skip) {
if ($i && ref($i) && $i->isa("WebminUI::Input") && !$skip) {
my $label = &text('ui_rowlabel', $k, $self->{'headings'}->[$j]);
foreach my $e ($i->validate()) {
push(@errs, [ $i->get_name(), $label." ".$e ]);

View File

@@ -1,16 +1,16 @@
package Webmin::JavascriptButton;
use Webmin::Input;
package WebminUI::JavascriptButton;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::JavascriptButton(label, script, [disabled])
=head2 new WebminUI::JavascriptButton(label, script, [disabled])
Create a button that runs some Javascript when clicked
=cut
sub new
{
if (defined(&Webmin::Theme::JavascriptButton::new) &&
caller() !~ /Webmin::Theme::JavascriptButton/) {
return new Webmin::Theme::JavascriptButton(@_[1..$#_]);
if (defined(&WebminUI::Theme::JavascriptButton::new) &&
caller() !~ /WebminUI::Theme::JavascriptButton/) {
return new WebminUI::Theme::JavascriptButton(@_[1..$#_]);
}
my ($self, $value, $script, $disabled) = @_;
$self = { };

View File

@@ -1,18 +1,18 @@
package Webmin::LinkTable;
use Webmin::Table;
package WebminUI::LinkTable;
use WebminUI::Table;
use WebminCore;
=head2 new Webmin::LinkTable(heading, [columns], [width], [name])
=head2 new WebminUI::LinkTable(heading, [columns], [width], [name])
Creates a new table that just displays links, like in the Users and Groups module
=cut
sub new
{
if (defined(&Webmin::Theme::LinkTable::new) &&
caller() !~ /Webmin::Theme::LinkTable/) {
return new Webmin::Theme::LinkTable(@_[1..$#_]);
if (defined(&WebminUI::Theme::LinkTable::new) &&
caller() !~ /WebminUI::Theme::LinkTable/) {
return new WebminUI::Theme::LinkTable(@_[1..$#_]);
}
my ($self, $heading, $columns, $width, $name) = @_;
$self = { 'sorter' => \&Webmin::Table::default_sorter,
$self = { 'sorter' => \&WebminUI::Table::default_sorter,
'columns' => 4,
'sortable' => 1 };
bless($self);
@@ -245,7 +245,7 @@ return $self->{'columns'};
}
=head2 set_form(form)
Called by the Webmin::Form object when this table is added to it
Called by the WebminUI::Form object when this table is added to it
=cut
sub set_form
{
@@ -257,7 +257,7 @@ if ($self->{'selectinput'}) {
}
=head2 set_selector(input)
Takes a Webmin::Checkboxes or Webmin::Radios object, and uses it to add checkboxes
Takes a WebminUI::Checkboxes or WebminUI::Radios object, and uses it to add checkboxes
to all the entries
=cut
sub set_selector

View File

@@ -1,14 +1,14 @@
package Webmin::Menu;
package WebminUI::Menu;
use WebminCore;
=head2 new Webmin::Menu(&options, [columns])
=head2 new WebminUI::Menu(&options, [columns])
Generates a menu of options, typically using icons.
=cut
sub new
{
my ($self, $options, $columns) = @_;
if (defined(&Webmin::Theme::Menu::new)) {
return new Webmin::Theme::Menu(@_[1..$#_]);
if (defined(&WebminUI::Theme::Menu::new)) {
return new WebminUI::Theme::Menu(@_[1..$#_]);
}
$self = { 'columns' => 4 };
bless($self);
@@ -73,7 +73,7 @@ my ($self) = @_;
return $self->{'columns'};
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this menu is added to a page
=cut
sub set_page

View File

@@ -1,19 +1,19 @@
package Webmin::Multiline;
use Webmin::Textarea;
package WebminUI::Multiline;
use WebminUI::Textarea;
use WebminCore;
@ISA = ( "Webmin::Textarea" );
@ISA = ( "WebminUI::Textarea" );
=head2 new Webmin::Multiline(name, &lines, rows, cols, [disabled])
=head2 new WebminUI::Multiline(name, &lines, rows, cols, [disabled])
Create a new input for entering multiple text entries. By default, just uses
a textbox
=cut
sub new
{
if (defined(&Webmin::Theme::Multiline::new)) {
return new Webmin::Theme::Multiline(@_[1..$#_]);
if (defined(&WebminUI::Theme::Multiline::new)) {
return new WebminUI::Theme::Multiline(@_[1..$#_]);
}
my ($self, $name, $lines, $rows, $cols, $wrap, $disabled) = @_;
$self = new Webmin::Textarea($name, join("\n", @$lines), $rows, $cols, undef, $disabled);
$self = new WebminUI::Textarea($name, join("\n", @$lines), $rows, $cols, undef, $disabled);
bless($self);
return $self;
}

View File

@@ -1,18 +1,18 @@
package Webmin::OptTextarea;
use Webmin::Textarea;
package WebminUI::OptTextarea;
use WebminUI::Textarea;
use WebminCore;
@ISA = ( "Webmin::Textarea" );
@ISA = ( "WebminUI::Textarea" );
=head2 new Webmin::OptTextarea(name, value, rows, cols, [default-msg], [other-msg])
=head2 new WebminUI::OptTextarea(name, value, rows, cols, [default-msg], [other-msg])
Create a text area whose value is optional.
=cut
sub new
{
if (defined(&Webmin::Theme::OptTextarea::new)) {
return new Webmin::Theme::OptTextarea(@_[1..$#_]);
if (defined(&WebminUI::Theme::OptTextarea::new)) {
return new WebminUI::Theme::OptTextarea(@_[1..$#_]);
}
my ($self, $name, $value, $rows, $cols, $default, $other) = @_;
$self = new Webmin::Textarea($name, $value, $rows, $cols);
$self = new WebminUI::Textarea($name, $value, $rows, $cols);
bless($self);
$self->set_default($default || $text{'default'});
$self->set_other($other) if ($other);
@@ -57,7 +57,7 @@ if (defined($self->get_value())) {
if ($self->get_value() eq "") {
return ( $text{'ui_nothing'} );
}
return Webmin::Textbox::validate($self);
return WebminUI::Textbox::validate($self);
}
return ( );
}

View File

@@ -1,18 +1,18 @@
package Webmin::OptTextbox;
use Webmin::Textbox;
package WebminUI::OptTextbox;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "Webmin::Textbox" );
@ISA = ( "WebminUI::Textbox" );
=head2 new Webmin::OptTextbox(name, value, size, [default-msg], [other-msg])
=head2 new WebminUI::OptTextbox(name, value, size, [default-msg], [other-msg])
Create a text field whose value is optional.
=cut
sub new
{
if (defined(&Webmin::Theme::OptTextbox::new)) {
return new Webmin::Theme::OptTextbox(@_[1..$#_]);
if (defined(&WebminUI::Theme::OptTextbox::new)) {
return new WebminUI::Theme::OptTextbox(@_[1..$#_]);
}
my ($self, $name, $value, $size, $default, $other) = @_;
$self = new Webmin::Textbox($name, $value, $size);
$self = new WebminUI::Textbox($name, $value, $size);
bless($self);
$self->set_default($default || $text{'default'});
$self->set_other($other) if ($other);
@@ -39,7 +39,7 @@ if (defined($self->get_value())) {
if ($self->get_value() eq "") {
return ( $text{'ui_nothing'} );
}
return Webmin::Textbox::validate($self);
return WebminUI::Textbox::validate($self);
}
return ( );
}

View File

@@ -1,16 +1,16 @@
package Webmin::Page;
package WebminUI::Page;
use WebminCore;
use WebminCore;
=head2 new Webmin::Page(subheading, title, [help-name], [show-config],
=head2 new WebminUI::Page(subheading, title, [help-name], [show-config],
[no-module-index], [no-webmin-index], [rightside],
[header], [body-tags], [below-text])
Create a new page object, with the given heading and other details
=cut
sub new
{
if (defined(&Webmin::Theme::Page::new) && caller() !~ /Webmin::Theme::Page/) {
return new Webmin::Theme::Page(@_[1..$#_]);
if (defined(&WebminUI::Theme::Page::new) && caller() !~ /WebminUI::Theme::Page/) {
return new WebminUI::Theme::Page(@_[1..$#_]);
}
my ($self, $subheading, $title, $help, $config, $noindex, $nowebmin, $right,
$header, $body, $below) = @_;
@@ -216,7 +216,7 @@ print STDERR "Could not find $object in ",join(" ",@{$self->{'contents'}}),"\n";
return scalar(@{$self->{'contents'}});
}
=head2 add_form(Webmin::Form)
=head2 add_form(WebminUI::Form)
Adds a form to be displayed on this page
=cut
sub add_form
@@ -246,7 +246,7 @@ push(@{$self->{'buttons'}}, [ $cgi, $label, $desc, join(" ", @$hiddens),
$before, $after ]);
}
=head2 add_tabs(Webmin::Tags)
=head2 add_tabs(WebminUI::Tags)
Tells the page to display the given set of tabs at the top
=cut
sub add_tabs
@@ -255,7 +255,7 @@ my ($self, $tabs) = @_;
$self->{'tabs'} = $tabs;
}
=head2 add_dynamic(Webmin::DynamicText|Webmin::DynamicProgress)
=head2 add_dynamic(WebminUI::DynamicText|WebminUI::DynamicProgress)
Adds an object that is dynamically generated, such as a text box or progress bar.
=cut
sub add_dynamic

View File

@@ -1,18 +1,18 @@
package Webmin::Password;
@ISA = ( "Webmin::Textbox" );
use Webmin::Textbox;
package WebminUI::Password;
@ISA = ( "WebminUI::Textbox" );
use WebminUI::Textbox;
use WebminCore;
=head2 new Webmin::Password(name, value, [size])
=head2 new WebminUI::Password(name, value, [size])
Create a new text input field, for a password
=cut
sub new
{
if (defined(&Webmin::Theme::Password::new)) {
return new Webmin::Theme::Password(@_[1..$#_]);
if (defined(&WebminUI::Theme::Password::new)) {
return new WebminUI::Theme::Password(@_[1..$#_]);
}
my ($self, $name, $value, $size) = @_;
$self = new Webmin::Textbox($name, $value, $size);
$self = new WebminUI::Textbox($name, $value, $size);
bless($self);
return $self;
}

View File

@@ -1,14 +1,14 @@
package Webmin::PlainText;
package WebminUI::PlainText;
use WebminCore;
=head2 new Webmin::PlainText(text, columns)
=head2 new WebminUI::PlainText(text, columns)
Displays a block of plain fixed-width text, within a page or form.
=cut
sub new
{
if (defined(&Webmin::Theme::PlainText::new) &&
caller() !~ /Webmin::Theme::PlainText/) {
return new Webmin::Theme::PlainText(@_[1..$#_]);
if (defined(&WebminUI::Theme::PlainText::new) &&
caller() !~ /WebminUI::Theme::PlainText/) {
return new WebminUI::Theme::PlainText(@_[1..$#_]);
}
my ($self, $text, $columns) = @_;
$self = { 'columns' => 80 };
@@ -84,7 +84,7 @@ foreach $rest (split(/\n/, $_[0])) {
return @rv;
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this form is added to a page
=cut
sub set_page

View File

@@ -1,14 +1,14 @@
package Webmin::Properties;
package WebminUI::Properties;
use WebminCore;
=head2 new Webmin::Properties([heading], [columns], [width])
=head2 new WebminUI::Properties([heading], [columns], [width])
Creates a read-only properties list
=cut
sub new
{
if (defined(&Webmin::Theme::Properties::new) &&
caller() !~ /Webmin::Theme::Properties/) {
return new Webmin::Theme::Properties(@_[1..$#_]);
if (defined(&WebminUI::Theme::Properties::new) &&
caller() !~ /WebminUI::Theme::Properties/) {
return new WebminUI::Theme::Properties(@_[1..$#_]);
}
my ($self, $heading, $columns, $width) = @_;
$self = { 'columns' => 2 };
@@ -119,7 +119,7 @@ return $self->{'heading'};
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this form is added to a page
=cut
sub set_page

View File

@@ -1,15 +1,15 @@
package Webmin::Radios;
use Webmin::Input;
package WebminUI::Radios;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Radios(name, value, &options, [disabled])
=head2 new WebminUI::Radios(name, value, &options, [disabled])
Create a list of radio buttons, of which one may be selected
=cut
sub new
{
if (defined(&Webmin::Theme::Radios::new)) {
return new Webmin::Theme::Radios(@_[1..$#_]);
if (defined(&WebminUI::Theme::Radios::new)) {
return new WebminUI::Theme::Radios(@_[1..$#_]);
}
my ($self, $name, $value, $options, $disabled) = @_;
$self = { };

20
WebminUI/ResultPage.pm Normal file
View File

@@ -0,0 +1,20 @@
package WebminUI::ResultPage;
use WebminCore;
=head2 new WebminUI::ResultPage(subheading, title, message, [help-name])
Create a new page object for showing some success message.
=cut
sub new
{
if (defined(&WebminUI::Theme::ResultPage::new) &&
caller() !~ /WebminUI::Theme::ResultPage/) {
return new WebminUI::Theme::ResultPage(@_[1..$#_]);
}
my ($self, $subheading, $title, $message, $help) = @_;
$self = new WebminUI::Page($subheading, $title, $help);
$self->add_message("<b>$message</b>");
return $self;
}
1;

View File

@@ -1,14 +1,14 @@
package Webmin::Section;
package WebminUI::Section;
use WebminCore;
=head2 new Webmin::Section(header, [columns], [title], [width])
=head2 new WebminUI::Section(header, [columns], [title], [width])
Create a new form section, which has a header and contains some inputs
=cut
sub new
{
if (defined(&Webmin::Theme::Section::new) &&
caller() !~ /Webmin::Theme::Section/) {
return new Webmin::Theme::Section(@_[1..$#_]);
if (defined(&WebminUI::Theme::Section::new) &&
caller() !~ /WebminUI::Theme::Section/) {
return new WebminUI::Theme::Section(@_[1..$#_]);
}
my ($self, $header, $columns, $title, $width) = @_;
$self = { 'columns' => 4 };
@@ -52,7 +52,7 @@ return $rv;
}
=head2 add_input(label, input, [columns])
Adds some Webmin::Input object to this form section
Adds some WebminUI::Input object to this form section
=cut
sub add_input
{
@@ -140,7 +140,7 @@ return undef;
}
=head2 set_form(form)
Called by the Webmin::Form object when this section is added to it
Called by the WebminUI::Form object when this section is added to it
=cut
sub set_form
{
@@ -165,7 +165,7 @@ sub is_input
{
my ($object) = @_;
return ref($object) && ref($object) =~ /::/ &&
$object->isa("Webmin::Input");
$object->isa("WebminUI::Input");
}
1;

View File

@@ -1,16 +1,16 @@
package Webmin::Select;
use Webmin::Input;
package WebminUI::Select;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Select(name, value|&values, &options, [multiple-size],
=head2 new WebminUI::Select(name, value|&values, &options, [multiple-size],
[add-missing], [disabled])
Create a menu or multiple-selection field
=cut
sub new
{
if (defined(&Webmin::Theme::Select::new)) {
return new Webmin::Theme::Select(@_[1..$#_]);
if (defined(&WebminUI::Theme::Select::new)) {
return new WebminUI::Theme::Select(@_[1..$#_]);
}
my ($self, $name, $value, $options, $size, $missing, $disabled) = @_;
$self = { 'size' => 1 };

View File

@@ -1,16 +1,16 @@
package Webmin::Submit;
use Webmin::Input;
package WebminUI::Submit;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Submit(label, [name], [disabled])
=head2 new WebminUI::Submit(label, [name], [disabled])
Create a form submit button
=cut
sub new
{
if (defined(&Webmin::Theme::Submit::new) &&
caller() !~ /Webmin::Theme::Submit/) {
return new Webmin::Theme::Submit(@_[1..$#_]);
if (defined(&WebminUI::Theme::Submit::new) &&
caller() !~ /WebminUI::Theme::Submit/) {
return new WebminUI::Theme::Submit(@_[1..$#_]);
}
my ($self, $value, $name, $disabled) = @_;
$self = { };

View File

@@ -1,15 +1,15 @@
package Webmin::Table;
use Webmin::JavascriptButton;
package WebminUI::Table;
use WebminUI::JavascriptButton;
use WebminCore;
=head2 new Webmin::Table(&headings, [width], [name], [heading])
=head2 new WebminUI::Table(&headings, [width], [name], [heading])
Create a multi-column table, with support for sorting, paging and so on
=cut
sub new
{
if (defined(&Webmin::Theme::Table::new) &&
caller() !~ /Webmin::Theme::Table/) {
return new Webmin::Theme::Table(@_[1..$#_]);
if (defined(&WebminUI::Theme::Table::new) &&
caller() !~ /WebminUI::Theme::Table/) {
return new WebminUI::Theme::Table(@_[1..$#_]);
}
my ($self, $headings, $width, $name, $heading) = @_;
$self = { 'sorter' => [ map { \&default_sorter } @$headings ] };
@@ -59,12 +59,12 @@ if (defined($sm) && @srows > $sm) {
$rv .= $self->get_searchmsg()."<br>\n";
}
my $form = new Webmin::Form($thisurl, "get");
my $form = new WebminUI::Form($thisurl, "get");
$form->set_input($self->{'form'}->{'in'});
my $section = new Webmin::Section(undef, 2);
my $section = new WebminUI::Section(undef, 2);
$form->add_section($section);
my $col = new Webmin::Select("ui_searchcol_".$name, undef);
my $col = new WebminUI::Select("ui_searchcol_".$name, undef);
my $i = 0;
foreach my $h (@{$self->get_headings()}) {
if ($self->{'sortable'}->[$i]) {
@@ -74,12 +74,12 @@ if (defined($sm) && @srows > $sm) {
}
$section->add_input($text{'ui_searchcol'}, $col);
my $for = new Webmin::Textbox("ui_searchfor_".$name, undef, 30);
my $for = new WebminUI::Textbox("ui_searchfor_".$name, undef, 30);
$section->add_input($text{'ui_searchfor'}, $for);
$rv .= $section->html();
my $url = $self->make_url(undef, undef, undef, undef, 1);
my $jsb = new Webmin::JavascriptButton($text{'ui_searchok'},
my $jsb = new WebminUI::JavascriptButton($text{'ui_searchok'},
"window.location = '$url'+'&'+'ui_searchfor_${name}'+'='+escape(form.ui_searchfor_${name}.value)+'&'+'ui_searchcol_${name}'+'='+escape(form.ui_searchcol_${name}.selectedIndex)");
$rv .= $jsb->html();
$rv .= "<br>\n";
@@ -252,7 +252,7 @@ if (@srows) {
for(my $i=0; $i<@$r || $i<@sheadings; $i++) {
if (ref($r->[$i]) eq "ARRAY") {
my $j = $r->[$i]->[0] &&
$r->[$i]->[0]->isa("Webmin::TableAction")
$r->[$i]->[0]->isa("WebminUI::TableAction")
? "&nbsp;|&nbsp;" : "&nbsp;";
$row[$i] = $selmap{$r,$i}.
join($j, map { ref($_) ? $_->html() : $_ }
@@ -278,7 +278,7 @@ return $rv;
}
=head2 set_form(form)
Called by the Webmin::Form object when this table is added to it
Called by the WebminUI::Form object when this table is added to it
=cut
sub set_form
{
@@ -309,7 +309,7 @@ else {
sub default_sorter
{
my ($value1, $value2, $col) = @_;
if (ref($value1) && $value1->isa("Webmin::TableAction")) {
if (ref($value1) && $value1->isa("WebminUI::TableAction")) {
$value1 = $value1->get_value();
$value2 = $value2->get_value();
}
@@ -432,7 +432,7 @@ return $self->{'headings'};
}
=head2 set_selector(column, input)
Takes a Webmin::Checkboxes or Webmin::Radios object, and uses it to add checkboxes
Takes a WebminUI::Checkboxes or WebminUI::Radios object, and uses it to add checkboxes
in the specified column.
=cut
sub set_selector

View File

@@ -1,15 +1,15 @@
package Webmin::TableAction;
package WebminUI::TableAction;
use WebminCore;
=head2 new Webmin::TableAction(cgi, label, &args, disabled)
=head2 new WebminUI::TableAction(cgi, label, &args, disabled)
An object of this class can be added to a table or properties object to create
a link or action button of some kind.
=cut
sub new
{
if (defined(&Webmin::Theme::TableAction::new) &&
caller() !~ /Webmin::Theme::TableAction/) {
return new Webmin::Theme::TableAction(@_[1..$#_]);
if (defined(&WebminUI::Theme::TableAction::new) &&
caller() !~ /WebminUI::Theme::TableAction/) {
return new WebminUI::Theme::TableAction(@_[1..$#_]);
}
my ($self, $cgi, $value, $args, $disabled) = @_;
$self = { };

View File

@@ -1,14 +1,14 @@
package Webmin::Tabs;
package WebminUI::Tabs;
use WebminCore;
=head2 new Webmin::Tabs([&tabs])
=head2 new WebminUI::Tabs([&tabs])
Displayed at the top of a page, to allow selection of various pages
=cut
sub new
{
my ($self, $tabs) = @_;
if (defined(&Webmin::Theme::Tabs::new)) {
return new Webmin::Theme::Tabs(@_[1..$#_]);
if (defined(&WebminUI::Theme::Tabs::new)) {
return new WebminUI::Theme::Tabs(@_[1..$#_]);
}
$self = { 'tabs' => [ ],
'tab' => 0 };

View File

@@ -1,15 +1,15 @@
package Webmin::Textarea;
use Webmin::Input;
package WebminUI::Textarea;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Textarea(name, value, rows, cols, [wrap], [disabled])
=head2 new WebminUI::Textarea(name, value, rows, cols, [wrap], [disabled])
Create a new text box, with the given size
=cut
sub new
{
if (defined(&Webmin::Theme::Textarea::new)) {
return new Webmin::Theme::Textarea(@_[1..$#_]);
if (defined(&WebminUI::Theme::Textarea::new)) {
return new WebminUI::Theme::Textarea(@_[1..$#_]);
}
my ($self, $name, $value, $rows, $cols, $wrap, $disabled) = @_;
$self = { };
@@ -113,7 +113,7 @@ Returns the value, without any \r characters
sub get_value
{
my ($self) = @_;
my $rv = Webmin::Input::get_value($self);
my $rv = WebminUI::Input::get_value($self);
$rv =~ s/\r//g;
return $rv;
}

View File

@@ -1,15 +1,15 @@
package Webmin::Textbox;
use Webmin::Input;
package WebminUI::Textbox;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Textbox(name, value, [size], [disabled])
=head2 new WebminUI::Textbox(name, value, [size], [disabled])
Create a new text input field
=cut
sub new
{
if (defined(&Webmin::Theme::Textbox::new)) {
return new Webmin::Theme::Textbox(@_[1..$#_]);
if (defined(&WebminUI::Theme::Textbox::new)) {
return new WebminUI::Theme::Textbox(@_[1..$#_]);
}
my ($self, $name, $value, $size, $disabled) = @_;
$self = { 'size' => 30 };

View File

@@ -1,16 +1,16 @@
package Webmin::Time;
use Webmin::Input;
package WebminUI::Time;
use WebminUI::Input;
use Time::Local;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Time(name, time, [disabled])
=head2 new WebminUI::Time(name, time, [disabled])
Create a new field for selecting a time
=cut
sub new
{
if (defined(&Webmin::Theme::Time::new)) {
return new Webmin::Theme::Time(@_[1..$#_]);
if (defined(&WebminUI::Theme::Time::new)) {
return new WebminUI::Theme::Time(@_[1..$#_]);
}
my ($self, $name, $value, $disabled) = @_;
bless($self = { });

View File

@@ -1,14 +1,14 @@
package Webmin::TitleList;
package WebminUI::TitleList;
use WebminCore;
=head2 new Webmin::TitleList(title, &links, [alt-text])
=head2 new WebminUI::TitleList(title, &links, [alt-text])
Generates a title with a list of links under it
=cut
sub new
{
my ($self, $title, $links, $alt) = @_;
if (defined(&Webmin::Theme::TitleList::new)) {
return new Webmin::Theme::TitleList(@_[1..$#_]);
if (defined(&WebminUI::Theme::TitleList::new)) {
return new WebminUI::Theme::TitleList(@_[1..$#_]);
}
$self = { };
bless($self);
@@ -88,7 +88,7 @@ my ($self, $name, $link) = @_;
push(@{$self->{'links'}}, [ $name, $link ]);
}
=head2 set_page(Webmin::Page)
=head2 set_page(WebminUI::Page)
Called when this menu is added to a page
=cut
sub set_page

View File

@@ -1,15 +1,15 @@
package Webmin::Upload;
use Webmin::Input;
package WebminUI::Upload;
use WebminUI::Input;
use WebminCore;
@ISA = ( "Webmin::Input" );
@ISA = ( "WebminUI::Input" );
=head2 new Webmin::Upload(name, [size])
=head2 new WebminUI::Upload(name, [size])
Create a new file upload field
=cut
sub new
{
if (defined(&Webmin::Theme::Upload::new)) {
return new Webmin::Theme::Upload(@_[1..$#_]);
if (defined(&WebminUI::Theme::Upload::new)) {
return new WebminUI::Theme::Upload(@_[1..$#_]);
}
my ($self, $name, $size) = @_;
$self = { 'size' => 30 };

View File

@@ -1,18 +1,18 @@
package Webmin::User;
use Webmin::Textbox;
package WebminUI::User;
use WebminUI::Textbox;
use WebminCore;
@ISA = ( "Webmin::Textbox" );
@ISA = ( "WebminUI::Textbox" );
=head2 new Webmin::User(name, value, [multiple], [disabled])
=head2 new WebminUI::User(name, value, [multiple], [disabled])
A text box for entering or selecting one or many Unix usernames
=cut
sub new
{
if (defined(&Webmin::Theme::User::new)) {
return new Webmin::Theme::User(@_[1..$#_]);
if (defined(&WebminUI::Theme::User::new)) {
return new WebminUI::Theme::User(@_[1..$#_]);
}
my ($self, $name, $value, $multiple, $disabled) = @_;
$self = new Webmin::Textbox($name, $value, $multiple ? 40 : 15, $disabled);
$self = new WebminUI::Textbox($name, $value, $multiple ? 40 : 15, $disabled);
bless($self);
$self->set_multiple($multiple);
return $self;
@@ -24,7 +24,7 @@ Returns the HTML for this user input
sub html
{
my ($self) = @_;
my $rv = Webmin::Textbox::html($self);
my $rv = WebminUI::Textbox::html($self);
my $name = $self->get_name();
my $multiple = $self->get_multiple();
local $w = $multiple ? 500 : 300;

View File

@@ -822,8 +822,11 @@ foreach my $l (@acl) {
delete($gconfig{"lang_".$username});
delete($gconfig{"notabs_".$username});
delete($gconfig{"ownmods_".$username});
delete($gconfig{"rbacdeny_".$username});
delete($gconfig{"theme_".$username});
delete($gconfig{"overlay_".$username});
delete($gconfig{"readonly_".$username});
delete($gconfig{"realname_".$username});
&write_file("$config_directory/config", \%gconfig);
# Delete all module .acl files
@@ -2163,5 +2166,21 @@ elsif ($str =~ /^postgresql:/) {
}
}
# used_for_anonymous(username)
# Returns a list of modules this user has an anonymous grant to
sub used_for_anonymous
{
my ($user) = @_;
my @rv;
my %miniserv;
&get_miniserv_config(\%miniserv);
foreach $a (split(/\s+/, $miniserv{'anonymous'})) {
if ($a =~ /^([^=]+)=(\S+)$/ && $2 eq $user) {
push(@rv, $1);
}
}
return @rv;
}
1;

View File

@@ -1,4 +1,3 @@
ssleay=/usr/bin/openssl
select=0
order=0
display=1

View File

@@ -1,4 +1,3 @@
ssleay=/usr/bin/openssl
select=0
order=0
display=1

View File

@@ -1,4 +1,3 @@
ssleay=/usr/bin/openssl
select=0
order=0
display=1

View File

@@ -1,4 +1,3 @@
ssleay=/usr/bin/openssl
select=0
order=0
display=1

View File

@@ -1,4 +1,3 @@
ssleay=/usr/bin/openssl
select=0
order=0
display=1

View File

@@ -1,4 +1,3 @@
ssleay=/usr/sfw/bin/openssl
select=0
order=0
display=1

View File

@@ -1,6 +1,5 @@
line1=Configurable options,11
display=User and group display mode,1,1-Names only,0-Names and modules
select=Display user modules in,1,0-Table,1-Pulldown menu
order=Sort users and groups by,1,0-Order in file,1-Name
line2=System configuration,11
ssleay=Path to openssl or ssleay program,3,Automatic

View File

@@ -1,5 +1,4 @@
line1=Конфигурационни опции,11
select=Показвай юзерските модули в,1,0-таблица,1-Падащо меню
order=Подреди юзери и групи по,1,0-подредба във файл,1-име
line2=Системна конфигурация,11
ssleay=Път към openssl или ssleay програма,0

View File

@@ -1,6 +1,5 @@
line1=Opcions configurables,11
display=Forma de mostrar els usuaris i els grups,1,1-Només els noms,0-Noms i mòduls
select=Mostra els mòduls d'usuaris amb,1,0-Taula,1-Menú desplegable
order=Ordena els usuaris i grups per,1,0-L'ordre del fitxer,1-El nom
line2=Configuració del sistema,11
ssleay=Camí del programa <tt>openssl</tt> o <tt>ssleay</tt>,3,Automàtic

View File

@@ -1,6 +1,5 @@
line1=Možnosti konfigurace,11
display=Mód pro zobrazení uživatele a skupiny,1,1-Pouze jména,0-Jména a moduly
select=Zobrazit moduly uživatele v,1,0-tabulce,1-rozbalovací nabídce
order=Třídit uživatele a skupiny podle,1,0-pořadí v souboru,1-jména
line2=Konfigurace systému,11
ssleay=Cesta k programu openssl nebo ssleay,0

View File

@@ -1,6 +1,5 @@
line1=Konfigurerbare indstillinger,11
display=Bruger og gruppe visnings mode,1,1-Kun navne,0-Navne og moduler
select=Vis brugermoduler i,1.0-Tabel,1-Pulldown menu
order=Sorter brugere og grupper ved,1.0-Sortering i fil,1-Navn
line2=Systemkonfiguration,11
ssleay=Sti til openssl eller ssleay progarm,3,Automatisk

View File

@@ -1,6 +1,5 @@
line1=Konfigurierbare Optionen,11
display=Benutzer- und Gruppenanzeige,1,1-Nur Namen,0-Namen und Module
select=Zeige Benutzermodule als,1,0-Tabelle,1-Auswahlliste
order=Sortiere Benutzer und Gruppen nach,1,0-Reihenfolge in Datei,1-Name
line2=Systemkonfiguration,11
ssleay=Pfad zu <tt>openssl</tt> oder <tt>ssleay</tt>,3,Automatisch

View File

@@ -1,6 +1,5 @@
line1=Opciones Configurables,11
display=Modo de mostrar usuario y grupo,1,1-S&#243;lo nombres,0-Nombres y m&#243;dulos
select=Mostrar m&#243;dulos de usuario en,1,0-Tabla,1-Men&#250; desplegable
order=Clasificar usuarios y grupos por,1,0-Orden en archivo,1-Nombre
line2=Configuraci&#243;n de Sistema,11
ssleay=Trayectoria al programa openssl o ssleay,0

View File

@@ -1,6 +1,5 @@
line1=Konfiguragarri diren aukerak, 11
display=Erabiltzaile eta taldea erakusteko modua, 1,1-Izenak soilik, 0-Izenak eta moduluak
select=Erabiltzaile moduluak erakutsi,1,0-Taulan, 1-
Display user modules in,1,0-Table,1-Pulldown menu
order=Ordenatu erabiltzaile eta taldeak,1,0-Fitxategian ordenatu,1-Izena
line2=Sistemaren konfigurazioa,11

View File

@@ -1,7 +1,6 @@
line1=گزينه‌هاي پيکربندي,11
display=حالت نمايش کاربران و گروه‌ها,1,1-فقط نامها,0-نامها و پيمانه‌ها
select=نمايش پيمانه‌هاي کاربر در,1,0-جدول,1-گزينگان پايين بر
order=مرتب سازي کاربران و گروه‌ها براساس,1,0-ترتيب در پرونده,1-نام
line2=پيکربندي سيستم,11
ssleay=مسير براي openssl يا برنامه ssleay,3,خودکار

View File

@@ -1,6 +1,5 @@
line1=Options configurables,11
display=Mode d'affichage des utilisateurs et des groupes,1,1-Noms seulement,0-Noms et modules
select=Afficher les modules utilisateur par,1,0-Table,1-Menu d&#233;roulant
order=Trier les utilisateurs et les groupes par,1,0-Ordre dans le fichier,1-Nom
line2=Configuration du syst&#232;me,11
ssleay=Chemin d'acc&#232;s au programme openssl ou ssleay,3,Automatique

View File

@@ -1,6 +1,5 @@
line1=Konfigurálható beállítások,11
display=Felhasználó és csoport megjelenítési mód,1,1-Csak a neveket,0-Neveket és modulokat
select=A modulok megjelenítsi módja,1,0-Táblázat,1-Menü
order=Felhasználók és csoportok rendezése,1,0-A fájl rendezése szerint,1-Név szerint
line2=Rendszer konfiguráció,11
ssleay=Az <code>openssl</code> vagy <code>ssleay</code> program teljes elérési útja,0

View File

@@ -1,6 +1,5 @@
line1=Opzioni configurabili,11
display=Modalit&#224; di visualizzazione di utenti e gruppi,1,1-Solo i nomi,0-Nomi e moduli
select=Mostra i moduli utente in,1,0-una tabella,1-un menu a tendina
order=Ordina gli utenti e i gruppi per,1,0-Ordine nel file,1-Nome
line2=Configurazione di sistema,11
ssleay=Percorso al programma openssl o ssleay,3,Automatico

View File

@@ -1,6 +1,5 @@
line1=設定可能なオプション,11
display=ユーザとグループの表示モード,1,1-名前のみ,0-名前とモジュール
select=ユーザモジュールの表示方法,1,0-表,1-プルダウンメニュー
order=ユーザとグループのソート順,1,0-ファイル順,1-名前順
line2=システム設定,11
ssleay=opensslプログラムまたはssleayプログラムのパス,3,自動

View File

@@ -1,6 +1,5 @@
line1=가능한 옵션,11
display=유저와 그룹 출력 모드,1,1-이름만,0-이름과 모듈
select=유저 모듈 출력,1,0-테이블,1-풀다운 메뉴
order=유저와 그룹 정렬,1,0-파일 순,1-이름
line2=시스템 설정,11
ssleay=openssl 또는 ssleay 파일 경로,3,Automatic

View File

@@ -1,6 +1,5 @@
line1=Pilihan konfigurasi,11
display=Mod paparan pengguna dan grup,1,1-Nama sahaja,0-Nama dan modul
select=Paparkan modul pengguna dalam,1,0-Jadual,1-Menu pull-down
order=Tapis pengguna dan grup dengan,1,0-Urutan dalam fail,1-Nama
line2=Konfigurasi sistem,11
ssleay=Lokasi program openssl atau ssleay,3,Automatik

View File

@@ -1,6 +1,5 @@
line1=Instelbare opties,11
display=Gebruiker en groep weergave instelling,1,1-Alleen Namen,0-Namen en modules
select=Geef gebruiker modules weer in,1,0-Tabel,1-Pulldown menu
order=Sorteer gebruikers en groepen op,1,0-Volgorde in bestand,1-Naam
line2=Systeem configuratie,11
ssleay=Pad naar openssl of ssleay programma,3,Automatisch

View File

@@ -1,6 +1,5 @@
line1=Konfigurerbare innstillinger,11
display=Visningsmodus for bruker og gruppe,1,1-Bare navn,0-Navn og moduler
select=Vis brukermoduler i,1,0-Tabell,1-Nedtrekksmeny
order=Sorter brukere og grupper etter,1,0-Rekkef&#248;lge i filen,1-Navn
line2=System konfigurasjon,11
ssleay=Stien til openssl eller ssleay program,0

View File

@@ -1,6 +1,5 @@
line1=Opcje konfiguracyjne,11
display=Tryb wyświetlania użytkowników i grup,1,1-Tylko nazwy,0-Nazwy i moduły
select=Wyświetl moduły użytkownika w,1,0-Tabeli,1-Rozwijanym menu
order=Porządkuj użytkowników i grupy wg,1,0-Kolejności w zbiorze,1-Nazwy
line2=Konfiguracja systemu,11
ssleay=Ścieżka do programu openssl lub ssleay,0

View File

@@ -1,5 +1,4 @@
line1=Op&#231;&#245;es configur&#225;veis,11
select=Exibir m&#243;dulos de usu&#225;rios em,1,0-Tabela,1-Menus
order=Ordenar usu&#225;rios e grupos por,1,0-Ordem no arquivo,1-Nome
line2=Configura&#231;&#227;o do sistema,11
ssleay=Caminho para o programa openssl ou ssleay,0

View File

@@ -1,4 +1,3 @@
select=Показывать модули пользователя в виде,1,0-Таблицы,1-Выпадающего меню
ssleay=Путь к программе openssl или ssleay,0
order=Упорядочивать пользователей и группы по,1,0-Очередности в файле,1-Имени
line1=Настраиваемые параметры,11

View File

@@ -1,6 +1,5 @@
line1=Настраиваемые параметры,11
display=Режим отображения пользователей и групп,1,1-Только имена,0-Имена и модули
select=Показывать модули пользователя в виде,1,0-Таблицы,1-Выпадающего меню
order=Упорядочивать пользователей и группы по,1,0-Очередности в файле,1-Имени
line2=Системные параметры,11
ssleay=Путь к программе openssl или ssleay,0

View File

@@ -1,6 +1,5 @@
line1=Nastaviteľné možnosti,11
display=Spôsob zobrazenia užívateľov a skupín,1,1-Iba mená,0-Mená a moduly
select=Zobraz užívateľské moduly v ,1,0-Tabuľke,1-Rozbaľovacom menu
order=Zoraď užívateľov a skupiny podľa,1,0-Poradia v súbore,1-Mena
line2=Nastavenie Systému,11
ssleay=Cesta k programu openssl alebo ssleay,3,Automatická

View File

@@ -1,2 +1 @@
ssleay=S&#246;kv&#228;g till openssl- eller ssleay-program,0
select=Visa moduler i,1,0-Tabell,1-Rullgardinsmeny

View File

@@ -1,6 +1,5 @@
line1=Yapılandırılabilir seçenekler,11
display=Kullanıcı ve grup görüntüleme biçimi,1,1-Sadece isim,0-İsim ve modüller
select=Kullanıcı modüllerini bu şekilde görüntüle,1,0-Tablo,1-Menü
order=Kullanıcı ve grupları bu şekilde sırala,1,0-Dosyadaki sırası ile,1-İsim ile
line2=Sistem yapılandırması,11
ssleay=Openssl ya da ssleay programı yolu,3,Otomatik

View File

@@ -1,4 +1,3 @@
select=Показувати модулі користувача у виді,1,0-таблиці, що1-випадає меню
ssleay=Шлях до програми openssl чи ssleay,0
order=Упорядковувати користувачів і групи по,1,0-черговості у файлі,1-імені
line1= параметри, ЩоНабудовуються,11

View File

@@ -1,2 +1 @@
ssleay=Openssl 或者 Ssleay 程序的路径,0
select=显示用户模块以,1,0-Table,1-Pulldown 菜单

View File

@@ -1,5 +1,4 @@
line1=組態選項,11
select=顯示使用者模組在,1,0-表格,1-下拉選單
order=排序使用者和全組 依,1,0-檔案內位置,1-名稱
line2=系統組態,11
ssleay=openssl或ssleay程式路徑,0

View File

@@ -10,6 +10,7 @@ our (%in, %text, %config, %access, $base_remote_user);
&error_setup($text{'delete_err'});
$access{'delete'} || &error($text{'delete_ecannot'});
&can_edit_user($in{'user'}) || &error($text{'delete_euser'});
&used_for_anonymous($in{'user'}) && &error($text{'delete_eanonuser'});
if ($base_remote_user eq $in{'user'}) {
&error($text{'delete_eself'});
}

View File

@@ -17,6 +17,7 @@ foreach my $user (@d) {
if ($base_remote_user eq $user && !$in{'joingroup'}) {
&error($text{'delete_eself'});
}
&used_for_anonymous($user) && &error($text{'delete_eanonuser'});
my $uinfo = &get_user($user);
$uinfo->{'readonly'} && &error($text{'udeletes_ereadonly'});
}
@@ -27,7 +28,8 @@ if ($in{'joingroup'}) {
foreach my $user (@d) {
my $uinfo = &get_user($user);
next if (!$uinfo);
next if (&indexof($user, @{$newgroup->{'members'}}) >= 0);
next if ($newgroup &&
&indexof($user, @{$newgroup->{'members'}}) >= 0);
# Remove from old group, if any
my $oldgroup = &get_users_group($user);

View File

@@ -73,11 +73,9 @@ else {
# Show usernames and modules
print &ui_subheading($text{'index_users'});
my @rowlinks = ( );
if (!$config{'select'}) {
print &ui_form_start("delete_users.cgi", "post");
push(@rowlinks, &select_all_link("d", $form),
&select_invert_link("d", $form));
}
print &ui_form_start("delete_users.cgi", "post");
push(@rowlinks, &select_all_link("d", $form),
&select_invert_link("d", $form));
push(@rowlinks, ui_link("edit_user.cgi", $text{'index_create'}))
if ($access{'create'});
print &ui_links_row(\@rowlinks);
@@ -104,10 +102,8 @@ else {
}
print &ui_columns_end();
print &ui_links_row(\@rowlinks);
if (!$config{'select'}) {
print &ui_form_end([ [ "delete", $text{'index_delete'} ],
@gbut ]);
}
print &ui_form_end([ [ "delete", $text{'index_delete'} ],
@gbut ]);
$shown_users = 1;
$form++;
}
@@ -136,11 +132,9 @@ if ($access{'groups'}) {
else {
# Show table of groups
my @rowlinks = ( );
if (!$config{'select'}) {
print &ui_form_start("delete_groups.cgi", "post");
push(@rowlinks, &select_all_link("d", $form),
&select_invert_link("d", $form));
}
print &ui_form_start("delete_groups.cgi", "post");
push(@rowlinks, &select_all_link("d", $form),
&select_invert_link("d", $form));
push(@rowlinks,
ui_link("edit_group.cgi", $text{'index_gcreate'}));
print &ui_links_row(\@rowlinks);
@@ -168,9 +162,7 @@ if ($access{'groups'}) {
}
print &ui_columns_end();
print &ui_links_row(\@rowlinks);
if (!$config{'select'}) {
print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]);
}
print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]);
$form++;
}
}
@@ -235,44 +227,22 @@ sub show_modules
my ($type, $who, $mods, $global, $prefix) = @_;
$mods ||= [ ];
my $rv;
if ($config{'select'}) {
# Show as drop-down menu
$rv .= &ui_form_start("edit_acl.cgi");
$rv .= $prefix."<br>\n" if ($prefix);
if (@$mods) {
$rv .= &ui_hidden($type, $who);
if ($access{'acl'}) {
$rv .= &ui_submit($text{'index_edit'});
$rv .= $prefix."<br>\n" if ($prefix);
my @grid;
foreach my $m (sort { $modname{$a} cmp $modname{$b} } @$mods) {
if ($modname{$m}) {
if ($mcan{$m} && $access{'acl'}) {
push(@grid, ui_link("edit_acl.cgi?mod=" .
&urlize($m)."&$type=".&urlize($who),
$modname{$m}));
}
my @opts;
foreach my $m (sort { $modname{$a} cmp $modname{$b} } @$mods) {
if ($modname{$m}) {
push(@opts, [ $m, $modname{$m} ]);
}
}
$rv .= &ui_select("mod", undef, \@opts);
}
$rv .= &ui_form_end();
}
else {
# Show as table
$rv .= $prefix."<br>\n" if ($prefix);
my @grid;
foreach my $m (sort { $modname{$a} cmp $modname{$b} } @$mods) {
if ($modname{$m}) {
if ($mcan{$m} && $access{'acl'}) {
push(@grid, ui_link("edit_acl.cgi?mod=" .
&urlize($m)."&$type=".&urlize($who),
$modname{$m}));
}
else {
push(@grid, $modname{$m});
}
else {
push(@grid, $modname{$m});
}
}
$rv .= &ui_grid_table(\@grid, 3, 100,
[ "width=33%", "width=33%", "width=33%" ]);
}
$rv .= &ui_grid_table(\@grid, 3, 100,
[ "width=33%", "width=33%", "width=33%" ]);
return $rv;
}
@@ -298,7 +268,7 @@ sub user_link
{
my $lck = $_[0]->{'pass'} =~ /^\!/ ? 1 : 0;
my $ro = $_[0]->{'readonly'};
return ($config{'select'} ? "" : &ui_checkbox("d", $_[0]->{'name'}, "", 0)).
return &ui_checkbox("d", $_[0]->{'name'}, "", 0).
($lck ? "<i>" : "").
($ro ? "<b>" : "").
ui_link("$_[1]?$_[2]=".&urlize($_[0]->{'name'}),

View File

@@ -146,6 +146,7 @@ delete_err=No s'ha pogut suprimir l'usuari
delete_eself=No et pots esborrar a tu mateix
delete_ecannot=No tens permís per suprimir usuaris
delete_euser=No tens permís per suprimir aquest usuari
delete_eanonuser=Aquest usuari s'està utilitzant per a l'accés del mòdul anònim
cert_title=Petició de Certificat
cert_issue=Emissió de Certificat
@@ -337,12 +338,20 @@ unix_header=Par
unix_utable=Usuaris Unix permesos
sessions_title=Sessions d'Entrada Actuals
sessions_desc=Les sessions d'entrada actuals de Webmin es llisten a sota. Per cancel·lar una sessió existent i forçar l'usuari a tornar a entrar, fes clic sobre l'ID de la sessió.
sessions_id=ID de sessió
sessions_user=Usuari Webmin
sessions_login=Ha entrat a
sessions_host=Adreça IP
sessions_lview=Visualitza els registres...
sessions_actions=Accions...
sessions_logouts=Mostra també les sessións desconnectades...
sessions_state=Estat
sessions_this=Aquesta entrada
sessions_in=Connectat
sessions_out=Desconnectat
sessions_kill=Desconnecta...
logins_title=Entrades recents a Webmin
hide_title=Amaga els Mòduls No Utilitzats
hide_desc=Els mòduls següents es trauran de la llista d'accés de mòduls de $1, ja que els seus corresponents servidors no estan instal·lats al sistema...
@@ -362,6 +371,7 @@ rbac_ecpan=No tens acc
rbac_ok=La integració amb RBAC està disponible en aquest sistema, i es pot activar en base a cada usuari a la pàgina d'Edició d'Usuaris Webmin.
udeletes_err=No s'han pogut suprimir els usuaris
udeletes_jerr=No s'han pogut afegir els usuaris al grup
udeletes_enone=No n'has seleccionat cap
udeletes_title=Supressió d'Usuaris
udeletes_rusure=Segur que vols suprimir els $1 usuaris seleccionats? Es perdran tots els seus detalls i totes les seves configuracions de control d'accés.

View File

@@ -59,7 +59,7 @@ cert_header=Details des neuen Zertifikats
cert_install=Installiere Ihr Zertifikat in den Browser
cert_issue=Zertifikat ausstellen
cert_key=Schl&#252;sselgr&#246;&#223;e
cert_msg=Hier k&#246;nnen Sie ein SSL-Client-Zertifikat zu beantragen, das Ihnen in Zukunft ohne Eingabe von Benutzername und Kennwort einen sicheren Zugriff auf Webmin gestattet. Da jedoch diese Authentifizierung automatisch geschieht ist es nicht m&#246;glich zu einem anderen Benutzer zu wechseln.
cert_msg=Hier k&#246;nnen Sie ein SSL-Client-Zertifikat zu beantragen, das Ihnen in Zukunft ohne Eingabe von Benutzername und Kennwort einen sicheren Zugriff auf Webmin gestattet. Da jedoch diese Authentifizierung automatisch geschieht, ist es nicht m&#246;glich zu einem anderen Benutzer zu wechseln.
cert_o=Organisation
cert_ou=Abteilung
cert_pickup=<a href='$1'>Klicken Sie hier, um Ihr Zertifikat aufzunehmen und es in Ihrem Browser zu installieren.</a>
@@ -100,6 +100,7 @@ cpass_notre=Entspricht einen nicht erlaubten Muster
cpass_old=Alte Kennw&#246;rter k&#246;nnen nicht wieder verwendet werden
cpass_re=Entspricht nicht einem erforderlichen Muster
cpass_spellcmd=Entweder der $1 oder $2 Befehl muss installiert sein um eine W&#246;rterbuchpr&#252;fung durchzuf&#252;hren
delete_eanonuser=Dieser Benutzer wird f&#252;r anonymen Modul-Zugriff verwendet
delete_ecannot=Sie haben keine Berechtigung Benutzer zu l&#246;schen
delete_err=Fehler beim L&#246;schen des Benutzers
delete_eself=Sie k&#246;nnen sich selber nicht l&#246;schen
@@ -136,7 +137,7 @@ edit_minsize=Minimale Passwortl&#228;nge
edit_mods=Verf&#252;gbare Webminmodule
edit_modsg=Verf&#252;gbare Webminmodule (zus&#228;tzlich zu Modulen der Gruppe)
edit_modules=Module
edit_nochange=Forciere Passwort&#228;nderungstage
edit_nochange=Forciere Passwort&#228;nderungstage?
edit_none=Keine
edit_notabs=Module in Kategorien aufteilen?
edit_overlay=Personal theme overlay
@@ -155,7 +156,7 @@ edit_proto_postgresql=PostgreSQL Datenbank
edit_rbacdeny=RBAC-Zugriffsmodus
edit_rbacdeny0=RBAC kontrolliert nur ausgew&#228;hlte Modul-ACLs
edit_rbacdeny1=RBAC kontrolliert alle Module und ACLs
edit_readonly=Dieser Webminbenutzer sollte &#252;ber das $1 Modul bearbeitet werden. <a href='$2'>Klicken Sie hier</a>, um diese Warnung zu &#252;bergehen und um den Benutzer dennoch zu bearbeiten. Es kann jedoch sein, da&#223; hier vorgenommene &#196;nderungen durch das $1 Modul &#252;berschrieben werden.
edit_readonly=Dieser Webminbenutzer sollte &#252;ber das $1 Modul bearbeitet werden. <a href='$2'>Klicken Sie hier</a>, um diese Warnung zu &#252;bergehen und um den Benutzer dennoch zu bearbeiten. Es kann jedoch sein, dass hier vorgenommene &#196;nderungen durch das $1 Modul &#252;berschrieben werden!
edit_real=Echter Name
edit_return=Webminbenutzer
edit_return2=Webmingruppe
@@ -187,7 +188,7 @@ edit_twofactorprov=Benutze Provider $1 mit ID $2
edit_ui=Optionen des Benutzerinterfaces
edit_unix=Unix-Authentifizierung
edit_user=Benutzername
gdelete_desc=Sind Sie sicher, da&#223; Sie die Gruppe $1 und Benutzer $2 l&#246;schen wollen?
gdelete_desc=Sind Sie sicher, dass Sie die Gruppe $1 und Benutzer $2 l&#246;schen wollen?
gdelete_ecannot=Sie sind nicht berechtigt Gruppen zu l&#246;schen
gdelete_err=Fehler beim L&#246;schen einer Gruppe
gdelete_esub=Gruppen, die Untergruppen enthalten, k&#246;nnen nicht gel&#246;scht werden
@@ -196,7 +197,7 @@ gdelete_ok=Gruppe l&#246;schen
gdelete_title=Gruppe l&#246;schen
gdeletes_err=Konnte Gruppen nicht l&#246;schen
gdeletes_ok=Gruppe l&#246;schen
gdeletes_rusure=Sind Sie sicher, da&#223; Sie die $1 ausgew&#228;hlten Gruppen, inklusive der darin enthaltenen $2 Benutzer, l&#246;schen m&#246;chten? S&#228;mtliche Benutzer- und zugeh&#246;rige Sicherheitseinstellungen gehen definitiv und nicht wiederherstellbar verloren.
gdeletes_rusure=Sind Sie sicher, dass Sie die $1 ausgew&#228;hlten Gruppen, inklusive der darin enthaltenen $2 Benutzer, l&#246;schen m&#246;chten? S&#228;mtliche Benutzer- und zugeh&#246;rige Sicherheitseinstellungen gehen definitiv und nicht wiederherstellbar verloren.
gdeletes_title=Gruppe l&#246;schen
gdeletes_users=Ausgew&#228;hlte Gruppen: $1
gedit_desc=Gruppenbeschreibung
@@ -215,7 +216,7 @@ gsave_enamewebmin=Der Gruppenname 'webmin' ist f&#252;r interne Zwecke reservier
gsave_err=Fehler beim Speichern der Gruppe
hide_clone=(Klone $1)
hide_desc=Das folgende Modul wird von der Zugriffskontrollliste f&#252;r $1 entfernt, da die entsprechenden Server nicht auf Ihrem System installiert sind.
hide_desc2=Bedenken Sie, da&#223; dieses Modul nicht automatisch sichtbar wird, wenn der entsprechende Server nachtr&#228;glich installiert wird. Sie m&#252;ssen den Zugriff &#252;ber dieses Modul erneut einrichten.
hide_desc2=Bedenken Sie, dass dieses Modul nicht automatisch sichtbar wird, wenn der entsprechende Server nachtr&#228;glich installiert wird. Sie m&#252;ssen den Zugriff &#252;ber dieses Modul erneut einrichten.
hide_none=Nichts zu verbergen - $1 hat keinen Zugriff zu irgendeinem Modul dessen entsprechender Server nicht auf Ihrem System installiert ist.
hide_ok=Verberge Module jetzt
hide_title=Verberge nicht benutzte Module
@@ -270,6 +271,7 @@ log_switch=Gewechselt zu Benutzer $1
log_sync=&#196;ndere Unixbenutzer-Syncronisation
log_twofactor=Benutzer $1 mit 2-Faktor-Anbieter $2 angemeldet
log_unix=&#196;ndere Unixbenutzer-Authentifizierung
logins_title=Aktuelle Webmin-Logins
make_done=.. fertig
make_err=Fehlgeschlagen Benutzer- und Gruppentabellen zu erstellen
make_exec=Ausf&#252;hre SQL $1 ..
@@ -342,11 +344,17 @@ save_euser=Sie haben keine Berechtigung diesen Benutzer zu bearbeiten
schema_desc=Bevor Webmin ein LDAP-Server verwenden kann um Benutzer und Gruppen zu speichern, muss konfiguriert werden, das Schema unten zu verwenden. Dies kann in der Regel durch Speicherung der Schema-Definition in <tt>/etc/ldap/schema</tt> oder <tt>/etc/openldap/schema</tt> als <tt>webmin.schema</tt>, anschlie&#223;end kann die Konfiguration des Servers erfolgen, das Schema-Datei zu laden.
schema_download=Download Schema-Datei : <a href=$1>$1</a>
schema_title=Download LDAP-Schema
sessions_desc=Aktuell angemeldete Webmin-Sitzungen sind unten aufgelistet. Zum Abbrechen einer bestehenden Sitzung und um den Benutzer zu zwingen sich neu anzumelden, klicken Sie auf die Sitzungs-ID.
sessions_actions=Aktionen..
sessions_host=IP-Adresse
sessions_id=Sitzungs-ID
sessions_in=Eingeloggt
sessions_kill=Getrennt..
sessions_login=Angemeldet an
sessions_logouts=Zeige auch abgemeldete Sitzungen ..
sessions_lview=Zeige Aufzeichnungen..
sessions_out=Ausgeloggt
sessions_state=Status
sessions_this=Dieser Login
sessions_title=Aktuell angemeldete Sitzungen
sessions_user=Webminbenutzer
sql_addto0=Hinzuf&#252;gen neuer Benutzer zur Datenbank, wie oben ausgew&#228;hlt
@@ -423,7 +431,7 @@ udeletes_ereadonly=Einer der ausgew&#228;hlten Benutzer ist als nicht bearbeitba
udeletes_err=Konnte Benutzer nicht l&#246;schen
udeletes_jerr=Fehler beim Nutzer zu Gruppe hinzuf&#252;gen
udeletes_ok=Benutzer l&#246;schen
udeletes_rusure=Sind Sie sicher, da&#223; Sie die $1 ausgew&#228;hlten Benutzer l&#246;schen m&#246;chten? S&#228;mtliche Benutzer- und zugeh&#246;rige Sicherheitseinstellungen gehen definitiv und nicht wiederherstellbar verloren.
udeletes_rusure=Sind Sie sicher, dass Sie die $1 ausgew&#228;hlten Benutzer l&#246;schen m&#246;chten? S&#228;mtliche Benutzer- und zugeh&#246;rige Sicherheitseinstellungen gehen definitiv und nicht wiederherstellbar verloren.
udeletes_title=Benutzer l&#246;schen
udeletes_users=Ausgew&#228;hlte Benutzer: $1
unix_all=Erlaube alle Unixbenutzer

View File

@@ -146,6 +146,7 @@ delete_err=Failed to delete user
delete_eself=You cannot delete yourself
delete_ecannot=You are not allowed to delete users
delete_euser=You are not allowed to delete this user
delete_eanonuser=This user is being used for anonymous module access
cert_title=Request Certificate
cert_issue=Issue Certificate
@@ -337,12 +338,20 @@ unix_header=Unix user authentication settings
unix_utable=Allowed Unix users
sessions_title=Current Login Sessions
sessions_desc=Current Webmin session logins are listed below. To cancel an existing session and force the user to login again, click on its session ID.
sessions_id=Session ID
sessions_user=Webmin user
sessions_login=Logged in at
sessions_host=IP address
sessions_lview=View logs..
sessions_actions=Actions..
sessions_logouts=Also show logged-out sessions..
sessions_state=State
sessions_this=This login
sessions_in=Logged in
sessions_out=Logged out
sessions_kill=Disconnect..
logins_title=Recent Webmin logins
hide_title=Hide Unused Modules
hide_desc=The following modules will be removed from the module access list for $1 as their corresponding servers are not installed on your system ..

View File

@@ -100,6 +100,7 @@ cpass_notre=Matcher et
cpass_old=Gamle passord kan ikke brukes p&#229; nytt
cpass_re=Stemmer ikke med et p&#229;krevd m&#248;nster
cpass_spellcmd=Ingen av kommandoene $1 eller $2, som er n&#248;dvendige for &#229; sjekke ordiliste-ord, er installert
delete_eanonuser=Denne brukeren brukes til anonym modul tilgang
delete_ecannot=Du har ikke rettigheter til &#229; slette brukere
delete_err=Kunne ikke slette bruker
delete_eself=Du kan ikke slette deg selv
@@ -270,6 +271,7 @@ log_switch=Byttet til Webmin bruker $1
log_sync=Endret unix bruker-synkronisering
log_twofactor=Meldte inn bruker $1 til to-faktor autentisering
log_unix=Endret unix bruker-autentisering
logins_title=Siste Webmin innlogginger
make_done=.. ferdig
make_err=Kunne ikke opprette bruker- og gruppe-tabeller
make_exec=Utf&#248;rer SQL $1 ..
@@ -342,11 +344,17 @@ save_euser=Du har ikke tilgang til &#229; editere denne brukeren
schema_desc=F&#248;r Webmin kan bruke en LDAP tjener for lagring av brukere og grupper m&#229; den konfigureres til &#229; bruke skjemaet nedenfor. Dette kan typeisk gj&#248;res ved &#229; lagre skjemadefinisjonen i tt>/etc/ldap/schema</tt> eller <tt>/etc/openldap/schema</tt> som <tt>webmin.schema</tt>, og s&#229; konfigurere tjeneren ti l&#229; laste den skjemafilen.
schema_download=Last ned skjema-fil : <a href=$1>$1</a>
schema_title=Last ned LDAP skjema
sessions_desc=Aktuelle Webmin sesjon logins er listet under. For &#229; kansellere en eksisterende sesjon og tvinge brukeren til &#229; logge inn igjen, klikk p&#229; brukerens sesjon ID.
sessions_actions=Handlinger..
sessions_host=IP adresse
sessions_id=Sessions ID
sessions_login=Logget in p&#229;
sessions_in=Innlogget
sessions_kill=Koble fra..
sessions_login=Innlogget
sessions_logouts=Vis ogs&#229; utloggede sesjoner..
sessions_lview=Se logger..
sessions_out=Logget ut
sessions_state=Tilstand
sessions_this=Denne innloggingen
sessions_title=Aktuell Login Session
sessions_user=Webmin bruker
sql_addto0=Legg til nye brukere i databasen valgt ovenfor
@@ -421,6 +429,7 @@ twofactor_title=To-faktor autentisering
udeletes_enone=Ingen valgt
udeletes_ereadonly=En av de valgte brukerne er merket som ikke-redigerbar
udeletes_err=Kunne ikke slette brukere
udeletes_jerr=Kunne ikke legg til brukere i gruppe
udeletes_ok=Slett brukere
udeletes_rusure=Er du sikker p&#229; at du &#248;nsker &#229; slette de $1 valgte brukerne? Alle deres tilgangskontroll innstillinger og andre brukerdetaljer vil g&#229; tapt.
udeletes_title=Slett brukere

View File

@@ -100,6 +100,7 @@ cpass_notre=Pasuje do niedozwolonego wzorca
cpass_old=Nie można używać starych haseł
cpass_re=Nie pasuje do wymaganego wzorca
cpass_spellcmd=Nie zainstalowano komend $1 lub $2 wymaganych do sprawdzania słów ze słownika
delete_eanonuser=Ten użytkownik jest wykorzystywany przy anonimowym dostępie do modułu
delete_ecannot=Nie masz zezwolenia na usuwanie użytkowników
delete_err=Nie udało się usunąć użytkownika
delete_eself=Nie możesz usunąć samego siebie
@@ -421,6 +422,7 @@ twofactor_title=Dwustopniowe uwierzytelnianie
udeletes_enone=Nie wybrane
udeletes_ereadonly=Jeden z wybranych użytkowników jest oznaczony jako nie-edytowalny
udeletes_err=Błąd usuwanie użytkowników
udeletes_jerr=Dodanie użytkowników do grupy nie powiodło się
udeletes_ok=Usuń użytkowników
udeletes_rusure=Czy jesteś pewny, że chcesz usunąć $1 wybranych użytkowników? Wszystkie ustawienia kontroli dostępu i szczegóły użytkowników zostaną utracone.
udeletes_title=Usuń użytkowników

View File

@@ -8,6 +8,7 @@ require './acl-lib.pl';
our (%in, %text, %config, %access, %sessiondb);
$access{'sessions'} || &error($text{'sessions_ecannot'});
&ui_print_header(undef, $text{'sessions_title'}, "");
&ReadParse();
my %miniserv;
&get_miniserv_config(\%miniserv);
@@ -21,27 +22,38 @@ foreach my $u (&list_users()) {
my $haslog = &foreign_available("webminlog");
print "<b>$text{'sessions_desc'}</b><p>\n";
print &ui_columns_start([ $text{'sessions_id'},
$text{'sessions_state'},
$text{'sessions_user'},
$text{'sessions_host'},
$haslog ? ( $text{'sessions_login'} ) : ( ),
"" ], 100);
$text{'sessions_login'},
$text{'sessions_actions'},
], 100);
foreach my $k (sort { my @a = split(/\s+/, $sessiondb{$a});
my @b = split(/\s+/, $sessiondb{$b}); $b[1] <=> $a[1] }
keys %sessiondb) {
(grep { $sessiondb{$_} } keys %sessiondb)) {
next if ($k =~ /^1111111/);
my ($user, $ltime, $lip) = split(/\s+/, $sessiondb{$k});
next if ($user =~ /^\!/ && !$in{'logouts'});
next if ($miniserv{'logouttime'} &&
$time_now - $ltime > $miniserv{'logouttime'}*60);
my @cols;
my $candel = 0;
if ($k eq $main::session_id ||
$k eq &hash_session_id($main::session_id)) {
# Cannot self-terminate
push(@cols, "<b>$k</b>");
push(@cols, "<b><tt>$k</tt></b>");
push(@cols, $text{'sessions_this'});
}
elsif ($user =~ s/^\!//) {
# Already logged out
push(@cols, "<tt>$k</tt>");
push(@cols, $text{'sessions_out'});
}
else {
push(@cols, ui_link("delete_session.cgi?id=$k", $k));
push(@cols, "<tt>$k</tt>");
push(@cols, $text{'sessions_in'});
$candel = 1;
}
if ($hasuser{$user}) {
push(@cols, ui_link("edit_user.cgi?user=$user", $user));
@@ -54,12 +66,21 @@ foreach my $k (sort { my @a = split(/\s+/, $sessiondb{$a});
}
push(@cols, $lip);
push(@cols, &make_date($ltime));
my @links;
if ($haslog) {
push(@cols, ui_link("../webminlog/search.cgi?uall=1&mall=1&tall=1&wall=1&fall=1&sid=$k", $text{'sessions_lview'}));
push(@links, ui_link("../webminlog/search.cgi?uall=1&mall=1&tall=1&wall=1&fall=1&sid=$k", $text{'sessions_lview'}));
}
if ($candel) {
push(@links, ui_link("delete_session.cgi?id=$k", $text{'sessions_kill'}));
}
push(@cols, ui_links_row(\@links));
print &ui_columns_row(\@cols);
}
print &ui_columns_end();
if (!$in{'logouts'}) {
print &ui_link("list_sessions.cgi?logouts=1",
$text{'sessions_logouts'}),"<p>\n";
}
&ui_print_footer("", $text{'index_return'});

View File

@@ -40,3 +40,5 @@ longdesc_ms_MY=Cipta pengguna Webmin dan konfigurasikan modul dan ciri-ciri yang
desc_ms_MY=Pengguna Webmin
longdesc_de=Erstellt Webmin-Benutzer und konfiguriert, auf welche Module und Funktionen diese berechtigt sind, zugreifen.
longdesc_es=Crear usuarios de webmin y configurar a que modulos y caracteristicas pueden acceder.
longdesc_pl=Twórz u¿ytkowników Webmina i kontroluj, które modu³y i funkcje s± dla nich dostêpne.
longdesc_ca=Crea usuaris Webmin i configura quins mòduls i característiques tenen permès d'accedir.

62
acl/system_info.pl Normal file
View File

@@ -0,0 +1,62 @@
use strict;
use warnings;
our (%text, $remote_user, %sessiondb, $module_name);
do 'acl-lib.pl';
# list_system_info(&data, &in)
# Show recent logins
sub list_system_info
{
my ($data, $in) = @_;
my @rv;
my %miniserv;
&get_miniserv_config(\%miniserv);
&open_session_db(\%miniserv);
my @logins;
foreach my $k (keys %sessiondb) {
next if ($k =~ /^1111111/);
next if (!$sessiondb{$k});
my ($user, $ltime, $lip) = split(/\s+/, $sessiondb{$k});
next if ($user ne $remote_user && $user ne "!".$remote_user);
push(@logins, [ $user, $ltime, $lip, $k ]);
}
if (@logins) {
@logins = sort { $b->[1] <=> $a->[1] } @logins;
if (@logins > 5) {
@logins = @logins[0..4];
}
my $html = &ui_columns_start([ $text{'sessions_host'},
$text{'sessions_login'},
$text{'sessions_state'} ]);
my $open = 0;
foreach my $l (@logins) {
my $state;
if ($l->[0] =~ /^\!/) {
$state = $text{'sessions_out'};
}
elsif ($l->[3] eq $main::session_id ||
$l->[3] eq &hash_session_id($main::session_id)) {
$state = "<font color=green>$text{'sessions_this'}</a>";
}
else {
$state = $text{'sessions_in'};
if ($l->[2] ne $ENV{'REMOTE_HOST'}) {
$open++;
$state = "<font color=orange>$state</font>";
}
}
$html .= &ui_columns_row([ $l->[2],
&make_date($l->[1]),
$state ]);
}
$html .= &ui_columns_end();
push(@rv, { 'type' => 'html',
'desc' => $text{'logins_title'},
'open' => $open,
'id' => $module_name.'_logins',
'priority' => -100,
'html' => $html });
}
return @rv;
}

View File

@@ -2,7 +2,7 @@ line2=Konfiguracja systemu,11
pppoe_conf=Plik konfiguracji PPPOE ADSL,0
conf_style=Format pliku konfiguracyjnego,1,0-Standardowa konfiguracja RP-PPPoE,1-Plik sieciowy Redhat
pap_file=Plik kont PPP,0
pppoe_cmd=Pełna ścieżka do komendy pppoe,0
start_cmd=Komenda do podniesienia połączenia ADSL,0
stop_cmd=Komenda do zamknięcia połączenia ADSL,0
status_cmd=Komenda do pobrania stanu połączenia ADSL,0
pppoe_cmd=Pełna ścieżka do polecenia pppoe,0
start_cmd=Polecenie do podniesienia połączenia ADSL,0
stop_cmd=Polecenie do zamknięcia połączenia ADSL,0
status_cmd=Polecenie do pobrania stanu połączenia ADSL,0

View File

@@ -0,0 +1,6 @@
<header>Hvor lenge tilkobling forsøkes</header>
Når ADSL klient programmet startes, vil det forsøke å koble til din ISP så
lenge som det er angitt i dette feltet. <p>
<hr>

View File

@@ -0,0 +1,8 @@
<header>Koble til ved behov?</header>
Når Nei er valgt, vil ADSL tilkobling kun startes når det eksplisitt bes om det.
Hvis Ja er valgt, vil tilkoblingen tas opp ved behov, og holdes oppe så lenge
det går trafikk. Tidsavbruddet bestemmer hvor lenge tilkoblingen kan være
inaktiv før den tas ned. <p>
<hr>

View File

@@ -24,3 +24,5 @@ desc_pl.UTF-8=Klient ADSL
desc_no=ADSL klient
longdesc_ms_MY=Sediakan klien PPP dengan pakej RP-PPPoE.
desc_ms_MY=Klien ADSL
longdesc_pl=Konfigurowanie klienta PPTP z pakietem RP-PPPoE.
longdesc_ca=Configura un client PPP amb el paquet RP-PPPoE.

View File

@@ -1,24 +1,31 @@
#!/usr/local/bin/perl
# Start the Ajaxterm webserver on a random port, then print an iframe for
# a URL that proxies to it
use strict;
use warnings;
BEGIN { push(@INC, ".."); };
use WebminCore;
use Socket;
our(%text, %config, %gconfig);
our $module_root_directory;
our $module_name;
&init_config();
&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
# Check for python
$python = &has_command("python");
my $python = &has_command("python");
if (!$python) {
&ui_print_endpage(&text('index_epython', "<tt>python</tt>"));
}
# Pick a free port
my %miniserv;
&get_miniserv_config(\%miniserv);
$port = $miniserv{'port'} + 1;
$proto = getprotobyname('tcp');
my $port = $miniserv{'port'} + 1;
my $proto = getprotobyname('tcp');
socket(TEST, PF_INET, SOCK_STREAM, $proto) ||
&error("Socket failed : $!");
setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
@@ -29,17 +36,17 @@ while(1) {
close(TEST);
# Run the Ajaxterm webserver
$pid = fork();
my $pid = fork();
if (!$pid) {
chdir("$module_root_directory/ajaxterm");
$logfile = $ENV{'WEBMIN_VAR'}.'/ajaxterm.log';
untie(*STDIN); open(STDIN, "</dev/null");
untie(*STDOUT); open(STDOUT, ">$logfile");
untie(*STDERR); open(STDERR, ">$logfile");
$shell = &has_command("bash") ||
my $logfile = $ENV{'WEBMIN_VAR'}.'/ajaxterm.log';
untie(*STDIN); open(STDIN, "<", "/dev/null");
untie(*STDOUT); open(STDOUT, ">", $logfile);
untie(*STDERR); open(STDERR, ">", $logfile);
my $shell = &has_command("bash") ||
&has_command("sh") || "/bin/sh";
@uinfo = getpwnam("root");
$home = $uinfo[7] || "/";
my @uinfo = getpwnam("root");
my $home = $uinfo[7] || "/";
$shell = "$shell -c ".quotemeta("cd '$home' ; exec $shell");
exec($python, "ajaxterm.py", "--port", $port, "--log",
$config{'autologin'} ? ("--command", $shell) : ( ));
@@ -47,7 +54,9 @@ if (!$pid) {
}
# Wait for it to come up
$try = 0;
my $try = 0;
no strict "subs"; # TEST2 is weird. I dunno how to make it lexical without breaking.
no warnings;
while(1) {
my $err;
&open_socket("localhost", $port, TEST2, \$err);
@@ -59,6 +68,8 @@ while(1) {
sleep(1);
}
close(TEST2);
use strict "subs";
use warnings;
# Show the iframe
print "<center>\n";
@@ -74,7 +85,7 @@ if (!fork()) {
untie(*STDIN); close(STDIN);
untie(*STDOUT); close(STDOUT);
untie(*STDERR); close(STDERR);
$statfile = "$ENV{'WEBMIN_VAR'}/ajaxterm/$port";
my $statfile = "$ENV{'WEBMIN_VAR'}/ajaxterm/$port";
while(1) {
my @st = stat($statfile);
if (@st && time() - $st[9] > $config{'timeout'}) {

View File

@@ -8,3 +8,5 @@ desc_pl=Tryb tekstowy (konsola)
desc_hu=Shell hozzáférés (Ajaxterm)
desc_ms_MY=Log masuk Teks
longdesc_ms_MY=Akses shell pada sistem anda tanpa menggunakan klien SSH secara berasingan dengan menggunaka Ajaxterm
longdesc_pl=Dostêp do pow³oki systemowej bez konieczno¶ci u¿ywania oddzielnego klienta SSH, u¿ywaj±c Ajaxterm
longdesc_ca=Accedeix a la shell del sistema sense necessitat d'un client SSH separat utilitzant Ajaxterm

View File

@@ -1,5 +1,7 @@
#!/usr/local/bin/perl
# Proxy an Ajaxterm request to the real port
use strict;
use warnings;
BEGIN { push(@INC, ".."); };
use WebminCore;
@@ -11,29 +13,33 @@ use WebminCore;
# Parse out port
$ENV{'PATH_INFO'} =~ /^\/(\d+)(.*)$/ ||
&error("Missing or invalid PATH_INFO");
$port = $1;
$path = $2;
my $port = $1;
my $path = $2;
$| = 1;
$meth = $ENV{'REQUEST_METHOD'};
my $meth = $ENV{'REQUEST_METHOD'};
# Connect to the Ajaxterm server, send HTTP request
$con = &make_http_connection("localhost", $port, 0, $meth, $path);
my $con = &make_http_connection("localhost", $port, 0, $meth, $path);
&error($con) if (!ref($con));
&write_http_connection($con, "Host: localhost\r\n");
&write_http_connection($con, "User-agent: Webmin\r\n");
$cl = $ENV{'CONTENT_LENGTH'};
my $cl = $ENV{'CONTENT_LENGTH'};
&write_http_connection($con, "Content-length: $cl\r\n") if ($cl);
&write_http_connection($con, "Content-type: $ENV{'CONTENT_TYPE'}\r\n")
if ($ENV{'CONTENT_TYPE'});
&write_http_connection($con, "\r\n");
my $post;
if ($cl) {
&read_fully(STDIN, \$post, $cl);
&read_fully(\*STDIN, \$post, $cl);
&write_http_connection($con, $post);
}
# read back the headers
$dummy = &read_http_connection($con);
my $dummy = &read_http_connection($con);
my %header;
my $headers;
while(1) {
my $headline;
($headline = &read_http_connection($con)) =~ s/\r|\n//g;
last if (!$headline);
$headline =~ /^(\S+):\s+(.*)$/ || &error("Bad header");
@@ -43,16 +49,17 @@ while(1) {
print $headers,"\n";
# read back contents
while($buf = &read_http_connection($con, 1024)) {
while(my $buf = &read_http_connection($con, 1024)) {
print $buf;
}
&close_http_connection($con);
# Touch status file to indicate it is still running
$statusdir = $ENV{'WEBMIN_VAR'}."/ajaxterm";
my $statusdir = $ENV{'WEBMIN_VAR'}."/ajaxterm";
if (!-d $statusdir) {
&make_dir($statusdir, 0700);
}
&open_tempfile(TOUCH, ">$statusdir/$port", 0, 1);
&close_tempfile(TOUCH);
my $TOUCH;
&open_tempfile($TOUCH, ">$statusdir/$port", 0, 1);
&close_tempfile($TOUCH);

View File

@@ -676,8 +676,8 @@ elsif (!$olddir && $newdir) {
# Update the line numbers and filenames in a list of directives
sub recursive_set_lines_files
{
local ($dirs, $line, $file) = @_;
foreach my $d (@$dirs) {
my ($dirs, $line, $file) = @_;
foreach my $dir (@$dirs) {
$dir->{'line'} = $line;
$dir->{'file'} = $file;
if ($dir->{'type'}) {
@@ -1334,7 +1334,8 @@ sub lock_apache_files
{
local $conf = &get_config();
local $f;
foreach $f (&unique(map { $_->{'file'} } @$conf)) {
@main::locked_apache_files = &unique(map { $_->{'file'} } @$conf);
foreach $f (@main::locked_apache_files) {
&lock_file($f);
}
}
@@ -1343,9 +1344,10 @@ sub unlock_apache_files
{
local $conf = &get_config();
local $f;
foreach $f (&unique(map { $_->{'file'} } @$conf)) {
foreach $f (@main::locked_apache_files) {
&unlock_file($f);
}
@main::locked_apache_files = ( );
}
# directive_lines(directive, ...)
@@ -1391,7 +1393,7 @@ if ($httpd_modules{'core'} >= 1.301) {
}
}
local $out = &backquote_command("$cmd 2>&1");
if ($out && $out !~ /syntax\s+ok/i) {
if ($out && $out !~ /(syntax|Checking).*\s+ok/i) {
return $out;
}
}

View File

@@ -20,7 +20,7 @@ httpd_version=Versi
apachectl_path=Camí de l'ordre apachectl,3,Cap
start_cmd=Ordre per iniciar Apache,3,Utilitza apachectl o inicia manualment
stop_cmd=Ordre per aturar Apache,3,Utilitza apachectl o mata el procés
,restart-Executa les ordres d'inici i aturada.
apply_cmd=Ordre per aplicar la configuració,10,-Utilitza apachectl o senyal HUP,restart-Executa els ordres d'inici i aturada
graceful_cmd=Ordre per rellegir la configuració,3,La mateixa que per aplicar-la
httpd_conf=Camí de httpd.conf o apache2.conf,3,Automàtic
srm_conf=Camí de srm.conf,3,Automàtic

Some files were not shown because too many files have changed in this diff Show More