Compare commits

...

195 Commits
1.790 ... 1.801

Author SHA1 Message Date
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
338 changed files with 6124 additions and 1838 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.790
Webmin Version 1.801
--------------------
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

View File

@@ -271,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 ..
@@ -343,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

View File

@@ -338,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

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) {
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,4 @@ 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.

61
acl/system_info.pl Normal file
View File

@@ -0,0 +1,61 @@
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/);
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,4 @@ 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.

View File

@@ -8,3 +8,4 @@ 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

View File

@@ -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, ...)

123
apache/mod_php7.pl Executable file
View File

@@ -0,0 +1,123 @@
# mod_php7.pl
sub mod_php7_directives
{
$rv = [ [ 'php_value', 1, 16, 'virtual directory htaccess', undef, 10 ],
[ 'php_flag', 1, 16, 'virtual directory htaccess', undef, 2 ],
[ 'php_admin_value', 1, 16, 'virtual directory htaccess', undef, 10 ],
[ 'php_admin_flag', 1, 16, 'virtual directory htaccess', undef, 2 ],
];
return &make_directives($rv, $_[0], "mod_php7");
}
sub mod_php7_handlers
{
return ("php7-script");
}
sub edit_php_value
{
return &php_value_form($_[0], "php_value");
}
sub edit_php_admin_value
{
return &php_value_form($_[0], "php_admin_value");
}
# php_value_form(&values, name)
sub php_value_form
{
local($rv, $name, $value, $len);
$rv = "";
$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(.+)$/) {
$name = $1; $value = $2;
}
else { $name = $value = ""; }
$rv .= "<input name=mod_$_[1]_name_$i size=20 value='$name'>&nbsp;";
$rv .= "<input name=mod_$_[1]_value_$i size=30 value='$value'><BR>\n";
}
return (2, "$text{'mod_'.$_[1]}", $rv);
}
sub save_php_value
{
return &php_value_save("php_value");
}
sub save_php_admin_value
{
return &php_value_save("php_admin_value");
}
# php_value_save(name)
sub php_value_save
{
local($i, $name, $value, @rv);
for($i=0; defined($in{"mod_$_[0]_name_$i"}); $i++) {
$name = $in{"mod_$_[0]_name_$i"}; $value = $in{"mod_$_[0]_value_$i"};
if ($name !~ /\S/ && $value !~ /\S/) { next; }
$name =~ /^(\S+)$/ || &error(&text('mod_php_ename', $name));
$value =~ /^(.+)$/ || &error(&text('mod_php_evalue', $name, $value));
push(@rv, "$name $value");
}
return ( \@rv );
}
sub edit_php_flag
{
return &php_flag_form($_[0], "php_flag");
}
sub edit_php_admin_flag
{
return &php_flag_form($_[0], "php_admin_flag");
}
# php_flag_form(&values, name)
sub php_flag_form
{
local($rv, $name, $value, $len);
$rv = "";
$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(on|off)$/) {
$name = $1; $value = $2;
}
else { $name = $value = ""; }
$rv .= "<input name=mod_$_[1]_name_$i size=20 value='$name'>&nbsp;";
$rv .= "<input name=mod_$_[1]_value_$i type=radio value=on" . ($value eq "on" ? " checked" : "" ) . ">on&nbsp;";
$rv .= "<input name=mod_$_[1]_value_$i type=radio value=off" . ($value eq "off" ? " checked" : "" ) . ">off&nbsp;<BR>";
}
return (2, "$text{'mod_'.$_[1]}", $rv);
}
sub save_php_flag
{
return &php_flag_save("php_flag");
}
sub save_php_admin_flag
{
return &php_flag_save("php_admin_flag");
}
# php_flag_save(name)
sub php_flag_save
{
local($i, $name, $value, @rv);
for($i=0; defined($in{"mod_$_[0]_name_$i"}); $i++) {
$name = $in{"mod_$_[0]_name_$i"}; $value = $in{"mod_$_[0]_value_$i"};
if ($name !~ /\S/ ) { next; }
$name =~ /^(\S+)$/ || &error(&text('mod_php_ename', $name));
$value =~ /^(on|off)$/i || &error(&text('mod_php_evalue', $name, $value));
push(@rv, "$name $value");
}
return ( \@rv );
}
1;

View File

