Merge branch 'master' of github.com:webmin/webmin

This commit is contained in:
Joe Cooper
2014-12-21 04:50:37 -06:00
41 changed files with 435 additions and 100 deletions

View File

@@ -210,3 +210,5 @@ Added additional protected against Shellshock exploits made via the Webmin webse
SSL v2 and v3 are now disabled by default at Webmin install time, to block the POODLE attack. They can be re-enabled on the SSL Encryption page of the Webmin Configuration module.
---- Changes since 1.720 ----
Deprecated the old blue-theme in favor of the new gray-theme.
Catalan translation updates from Jaume Badiella.
More German translation updates, thanks to Raymond Vetter.

View File

@@ -359,6 +359,8 @@ core_ehlimit=$1 no
core_dport=Port per defecte:
core_address=Adreça
core_port=Port
core_portname=Protocol
core_protoany=<Qualsevol>
core_listen=Escolta les adreces i els ports
core_eaddress='$1' no és una adreça vàlida
core_eport='$1' no és un port vàlid

View File

@@ -1,5 +1,5 @@
virtualmin_config=Camí complet del directori de configuracio de Virtualmin,3,No instal·lat
virtualmin_spam=Camí complet del programa de consulta d'usuaris de spam de Virtualmin,3,No instal·lat,40
virtualmin_spam=Camí complet del programa de consulta de spam d'usuaris de Virtualmin,3,No està instal·lat,40
virtualmin_config=Camí complet del directori de configuració de Virtualmin,3,No instal·lat
warn_procmail=Mostra un avís si Procmail no està instal·lat,1,1-Sí,0-No
forward_procmail=Crea fitxer .forward per executar procmail,1,1-Sí,0-No
alias_files=Camí complet dels fitxers d'àlies globals,9,40,3,\t

View File

@@ -125,7 +125,7 @@ desc_conds=Si $1
desc_and=i
desc_always=Sempre
redhat_escript=No s'ha trobat al sistema el script d'inici d'IPTables de Redhat.
redhat_einstalled=No s'ha trobat cap acció d'engegada <tt>iptables</tt> que indiqui que el paquet IPtables no està instal·lat al sistema
redhat_eoutput=S'ha produït un error en buscar l'estat d'IPtables amb l'ordre $1. Això probablement indica que el sistema està configurat per utilitzar IPchains en lloc d'IPtables.
gentoo_escript=No s'ha trobat al sistema el script $1 d'inici d'IPtables Gentoo.

View File

@@ -98,6 +98,7 @@ edit_below=Unter
edit_chain=Teil der Kette
edit_clone=Klone Regel
edit_cmt=Regel Kommentar
edit_desc=Die oben ausgew&#228;hlte Aktion wird nur ausgef&#252;hrt, wenn <b>alle</b> die unter aufgef&#252;hrten Bedingungen erf&#252;llt sind.
edit_dest=Zieladresse oder Netzwerk
edit_dnat=IPs und Ports f&#252;r DNAT
edit_dnatip=IP-Bereich $1 bis $2
@@ -112,6 +113,7 @@ edit_icmptype=ICMP Paket Typ
edit_ignore=Ignoriert
edit_in=Eingehendes Interface
edit_is=Entspricht
edit_limit=Paketflussrate
edit_mac=Ethernet Adresse
edit_mods=Zus&#228;tzliche IPtables Module
edit_mtoports=Quellports f&#252;r masquerading
@@ -119,6 +121,9 @@ edit_not=Entspricht nicht
edit_oifc=Andere...
edit_out=Ausgehendes Interface
edit_physdevin=Eingehende physikalische Schnittstelle
edit_physdevisbridged=Paket wird gebridged
edit_physdevisin=Paket eingehend auf Bridge-Schnittstelle
edit_physdevisout=Paket ausgehend auf Bridge-Schnittstelle
edit_physdevout=Ausgehendes physikalische Schnittstelle
edit_pidowner=Sende Prozess-ID
edit_port0=Port(s)
@@ -129,6 +134,7 @@ edit_proto=Netzwerkprotokoll
edit_rtoports=Zielports f&#252;r Weiterleitung
edit_rwith=Ablehnen mit ICMP-Typ
edit_rwithtype=Typ $1
edit_sidowner=Sende Prozess-Gruppe
edit_snat=IPs und Ports f&#252;r SNAT
edit_source=Quelladresse oder Netzwerk
edit_sport=Quell TCP oder UDP Port
@@ -136,6 +142,7 @@ edit_state=Verbindungsstatus
edit_state_established=Bestehende Verbindung
edit_state_invalid=Kein Teil einer Verbindung
edit_state_new=Neue Verbindung
edit_state_untracked=Nicht getrackt
edit_tcpflags=TCP flag gesetzt
edit_tcpoption=TCP Option Nummer nicht gesetzt
edit_title1=Regel hinzuf&#252;gen
@@ -210,7 +217,7 @@ index_table_mangle=Packet alteration (mangle)
index_table_nat=Network address translation (nat)
index_title=Linux Firewall
index_unapply=Konfiguration zur&#252;cksetzen
index_unapply2=Speichere konfiguration
index_unapply2=Speichere Konfiguration
index_unapply2desc=Klicke auf diese Schaltfl&#228;che, um die Konfiguration oben in die permanente Firewall-Konfigurationsdatei zu speichern.
index_unapplydesc=Klicke auf diese Schaltfl&#228;che, um die Konfiguration die oben aufgef&#252;hrt ist, auf die gerade aktive, zur&#252;ckzusetzen.
log_add_group=Cluster-Server von Gruppe $1 hinzugef&#252;gt

View File