@@ -37,7 +37,7 @@ return &parse_choice("SSLEngine");
sub get_sslprotos
{
my @sslprotos = ("SSLv2", "SSLv3", "TLSv1" );
if ($httpd_modules{'core'} >= 2.223) {
if ($httpd_modules{'core'} >= 2.215) {
push(@sslprotos, "TLSv1.1", "TLSv1.2");
}
return @sslprotos;

View File

@@ -1,4 +1,4 @@
at_style=Rodzaj systemu At,1,linux-Linux,solaris-Solaris,freebsd-FreeBSD
at_dir=Katalog zadañ dla At,0
at_dir=Katalog zadañ At,0
allow_file=Plik dozwolonych u¿ytkowników At,3,Brak
deny_file=Plik zabronionych u¿ytkowników At,3,Brak

View File

@@ -30,3 +30,4 @@ desc_sk.UTF-8=Plánované príkazy
desc_no=Tidsplanlagte kommandoer
longdesc_ms_MY=Jadual pelaksanaan arahan one-off atau skrip.
desc_ms_MY=Perintah Berjadual
longdesc_pl=Harmonogram wykonywania poleceñ lub skryptów.

View File

@@ -176,7 +176,7 @@ $rv .= "<td>&nbsp;$text{'backup_pass'}&nbsp;</td><td> ".
&ui_password("$_[0]_pass", $mode == 1 ? $pass : undef, 20).
"</td> </tr>\n";
$rv .= "<tr> <td></td>\n";
$rv .= "<td colspan='3'>$text{'backup_port'} ".
$rv .= "<td colspan='4'>$text{'backup_port'} ".
&ui_opt_textbox("$_[0]_port", $mode == 1 ? $port : undef, 5,
$text{'default'})."</td> </tr>\n";
@@ -196,7 +196,7 @@ $rv .= "<td>&nbsp;$text{'backup_pass'}&nbsp;</td><td> ".
&ui_password("$_[0]_spass", $mode == 2 ? $pass : undef, 20).
"</td> </tr>\n";
$rv .= "<tr> <td></td>\n";
$rv .= "<td colspan='3'>$text{'backup_port'} ".
$rv .= "<td colspan='4'>$text{'backup_port'} ".
&ui_opt_textbox("$_[0]_sport", $mode == 2 ? $port : undef, 5,
$text{'default'})."</td> </tr>\n";
@@ -204,7 +204,7 @@ if ($_[2] == 1) {
# Uploaded file field
$rv .= "<tr><td>".&ui_oneradio("$_[0]_mode", 3, undef, $mode == 3).
"</td>\n";
$rv .= "<td colspan=3>$text{'backup_mode3'} ".
$rv .= "<td colspan=4>$text{'backup_mode3'} ".
&ui_upload("$_[0]_upload", 40).
"</td> </tr>\n";
}
@@ -212,7 +212,7 @@ elsif ($_[2] == 2) {
# Output to browser option
$rv .= "<tr><td>".&ui_oneradio("$_[0]_mode", 4, undef, $mode == 4).
"</td>\n";
$rv .= "<td colspan=3>$text{'backup_mode4'}</td> </tr>\n";
$rv .= "<td colspan=4>$text{'backup_mode4'}</td> </tr>\n";
}
$rv .= "</table>\n";
@@ -707,7 +707,7 @@ elsif ($mode == 4) {
=head2 date_subs(string)
Given a string with strftime-style format characters in it like %Y and %S,
Given a string with strftime-style format characters in it like %Y and %S,
replaces them with the correct values for the current date and time.
=cut

View File

@@ -11,6 +11,7 @@ our (%in, %text, %config, $module_config_file);
&error_setup($text{'backup_err'});
my $dest = &parse_backup_destination("dest", \%in);
my ($configfile, $nofiles, $others) = &parse_backup_what("what", \%in);
$others ||= "";
my @mods = split(/\0/, $in{'mods'});
@mods || ($nofiles && !$configfile) || &error($text{'backup_emods'});

View File

@@ -1,3 +1,3 @@
date_subs=Wykonać zastępowanie <tt>strftime</tt> miejsc docelowych kopii zapasowej?,1,1-Tak,0-Nie
webmin_subs=Uczynić Webmin podstawową zmienną jako miejsce docelowe kopii zapasowych?,1,1-Tak,0-Nie
webmin_subs=Uczynić zmienną Webmina jako miejsce docelowe kopii zapasowych?,1,1-Tak,0-Nie
from_addr=Od: adres dla wiadomości email,3,webmin@hostname

View File

@@ -85,7 +85,8 @@ print &ui_form_start("restore.cgi", "form-data");
print &ui_table_start($text{'index_header2'}, undef, 2);
print &ui_table_row($text{'edit_mods2'},
&ui_select("mods", \@dmods,
&ui_select("mods",
[ map { $_->{'dir'} } @mods ],
[ map { [ $_->{'dir'}, $_->{'desc'} ] } @mods ],
5, 1));

View File

@@ -28,3 +28,4 @@ desc_sk.UTF-8=Záloha konfiguračných súborov
desc_no=Sikkerhetskopier konfig.filer
longdesc_ms_MY=Lakukan salinan secara manual atau berjadual dan mengembalikan fail konfigurasi yang diuruskan oleh modul Webmin.
desc_ms_MY=Backup Fail konfigurasi
longdesc_pl=Rêczne lub zaplanowane tworzenie i przywracanie kopii zapasowych plików konfiguracyjnych modu³ów zarz±dzanych przez Webmina.

View File

@@ -76,6 +76,15 @@ if (!defined($config_file_cache{$file})) {
if (/^\s*\@(.*\S)/) {
# An include file reference .. parse it
local $incfile = $1;
# A pipe command
if ($incfile =~ /^\|"(.*)"$/) {
local $command = $1;
local $incfiles = `$command`;
foreach (split(/\s/,$incfiles)) {
local $inc = &read_config_file(substr($_,1));
push(@{$parent->{'members'}}, @$inc);
}
}
if ($incfile !~ /^\//) {
$incfile = "$config{'bacula_dir'}/$incfile";
}

View File

@@ -0,0 +1,17 @@
line0=Konfigurerbare innstillinger,11
wait=Standard sikkerhetskopi ventemodus,1,1-Vent p&#239;&#191;&#189; fullf&#239;&#191;&#189;ring,0-Kj&#239;&#191;&#189;r i bakgrunnen
apply=Ta i bruk katalog-konfigurasjon automatisk?,1,1-Ja,0-Nei
groupmode=Hent node gruppe informasjon fra,1,webmin-Webmin Tjenere indeks modul,oc-OCM Manager database,-Ingen steder
showdirs=Vis alltid eksterne kataloger?,1,1-Ja,0-Nei
line1=Bacula databaseinnstillinger,11
driver=Databasetype,1,Pg-PostgreSQL,mysql-MySQL,SQLite-SQLite
user=Bruker det skal logges inn p&#239;&#191;&#189; databasen som,0
pass=Passord det skal logges inn med,0
host=Bacula databasetjener,3,Dette system
db=Database eller fil som inneholder Bacula informasjon,0
line2=Filinnstillinger,11
bacula_dir=Bacula konfigurasjonskatalog,0
bextract=Full sti til <tt>bextract</tt> kommando,0
bls=Full sti til <tt>bls</tt> kommando,0
btape=Full sti til <tt>btape</tt> kommando,0
init_start=Start og stopp Bacula vha.1,1-Init scripts,0-<tt>bacula</tt> kommando

619
bacula-backup/lang/no Normal file
View File

@@ -0,0 +1,619 @@
__norefs=1
apply_err=Kunne ikke ta i bruk konfigurasjon
apply_failed=En konfigurasjonsfeil ble oppdaget
apply_problem=Kunne ikke ta i bruk konfigurasjon : $1
backup_done=.. sikkerhetskopi fullf&#248;rt.
backup_ejob=.. kunne ikke finne jobb!
backup_eok=.. jobben kunne ikke startes
backup_failed=.. sikkerhetskopieringen ble ikke fullf&#248;rt. Sjekk feilmeldingen ovenfor for detaljer om dette.
backup_header=Detaljer for sikkerhetskopi-jobb
backup_jd=$1 (Filsett $2 p&#229; $3)
backup_job=Jobb som skal kj&#248;res
backup_ok=Sikkerhetskopier n&#229;
backup_return=backup skjema
backup_run=Starter sikkerhetskopi-jobb $1 ..
backup_running=.. sikkerhetskopi-jobben kj&#248;rer n&#229;. N&#229;r den er ferdig vises resultatene nedenfor ..
backup_running2=.. sikkerhetskopieringen er startet i bakgrunnen.
backup_title=Kj&#248;r backup jobb
backup_wait=Vent p&#229; resultater?
cancel_enone=Ingen valgt
cancel_err=Kunne ikke avrbyte jobber
check_ebacula=Baculas kontroll-kommando $1 ble ikke funnet.
check_eclient=Dette systemet ser ut til &#229; v&#230;re en <a href='$2'>Bacula klient</a> i stedet for en regiss&#248;r.
check_econfigs=Fant ingen Bacula konfigurasjonsfiler i $1
check_econsole=Bacula konsoll kommandoen $1 ble ikke funnet.
check_edir=Bacula konfigurasjonskatalogen $1 ble ikke funnet p&#229; systemet ditt.
check_edirector=Bacula regiss&#248;r konfigurasjonsfilen $1 ble ikke funnet.
check_engmod=Modulen OpenCountry Bacula grupper er ikke installert
check_eservers=Ingen Webmin tjenergrupper er definert
chooser_all=Alle
chooser_days=Datoer
chooser_daysh=Dager i m&#229;neden &#229; utf&#248;re
chooser_edays=Ingen dager i m&#229;neden valgt
chooser_edaysrange=Valgte dager i m&#229;neden m&#229; v&#230;re sammenhengende
chooser_ehour=Manglende eller ugyldig time p&#229; dagen
chooser_eminute=Manglende eller ugyldig minutt
chooser_emonths=Ingen m&#229;neder valgt
chooser_emonthsrange=Valgte m&#229;neder m&#229; v&#230;re sammehengende
chooser_err=Kunne ikke velge tidsplan
chooser_eweekdaynums=Ingen ukedag tall valgt
chooser_eweekdaynumsrange=Valgte ukedag numre m&#229; v&#230;re sammenhengende
chooser_eweekdays=Ingen ukedager valgt
chooser_eweekdaysrange=Valgte ukedager m&#229; v&#230;re sammenhengende
chooser_months=M&#229;neder i &#229;ret
chooser_monthsh=M&#229;neder &#229; utf&#248;re
chooser_ok=OK
chooser_sel=Valgt nedenfor ..
chooser_time=Time og minutt
chooser_timeh=Tidspunkt for utf&#248;ring
chooser_title=Velg tidsplan
chooser_weekdaynums=Numre i m&#229;ned
chooser_weekdays=Ukedager
chooser_weekdaysh=Ukedager &#229; utf&#248;re
client_address=Vertsnavn eller IP adresse
client_catalog=Katalog som skal brukes
client_eaddress=Manglende eller ugyldig vertsnavn eller adresse
client_echild=Denne klienten kan ikke slettes siden den brukes av $1
client_eclash=En klient med samme navn finnes allerede
client_efileret=Manglende eller ugyldig oppbevaringsperiode for filer
client_egone=Klient finnes ikke lenger!
client_ejobret=Manglende eller ugyldig oppbevaringsperiode for jobber
client_ename=Manglende eller ugyldig klientnavn
client_epass=Manglende passord
client_eport=Manglende eller ugyldig FD port
client_err=Kunne ikke lagre backup klient
client_fileret=Behold backupfiler i
client_header=Detaljer for klient som skal sikkerhetskopieres
client_jobret=Behold backupjobber i
client_name=Klient FD navn
client_pass=Bacula FD passord
client_port=Bacula FD port
client_prune=Fjern utl&#248;pte jobber og filer?
client_status=Vis status
client_title1=Opprett backup klient
client_title2=Rediger sikkerhetskopi-klient
clients_add=Legg til ny backup klient.
clients_address=Vertsnavn eller adresse
clients_catalog=Katalog
clients_delete=Slett valgte klienter
clients_derr=Kunne ikke slette klienter
clients_name=Klient navn
clients_none=Ingen backup klienter er definert enda.
clients_return=liste med klienter
clients_title=Backup klienter
clientstatus_err=Kunne ikke hente status fra $1 : $2
clientstatus_msg=Status fra $1 : $2
clientstatus_ok=OK
clientstatus_on=$1 (p&#229; $2)
clientstatus_show=Vis status for klient:
clientstatus_title=Klient status
connect_elogin=Kunne ikke logge inn i databasen $1 : $2.
connect_emysql=Kunne ikke laste datbase DBI driver $1
connect_equery=Databasen $1 ser ikke ut til &#229; inneholde Bacula tabeller.
connect_equery2=Dette kan v&#230;re fordi SQLLite Perl modulen som er installert, er for ny, og ikke st&#248;tter det eldre SQLite databaseformatet som Bacula bruker.
connect_equery3=Databasen $1 ser ikke ut til &#229; inneholde OC Bacula gruppe tabeller.
device_always=Hold alltid &#229;pen?
device_auto=Monter automatisk?
device_device=Arkiv-enhet eller katalog
device_echild=Denne klienten kan ikke slettes siden den brukes av $1
device_eclash=En lagringsenhet med samme navn finnes allerede
device_edevice=Manglende eller ugyldig arkiv-enhet eller -katalog
device_egone=Lagringsenhet finnes ikke lenger!
device_emedia=Mangler media type navn
device_ename=Mangler navn p&#229; lagringsenhet
device_err=Kunne ikke lagre lagrings-enhet
device_header=Detaljer for fillagrings enhet
device_label=Merk media automatisk?
device_media=Media type navn
device_name=Lagringsenhet navn
device_random=Direktetilgangs-medium?
device_removable=Flyttbare media?
device_title1=Opprett lagringsenhet
device_title2=Rediger lagringsenhet
devices_add=Legg til ny lagringsenhet.
devices_delete=Slett valgte lagringsenheter
devices_derr=Kunne ikke slette lagringsenheter
devices_device=Enhets-fil eller -katalog
devices_name=Enhetsnavn
devices_none=Ingen lagringsenheter er definert enda.
devices_return=liste med lagringsenheter
devices_title=Lagringsenheter
devices_type=Media type
director_dir=Bacula arbeidskatalog
director_edir=Manglende eller ikke-eksisterende arbeidskatalog
director_ejobs=Manglende eller ugyldig antall samtidige jobber
director_ename=Manglende eller ugyldig regiss&#248;r navn
director_enone=Ingen regiss&#248;r-konfigurasjon funnet!
director_eport=Manglende eller ugyldig portnummer
director_err=Kunne ikke lagre regiss&#248;r-konfigurasjon
director_header=Globale innstillinger for Bacula regiss&#248;r
director_jobs=Maks. samtidige jobber
director_messages=M&#229;l for meldinger
director_name=Regiss&#248;r navn
director_port=Lytt p&#229; port
director_title=Regiss&#248;r konfigurasjon
dirstatus_bytes=St&#248;rrelse
dirstatus_cancel=Avbryt valgte jobber
dirstatus_date=Kj&#248;rt
dirstatus_date2=Startet
dirstatus_done=Fullf&#248;rte sikkerhetskopi jobber
dirstatus_donenone=Ingen backup jobber er kj&#248;rt.
dirstatus_files=Filer
dirstatus_id=Kj&#248;re ID
dirstatus_level=Niv&#229;
dirstatus_name=Jobbnavn
dirstatus_refresh=Oppfrisk liste
dirstatus_run=Kj&#248;rende backup jobber
dirstatus_runnone=Ingen backup jobber kj&#248;rer for &#248;yeblikket.
dirstatus_sched=Tidsplanlagte sikkerhetskopi jobber
dirstatus_schednone=Ingen sikkerhetskopi jobber er tidsplanlagt for &#248;yeblikket.
dirstatus_status=Gjeldende status
dirstatus_status2=Status
dirstatus_title=Regiss&#248;r status
dirstatus_type=Type
dirstatus_volume=Volum
dvolumes_ebacula=Bacula feil : $1
dvolumes_enone=Ingen valgt
dvolumes_err=Kunne ikke slette volumer
esql=SQL feil : $1
fdirector_eclash=En regiss&#248;r med samme navn finnes allerede
fdirector_egone=Regiss&#248;r finnes ikke lenger!
fdirector_ename=Mangler regiss&#248;rnavn
fdirector_epass=Manglende passord
fdirector_err=Kunne ikke lagre fil daemon regiss&#248;r
fdirector_header=Detaljer for kontrollerende ekstern regiss&#248;r
fdirector_monitor=Tillat bare overv&#229;kings-tilkobling?
fdirector_name=Director navn
fdirector_pass=Akseptert passord
fdirector_title1=Opprett fil daemon regiss&#248;r
fdirector_title2=Rediger fil daemon regiss&#248;r
fdirectors_add=Legg til ny regiss&#248;r.
fdirectors_delete=Slett valgte regiss&#248;rer
fdirectors_derr=Kunne ikke slette regiss&#248;rer
fdirectors_name=Regiss&#248;rnavn
fdirectors_none=Ingen regiss&#248;rer er definert enda.
fdirectors_pass=Akseptert passord
fdirectors_return=list over regiss&#248;rer
fdirectors_title=Fil Daemon regiss&#248;rer
file_dir=Bacula arbeidskatalog
file_edir=Manglende eller ikke-eksisterende arbeidskatalog
file_ejobs=Manglende eller ugyldig antall samtidige jobber
file_ename=Manglende eller ugyldig fil daemon navn
file_enone=Ingen fil daemon konfigurasjon funnet!
file_eport=Manglende eller ugyldig portnummer
file_err=Kunne ikke lagre fil daemon konfigurasjon
file_header=Innstillinger for Bacula fil daemon
file_jobs=Maks. samtidige jobber
file_name=Fil daemon navn
file_port=Lytt p&#229; port
file_title=Fil daemon konfigurasjon
fileset_comp=Komprimeringstype
fileset_echild=Dette filsettet kan ikke slettes siden det brukes av $1
fileset_eclash=Et fil-sett med samme navn finnes allerede
fileset_egone=Filsettet finnes ikke lenger!
fileset_ename=Mangler fil-sett navn
fileset_err=Kunne ikke lagre filsett
fileset_exclude=Filer og kataloger som skal hoppes over
fileset_gzip=Gzip niv&#229; $1
fileset_gzipdef=&lt;Standard komprimeringsniv&#229;&gt;
fileset_header=Detaljer for backup filsett
fileset_include=Filer og kataloger som skal sikkerhetskopieres
fileset_lzo=LZO komprimering
fileset_md5=MD5
fileset_name=Filsett navn
fileset_none=Ingen
fileset_onefs=Begrens backup til ett filsystem?
fileset_sig=Fil signaturtype
fileset_title1=Opprett filsett
fileset_title2=Rediger filsett
filesets_add=Legg til nytt backup filsett.
filesets_delete=Slett valgte fil-sett
filesets_derr=Kunne ikke slette fil-sett
filesets_ednone=Ingen valgt
filesets_files=Inkluderte filer
filesets_name=Filsett navn
filesets_none=Ingen backup filsett er definert enda.
filesets_return=liste med filsett
filesets_title=Filsett
gbackup_header=Detaljer for Bacula gruppe backup jobb
gbackup_jd=$1 (Filsett $2 p&#229; gruppe $3)
gbackup_on=Kj&#248;rer backupjobb p&#229; klient $1 :
gbackup_run=Starter backupjobb $1 p&#229; $2 klienter ..
gbackup_title=Kj&#248;r Bacula gruppe backup jobb
gjob_client=Bacula gruppe som skal sikkerhetskopieres
gjob_header=Detaljer for Bacula gruppe backup jobb
gjob_title1=Opprett Bacula gruppe backup jobb
gjob_title2=Rediger Bacula gruppe backup jobb
gjobs_add=Legg til ny Bacula gruppe backup jobb
gjobs_client=Bacula gruppe som skal sikkerhetskopieres
gjobs_delete=Slett valgte jobber
gjobs_derr=Kunne ikke slette Bacula gruppe backup jobber
gjobs_none=Ingen Bacula gruppe backup jobber er definert enda.
gjobs_return=liste med Bacula gruppe backup jobber
gjobs_title=Bacula gruppe backup jobber
group_eclash=En gruppe med samme navn finnes allerede
group_egone=Gruppen finnes ikke lenger!
group_egone2=Bacula gruppe finnes ikke lenger!
group_err=Kunne ikke lagre Backula gruppe
group_header=Detaljer for Bacula gruppe som skal sikkerhetskopieres
group_members=Verter i Bacula gruppe
group_name=Bacula gruppenavn
group_port=Bacula FD port
group_title1=Opprett Bacula gruppe
group_title2=Rediger Bacula gruppe
groups_add=Legg til Bacula gruppe:
groups_already=Alle Bacula grupper er allerede lagt til.
groups_catalog=Katalog
groups_delete=Slett valgte Bacula grupper
groups_derr=Kunne ikke slette grupper
groups_info=$1 ($2 medlemmer)
groups_name=Gruppenavn
groups_noadd=Det finnes ingen Bacula grupper som kan velges for sikkerhetskopier.
groups_none=Ingen Bacula grupper er valgt for sikkerhetskopier enda.
groups_ok=Legg til
groups_port=FD port
groups_return=liste med grupper
groups_title=Bacula grupper
index_actions=Handlinger for sikkerhetskopiering og gjenoppretting
index_apply=Bruk konfigurasjon
index_applydesc=Klikk p&#229; denne knappen for &#229; aktivere Bacula regiss&#248;rkonfigurasjon vist ovenfor.
index_boot=Start ved oppstart
index_bootdesc=Endre denne innstillingen for &#229; kontrollere om Bacula startes n&#229;r systemet starter opp.
index_dir=Regiss&#248;rkonfigurasjon
index_down=Nede
index_echeck=$1 Kanskje den ikke er installert, eller s&#229; er <a href='$2'>modulkonfigurasjonen</a> feil.
index_econsole=Bacula konsoll kommandoen $1 kunne ikke kommunisere med Bacula regiss&#248;r. Forsikre deg om at passordet i $2 er korrekt.
index_econsole2=Bacula konsoll-kommandoen $1 er ikke konfigurert med en gyldig Bacula regiss&#248;r-vert. Den bruker for &#248;yeblikket $1, og den eksisterer ikke.
index_edb=Kunne ikke koble til Bacula databasen : $1 Kanskje den ikke er satt opp, eller s&#229; er <a href='$2'>modulekonfigurasjonen</a> feil.
index_eng=Kunne ikle koble til Bacula grupper databasen : $1. Kanskje den ikke finnes, eller s&#229; er <a href='$2'>modulelkonfigurasjonen</a> feil.
index_eversion=Systemet ditt bruker Bacula versjon $2, men Webmin modulen st&#248;tter bare versjon $1 eller nyere.
index_fd=Fil daemon konfigurasjon
index_fixaddr=Klikk her for &#229; fikse Bacula regiss&#248;r-verten
index_fixpass=Klikk her for &#229; fikse konsoll passordet
index_groups=Bacula gruppe konfigurasjon
index_notrun=Sikkerhetskopiering og andre operasjoner kan ikke utf&#248;res siden Bacula regiss&#248;r daemon er nede.
index_ocmin=Bidratt av <a href=$2 target=_new>Linmin <img align=middle border=0 src='$1'></a>
index_restart=Omstart Bacula
index_restartdesc=Klikk p&#229; denne knappen for og stoppe og omstarte Baculas bakgrunnsprosesser listet ovenfor. Dette kan v&#230;re n&#248;dvendig for &#229; aktivere lagringsenhet konfigurasjoner.
index_return=modulindeks
index_sd=Lagringsdaemon konfigurasjon
index_start=Start Bacula
index_startdesc=Klikk p&#229; denne knappen for &#229; starte opp Baculas bakgrunnsprosesser listet ovenfor.
index_status=Prosess statuser:
index_stop=Stopp Bacula
index_stopdesc=Klikk p&#229; denne knappen for &#229; stoppe Baculas bakgrunnsprosesser listet ovenfor.
index_up=Oppe
index_versionbacula=Bacula $1
index_versionbareos=Bareos $1
job_after=Kommando etter jobb
job_before=Kommando f&#248;r jobb
job_cafter=Kommando etter jobb (p&#229; klient)
job_cbefore=Kommando f&#248;r jobb (p&#229; klient)
job_client=Klient som skal sikkerhetskopieres
job_def=Standard type
job_def0=Standard definisjon
job_def1=Frittst&#229;ende jobb
job_def2=Arv standardverdier fra $1
job_echild=Denne standard jobbdefinisjonen kan ikke slettes siden den brukes av $1
job_eclash=En jobb med samme navn finnes allerede
job_enabled=Sikkerhetskopi jobb aktivert?
job_ename=Manglende eller ugyldig jobbnavn
job_epriority=Manglende eller ugyldig prioritetsnummer
job_err=Kunne ikke lagre backupjobb
job_fileset=Filsett &#229; sikkerhetskopiere
job_header=Detaljer om backupjobb
job_level=Sikkerhetskopi niv&#229;
job_messages=M&#229;l for meldinger
job_name=Backupjobb navn
job_pool=Volumsamling
job_prority=Backup prioritet
job_run=Kj&#248;r n&#229;
job_schedule=Backup p&#229; tidsplan
job_storage=M&#229;l lagringsenhet
job_title1=Opprett backupjobb
job_title2=Rediger backupjobb
job_type=Jobbtype
jobs_add=Legg til ny backupjobb.
jobs_client=Klient som skal sikkerhetskopieres
jobs_deftype=Standarder?
jobs_delete=Slett valgte jobber
jobs_derr=Kunne ikke slette jobber
jobs_fileset=Filsett som skal sikkerhetskopieres
jobs_name=Jobbnavn
jobs_none=Ingen backup jobber er definert enda.
jobs_return=liste med jobber
jobs_schedule=Backup tidsplan
jobs_title=Backupjobber
jobs_type=Jobbtype
label_done=.. merking gjennomf&#248;rt.
label_eexists=.. angitt merkelapp finnes allerede.
label_efailed=.. merking feilet! Sjekk feilmeldingen ovenfor for mer informasjon om hvorfor.
label_elabel=Ingen merkelapp angitt
label_epool=.. kunne ikke finne samling!
label_err=Merking feilet
label_estorage=.. lagrings daemon ble ikke funnet!
label_header=Detaljer for volum til etikett
label_label=Nytt merkelapp-navn
label_ok=Merk n&#229;
label_pool=Opprett i samling
label_return=etikett skjema
label_run=Merker volum med $2 p&#229; lagrings-daemon $1 ..
label_storage=Lagrings-daemon som skal merkes
label_title=Merk volum
log_apply=Tok i bruk konfigurasjon
log_backup=Startet backupjobb $1
log_create_client=Opprettet backup klient
log_create_device=Opprettet lagringsenhet $1
log_create_fdirector=Opprettet fil daemon regiss&#248;r $1
log_create_fileset=Opprettet filsett $1
log_create_gjob=Opprettet Bacula gruppe backup-jobb $1
log_create_group=Opprettet Bacula gruppe $1
log_create_job=Opprettet backupjobb $1
log_create_pool=Opprettet volumsamling $1
log_create_schedule=Opprettet backup tidsplan $1
log_create_sdirector=Opprettet lagrings-daemon regiss&#248;r $1
log_create_storage=Opprettet lagrings daemon $1
log_delete_client=Slettet backup klient $1
log_delete_clients=Slettet $1 backup klienter
log_delete_device=Slettet lagringsenhet $1
log_delete_devices=Slettet $1 lagringsenheter
log_delete_fdirector=Slettet fil daemon regiss&#248;r $1
log_delete_fdirectors=Slettet $1 fil daemon regiss&#248;rer
log_delete_fileset=Slettet filsett $1
log_delete_filesets=Slettet $1 filsett
log_delete_gjob=Slettet Bacula gruppe backup jobb $1
log_delete_gjobs=Slettet $1 Bacula gruppe backup jobber
log_delete_group=Slettet Bacula gruppe $1
log_delete_groups=Slettet $1 Bacula grupper
log_delete_job=Slettet backup jobb $1
log_delete_jobs=Slettet $1 backupjobber
log_delete_pool=Slettet volumsamling $1
log_delete_pools=Slettet $1 volumsamlinger
log_delete_schedule=Slettet backup-tidsplan $1
log_delete_schedules=Slettet $1 backup tidsplaner
log_delete_sdirector=Slettet lagrings daemon regiss&#248;r $1
log_delete_sdirectors=Slettet $1 lagrings daemon regiss&#248;rer
log_delete_storage=Slettet lagrings daemon $1
log_delete_storages=Slettet $1 lagrings daemoner
log_director=Lagret global Bacula regiss&#248;rkonfigurasjon
log_file=Lagret Bacula fil daemon konfigurasjon
log_fixpass=Fikset Bacula konsoll-program passord
log_gbackup=Startet Bacula gruppe backup jobb $1
log_label=Merket lagrings-daemon $1
log_modify_client=Endret backup klient $1
log_modify_device=Endret lagringsenhet $1
log_modify_fdirector=Endret fil daemon regiss&#248;r $1
log_modify_fileset=Endret filsett $1
log_modify_gjob=Endret Bacula gruppe backup jobb $1
log_modify_group=Endret Bacula gruppe $1
log_modify_job=Endret backup jobb $1
log_modify_pool=Endret volumsamling $1
log_modify_schedule=Endret backup-tidsplan $1
log_modify_sdirector=Endret lagrings-daemon regiss&#248;r $1
log_modify_storage=Endret lagrings daemon $1
log_mount=Montert lagringsenhet $1
log_restart=Omstartet Bacula daemoner
log_start=Startet Bacula daemoner
log_stop=Stoppet Bacula daemoner
log_storagec=Lagret Bacula lagrings daemon konfigurasjon
log_sync=Lagret Bacula gruppesynkronisering
log_unmount=Avmonterte lagringsenhet $1
mount_done=.. montert ok.
mount_err=Kunne ikke montere lagringsenhet
mount_eslot=Manglende eller ugyldig slot-nummer
mount_failed=.. montering feilet! Sjekk feilmeldingen ovenfor for evt. &#229;rsaker til dette.
mount_header=Innstillinger for montering eller demontering av lagring
mount_mount=Monter lagring
mount_noslot=Ingen
mount_return=monteringsskjema
mount_run=Monterer volum p&#229; lagringsenhet $1 ..
mount_slot=Auto-loader slot
mount_slotno=Slot nummer
mount_storage=Lagringsenhet
mount_title=Monter eller avmonter
mount_unmount=Avmonter lagring
pool_any=Backup til et hvilket som helst volum i samling?
pool_auto=T&#248;m utl&#248;pte volumer?
pool_autolabel=Prefiks for automatisk volum-merking
pool_echild=Denne klienten kan ikke slettes siden den brukes av $1
pool_eclash=En lagringsenhet med samme navn finnes allerede
pool_egone=Volumsamling finnes ikke lenger
pool_emax=Manglende eller ugyldig antall jobber per volum
pool_ename=Manglende navn p&#229; lagringsenhet
pool_ereten=Manglende eller ugyldig oppbevaringsperiode
pool_err=Kunne ikke lagre lagringsenhet
pool_header=Detaljer for backup volumsamling
pool_max=Maksimum jobber per volum
pool_maxvolsize=Maks. volumst&#248;rrelse (f.eks 5G for 5 Gigabytes)
pool_name=Volumsamling navn
pool_recycle=Resirkuler volumer automatisk?
pool_reten=Volum oppbevaringsperiode
pool_status=Vis volumer
pool_title1=Opprett volumsamling
pool_title2=Rediger volumsamling
pool_type=Volumsamling type
pool_unlimited=Ubegrenset
pools_add=Legg til ny volumsamling.
pools_delete=Slett valgte volumsamlinger
pools_derr=Kunne ikke slette volumsamlinger
pools_name=Samling navn
pools_none=Ingen volumsamlinger er definert enda.
pools_reten=Oppbevaringsperiode
pools_return=liste over volumsamlinger
pools_title=Volumsamlinger
pools_type=Samling-type
poolstatus_bytes=Bytes skrevet
poolstatus_delete=Slett valgte volumer
poolstatus_first=F&#248;rst brukt
poolstatus_last=Sist brukt
poolstatus_name=Volumnavn
poolstatus_never=Aldri
poolstatus_none=Det er for &#248;yeblikket ingen volumer i denne backup-samlingen.
poolstatus_ok=OK
poolstatus_show=Vis volumer i samling:
poolstatus_status=Backup modus
poolstatus_title=Volumer i samling
poolstatus_type=Mediatype
poolstatus_volumes=Volumer i valgt samling.
proc_bacula-dir=Bacula regiss&#248;r daemon
proc_bacula-fd=Fil daemon
proc_bacula-sd=Lagrings daemon
proc_bareos-dir=Backula regiss&#248;r daemon
proc_bareos-fd=Fil daemon
proc_bareos-sd=Lagrings daemon
restart_err=Kunne ikke omstarte Bacula
restore_all=--Alle klienter i gruppe--
restore_client=Gjenopprett til klient eller gruppe
restore_clist=--Klienter--
restore_done=.. gjenoppretting fullf&#248;rt.
restore_eall1=Du m&#229; velge <b>Alle klienter i backup</b> for <b>Gjenopprett til klient eller gruppe</b> n&#229;r du utf&#248;rer en Bacula gruppejobb gjenoppretting
restore_eall2=<b>Alle klienter i backup</b> kan bare velges for <b>Gjenopprett til klient eller gruppe</b> n&#229;r du utf&#248;rer en Bacula gruppejobb gjenoppretting
restore_eclient=Ingen klient eller Bacula gruppe valgt
restore_eclients=Fant ingen medlemmer av Bacula gruppe backup!
restore_efiles=Ingen filer angitt
restore_egroup=Bacula gruppe finnes ikke
restore_ejob=Ugyldig jobb ID
restore_ejobfiles=Ingen filer loggf&#248;rt for jobb
restore_enofiles=Ingen av de valgte filene finnes i backup
restore_eok=.. jobb kunne ikke startes
restore_err=Kunne ikke gjenopprette sikkerhetskopi
restore_ewhere=Manglende katalog &#229; gjenopprette til
restore_failed=.. gjenoppretting ble ikke fullf&#248;rt ordentlig. Sjekk feilmeldingen ovenfor for ytterligere detaljer.
restore_files=Filer som skal gjenopprettes
restore_glist=--Bacula grupper--
restore_header=Innstillinger for gjenoppretting av tidligere backup jobber
restore_jlist=--Enkle systemjobber--
restore_job=Jobb som skan gjenopprettes
restore_level_D=Differensiell
restore_level_F=Full
restore_level_I=Inkrementell
restore_njlist=--Bacula gruppejobber--
restore_ok=Gjenopprett n&#229;
restore_return=gjennopprettingsskjema
restore_run=Starter gjenoppretting av jobb $1 til klient $2 fra lagring $3 ..
restore_running=.. gjenopprettingen kj&#248;rer n&#229;. N&#229;r den er fullf&#248;rt vil resultatene vises nedenfor ..
restore_running2=.. gjenopprettingen er startet i bakgrunnen.
restore_storage=Gjenopprett fra lagringsenhet
restore_title=Gjenopprett sikkerhetskopi
restore_title2=Gjenopprett backup til Bacula gruppe
restore_title3=Gjenopprett Bacula gruppe backup
restore_where=Gjenopprett til katalog
restore_where2=Annen rot-katalog
schedule_echild=Denne tidsplanen kan ikke slettes siden den brukes av $1
schedule_eclash=En tidsplan med samme navn finnes allerede
schedule_ename=Manglende eller ugyldig tidsplan-navn
schedule_err=Kunne ikke lagre backup-tidsplan
schedule_etimes=Manglende backup-tidspunkt i rad $1
schedule_header=Detaljer for backup-tidsplan
schedule_level=Backup niv&#229;
schedule_name=Backup-tidsplan navn
schedule_pool=Volum
schedule_runs=Kj&#248;reniv&#229; og tidspunkt
schedule_times=Kj&#248;rt p&#229; tidspunkt
schedule_title1=Opprett tidsplan for backup
schedule_title2=Rediger tidsplan for backup
schedules_add=Legg til ny tidsplan for backup.
schedules_delete=Slett valgte tidsplaner
schedules_derr=Kunne ikke slette tidsplaner
schedules_name=Tidsplan navn
schedules_none=Ingen tidsplaner for backup er definert enda.
schedules_return=liste over tidsplaner
schedules_sched=Kj&#248;reniv&#229; og tidspunkt
schedules_title=Tidsplaner for backup
sdirector_eclash=En regiss&#248;r med samme navn finnes allerede
sdirector_egone=Regiss&#248;r finnes ikke lenger!
sdirector_ename=Mangler regiss&#248;r navn
sdirector_epass=Manglende passord
sdirector_err=Kunne ikke lagre lagrings-daemon regiss&#248;r
sdirector_header=Detaljer for kontrollerende ekstern regiss&#248;r
sdirector_monitor=Tillat bare overv&#229;kings-tilkobling?
sdirector_name=Regiss&#248;r navn
sdirector_pass=Akseptert passord
sdirector_title1=Opprett lagrings-daemon regiss&#248;r
sdirector_title2=Rediger Lagrings-daemon regiss&#248;r
sdirectors_add=Legg til ny regiss&#248;r.
sdirectors_delete=Slett valgte regiss&#248;rer
sdirectors_derr=Kunne ikke slette regiss&#248;rer
sdirectors_name=Regiss&#248;r navn
sdirectors_none=Ingen regiss&#248;rer er definert enda.
sdirectors_pass=Akseptert passord
sdirectors_return=liste over regiss&#248;rer
sdirectors_title=Lagrings daemon regiss&#248;rer
start_einit=Fant ikke noe init script for $1
start_err=Kunne ikke starte Bacula
start_erun=Kunne ikke starte $1 : $2
stop_err=Kunne ikke stoppe Bacula
storage_address=Vertsnavn eller IP adresse
storage_device=Lagringsenhet navn
storage_eaddress=Manglende eller ugyldig vertsnavn eller adresse
storage_echild=Denne klienten kan ikke slette siden den brukes av $1
storage_eclash=En lagrings-daemon med samme navn finnes allerede
storage_edevice=Mangler lagringsenhet navn
storage_egone=Lagrings-daemon finnes ikke lenger!
storage_emaxjobs=Mangler maks samtidige jobber
storage_emedia=Mangler mediatype navn
storage_ename=Mangler lagrings-daemon navn
storage_epass=Mangler passord
storage_eport=Manglende eller ugyldig SD port
storage_err=Kunne ikke lagre lagrings-daemon
storage_header=Detaljer for ekstern lagrings-daemon
storage_maxjobs=Maks. samtidige jobber
storage_media=Mediatype navn
storage_name=Lagringsdaemon navn
storage_other=Annen..
storage_pass=Bacula SD passord
storage_port=Bacula SD port
storage_status=Vis status
storage_title1=Opprett lagringsdaemon
storage_title2=Rediger lagringsdaemon
storagec_dir=Bacula arbeidskatalog
storagec_edir=Manglende eller ikke-eksisterende arbeidskatalog
storagec_ejobs=Manglende eller ugyldig antall samtidige jobber
storagec_ename=Manglende eller ugyldig lagrinsgs-daemon navn
storagec_enone=Ingen lagringsdaemon-konfigurasjon funnet!
storagec_eport=Manglende eller ugyldig portnummer
storagec_err=Kunne ikke lagre lagrings-daemon konfigurasjon
storagec_header=Innstillinger for Bacula lagringsdaemon
storagec_jobs=Maks. antall samtidige jobber
storagec_name=Daemon navn
storagec_port=Lytt p&#229; port
storagec_title=Lagrings-daemon konfigurasjon
storages_add=Legg til ny lagrings daemon.
storages_address=Vertsnavn eller adresse
storages_delete=Slett valgte lagringsdaemoner
storages_derr=Kunne ikke slette lagrings-daemoner
storages_device=Lagringsenhet
storages_name=Lager navn
storages_none=Ingen lagrings-daemoner er definert enda.
storages_return=liste med lagrings-daemoner
storages_title=Lagrings-daemoner
storages_type=Media type
storagestatus_err=Kunne ikke hente status fra $1 : $2
storagestatus_msg=Status fra $1 : $2
storagestatus_ok=OK
storagestatus_show=Vis status for lagrings-daemon
storagestatus_title=Lagrings-daemon status
sync_err=Kunne ikke lagre Bacula gruppe synkronisering
sync_header=Innstillinger for automatisk synkronisering av Bacula gruppe klient
sync_sched=Synkroniser ihht. tidsplan?
sync_schedyes=Ja, p&#229; tidspunklt valgt nedenfor ..
sync_title=Bacula gruppe-synkronisering
tls_cacert=TLS PEM sertifikatautoritet fil
tls_cert=TLS PEM sertifikatfil
tls_ecacert=Manglende eller ikke-eksisterende TLS CA sertifikat-fil
tls_ecert=Manglende eller ikke-eksisterende TLS sertifikat fil
tls_ecerts=For at TLS skal kunne aktiveres m&#229; du angi sertifikat-, n&#248;kkel- og CA-filer
tls_ekey=Manglende eller ikke-eksisterende TLS n&#248;kkel-fil
tls_enable=Aktiver TLS kryptering?
tls_key=TLS PEM n&#248;kkelfil
tls_none=Ingen
tls_require=Godta bare TLS tilkoblinger?
tls_verify=Verifiser TLS klienter?
unmount_done=.. av-montert!
unmount_failed=.. av-montering feilet! Sjekk feilmeldingen ovenfor for mer informasjon.
unmount_run=Avmonterer volum p&#229; lagringsenhet $1 ..
weekdaynum_1=F&#248;rste
weekdaynum_2=Andre
weekdaynum_3=Tredje
weekdaynum_4=Fjerde
weekdaynum_5=Femte

View File

@@ -12,3 +12,4 @@ desc_ms_MY=Sistem backup Bacula
longdesc_ms_MY=Konfigurasi Bacula untuk melaksanakan salinan dan mengembalikan secara manual atau mengikut jadual, untuk satu atau banyak sistem.
longdesc_de=Konfiguriert Bacula um Sicherungen zu erstellen und manuell oder nach Plan wiederherzustellen, f&#252;r eine oder viele Systeme.
longdesc_pl=Skonfiguruj Bacula do przeprowadzania kopii zapasowej i przywracania rêcznie lub wed³ug harmonogramu na jednym lub wielu systemach.
desc_no=Bacula backupsystem

View File

@@ -18,3 +18,4 @@ desc_hu.UTF-8=Forgalmi monitor
desc_no=Overv&#229;king av b&#229;ndbredde
longdesc_ms_MY=Lihat laporan mengenai penggunaan jalur lebar oleh host, port, protokol dan masa pada sistem Linux.
desc_ms_MY=Pemantauan jalur lebar
longdesc_pl=Raporty na temat wykorzystania transferu przez host, port, protokó³ w okre¶lonym czasie.

View File

@@ -1375,7 +1375,7 @@ if ($v =~ /^([^.]+)\@(.*)$/) {
elsif ($v =~ /^(.*)\@(.*)$/) {
local ($u, $d) = ($1, $2);
$u =~ s/\./\\\./g;
return "\"$u.$d.\"";
return "$u.$d.";
}
else {
return $v;
@@ -2537,11 +2537,14 @@ if ($add_slaves) {
if ($add_tmpl) {
# Create template records
local %bumped;
local %hash = ( 'ip' => $ip,
'dom' => $zone );
for(my $i=0; $config{"tmpl_$i"}; $i++) {
local @c = split(/\s+/, $config{"tmpl_$i"}, 3);
local $name = $c[0] eq '.' ? "$zone." : $c[0];
local $fullname = $name =~ /\.$/ ? $name : "$name.$zone.";
local $recip = $c[2] || $ip;
$recip = &substitute_template($recip, \%hash);
&create_record($file, $name, undef, "IN", $c[1], $recip);
if ($addrev && ($c[1] eq "A" || $c[1] eq "AAAA")) {
# Consider adding reverse record
@@ -2569,8 +2572,6 @@ if ($add_tmpl) {
if ($config{'tmpl_include'}) {
# Add whatever is in the template file
local $tmpl = &read_file_contents($config{'tmpl_include'});
local %hash = ( 'ip' => $ip,
'dom' => $zone );
$tmpl = &substitute_template($tmpl, \%hash);
&open_tempfile(FILE, ">>".&make_chroot($file));
&print_tempfile(FILE, $tmpl);

View File

@@ -60,12 +60,14 @@ print &ui_table_hr();
#ksklife; dt_ksklife
$ksklife = find_value("ksklife", $conf);
print &ui_table_row($text{'dt_conf_ksklife'},
ui_textbox("dt_ksklife", $ksklife, 50));
ui_textbox("dt_ksklife", $ksklife, 50)." ".
$text{'dnssec_secs'});
#zsklife; dt_zsklife
$zsklife = find_value("zsklife", $conf);
print &ui_table_row($text{'dt_conf_zsklife'},
ui_textbox("dt_zsklife", $zsklife, 50));
ui_textbox("dt_zsklife", $zsklife, 50)." ".
$text{'dnssec_secs'});
print &ui_table_hr();

View File

@@ -149,6 +149,7 @@ dnssec_eperiod=Fehlende oder ung&#252;ltige Anzahl der Tage zwischen erneutem si
dnssec_err=Fehlgeschlagen DNSSEC Schl&#252;ssel erneut zu signieren
dnssec_header=Schl&#252;ssel 'erneut-signieren' Optionen
dnssec_period=Periode zwischen erneut signieren?
dnssec_secs=Sekunden
dnssec_title=DNSSEC Schl&#252;ssel erneut signieren
dnssectools_title=DNSSEC-Tools Automation
drecs_enone=Keine ausgew&#228;hlt

View File

@@ -1098,6 +1098,7 @@ dnssec_header=Key re-signing options
dnssec_enabled=Automatic key re-signing enabled?
dnssec_period=Period between re-signs?
dnssec_days=days
dnssec_secs=seconds
dnssec_desc=Zones signed with DNSSEC typically have two keys - a zone key which must be re-generated and signed regularly, and a key signing key which remains constant. This page allows you to configure Webmin to perform this re-signing automatically.
dnssec_err=Failed to save DNSSEC key re-signing
dnssec_eperiod=Missing or invalid number of days between re-signs

View File

@@ -280,6 +280,7 @@ edit_err=Kunne ikke lagre oppf&#248;ring
edit_eserv=Du oppga ikke noen vekjente tjenester
edit_eserv2='$1' er ikke et gyldig tjenestenavn
edit_espfa='$1' er ikke en gyldig vert &#229; tillate sending fra
edit_espfa2='$1' m&#229; v&#230;re etvertsnavn, ikke en IP-adresse
edit_espfexp='$1' er ikke et gyldig oppf&#248;ringsnavn for en avvisningsmelding
edit_espfinclude='$' er ikke et gyldig ekstra domene som e-post kan sendes fra
edit_espfip='$1' er ikke en gyldig IP adresse eller IP/prefiks &#229; tillate sending fra

View File

@@ -13,6 +13,7 @@ acl_findfree=Mo
acl_forward=Może tworzyć strefy pośredniczące?
acl_gen=Czy może edytować generatory rekordu?
acl_inview=Strefy w widoku &lt;$1&gt;
acl_inviews=Widoki na których użytkownik może edytować domeny
acl_master=Może tworzyć strefy podstawowe?
acl_multiple=Może tworzyć wiele nazw o tym samym IP?
acl_opts=Może modyfikować opcje stref?
@@ -22,6 +23,7 @@ acl_reverse=Mo
acl_ro=Tryb tylko do odczytu?
acl_slave=Może tworzyć strefy zapasowe/skrótowe?
acl_slaves=Czy może zarządzać klastrem serwerów zapasowych?
acl_toplevel=Poza dowolnym widoku
acl_types=Dozwolone rodzaje rekordów
acl_types0=Tylko te z listy
acl_types1=Wszystkie
@@ -106,6 +108,8 @@ controls_unixopt=Pozwoli
controls_unixowner=Właścicielem FIFO jest użytkownik
controls_unixperm=Uprawnienia FIFO
controls_unixyes=Tak, użyj pliku $1
convert_ebinary=Polecenie potrzebne do konwersji z binarnej strefy slave do formatu tekstowego master nie jest zainstalwoane
convert_ecompile=Konwersja z formatu binarnego to tekstowego nie powiodła się : $1
convert_efile=Musisz określić plik strefy zanim będzie można zamienić strefę zapasową na podstawową.
convert_efilesize=Plik rekordów $1 nie istnieje lub jest pusty
convert_err=Błąd konwertowania strefy
@@ -187,16 +191,34 @@ dt_zone_deleting_state=Usuwanie wszystkich stan
dt_zone_desc=Dla tej strefy DNSSEC nie jest jeszcze włączony. Możesz użyć tego formularza, aby Webmin automatycznie użył DNSSEC-Narzędzia, aby strefa była dodatkowo chroniona przed atakami typu DNS spoofing.
dt_zone_disable=Wyłącz DNSSEC
dt_zone_disabledesc=Usuwa tę strefę z listy stref zarządzanych przez DNSSEC-Narzędzia.
dt_zone_dne=Uwierzytelniony Denial of Existence
dt_zone_done=... gotowe
dt_zone_dssep=Rekord DS :
dt_zone_edne=Błąd uwierzytelniania mechanizmu odmowy
dt_zone_enable=DNSSEC Automatyzacja
dt_zone_enocmd=dnssec-tools nie jest zainstalowany lub polecenie nie zostało znalezione
dt_zone_enokey=Nie można odnaleźć wymaganych kluczy dla strefy $1
dt_zone_erollctl=Nie udało się powiadomić menadżera rollover o zdarzeniu rollover
dt_zone_err=Operacja DNSSEC nie powiodła się
dt_zone_errfopen=Nie można otworzyć pliku systemowego rollrec do zapisu
dt_zone_expandsep=Wyświetl aktualne szczegóły KSK i DS
dt_zone_header=Opcje strefy DNSSEC-Tools
dt_zone_keyrollon=Klucz Rollover w toku
dt_zone_ksknotify=Wznów KSK Roll
dt_zone_ksknotifydesc=Wznowienie KSK rollover. Operator musi potwierdzić, że nowe DS ustawione dla stref KSK zostały opublikowane przez nadrzędną strefę
dt_zone_kskroll=Roll KSK
dt_zone_ksksep=Record KSK :
dt_zone_migrate=Migracja do DNSSEC-Tools
dt_zone_migratedesc=Importuje aktualny zestaw kluczy do DNSSEC-Tools i zautomatyzuj przyszłe operacje na kluczach rollover DNSSEC.
dt_zone_resign=Ponowne podpisanie strefy
dt_zone_resigndesc=Użyj aktualnego klucza, aby natychmiast ponownie podpisać strefę
dt_zone_rollerdrst=Uruchom Rollerd
dt_zone_rollerdrstdesc=Uruchom daemon Rollerd
dt_zone_rrf_updating=Aktualizowanie wpisu rollrec dla strefy $1 ...
dt_zone_signing=Podpisywanie strefy $1 ...
dt_zone_title=Zarządzanie operacjami DNSSEC dla strefy
dt_zone_zoneupdate=Aktualizowanie rekordów w strefie $1 ...
dt_zone_zskroll=Roll ZSK
edit_A=Adres
edit_AAAA=Adres IPv6
edit_CNAME=Alias nazwy
@@ -226,10 +248,13 @@ edit_ecname='$1' nie jest poprawnym celem dla aliasu
edit_ecname1=Nie można tworzyć rekordów typu alias nazwy o tej samej nazwie, co rekord istniejący.
edit_ecname2=Nie można tworzyć rekordów o tej samej nazwie, co istniejący rekord typu alias nazwy.
edit_edit=Edytuj rekord $1
edit_edmarcpct=Procent wiadomości musi być liczbą całkowitą pomiędzy 0,a 100
edit_edmarcrua=Brakujący adres zbiorczej informacji zwrotnej
edit_edupip=Rekord adresu dla $1 już istnieje
edit_eemail='$1' nie jest poprawnym adresem e-mail
edit_eflags='$1' nie jest poprawną liczbą dziesiętną lub ósemkową flag klucza
edit_efqdn=Nazwa bezwzględna '$1' jest za długa
edit_egone=Wybrany rekord już nie istnieje!
edit_ehard=Brakujący lub niepoprawny typ sprzętu
edit_ehost='$1' nie jest prawidłową nazwą hosta
edit_eip='$1' nie jest prawidłowym adresem IP
@@ -240,6 +265,8 @@ edit_eloc=Nie podano szeroko
edit_emx='$1' nie jest poprawnym serwerem poczty
edit_ename='$1' nie jest prawidłową nazwą rekordu
edit_ens='$1' nie jest poprawnym serwerem DNS
edit_ensec3value2=Brakująca lub nienumeryczna liczba iteracji
edit_ensec3value3=Brakująca lub nie kodowana przez base64 sól
edit_eos=Brakujący lub niepoprawny rodzaj OS
edit_eport='$1' nie jest poprawnym numerem portu
edit_epri='$1' nie jest poprawnym priorytetem
@@ -250,10 +277,13 @@ edit_err=B
edit_eserv=Nie wprowadziłeś żadnej dobrze znanej usługi
edit_eserv2='$1' nie jest poprawną nazwą usługi
edit_espfa='$1' nie jest poprawnym hostem dozwolonym do wysyłania
edit_espfa2='$1' musi być nazwą hosta, a nie adresem IP
edit_espfexp='$1' jest poprawną nazwą rekodu dla odrzucania komunikatów
edit_espfinclude='$1' nie jest poprawną domeną dodatkową, z której wysłana jest poczta
edit_espfip='$1' nie jest poprawnym adresem IP lub IP/prefix do wysyłania
edit_espfip6='$1' nie jest poprawnym adresem IPv6 lub IPv6/prefix umożliwiającym wysyłanie z
edit_espfmx='$1' nie jest poprawną nazwą domeny do wysyłania MX
edit_espfmxmax=Nie możesz posiadać więcej niż 10 domen pozwalających na wysyłanie MX z
edit_espfredirect='$1' nie jest poprawną nazwą domeny alternatywnej
edit_etarget='$1' nie jest poprawną nazwą serwera lub adresu
edit_ettl='$1' nie jest prawidłowym czasem życia
@@ -391,13 +421,16 @@ index_apply=Zastosuj zmiany
index_applymsg=Naciśnij ten przycisk, aby przeładować działający serwer BIND. Spowoduje to uaktywnienie bieżącej konfiguracji.
index_applymsg2=Kliknij ten przycisk, aby zrestartować uruchomiony serwer BIND i wszystkie serwery zapasowe. Spowoduje to uaktywnienie bieżącej konfiguracji.
index_bind=BIND
index_checkconfig=Upewnij się, że katalog chroot jest poprawnie ustawiony na stronie <a href='$1'>konfiguracji modułu</a>.
index_chroot=BIND wersja $1, jako chroot $2
index_create=Utwórz podstawowy plik konfiguracyjny i uruchom serwer DNS
index_delegation=Delegacja
index_download=Ustaw jako internetowy serwer DNS i pobierz informację o głównych serwerach DNS
index_eempty=Pierwotny plik konfiguracyjny serwera BIND $1 nie istnieje lub jest nieprawidłowy. Czy utworzyć go od nowa?
index_emissingchroot=Uwaga : Webmin myśli, że BIND nie używa katalogu chroot, ale może to nie być prawda. Pliki strefy dla domen $1 nie zostały znalezione.
index_enamed=Nie znaleziono serwera DNS BIND $1 w Twoim systemie. Możliwe, że nie został zainstalowany lub Twoja <a href='$2'>Konfiguracja modułu</a> serwera BIND jest nieprawidłowa.
index_eversion=Program serwera $1 nie jest serwerem BIND 8 ani 9. Możliwe, że powinieneś użyć modułu <a href='$2'>BIND 4</a>.
index_ewrongchroot=Uwaga : Webmin, myśli, że BIND używa katalogu chroot $2, możliwe jednak, że jest on nieprawidłowy. Pliki strefy dla domen $1 nie zostały znalezione.
index_find=Znajdź strefy :
index_forward=Pośrednicząca
index_hint=Główna
@@ -718,6 +751,7 @@ net_eport='$1' nie jest poprawnym numerem portu
net_erecur=Nie wprowadzono adresów z których pozwalać na zapytanie rekursyjne
net_err=Nie udało się zachować opcji adresów i topologii
net_etopology=Nie podano topologii adresów
net_etport=Źródłowy transferu nie może zostać określony bez adresu
net_eusedport=Dla portu $1 dozwolony jest tylko jeden wiersz adresów
net_header=Ogólne opcje adresów i topologii
net_ip=Adres IP
@@ -727,6 +761,7 @@ net_recur=Pozw
net_saddr=Źródłowy adres IP dla zapytań
net_sport=Źródłowy port dla zapytań
net_taddr=Źródłowy adres IP dla transferów
net_taddrdef=Najbliższe IP
net_title=Adresy i topologia
net_topol=Topologia wyboru serwera DNS
net_tport=Źródłowy port dla transferów
@@ -738,11 +773,14 @@ rdmass_enone=Nie zaznaczono
rdmass_err=Błąd usuwania rekordów w strefach
rdmass_header=Masowe szczegóły kasowania rekordów
rdmass_name=Nazwa rekordu do usunięcia
rdmass_none=.. nie znaleziono pasujących rekordów z $1 do usunięcia
rdmass_ok=Usuwanie rekordów
rdmass_sel=Rekordy nazwane
rdmass_title=Kasowanie rekordów w strefach
rdmass_type=Typ rekordu do usunięcia
rdmass_vall=Wszystkie pasujące nazwy i typy
rdmass_value=Wartość rekordów do usunięcia
rdmass_vsel=Rekordy z wartością
recs_A=Adres
recs_AAAA=Adres IPv6
recs_ALL=Wszystkie
@@ -770,7 +808,9 @@ recs_ecannottype=Nie masz uprawnie
recs_find=Pokaż rekordy pasujące:
recs_header=W $1
recs_name=Nazwa
recs_needsearch=Wyszukaj pasujące rekordy.
recs_none=Domena nie zawiera żadnych rekordów $1.
recs_nosearch=Nie znaleziono pasujących rekordów.
recs_return=rodzajów rekordu
recs_search=Wyszukaj
recs_title=Rekordy $1
@@ -791,10 +831,12 @@ rmass_clash=Utworzy
rmass_doing=Dodawanie rekordu do strefy $1 ..
rmass_done=.. zakończono.
rmass_eclash=.. rekord o takiej samej nazwie i wartości $1 już istnieje.
rmass_eclash2=.. rekord o takiej samej nazwie i wartości $1 już istnieje.
rmass_ename=Brakująca lub nieprawidłowa nazwa rekordu
rmass_ename2=Nazwa rekordu nie może kończyć się na .
rmass_enone=Nie wybrano
rmass_err=Błąd dodawania rekordów
rmass_esign=.. gotowe, ale podpisanie nie powiodło się : $1
rmass_ettl=Brakujący lub nieprawidłowy czas życia
rmass_header=Szczegóły masowego dodawania rekordów
rmass_name=Nazwa nowego rekordu
@@ -869,6 +911,7 @@ slave_query=Pozw
slave_title=Edytuj strefę zapasową
slave_transfer=Pozwól na transfer z..
slave_update=Pozwól na aktualizację z..
slave_xfer=Testowy transfer strefy
slaves_add=Dodaj serwer
slaves_delete=Usuń zaznaczone
slaves_desc=Opis
@@ -906,6 +949,7 @@ text_desc2=Ta strona wy
text_desc3=Formularz ten umożliwia ręczną edycję pliku strefy DNS $1. Składnia nie jest sprawdzana przez Webmina.
text_ecannot=Nie masz uprawnień do modyfikacji plików stref
text_none=Jednakże plik jest pusty, ponieważ strefa nie została przetransferowana z serwera głównego.
text_rawformat=Ta strefa jest w formacie binarnym i nie może zostać wyświetlona jako tekst.
text_soa=Automatycznie zwiększ numer seryjny
text_title=Edytuj plik strefy
text_title2=Wyświetl pliki rekordów
@@ -942,6 +986,7 @@ type_A=Adresy
type_AAAA=Adresy IPv6
type_ALL=Wszystkie rodzaje rekordów
type_CNAME=Aliasy nazw
type_DMARC=DMARC
type_HINFO=Informacje o hostach
type_KEY=Klucz publiczny
type_LOC=Lokalizacja
@@ -987,6 +1032,9 @@ value_MX2=Serwer poczty
value_NS1=Serwer DNS
value_NSEC3PARAM1=Algorytm haszowania
value_NSEC3PARAM2=Flagi NSEC3
value_NSEC3PARAM3=Liczba iteracji haszowania
value_NSEC3PARAM4=Długość soli
value_NSEC3PARAM5=Sól
value_PTR1=Nazwa hosta
value_RP1=Adres e-mail
value_RP2=Nazwa rekordu tekstowego
@@ -999,8 +1047,18 @@ value_TXT1=Informacja
value_WKS1=Adres
value_WKS2=Protokół
value_WKS3=Usługi
value_delegated=Strefa wydelegowana
value_dmarcadkim=Wymaga ścisłego wyrównania DKIM
value_dmarcaspf=Wymaga ścisłego wyrównania SPF
value_dmarcnone=Nie podejmuj żadnych działań
value_dmarcnop=Takie samo jak tej domeny
value_dmarcnor=Nie wysyłaj
value_dmarcp=Polityka dla e-maili, które nie przeszły SPF lub DKIM
value_dmarcpct=Procent wiadomości, aby zastosować politykę
value_dmarcquar=Kwarantanna e-maila
value_dmarcreject=Odrzuć e-mail
value_dmarcrua=Wyślij zbiorczą informację zwrotną do
value_dmarcsp=Polityka dla subdomen
value_notdelegated=Inne strefy
value_other=Wartości (jedna w wierszu)
value_spfa=Pozwolić na wysyłanie z adresu IP domeny?
@@ -1014,6 +1072,7 @@ value_spfas=Dodatkowo dozwolone hosty wysy
value_spfexp=Rekord TXT dla powodu odrzucania
value_spfincludes=Inne domeny, z których wysyłana jest poczta
value_spfip4s=Dodatkowo dozwolone adresy IP/sieci wysyłającego
value_spfip6s=Dodatkowe dozwolone nadawcze adresy IPv6/sieci
value_spfmx=Pozwolić na wysyłanie z hostów MX domeny?
value_spfmxs=Dodatkowo dozwolone domeny MX wysyłającego
value_spfnoexp=Brak
@@ -1050,6 +1109,7 @@ weeks=tygodni
whois_ecannot=Nie masz uprawnień do oglądania informacji WHOIS
whois_header=Wynik polecenia $1 ..
whois_title=Informacje z bazy WHOIS
xfer_count=Transfer testowy pomyślnie pobrał $1 rekordów z przynajmniej jednego serwera nazw. Prawdziwe transfery BIND także powinny się powieść.
xfer_doing=Test transferu strefy z $1 ..
xfer_done=.. od $1 : Gotowe
xfer_failed=.. z $1 : niepowodzenie : $2

View File

@@ -37,3 +37,4 @@ desc_hu=DNS szerver (Bind)
longdesc_ms_MY=Membuat dan mengubah domain, rekod DNS, 'options' dan 'views' pada BIND.
desc_ms_MY=Pelayan DNS BIND
longdesc_de=Erstellt und bearbeitet Domains, DNS-Eintr&#228;ge, BIND-Optionen und Ansichten.
longdesc_pl=Twórz i edytuj domeny, rekordy DNS, opcje BIND i widoki.

View File

@@ -27,3 +27,4 @@ desc_no=CD Brenner
longdesc_ms_MY=Burn data CD dari imej ISO atau direktori yang dipilih.
desc_ms_MY=CD Burner
longdesc_de=Brennt Daten-CD von ISO-images oder ausgew&#228;hlten Verzeichnissen.
longdesc_pl=Nagrywaj dane na CD z obrazów ISO lub wybranych katalogów.

View File

@@ -8,31 +8,24 @@ our (%text, %in);
# Output HTML for editing security options for the acl module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_lang'}</b></td> <td nowrap>\n";
printf "<input type=radio name=lang value=1 %s> $text{'yes'}\n",
$_[0]->{'lang'} ? 'checked' : '';
printf "<input type=radio name=lang value=0 %s> $text{'no'}</td>\n",
$_[0]->{'lang'} ? '' : 'checked';
my ($o) = @_;
print &ui_table_row($text{'acl_lang'},
&ui_yesno_radio("lang", $o->{'lang'}));
print "<td><b>$text{'acl_theme'}</b></td> <td nowrap>\n";
printf "<input type=radio name=theme value=1 %s> $text{'yes'}\n",
$_[0]->{'theme'} ? 'checked' : '';
printf "<input type=radio name=theme value=0 %s> $text{'no'}</td> </tr>\n",
$_[0]->{'theme'} ? '' : 'checked';
print &ui_table_row($text{'acl_theme'},
&ui_yesno_radio("theme", $o->{'theme'}));
print "<tr> <td><b>$text{'acl_pass'}</b></td> <td nowrap>\n";
printf "<input type=radio name=pass value=1 %s> $text{'yes'}\n",
$_[0]->{'pass'} ? 'checked' : '';
printf "<input type=radio name=pass value=0 %s> $text{'no'}</td> </tr>\n",
$_[0]->{'pass'} ? '' : 'checked';
print &ui_table_row($text{'acl_pass'},
&ui_yesno_radio("pass", $o->{'pass'}));
}
# acl_security_save(&options)
# Parse the form for security options for the acl module
sub acl_security_save
{
$_[0]->{'lang'} = $in{'lang'};
$_[0]->{'theme'} = $in{'theme'};
$_[0]->{'pass'} = $in{'pass'};
my ($o) = @_;
$o->{'lang'} = $in{'lang'};
$o->{'theme'} = $in{'theme'};
$o->{'pass'} = $in{'pass'};
}

View File

@@ -1,36 +1,36 @@
index_overlaydef=Brak - użyj domyślnej dla motywu
index_themeglobal=Motyw globalny ($1)
index_langset=Osobisty wybór ..
change_epass2=Nowe hasła nie pasują do siebie
index_themeset=Osobisty wybór ..
index_desc2=W tym module możesz zmienić $1, dla twojego konta.
index_d3=$1, $2 i $3
__norefs=1
acl_lang=Może zmienić język?
change_eoverlay=Nie można wybrać nakładki motywu jeśli nie wybrano motywu.
index_passagain=Powtórz hasło
index_themedef=Stary motyw Webmina
index_theme=Motyw interfejsu Webmina
index_ok=Zapisz zmiany
acl_pass=Może zmienić hasło (jeżeli zostało ustawione w Webmin) ?
acl_theme=Może zmienić motyw?
change_done=.. gotowe
change_ecolon=Twoje hasło nie może zawierać : znaku
change_eoverlay=Nie można wybrać nakładki motywu jeśli nie wybrano motywu.
change_eoverlay2=Wybrana nakładka motywu jest niekompatybilna z wybranym motywem.
change_epass=Nowe hasło jest nieprawidłowe : $1
change_epass2=Nowe hasła nie pasują do siebie
change_redirect=Powrót do głównego menu ..
change_restart=Restart Webmina ..
change_title=Zmian Ustawień
change_user=Zmian logowania Webmina ..
index_d1=$1
index_d2=$1 i $2
index_d3=$1, $2 i $3
index_desc2=W tym module możesz zmienić $1, dla twojego konta.
index_dlang=język, w którym wyświetlane są moduły
index_dpass=hasło używane do logowania w Webminie
index_dtheme=motyw, który kontroluje wygląd Webmina
index_lang=Język interfejsu Webmina
__norefs=1
change_ecolon=Twoje hasło nie może zawierać : znaku
change_user=Zmian logowania Webmina ..
index_langglobal2=Język globalny .. $1 ($2)
index_passleave=Pozostaw niezmienione
index_pass=Hasło logowania do Webmina
index_d1=$1
change_restart=Restart Webmina ..
acl_theme=Może zmienić motyw?
index_d2=$1 i $2
index_langset=Osobisty wybór ..
index_ok=Zapisz zmiany
index_overlay=Nakładka motywu
index_title=Zmiana języka i motywu graficznego
change_redirect=Powrót do głównego menu ..
change_eoverlay2=Wybrana nakładka motywu jest niekompatybilna z wybranym motywem.
change_title=Zmian Ustawień
index_dpass=hasło używane do logowania w Webminie
index_overlaydef=Brak - użyj domyślnej dla motywu
index_pass=Hasło logowania do Webmina
index_passagain=Powtórz hasło
index_passleave=Pozostaw niezmienione
index_passset=Zmień na ..
acl_pass=Może zmienić hasło (kiedy ustawione w Wbminie) ?
index_dlang=język, w którym wyświetlane są moduły
change_epass=Nowe hasło jest nieprawidłowe : $1
index_theme=Motyw interfejsu Webmina
index_themedef=Stary motyw Webmina
index_themeglobal=Motyw globalny ($1)
index_themeset=Osobisty wybór ..
index_title=Zmiana języka i motywu graficznego

View File

@@ -35,4 +35,4 @@ desc_no=Endre spr&#229;k og tema
longdesc_hu=Webmin nyelvezetésnek és témájának módosítása
longdesc_ms_MY=Membolehkan pengguna Webmin untuk menukar bahasa, tema dan mungkin kata laluan.
desc_ms_MY=Tukar Bahasa dan Tema
longdesc_pl=Pozwala aktualnemu u¿ytkownikowi Webimina na zmianê jêzyka, szablonu i mo¿liwego has³a.
longdesc_pl=Pozwala aktualnemu u¿ytkownikowi Webimina na zmianê jêzyka, motywu i has³a (o ile to mo¿liwe).

13
cluster-copy/help/intro.pl.html Executable file
View File

@@ -0,0 +1,13 @@
<header>Kopiowanie plików klastra</header>
Ten moduł pozwala na zaplanowany transfer plików z głównego serwera
na inne serwery w klastrze Webmina. Może to być przydatne do rozesłania
takich plików jak np. <tt>/etc/hosts</tt>, <tt>httpd.conf</tt> i innych, dla
których nie s&#177; dostępne protokoły sieciowe takie jak NIS lub LDAP. <p>
Na głównej stronie modułu znajduje się lista wszystkich zaplanowanych kopii
oraz link umożliwiaj&#177;cy stworzenie nowych. Dla każdej kopii możesz okreliść
plik Źródłowy, katalog docelowy i czas uruchomienia. Serwery docelowe muszą
być najpierw dodane do modułu <b>Serwery Webmina</b> z loginem i hasłem <p>
<hr>

View File

@@ -14,3 +14,4 @@ desc_pl=Klaster - Kopia plik
desc_hu=Cluster fájlok másolása
longdesc_ms_MY=Jadualkan pemindahan fail dari pelayan ini ke pelayan yang lain dalam kluster Webmin.
desc_ms_MY=Kluster Fail Salinan
longdesc_pl=Zaplanowany transfer plików z tego serwera do innych serwerów w klastrze.

13
cluster-cron/help/intro.pl.html Executable file
View File

@@ -0,0 +1,13 @@
<header>Harmonogram zadań Cron w klastrze</header>
Ten moduł jest prawie identyczny co <b>Harmonogram zadań Cron</b>, ale
pozwala na jednoczesne uruchomienie zaplanowanych poleceń na wielu serwerach.
Jest to przydane, jeżeli w twojej sieci jest więcej serwerów i chcesz uruchomiać to
samo polecenie na wszystkich. <p>
Interfejs użytkownika jest prawie identyczny jak w standardowym module Crona,
ale dodatkowo zawiera pole <b>Uruchom na serwerach</b> w edycji zadania.
Pozwala to na wybranie jednego lub więcej serwerów lub grup z modułu <b>Serwery Webmina</b> <p>
<hr>

View File

@@ -11,7 +11,8 @@ desc_nl=Cluster - Geplande Taken (Cron)
desc_cz=Cluster - Cron úkoly
desc_cz.UTF-8=Cluster - Cron úkoly
desc_no=Klynge - Cron jobber
desc_pl=Klaster - Planowanie zadañ (Cron)
desc_pl=Klaster - Harmonogram zadañ (Cron)
desc_hu=Cluster idõzített futtatások
longdesc_ms_MY=Mencipta tugas Cron yang berjalan pada pelayan berganda secara serentak.
desc_ms_MY=Kluster Tugas Cron
longdesc_pl=Twórz zaplanowane zadania Cron, które zosatan± uruchomione na wielu serwerach równocze¶nie.

View File

@@ -17,3 +17,4 @@ desc_hu=Cluster jelszavak m
longdesc_ms_MY=Menukar kata laluan serentak pada pelbagai sistem dalam kluster Webmin.
desc_ms_MY=Kluster Tukar Kata laluan
longdesc_de=&#196;ndert Passw&#246;rter auf multiplen Server gleichzeitig.
longdesc_pl=Zmieñ has³a na wielu serwerach w klastrze Webmina równocze¶nie.

View File

@@ -0,0 +1,10 @@
<header>Polecenia shell klastra</header>
Ten moduł jest podobny do <b>Linia poleceń</b>, ale pozwala na proste
uruchamianie poleceń na wszystkich serwerach. Na głównej stronie modułu
możesz wpisać polecenie (lub wybrać jedno ze starych) i wybrać jeden lub
więcej serwerów lub grupę, na których ma ono zostać uruchomione.
Polecenia mogą być uruchamiane tylko na serwerach dodanych do
<b>Serwery Webmin</b>.
<hr>

View File

@@ -14,3 +14,4 @@ desc_hu=Cluster shell parancsok
desc_ms_MY=Kluster arahan Shell
longdesc_ms_MY=Menjalankan arahan pada pelbagai pelayan serentak.
longdesc_de=F&#252;hrt Befehle auf multiplen Server gleichzeitig aus.
longdesc_pl=Uruchamiaj polecenia na wielu serwerach równocze¶nie.

View File

@@ -0,0 +1,7 @@
<header>Usuwanie pakietu</header>
Ta strona pozwala na potwierdzenie usunięcia pakietu z jednego lub
większej ilości serwerów. <p>
<hr>

View File

@@ -0,0 +1,11 @@
<header>Zarządzanie serwerem</header>
Ta strona wyświetla szczegóły jednego z serwerów, na którym można
zarządzać pakietami oprogramowania przez ten moduł oraz drzewo
zainstalowanych pakietów na tym serwerze. Możesz rozwinąć drzewo
pakietów przez kliknięcie na ikonie folderu lub przez szczegóły danego
pakietu.<p>
Aby usunąć ten serwer z listy zarządzanych, naciśnij przycisk poniżej
szczegółów serwera. <p>
<hr>

View File

@@ -0,0 +1,15 @@
<header>Edycja pakietu</header>
Górna sekcja tej strony to szczegóły pakietu, który jest zainstalowany
na jednym lub więcej hostów. W przypadku pakietu, który jest na wielu
serwerach opis i inne szczegóły będą pobrane z pierwszego serwera z
listy na dole strony. <p>
Poniżej szczegółów znajduj&#177; się przyciski. Jeden z nich umożliwia
wyświetlenie listy plików z pakietu, a drugi na odinstalowanie pakietu
na wybranym lub wszystkich serwerach.
Na dole strony znajduje się tabela serwerów, na którym wybrany
pakiet jest zainstalowany. <p>
<hr>

View File

@@ -0,0 +1,7 @@
<header>Instalacja pakietu</header>
Ta strona wyświetla nazwę i opis pakietu, który zostanie zainstalowany
oraz opcje instalacji. Po naciśnięciu przycisku instalacji, pakiet zostanie
zainstalowany na wszystkich zarządzanych serwerach. <p>
<hr>

View File

@@ -0,0 +1,37 @@
<header>Cluster Software Packages</header>
Ten moduł pozwala na zarządzanie oprogramowaniem zainstalowanym
na wielu serwerach w klastrze za pomocą jednego interfejsu podobnego
do modułu Pakiety oprogramowania, ale z możliwością wykonywania
większości zadań (takich jak instalacja, wysyłania zapytań i usuwania
pakietów) na wielu serwerach Webmina za pomocą jednego działania. <p>
Na górze głównej strony tego modułu znajduje się lista serwerów, którymi
można zarządzać przez ten moduł, aby dodać serwer do tej listy musisz
go najpierw dodać do modułu <b>Klaster - Serwery Webmin</b> oraz podać
do niego dane logowania. Następnie możesz dodać serwer do tego modułu
wybierając go z listy obok przycisku Dodaj serwer. <p>
Po dodaniu serwera moduł sprawdzi czy używa on tego samego systemu
zarządzania pakietami jak ten serwer (np. RPM lub Debian) oraz pobierze
listę wszystkich zainstalowanych pakietów. <p>
'ten serwer' jest zawsze dostępny na liście serwerów do dodania, więc
możesz zarządzać pakietami lokalnie i na wielu zdalnych serwerach za
pomocą jednego interfejsu<p>
Gdy pod Zarządzanie serwerami jest przynajmniej jedna ikona, możesz
użyć tego modułu do wyszukiwania pakietów na serwerach lub odświeżyć
listę pakietów, jeżeli zostały one dodane lub usunięte za pomocą innego
modułu lub metody. <p>
Na dole strony znajduje się formularz do instalacji nowych pakietów
na wszystkich zarządzanych serwerach. Możesz wybrać Źródło
instalacji np. instalacja z pliku na tym serwerze, z przesłanego pliku
lub z adresu HTTP lub FTP z innej strony. Przy instalacji z adresu z
innej strony możesz wybrać czy każdy z zarządzanych serwerów ma
ponownie pobrać ten plik, czy ma on zostać przesłany z tego serwera.
Przesłanie pliku z tego serwera będzie szybsze, jeżeli inne serwery są
w tej samej sieci. <p>
<hr>

View File

@@ -0,0 +1,8 @@
<header>Wyszukiwanie pakietu</header>
Ta strona wyświetla listę pakietów, których nazwa lub opis pasuje do
słów kluczowych wpisanych w pole wyszukiwania na głównej stronie modułu.
Pakiety ze wszystkich serwerów będą wzięte pod uwagę. <p>
<hr>

View File

@@ -0,0 +1,29 @@
<header>Użytkownicy i grupy w klastrze</header>
Ten moduł Webmina pozwala na zarządzanie użytkownikami i grupami
na wielu serwerach w klastrze za pomocą jednego interfejsu. Jest on
podobny do modułu standardowego modułu Użytkownicy i grupy, ale
umożliwia na przeprowadzanie większości działań (np. tworzenie,
aktualizacja i usuwanie) użytkowników i grup na wielu serwerach
Webmina jednocześnie. <p>
W górnej części głównej strony modułu znajduje się sekcja Zarządzanie serwerami.
Zawiera ona listę serwerów, które mogą być zarządzane za pomocą tego modułu.
Aby dodać inny serwer do tej listy należy dodać serwer najpierw do modułu
Klaster - Serwery Webmin. Następnie można go dodać poprzez wybranie z
listy obok przycisku Dodaj serwer. <p>
Po dodaniu serwera moduł sprawdzi czy używa on tego samego formatu
pliku dla użytkownika jak ten serwer, a następnie pobierze listę wszystkich
użytkowników i grup z tego serwera i będzie ją przechowywał na tym serwerze.
Po dodaniu serwera możesz zarządzać jego użytkownikami i grupami za pomocą
tego interfejsu. <p>
Po dodaniu przynajmniej jednego serwera możesz użyć formularza wyszukiwania
użytkowników i grup ze wszystkich serwerów oraz dodawać, usuwać, a także
synchronizować. Przycisk synchronizacji może zostać wykorzystany do
automatycznego utworzenia grup i użytkowników, którzy istnieją na tym serwerze,
ale nie istnieją na innych. <p>
<hr>

View File

@@ -1,9 +1,32 @@
__norefs=1
add_echeck=Serwer $1 nie posiada modułu użytkowników i grup
add_egft=Serwer $1 nie używa takiego samego formatu pliku grupy jak ten host
add_epft=Serwer $1 nie używa takiego samego formatu pliku użytkownika jak ten host
add_err=Dodanie serwera nie powiodło się
add_gerr=Dodanie grupy nie powiodło się
add_gmsg=Dodawanie serwerów w grupie $1 ..
add_msg=Dodawanie $1 ..
add_ok=Dodano $1 z $2 użytkownikami i $3 grupami.
add_title=Dodaj serwery
gdel_failed=Usunięcie grupy nie powiodło się : $1
gdel_gone=Użytkownik już nie istnieje.
gdel_on=Usuwanie z $1 ..
gedit_add=Dodaj użytkowników
gedit_del=Usuń użytkowników
gedit_donthave=&lt;hosty, które go jej posiadają&gt;
gedit_host=Szczegóły z $1
gsave_con=Tworzenie na $1 ..
gsave_create=Dodawanie wpisu pliku grupy ..
gsave_euser=Użytkownik $1 nie istnieje
gsave_failed=Zapisanie grupy nie powiodło się : $1
gsave_gone=Grupa już nie istnieje.
gsave_header=Tworzenie grupy $1 na wszystkich hostach ..
gsave_header3=Tworzenie grupy $1 na hostach, które jej nie posiadają ..
gsave_header4=Tworzenie grupy $1 dla członków grupy $2 ..
gsave_header5=Tworzenie grupy $1 na $2 ..
gsave_nosync=Inny moduł synchronizacji nie jest wspierany przez ten host.
gsave_uon=Aktualizowanie na $1 ..
gsave_update=Aktualizowanie wpisu w pliku grup ..
host_delete=Usuń z listy zarządzanych
host_glist=Grupy na serwerze
host_groups=Liczba grup
@@ -16,8 +39,8 @@ host_type=Typ serwera
host_ulist=Użytkownicy serwera
host_users=Liczba użytkowników
index_add=Dodaj serwer
index_findgroup=Znajd¼ grupy których
index_finduser=Znajd¼ u¿ytkowników których
index_findgroup=Znajdź grupy, których
index_finduser=Znajdź użytkowników, których
index_gadd=Dodaj serwery w grupie
index_hosts=Zarządzanie serwerami
index_newgroup=Dodaj grupę
@@ -33,10 +56,99 @@ index_title=Klaster - U
index_ttype=Typ OS
index_tucount=Użytkownicy
index_users=Użytkownicy i grupy
log_add_group=Dodano użytkowników i grupy z hostów w grupie $1
log_add_host=Dodano użytkowników i grupy z hostu $1
log_create_group=Utworzono grupę $1
log_create_user=Utworzono użytkownika $1
log_delete_group=Usunięto grupę $1
log_delete_user=Usunięto użytkownika $1
log_modify_group=Zmodyfikowano grupę $1
log_modify_user=Zmodyfikowano użytkownika $!
log_refresh=Odświeżono użytkowników i grupy
log_sync=Zsynchronizowano użytkowników i grupy
refresh_del=Usunięto $1 z listy serwerów
refresh_done=.. gotowe
refresh_failed=Niepowodzenie odświeżenia $1 : $2
refresh_gadd=dodano $1 grup
refresh_gdel=usunięto $1 grup
refresh_header=Odświeżanie list użytkowników na wszystkich serwerach ..
refresh_header4=Ponowne pobieranie list użytkowników i grup z $2 ..
refresh_header5=Odświeżanie list użytkowników na $2 ..
refresh_host=Odświeżono
refresh_title=Odświeżanie użytkowników i grup
refresh_uadd=dodano $1 użytkowników
refresh_udel=usunięto $1 użytkowników
search_hosts=Hosty
sync_copy=Skopiować pliki do katalogu domowego?
sync_desc=Ten formularz pozwala na tworzenie użytkowników i grup na serwerach, które ich aktualnie nie posiadają w celu zsynchronizowania kont na wszystkich serwerach w klastrze.
sync_gall=Wszystkie brakujące grupy
sync_gcreate=Dodawanie wpisu pliku grupy dla $1 ..
sync_ggid=Grupy z GID w zakresie
sync_gnone=Bez grup
sync_gnot=Wszystkie grupy z wyjątkiem
sync_groups=Grupy do utworzenia
sync_gsel=Tylko grupy
sync_hall=Wszystkie serwery
sync_hosts=Serwery do synchronizacji
sync_hsel=Wybrane ..
sync_insync=Użytkownicy i grupy są zsynchronizowane.
sync_makehome=Tworzyć katalogi domowe?
sync_ok=Utwórz użytkowników i grupy
sync_on=Synchronizacja $1 ..
sync_others=Utworzyć użytkownika w innych modułach?
sync_test=Tylko wyświetlić co będzie zrobione (test)?
sync_title=Synchronizacja serwerów
sync_uall=Wszyscy brakujący użytkownicy
sync_ucreate=Dodawanie wpisu hasła do pliku dla $1 ,,
sync_ugid=Użytkownicy z grupy podstawowej
sync_unone=Bez użytkowników
sync_unot=Wszyscy użytkownicy, z wyjątkiem
sync_usel=Tylko użytkownicy
sync_users=Użytkownicy do utworzenia
sync_uuid=Użytkownicy z UID w zakresie
this_server=ten serwer
udel_dothers=Usuwanie w innych modułach ..
udel_failed=Niepowodzenie usuwania użytkownika : $1
udel_gone=Użytkownik już nie istnieje.
udel_on=Usuwanie z $1 ..
udel_others=Usunąć użytkownika z innych modułów?
udel_servs=Usuń katalog domowy, jeśli istnieje na
uedit_addto=Dodaj do grup
uedit_all=&lt;wszystkie hosty&gt;
uedit_delfrom=Usuń z grup
uedit_donthave=&lt;hosty, które go nie posiadają&gt;
uedit_group=Członkowie $1
uedit_host=Szczegóły z $1
uedit_hosts=Istnieje na serwerach
uedit_leave=Nie zmieniaj
uedit_makehome=Utworzyć katalog domowy, jeżeli nie istnieje?
uedit_mall=Wszystkie serwery
uedit_mthis=Jeden serwer
uedit_none=Żaden
uedit_others=Utworzyć użytkownika w innych modułach?
uedit_servers=Serwer(y) do utworzenia na
uedit_servs=Wykonaj powyższe operacje operacje na
uedit_set=Ustaw na
uedit_sync=Dodaj do innych serwerów
usave_con=Tworzenie na $1
usave_copy=Kopiowanie plików do katalogu domowego ..
usave_create=Dodawanie wpisu hasła do pliku ..
usave_einuse=Użytkownik o takiej samej nazwie już istnieje na $1
usave_emaking=Polecenie przed aktualizacją nie powiodło się : $1
usave_esecgid=Dodatkowa grupa $1 nie istnieje
usave_failed=Niepowodzenie zapisywania użytkownika : $1
usave_gid=Zmienianie GID w plikach ..
usave_gone=Użytkownik już nie istnieje.
usave_groups=Dodawanie do grup ..
usave_header=Tworzenie użytkownika $1 na wszystkich hostach ..
usave_header3=Tworzenie użytkownika $1 na hostach, które go nie posiadają ..
usave_header4=Tworzenie użytkownika $1, jako członek grupy $2 ..
usave_header5=Tworzenie użytkownika $1 na $2 ..
usave_mkhome=Tworzenie katalogu domowego ..
usave_mothers=Aktualizowanie w innych modułach ..
usave_move=Przenoszenie katalogu domowego ..
usave_others=Tworzenie w innych modułach ..
usave_rgroups=Zmiana nazwy w grupach ..
usave_uid=Zmienianie UID w plikach ..
usave_uon=Aktualizacja $1 ..
usave_update=Aktualizacja wpisu hasła ..

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