@@ -17,10 +17,6 @@ right_webmin=Versi
right_usermin=Versió Usermin
right_cpu=Càrrega mitjana de la CPU
right_cpuinfo=Informació del processador
right_cputemps=Temperatures de la CPU
right_drivetemps=Temperatures dels discs
right_driveerr=$1 errors!
right_drivefailed=La comprovació SMART ha fallat!
right_cputype=$5, $8 nuclis
right_load=$1 (1 min) $2 (5 mins) $3 (15 mins)
right_cpuuse=Ús de la CPU
@@ -29,8 +25,7 @@ right_real=Mem
right_virt=Memòria virtual
right_procs=Processos en execució
right_disk=Espai local en disc
right_used=$1 utilitzat, $2 total
right_used2=$2 utilitzat, $1 garantit, $3 explotable
right_used=$1 total, $2 utilitzat
right_out=$1&nbsp;de&nbsp;$2
right_quota=Ús del disc i quota
right_header5=Informació del Compte

View File

@@ -10,46 +10,94 @@ our ($current_theme);
our %text = &load_language($current_theme);
my $bar_width = 300;
# Get system info to show
my @info = &list_combined_system_info();
my ($redir) = grep { $_->{'type'} eq 'redirect' } @info;
if ($redir) {
&redirect($redir->{'url'});
return;
}
my $prehead = defined(&WebminCore::theme_prehead) ?
&capture_function_output(\&WebminCore::theme_prehead) : "";
&popup_header(undef, $prehead);
print "<center>\n";
# Links appear at the top of the page
my @links = grep { $_->{'type'} eq 'link' } @info;
@info = grep { $_->{'type'} ne 'link' } @info;
if (@links) {
my @linkshtml = map {
&ui_link($_->{'link'}, $_->{'desc'}, undef,
$_->{'target'} eq 'new' ? 'target=_blank' :
$_->{'target'} eq 'window' ? 'target=_top' : '')
} @links;
print "<div align=right>\n";
print &ui_links_row(\@linkshtml);
print "</div>\n";
}
# Webmin logo
if (&get_product_name() eq 'webmin') {
print "<a href=http://www.webmin.com/ target=_new><img src=images/webmin-blue.png border=0></a><p>\n";
}
# Get system info to show
my @info = &list_combined_system_info();
# Show notifications first
@info = sort { ($b->{'type'} eq 'warning') <=> ($a->{'type'} eq 'warning') }
@info;
foreach my $info (@info) {
print &ui_table_start($info->{'desc'}, "width=600", 2);
if ($info->{'type'} eq 'table') {
# A table of various labels and values
foreach my $t (@{$info->{'table'}}) {
my $chart = "";
if ($t->{'chart'}) {
my $chart = &make_bar_chart($t->{'chart'});
$chart = "<br>".$chart;
if ($info->{'type'} eq 'warning') {
# An alert message
print &ui_alert_box($info->{'warning'},
$info->{'level'} || 'warn');
}
else {
my $open = defined($info->{'open'}) ? $info->{'open'} : 1;
print &ui_hidden_table_start($info->{'desc'}, "width=600", 2,
$info->{'id'} || $info->{'module'},
$open);
if ($info->{'type'} eq 'table') {
# A table of various labels and values
if ($info->{'header'}) {
print &ui_table_row(
undef, $info->{'header'}, 4);
}
foreach my $t (@{$info->{'table'}}) {
my $chart = "";
if ($t->{'chart'}) {
$chart = &make_bar_chart(
$t->{'chart'});
$chart = "<br>".$chart;
}
print &ui_table_row($t->{'desc'},
$t->{'value'}.$chart);
}
print &ui_table_row($t->{'desc'}, $t->{'value'}.$chart);
}
}
elsif ($info->{'type'} eq 'chart') {
# A table of graphs
my $ctable = &ui_columns_start($info->{'titles'});
foreach my $t (@{$info->{'chart'}}) {
$ctable .= &ui_columns_row([
$t->{'desc'},
&make_bar_chart($t->{'chart'}),
$t->{'value'},
]);
elsif ($info->{'type'} eq 'chart') {
# A table of graphs
my $ctable;
if ($info->{'header'}) {
$ctable .= $info->{'header'}."<br>\n";
}
$ctable .= &ui_columns_start($info->{'titles'});
foreach my $t (@{$info->{'chart'}}) {
$ctable .= &ui_columns_row([
$t->{'desc'},
&make_bar_chart($t->{'chart'}),
$t->{'value'},
]);
}
$ctable .= &ui_columns_end();
print &ui_table_row(undef, $ctable, 2);
}
$ctable .= &ui_columns_end();
print &ui_table_row(undef, $ctable, 2);
elsif ($info->{'type'} eq 'html') {
# A chunk of HTML
print &ui_table_row(undef, $info->{'html'}, 2);
}
print &ui_hidden_table_end();
print "<p>\n";
}
print &ui_table_end();
}
print "</center>\n";

View File

@@ -1959,6 +1959,7 @@ closedir(UNITS);
# Dump state of all of them, 100 at a time
my %info;
my $ecount = 0;
while(@units) {
my @args;
while(@args < 100 && @units) {
@@ -1978,9 +1979,10 @@ while(@units) {
$info{$curr}->{$n} = $v;
}
}
if ($? && keys(%info) < 2) {
&error("Failed to read systemd units : $out");
}
$ecount++ if ($?);
}
if ($ecount && keys(%info) < 2) {
&error("Failed to read systemd units : $out");
}
# Extract info we want

View File

@@ -0,0 +1,9 @@
config_file=FItxer de configuració de iSCSI TGTD,0
add_file=Afegeix objectius nous a,3,Fitxer primari de configuració
tgtd=Camí complet de l'ordre tgtd,0
tgtadm=Camí complet de l'ordre tgtadm,0
tgtadmin=Camí complet de l'ordre tgt-admin,0
init_name=Nom del script d'engegada,0
start_cmd=Ordre per iniciar iSCSI TGTd,3,Inicia el script d'engegada
stop_cmd=Ordre per aturar iSCSI TGTd,3,Atura el script d'engegada
restart_cmd=Ordre per reiniciar iSCSI TGTd,3,Reinicia el script d'engegada

105
iscsi-tgtd/lang/ca Normal file
View File

@@ -0,0 +1,105 @@
check_econfigset=No s'ha establert cap fitxer de configuració iSCSI TGTd!
check_econfig=No s'ha trobat al sistema el fitxer de configuració $1 de iSCSI TGTd.
check_etgtadm=No s'ha trobat al sistema l'ordre d'administració $1 de iSCSI TGTd.
check_einit=L'acció d'engegada $1 no existeix
index_title=iSCSI TGTd
index_clink=Pot ser que no estigui instal·lat, o bé que la <a href='$1'>configuració del mòdul</a> sigui incorrecta.
index_stop=Atura iSCSI TGTd
index_stopdesc=Fes clic sobre aquest botó per aturar l'objectiu iSCSI en execució. Els dispositius compartits ja no seran accessibles per part dels clients.
index_start=Inicia iSCSI TGTd
index_startdesc=Fes clic sobre aquest botó per iniciar l'objectiu iSCSI, de manera que els dispositius compartits siguin accessibles per part dels clients.
index_restart=Reinicia iSCSI TGTd
index_restartdesc=Fes clic sobre aquest botó per aplicar la configuració actual reiniciant l'objectiu iSCSI.
index_atboot=Inicia en engegar el sistema
index_atbootdesc=Canvia aquesta opció per controlar si l'objectiu iSCSI s'inicia en engegar el sistema o no. Si actualment no s'inicia en engegar i tries Sí, es crearà un nou script d'inicialització.
index_manual=Edició dels Fitxers de Configuració
index_manualdesc=Edita manualment qualsevol dels fitxers de configuració de l'objectiu iSCSI per a fer canvis no suportats per Webmin.
index_return=a la llista d'objectius
index_none=Encara no s'ha definit cap objectiu iSCSI per exportar.
index_add=Afegeix un nou objectiu iSCSI.
index_target=Nom de l'objectiu
index_delete=Suprimeix els Objectius Seleccionats
index_lun=Dispositius de disc
index_users=Usuaris permesos
index_size=Mida total
index_noluns=Cap
index_nousers=Qualsevol
dtargets_err=No s'han pogut suprimir els objectius.
dtargets_enone=No n'hi ha cap de seleccionat!
target_title1=Creació d'Objectiu iSCSI
target_title2=Edició d'Objectiu iSCSI
target_header=Opcions del dispositiu compartit iSCSI
target_part=Partició del disc local
target_raid=Dispositiu RAID
target_md=Dispositiu RAID $1
target_lvm=Volum lògic LVM
target_lv=GV LVM $1, VL $2
target_other=Un altre fitxer o dispositiu
target_lun=Dispositiu $1 a compartir
target_name=Nom de l'objectiu
target_egone=L'objectiu seleccionat ja no existeix!
target_none=Res
target_null=Disc RAM temporal de mida
target_sectors=sectors
target_fileio=Basat en fitxers
target_blockio=Basat en blocs (sense cau, només per a dispositius)
target_iomode=Mode E/S
target_wt=Cau write-through
target_wb=Cau write-back
target_ro=Només lectura
target_iuser=Autenticació per part dels clients
target_iuserall=No cal autenticació
target_iuserbelow=Permet les entrades de sota...
target_uname=Usuari
target_upass=Contrasenya
target_ouser=Autenticació cap als clients
target_ousernone=No autentiquis
target_ousername=Entrada amb usuari
target_ouserpass=i contrasenya
target_err=No s'ha pogut desar l'objectiu
target_esectors=Hi falta el nombre de sectors del dispositiu $1 o bé no és numèric
target_eother=Hi falta el fitxer del dispositiu $1 o bé és invàlid
target_eiuser=El nom de l'usuari $1 és invàlid - no s'hi permeten espais
target_eipass=La contrasenya de l'usuari $1 és invàlida - no s'hi permeten espais
target_eouser=Hi falta l'usuari per autenticar-se cap als clients o bé és invàlid - no s'hi permeten espais
target_eopass=Hi falta la contrasenya per autenticar-se cap als clients o bé és invàlida - no s'hi permeten espais
target_eiusernone=No has introduït cap usuari client
target_iaddress=Permet connexions des de les adreces
target_iname=Permet connexions des dels iniciadors
target_iall=Tots
target_ibelow=Introduïts a sota...
target_type=Tipus d'emmagatzematge
target_backing=Backing store
target_direct=Accés directe al dispositiu
target_cache=El cau escriu sobre el dispositiu
target_eaddr=L'adreça IP permesa és invàlida
target_eaname=El nom de l'iniciador permès és invàlid
start_err=No s'ha pogut iniciar iSCSI TGTd
stop_err=No s'ha pogut aturar iSCSI TGTd
restart_err=No s'ha pogut reiniciar iSCSI TGTd
atboot_err=No s'ha pogut activar en engegar el sistema
atboot_einit=El script d'inicialització $1 no existeix
log_create_target=S'ha creat l'objectiu $1
log_delete_target=S'ha suprimit l'objectiu $1
log_modify_target=S'ha modificat l'objectiu $1
log_delete_targets=S'han suprimit $1 objectius
log_start=S'ha iniciat el servidor iSCSI
log_stop=S'ha aturat el servidor iSCSI
log_restart=S'ha reiniciat el servidor iSCSI
log_atboot=S'ha activat el servidor iSCSI en engegar el sistema
log_delboot=S'ha desactivat el servidor iSCSI en engegar el sistema
log_manual=S'ha editat manualment el fitxer de configuració
manual_title=Edició del Fitxer de Configuració
manual_file=Selecciona el fitxer a editar:
manual_ok=Obre
manual_desc=Utilitza la caixa de text de sota per editar el fitxer de configuració $1 del servidor iSCSI. Ves amb compte, perquè no s'efectuarà cap mena de validació del que hi introdueixis!
manual_err=No s'ha pogut desar el fitxer de configuració
manual_edata=No has introduït contingut!
manual_efile=El fitxer de configuració és invàlid!

View File

@@ -5,3 +5,5 @@ depends=fdisk lvm raid init
longdesc=Share disk devices across the network using the iSCSI protocol with the TGTd package.
desc_de=iSCSI TGTd
longdesc_de=Teilt Plattenger&#228;te &#252;ber das Netzwerk mit dem iSCSI-Protokoll mit dem TGTd Paket.
desc_ca=iSCSI TGTd
longdesc_ca=Compartició de dispositius de disc a través de la xarxa utilitzant el protocol iSCSI amb el paquet TGTd.

View File

@@ -39,6 +39,8 @@ edit_ifempty=Rota encara que el fitxer de registre estigui buit
edit_missingok=Ignora el fitxer de registre si no hi és
edit_size=Mida màxima abans de rotar
edit_always=Ignorada
edit_minsize=Mida mínima a rotar
edit_nominsize=Sempre
edit_ext=Extensió dels noms de fitxer rotats
edit_dateext=Utilitza l'extensió de la data per als fitxers rotats
edit_mail=Envia el fitxer de registre per correu abans d'esborrar-lo
@@ -69,6 +71,7 @@ global_header=Opcions per defecte de tots els fitxers de registre
save_err=No s'ha pogut desar el registre
save_efile=Hi falta el nom del fitxer de registre o bé és invàlid
save_esize=Hi falta la mida màxima o bé és invàlida
save_eminsize=Hi falta la mida mínima o bé és invàlida
save_erotate=Hi falta el nombre màxim de registres vells a mantenir o bé és invàlid
save_ecreatemode=Hi falta el mode de creació de 3 o 4 dígits octals o bé és invàlid
save_ecreateuser=Hi falta l'usuari de creació o bé és invàlid

View File

@@ -29,8 +29,8 @@ index_pvvg=Al grup de volums
index_pvsize=Mida del dispositiu
index_pvtotal=Blocs utilitzats
index_pvtotal2=Mida utilitzada
index_vgsdesc=Un grup de volums és un conjunt de discs sobre els quals es pot allotjar un o més volums lògics. La majoria de sistemes només en tindran un, i almenys se n'ha de crear un abans de poder-hi posar volums físics o lògics.
index_pvsdesc=Un volum físic ñes una partició de disc o dispositiu RAID que és part d'un grup de volums. Llavors, l'espai del disc es pot utilitzar per a un o més volums físics.
index_vgsdesc=Un grup de volums és un conjunt de discs sobre els quals es pot allotjar un o més volums lògics. La majoria de sistemes només en tindran un, i almenys se n'ha de crear un abans de poder-hi afegir volums físics o lògics.
index_pvsdesc=Un volum físic és una partició de disc o dispositiu RAID que és part d'un grup de volums. Llavors, l'espai del disc es pot utilitzar per a un o més volums físics.
index_lvsdesc=Un volum lògic és una partició virtual creada amb l'espai combinat d'un grup de volums. Cadascun pot contenir un sistema de fitxers que es munta per a emmagatzemar fitxers.
index_lvname=Volum lògic
index_lvvg=Grup de volums

View File

@@ -438,4 +438,16 @@ delall_ok=Suprimeix-los Ara
slide_title=Imatges Adjuntes
slide_prev=Anterior
slide_next=Següent
left_mail=Correu
left_search=Cerca:
left_folders=Gestiona Carpetes
left_addresses=Llibreta d'Adreces
left_prefs=Preferències de Correu
left_forward=Reenviament de Correu
left_autoreply=Resposta Automàtica
left_filter=Filtres de Correu
left_pass=Canvi de Contrasenya
left_sig=Edició de Signatura
__norefs=1

View File

@@ -5421,6 +5421,7 @@ local @prefixes = (
"DoCoMo", # DoCoMo phones
"Lynx", # Lynx text-mode linux browser
"Links", # Another text-mode linux browser
"Dalvik", # Android browser
);
local @substrings = (
"UP.Browser", # Openwave

View File

@@ -297,6 +297,7 @@ linux_resgid=Reserve space for group
linux_bg=Retry mounts in background?
linux_soft=Return error on timeouts?
linux_timeo=Timeout
linux_etimeo=Timeout must be a number
linux_retrans=Number of Retransmissions
linux_vers=NFS version
linux_high=Highest

View File

@@ -1805,7 +1805,11 @@ if (($_[0] eq "nfs") || ($_[0] eq "nfs4")) {
if ($in{nfs_soft}) { $options{"soft"} = ""; }
delete($options{"timeo"});
if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }
if (!$in{nfs_timeo_def}) {
$in{nfs_timeo} =~ /^\d+$/ && $in{nfs_timeo} > 0 ||
&error($text{'linux_etimeo'});
$options{"timeo"} = $in{nfs_timeo};
}
delete($options{"retrans"});
if (!$in{nfs_retrans_def}) { $options{"retrans"} = $in{nfs_retrans}; }

View File

@@ -1,4 +1,4 @@
line1=Opcions configurable,11
line1=Opcions configurables,11
login=Usuari d'administració,3,Automàtic
pass=Contrasenya d'administració,12
perpage=Nombre de files per pàgina a mostrar,0,5

View File

@@ -29,9 +29,6 @@ $bind = &find_value("bind-address", $mems);
print &ui_table_row($text{'cnf_bind'},
&ui_opt_textbox("bind", $bind, 20, $text{'cnf_all'}));
print &ui_table_row($text{'cnf_skip-locking'},
&ui_yesno_radio("skip-locking", &find("skip-locking", $mems) ? 1 : 0));
print &ui_table_row($text{'cnf_big-tables'},
&ui_yesno_radio("big-tables", &find("big-tables", $mems) ? 1 : 0));

View File

@@ -793,7 +793,6 @@ cnf_socket=MySQL Unix socket
cnf_datadir=Databases files directory
cnf_stor=Default table storage engine
cnf_big-tables=Allow big tables?
cnf_skip-locking=Skip locking of table files?
cnf_emysqld=Could not find [mysqld] section in my.cnf
cnf_err=Failed to save MySQL server options
cnf_eport=Missing or invalid port number

View File

@@ -57,9 +57,6 @@ if ($fpt || $in{'fpt'}) {
[ $in{'fpt'} ]);
}
&save_directive($conf, $mysqld, "skip-locking",
$in{'skip-locking'} ? [ "" ] : [ ]);
&save_directive($conf, $mysqld, "big-tables",
$in{'big-tables'} ? [ "" ] : [ ]);

View File

@@ -5,31 +5,7 @@ do 'postfix-lib.pl';
# Returns files and directories that can be backed up
sub backup_config_files
{
local @rv;
# Add main config file
push(@rv, $config{'postfix_config_file'});
# Add known map files
push(@rv, &get_maps_files("alias_maps"));
push(@rv, &get_maps_files("alias_database"));
push(@rv, &get_maps_files("canonical_maps"));
push(@rv, &get_maps_files("recipient_canonical_maps"));
push(@rv, &get_maps_files("sender_canonical_maps"));
push(@rv, &get_maps_files($virtual_maps));
push(@rv, &get_maps_files("transport_maps"));
push(@rv, &get_maps_files("relocated_maps"));
# Add other files in /etc/postfix
local $cdir = &guess_config_dir();
opendir(DIR, $cdir);
foreach $f (readdir(DIR)) {
next if ($f eq "." || $f eq ".." || $f =~ /\.(db|dir|pag)$/i);
push(@rv, "$cdir/$f");
}
closedir(DIR);
return &unique(@rv);
return &get_all_config_files();
}
# pre_backup(&files)

View File

@@ -7,7 +7,7 @@ $access{'manual'} || &error($text{'cmanual_ecannot'});
&ui_print_header(undef, $text{'cmanual_title'}, "");
# Work out and show the files
@files = ( $config{'postfix_config_file'}, $config{'postfix_master'} );
@files = &get_all_config_files();
$in{'file'} ||= $files[0];
&indexof($in{'file'}, @files) >= 0 || &error($text{'cmanual_efile'});
print &ui_form_start("manual.cgi");
@@ -19,9 +19,11 @@ print &ui_form_end();
# Show the file contents
print &ui_form_start("manual_update.cgi", "form-data");
print &ui_table_start(undef, undef, 2);
print &ui_hidden("file", $in{'file'}),"\n";
$data = &read_file_contents($in{'file'});
print &ui_textarea("data", $data, 20, 80),"\n";
print &ui_table_row(undef, &ui_textarea("data", $data, 20, 80), 2);
print &ui_table_end();
print &ui_form_end([ [ "save", $text{'save'} ] ]);
&ui_print_footer("", $text{'index_return'});

View File

@@ -7,7 +7,7 @@ $access{'manual'} || &error($text{'cmanual_ecannot'});
&ReadParseMime();
# Work out the file
@files = ( $config{'postfix_config_file'}, $config{'postfix_master'} );
@files = &get_all_config_files();
&indexof($in{'file'}, @files) >= 0 || &error($text{'cmanual_efile'});
$in{'data'} =~ s/\r//g;
if ($in{'file'} eq $files[0]) {

View File

@@ -2217,5 +2217,37 @@ my ($cmd) = @_;
return &has_command($cmd);
}
# get_all_config_files()
# Returns a list of all possible postfix config files
sub get_all_config_files
{
my @rv;
# Add main config file
push(@rv, $config{'postfix_config_file'});
push(@rv, $config{'postfix_master'});
# Add known map files
push(@rv, &get_maps_files("alias_maps"));
push(@rv, &get_maps_files("alias_database"));
push(@rv, &get_maps_files("canonical_maps"));
push(@rv, &get_maps_files("recipient_canonical_maps"));
push(@rv, &get_maps_files("sender_canonical_maps"));
push(@rv, &get_maps_files($virtual_maps));
push(@rv, &get_maps_files("transport_maps"));
push(@rv, &get_maps_files("relocated_maps"));
# Add other files in /etc/postfix
local $cdir = &guess_config_dir();
opendir(DIR, $cdir);
foreach $f (readdir(DIR)) {
next if ($f eq "." || $f eq ".." || $f =~ /\.(db|dir|pag)$/i);
push(@rv, "$cdir/$f");
}
closedir(DIR);
return &unique(@rv);
}
1;

View File

@@ -1121,13 +1121,13 @@ return $config{'host'} eq '' || $config{'host'} eq 'localhost' ||
&to_ipaddress($config{'host'}) eq &to_ipaddress(&get_system_hostname());
}
# backup_database(database, dest-path, format, [&only-tables])
# backup_database(database, dest-path, format, [&only-tables], [run-as-user])
# Executes the pg_dump command to backup the specified database to the
# given destination path. Returns undef on success, or an error message
# on failure.
sub backup_database
{
local ($db, $path, $format, $tables) = @_;
local ($db, $path, $format, $tables, $user) = @_;
local $tablesarg = join(" ", map { " -t ".quotemeta($_) } @$tables);
local $cmd = &quote_path($config{'dump_cmd'}).
(!$postgres_login ? "" :
@@ -1137,8 +1137,13 @@ local $cmd = &quote_path($config{'dump_cmd'}).
$tablesarg.
" -F$format -f ".&quote_path($path)." $db";
if ($postgres_sameunix && defined(getpwnam($postgres_login))) {
# Postgres connections have to be made as the 'postgres' Unix user
$cmd = &command_as_user($postgres_login, 0, $cmd);
}
elsif ($user) {
# Run as a specific Unix user
$cmd = &command_as_user($user, 0, $cmd);
}
$cmd = &command_with_login($cmd);
local $out = &backquote_logged("$cmd 2>&1");
if ($? || $out =~ /could not|error|failed/i) {

View File

@@ -8,7 +8,7 @@ index_mdadm=S'est
index_raidtools=S'està utilitzant RaidTools
index_name=Nom de dispositiu
index_active=Actiu
index_errors=Errors
index_status=Estat
index_level=Nivell RAID
index_size=Mida utilitzable
index_members=Dispositius de disc del member
@@ -17,18 +17,17 @@ index_mailaddr=Envia les notificacions a
index_mailaddrnone=No enviïs
index_mailfrom=Adreça From: de les notificacions
index_mailfromnone=Per defecte (<tt>root</tt>)
create_missing=Inclou el disc que falta actualment
index_program=Ordre a executar quen es detecta un problema
index_programnone=No n'executis cap
index_monitor=Monitorització activada
linear=Concatenat (Lineal)
raid0=A tires (RAID0)
raid1=Replicat (RAID1)
raid4=Amb paritat (RAID4)
raid5=Redundant (RAID5)
raid6=Redundant dual (RAID6)
raid10=A tires i Replicat (RAID10)
linear=Lineal (Concatenat)
raid0=RAID0 (A tires)
raid1=RAID1 (Replicat)
raid4=RAID1 (Paritat Dedicada)
raid5=RAID5 (Paritat Distribuïda)
raid6=RAID6 (Paritat Dual Distribuïda)
raid10=RAID10 (A tires i Replicat)
blocks=blocs
create_title=Creació de Dispositiu RAID
@@ -38,6 +37,7 @@ create_level=Nivell RAID
create_disks=Particions RAID
create_spares=Particions esgrunades
create_pdisk=Partició amb paritat
create_missing=Inclou el disc que falta actualment
create_pauto=Automàtic
create_nodisks=No hi ha particions lliures disponibles per al RAID.
create_super=Superbloc persistent
@@ -57,6 +57,12 @@ create_nogroup=Cap (utilitza nom
create_oldgroup=Grup existent
create_newgroup=Nou grup
create_enewgroup=Hi falta el nom del grup d'esgrunats o bé no és alfanumèric
create_n2_layout=2 Near Còpies Pròximes
create_f2_layout=2 Còpies Llunyanes
create_o2_layout=2 Còpies Offset
create_n3_layout=3 Copies Pròximes
create_f3_layout=3 Copies Llunyanes
create_o3_layout=3 Còpies Offset
view_title=Dispositiu RAID
view_header=Opcions de dispositiu RAID
@@ -95,6 +101,8 @@ view_remove=Elimina la partici
view_removedesc=Selecciona una partició que és part del dispositiu RAID i fes clic sobre aquest botó per eliminar-la. Això pot provocar que es perdin dades!
view_remove_det=Elimina les no vinculades
view_remove_detdesc=Elimina les particions que ja estan físicament desvinculades del sistema.
view_replace=Substitueix la partició:
view_replacedesc=Selecciona la partició a substituir (Substitució en Calent)
view_grow=Fes créixer el RAID:
view_convert_to_raid6=Converteix a RAID6
view_convert_to_raid6desc=Converteix el nivell RAID a RAID6 afegint una o més unitats.
@@ -127,6 +135,7 @@ emdadmcreate=<tt>mdadm</tt> en mode <tt>--create</tt> ha fallat: $1
emdadmadd=<tt>mdadm</tt> en mode <tt>--manage --add</tt> ha fallat: $1
emdadmgrow=<tt>mdadm</tt> en mode <tt>--grow</tt> ha fallat: $1
emdadmremove=<tt>mdadm</tt> en mode <tt>--manage --remove</tt> ha fallat: $1
emdadmreplace=<tt>mdadm</tt> en mode <tt>--manage --replace</tt> ha fallat: $1
emdadmfail=<tt>mdadm</tt> en mode <tt>--manage --fail</tt> ha fallat: $1
log_create=S'ha creat el dispositiu RAID $1 $2
@@ -136,6 +145,7 @@ log_delete=S'ha suprimit el dispositiu RAID $1
log_mkfs=S'ha creat el sistema de fitxers $1 a $2
log_add=S'ha afegit la partició $2 al dispositiu RAID $1
log_remove=S'ha eliminat la partició $2 del dispositiu RAID $1
log_replace=S'ha substituït en calent la partició $2 del dispositiu RAID $1 amb la partició $3
log_grow=S'ha fet créixer el dispositiu RAID $1 a un total de $2 discs
log_convert_to_raid6=S'ha convertit el dispositiu RAID5 $1 a un dispositiu RAID6
log_convert_to_raid5=S'ha convertit el dispositiu RAID6 $1 a un dispositiu RAID5
@@ -150,4 +160,9 @@ delete_title=Supressi
delete_rusure=Segur que vols suprimir l'array RAID $1, que utilitza $2 d'espai al disc?
delete_ok=Sí, Suprimeix-lo
delete_eidx=No has seleccionat cap array RAID!
remove_title=Eliminació de Partició de l'Array RAID
remove_rusure=Segur que vols eliminar la partició $2 de l'array RAID $1?
remove_ok=Sí, Treu-la
remove_eidx=No has seleccionat cap array RAID!
__norefs=1

View File

@@ -73,6 +73,7 @@ find_title=Recerca de Servidors
find_new=S'ha trobat un servidor nou a $1
find_but=S'ha trobat un servidor nou a $1, però l'autenticació ha fallat: $2
find_already=S'ha trobat un servidor ja conegut a $1
find_already2=S'ha trobat un host servidor a $1
find_skip=S'està ignorant el servidor a $1
find_me=S'ha trobat aquest servidor a $1
find_escan=La xarxa a escanejar ha de ser una adreça de classe C.

View File

@@ -24,8 +24,10 @@ index_return=a l'
index_family=Família del model
index_serial=Número de sèrie
index_capacity=Capacitat
index_norm=Normalitzat:
monitor_type=Comprovació d'Unitat SMART Drive Check
monitor_type2=Desgast SSD
monitor_drive=Unitat a comprovar
monitor_errors=Comprova també el registre d'errors
monitor_errorsinc=Sí, però avisa només si s'incrementa el recompte
@@ -35,6 +37,10 @@ monitor_nosuch=Aquesta unitat no existeix
monitor_nosmart=No hi ha suport SMART
monitor_errorsfound=S'ha informat de $1 errors
monitor_errorsinced=Els errors s'han incrementat de $2 a $1
monitor_wearlevel=Falla si el nivell de desgast cau petr sota de
monitor_ewearlevel=El percentatge de nivell de desgast és invàlid
monitor_nowearout=La unitat no reconeix cap indicador de desgast SSD
monitor_wornout=El nivell de desgast ha caigut a $1
short_title=Auto Test Breu
short_doing=S'està iniciant l'auto test breu del $1...

View File

@@ -1,3 +1,3 @@
package_system=Sistema de gestió de paquets,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian,aix-AIX,emerge-Gentoo,cygwin-Cygwin,msi-Instal·lador Microsoft
update_system=Sistema d'actualització de paquets,1,-Detecta'l automàticament,apt-APT,yum-YUM,rhn-Xarxa de Redhat,csw-CSW Blastwave,urpmi-URPMI,emerge-Emerge,ports-Ports,*-Cap
update_system=Sistema d'actualització de paquets,1,-Detecta'l automàticament,apt-APT,yum-YUM,rhn-Xarxa de Redhat,csw-CSW Blastwave,urpmi-URPMI,emerge-Emerge,ports-FreeBSD Ports,pkg-FreeBSD pkgng,*-Cap
apt_mode=Ordre a utilitzar per a les instal·lacions APT,1,0-apt&#45;get,1-aptitude

View File

@@ -406,4 +406,10 @@ ports_apply=Descarrega la Darrera Versi
ports_upgrade=S'està Descarregant la Darrera Versió
ports_running=S'està executant l'ordre $1...
pkg_install=S'estan instal·lant els paquets FreeBSD $1...
pkg_failed=...alguns paquets han fallat
pkg_ok=...instal·lació completa
pkg_find=Cerca pkgng
pkg_input=Paquet de pkgng
__norefs=1

View File

@@ -64,7 +64,7 @@ else {
# Check for the cache directory
my $conf = &get_config();
my @caches;
if (!&check_cache($conf, \@caches)) {
if (!&check_cache($conf, \@caches, 1)) {
&ui_print_header(undef, $text{'index_header'}, "", undef, 1, 1);
print "<center>\n";
if (@caches > 1) {

View File

@@ -10,9 +10,10 @@ $access{'rebuild'} || &error($text{'icache_ecannot'});
&ReadParse();
&error_setup($text{'icache_ftic'});
# set user to run squid as..
&lock_file($config{'squid_conf'});
my $conf = &get_config();
# Set user to run squid as..
if (!$in{'nouser'}) {
$in{'user'} || &error($text{'icache_ymcautrsa'});
my @uinfo = getpwnam($in{'user'});
@@ -33,6 +34,14 @@ if (!$in{'nouser'}) {
}
&flush_file_lines();
}
# If cache_dir is set but disabled, enable it
my @cachestruct = &find_config("cache_dir", $conf, 2);
if (@cachestruct) {
&save_directive($conf, "cache_dir", \@cachestruct);
&flush_file_lines();
}
&unlock_file($config{'squid_conf'});
# Stop squid (if running)

View File

@@ -513,14 +513,20 @@ $rv->{'args'} = [ @v[$i .. $#v] ];
return $rv;
}
# check_cache(&config, &caches)
# check_cache(&config, &caches, [include-disabled])
# Returns 1 if the cache directory looks OK, 0 if not. Also fills in the
# caches list
sub check_cache
{
my ($conf, $cachesrv) = @_;
my ($conf, $cachesrv, $distoo) = @_;
my (@cachestruct, @caches, $coss);
if (@cachestruct = &find_config("cache_dir", $conf)) {
my @cachestruct = &find_config("cache_dir", $conf);
my $disabled = 0;
if ($distoo && !@cachestruct) {
@cachestruct = &find_config("cache_dir", $conf, 1);
$disabled = 1 if (@cachestruct);
}
if (@cachestruct) {
if ($squid_version >= 2.3) {
@caches = map { $_->{'values'}->[1] } @cachestruct;
}

View File

@@ -36,3 +36,4 @@ right_updates=Package updates
right_upok=All installed packages are up to date
right_upneed=$1 package updates are available
right_upsec=$1 package updates are available, of which $2 are security updates
right_recollect=Refresh system information

View File

@@ -0,0 +1,8 @@
#!/usr/local/bin/perl
# Refresh background collected info
use strict;
use warnings;
require './system-status-lib.pl';
&scheduled_collect_system_info();
&redirect($ENV{'HTTP_REFERER'});

View File

@@ -2,7 +2,7 @@
use strict;
use warnings;
require 'system-status-lib.pl';
our (%text, %gconfig);
our (%text, %gconfig, $module_name, %config);
# list_system_info(&data, &in)
# Returns general information about the system, such as available disk space
@@ -12,6 +12,14 @@ my $info = &get_collected_info();
my @rv;
my @table;
# Refresh button for root
if (&foreign_available($module_name) && $config{'collect_interval'} ne 'none') {
push(@rv, { 'type' => 'link',
'desc' => $text{'right_recollect'},
'link' => '/'.$module_name.'/recollect.cgi' });
}
# Table of system info
my $table = { 'type' => 'table',
'desc' => $text{'right_header'},
'table' => \@table };
@@ -69,7 +77,8 @@ if ($info->{'cputemps'}) {
int($t->{'temp'})."&#8451;");
}
push(@table, { 'desc' => $text{'right_cputemps'},
'value' => join(" ", @temps) });
'value' => join(" ", @temps),
'wide' => 1 });
}
if ($info->{'drivetemps'}) {
my @temps;
@@ -90,7 +99,8 @@ if ($info->{'drivetemps'}) {
push(@temps, $short.": ".$t->{'temp'}."&#8451;".$emsg);
}
push(@table, { 'desc' => $text{'right_drivetemps'},
'value' => join(" ", @temps) });
'value' => join(" ", @temps),
'wide' => 1 });
}
@@ -188,7 +198,8 @@ if ($info->{'poss'}) {
$msg = &ui_link("/package-updates/index.cgi?mode=updates", $msg);
}
push(@table, { 'desc' => $text{'right_updates'},
'value' => $msg });
'value' => $msg,
'wide' => 1 });
}
return @rv;

43
theme-stressfree/lang/ca Normal file
View File

@@ -0,0 +1,43 @@
theme_close=Tanca
theme_cancel=Cancel·la
theme_search=Cerca
theme_print=Imprimeix
theme_upload=Puja Fitxer
donate_thankyou=Gràcies pel teu donatiu
sidebar_open=Mostra la barra lateral
sidebar_close=Tanca la barra lateral
sidebar_refresh=Refresca
sidebar_header0=Informació del Sistema
sidebar_host=Nom de host
sidebar_os=Sistema operatiu
sidebar_login=Registrat com a
sidebar_from=Registrat des de
sidebar_webmin=Versió de Webmin
sidebar_usermin=Versió d'Usermin
sidebar_cpu=Càrregues mitjanes de la CPU
sidebar_load=$1 (1 min) $2 (5 mins) $3 (15 mins)
sidebar_real=Memòria real
sidebar_virt=Memòria virtual
sidebar_procs=Processos en execució
sidebar_disk=Espai del disc local
sidebar_used=$1 total, $2 utilitzats
sidebar_out=$1&nbsp;de&nbsp;$2
sidebar_quota=Ús del disc i quota
sidebar_header5=Informació del compte
sidebar_uquota=Quota del disc i ús
sidebar_time=Hora del servidor
gears_title=Gears
gears_install=Instal·la <i>Gears</i>
gears_enable=Activa <i>Gears</i>
gears_warning=<i>Gears</i> no s'hauria d'activar en un servidor públio i/o compartit
gears_msg1_title=Accelera Webmin
gears_msg1_s1=Aquest tema de Webmin suporta <i>Google Gears</i> per accelerar la càrrega de pàgines posant en cau local imatges, scripts i fitxers CSS
gears_msg1_s2=Més informació quant a <i>Google Gears</i>
gears_msg2_title=Estat de <i>Gears</i>
gears_msg2_s1=<i>Gears</i> està <strong>instal·lat</strong> en aquest ordinador però <strong>no està activat</strong>per a ser utilitzat amb aquest lloc Webmin
gears_msg2_s2=Per activar-ho, assegura't que aquest URL no està a la llista de denegació de la Configuració de <i>Gears</i> (la menú d'Eines del navegador), llavors fes clic a <strong>Activa <i>Gears</i></strong>
gears_msg3_title=Estat de <i>Gears</i>
gears_msg3_s1=<i>Gears</i> està <strong>instal·lat i activat</strong> en aquest ordinador. Pots desactivar-ho des del menú d'Eines del teu navegador
gears_msg3_s2=Si hi ha algun error, prova a desactivar <i>Gears</i>m recarregar la pàgina, i tornar-ho a activar
gears_msg3_s3=Estat de l'emmagatzematge local:
gears_msg4_s1=Versió del manifest:

View File

@@ -2386,7 +2386,7 @@ Type of alert:
=item info - blue
=item warning - yellow
=item warn - yellow
=item danger - red

View File

@@ -10108,7 +10108,10 @@ to display. Each is a hash ref with the following keys :
=item id - A unique ID for the object
=item type - Can be "html" for an arbitrary block of HTML, "table" for a table
of information, "usage" for a table of usage of some resource.
of information, "usage" for a table of usage of some resource,
"redirect" for a request to redirect the whole page to another URL,
"warning" for a warning dialog, or "link" for a link to another
page.
=item desc - The title for this section of info
@@ -10125,6 +10128,18 @@ to display. Each is a hash ref with the following keys :
=item titles - In "usage" mode, an 3-element array ref of titles to show above
the usage columns.
=item url - In "redirect" mode, the URL to redirect the system info page to
=item warning - In "warning" mode, the HTML warning message
=item level - In "warning" mode, can be one of "success", "info", "warn" or
"danger"
=item link - In "link" mode, the destination URL
=item target - In "link" mode, can be "new" for a new page, or "window" for the
current whole browser window
For "table" mode, the keys in each hash ref are :
=item desc - Label for this item
@@ -10136,6 +10151,8 @@ For "table" mode, the keys in each hash ref are :
a different color. Any leftover is assumed is filled in with the
final color.
=item wide - Set to 1 if this item should span a whole row
=item header - Text to show above the table
For "usage" mode, the keys in each hash ref are :
@@ -10156,7 +10173,7 @@ use where a system info block has a form that submits to itself.
sub list_combined_system_info
{
my ($data, $in) = @_;
foreach my $m (&get_available_module_infos()) {
foreach my $m (&get_all_module_infos()) {
my $dir = &module_root_directory($m->{'dir'});
my $mfile = "$dir/system_info.pl";
next if (!-r $mfile);
@@ -10167,6 +10184,16 @@ foreach my $m (&get_available_module_infos()) {
push(@rv, $i);
}
}
if (&foreign_available("webmin")) {
# Merge in old-style notification API
&foreign_require("webmin");
foreach my $n (&webmin::get_webmin_notifications()) {
push(@rv, { 'type' => 'warning',
'level' => 'info',
'module' => 'webmin',
'warning' => $n });
}
}
return sort { ($b->{'priority'} || 0) <=> ($a->{'priority'} || 0) } @rv;
}

View File

@@ -325,6 +325,7 @@ ssl_cert=Fitxer de certificat
ssl_cert_def=El mateix de la clau privada
ssl_cert_oth=Fitxer a part
ssl_redirect=Redirecciona les peticions no SSL a mode SSL
ssl_deny=Versions del protocol SSL a rebutjar
ssl_compression=Permet les connexions SSL comprimides
ssl_honorcipherorder=Força l'ús de l'ordre de xifratge definit pel servidor
ssl_extracas=Fitxers addicionals de certificat<br>(per a certificats encadenats)