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

This commit is contained in:
Jamie Cameron
2025-11-08 17:18:30 -08:00
51 changed files with 124 additions and 69 deletions

View File

@@ -238,6 +238,18 @@ my @themes = grep { !$_->{'overlay'} } @all;
my @overlays = grep { $_->{'overlay'} } @all;
if ($access{'theme'}) {
my $tconf_link;
my %tinfo = &webmin::get_theme_info($user{'theme'});
if ($user{'theme'} && $user{'theme'} eq $tinfo{'dir'} &&
$user{'name'} eq $remote_user &&
$tinfo{'config_link'}) {
$tconf_link = &ui_tag('span', &ui_link(
"@{[&get_webprefix()]}/$tinfo{'config_link'}",
&ui_tag('span', '⚙',
{ class => 'theme-config-char',
title => $text{'themes_configure'} }),
'text-link'), { style => 'position: relative;' });
}
# Current theme
my @topts = ( );
push(@topts, !$user{'theme'} ? [ '', $text{'edit_themedef'} ] : ());
@@ -247,7 +259,8 @@ if ($access{'theme'}) {
print &ui_table_row($text{'edit_theme'},
&ui_radio("theme_def", defined($user{'theme'}) ? 0 : 1,
[ [ 1, $text{'edit_themeglobal'} ],
[ 0, &ui_select("theme", $user{'theme'}, \@topts) ] ]));
[ 0, &ui_select("theme", $user{'theme'}, \@topts).
$tconf_link ] ]));
}
if ($access{'theme'} && @overlays) {

View File

@@ -1235,6 +1235,9 @@ sub restart_button
local $args = "redir=".&urlize(&this_url());
local @rv;
if (&is_apache_running()) {
if ($access{'stop'}) {
push(@rv, &ui_link("stop.cgi?$args", $text{'apache_stop'}) );
}
if ($access{'apply'}) {
my $n = &needs_config_restart();
if ($n) {
@@ -1245,9 +1248,6 @@ if (&is_apache_running()) {
push(@rv, &ui_link("restart.cgi?$args", $text{'apache_apply'}) );
}
}
if ($access{'stop'}) {
push(@rv, &ui_link("stop.cgi?$args", $text{'apache_stop'}) );
}
}
elsif ($access{'stop'}) {
push(@rv, &ui_link("start.cgi?$args", $text{'apache_start'}) );

View File

@@ -37,7 +37,7 @@ if (@tls) {
print &ui_columns_end();
}
else {
print "<b>$text{'tls_none'}</b> <p>\n";
print &ui_alert_box($text{'tls_none'}, 'info', undef, undef, "");
}
print &ui_links_row(\@links);

View File

@@ -126,10 +126,11 @@ if ($access{'locale'}) {
if ($access{'theme'}) {
# Show personal theme
my %tinfo = ();
my $tname;
if ($gconfig{'theme'}) {
my ($gtheme, $goverlay) = split(/\s+/, $gconfig{'theme'});
my %tinfo = &webmin::get_theme_info($gtheme);
%tinfo = &webmin::get_theme_info($gtheme);
$tname = $tinfo{'desc'};
}
else {
@@ -140,6 +141,16 @@ if ($access{'theme'}) {
my @overlays = grep { $_->{'overlay'} } @all;
# Main theme
my $tconf_link;
if ($user->{'theme'} && $user->{'theme'} eq $tinfo{'dir'} &&
$tinfo{'config_link'}) {
$tconf_link = &ui_tag('span', &ui_link(
"@{[&get_webprefix()]}/$tinfo{'config_link'}",
&ui_tag('span', '⚙',
{ class => 'theme-config-char',
title => $text{'themes_configure'} }),
'text-link'), { style => 'position: relative;' });
}
print &ui_table_row($text{'index_theme'},
&ui_radio("theme_def", defined($user->{'theme'}) ? 0 : 1,
[ [ 1, &text('index_themeglobal', $tname)."<br>" ],
@@ -149,7 +160,8 @@ if ($access{'theme'}) {
? [ '', $text{'index_themedef'} ]
: (),
map { [ $_->{'dir'}, $_->{'desc'} ] }
@themes ]), undef, [ "valign=top","valign=top" ]);
@themes ]).$tconf_link,
undef, [ "valign=top","valign=top" ]);
# Overlay, if any
if (@overlays) {

View File

@@ -924,7 +924,7 @@ foreach my $arr ("mins", "hours", "days", "months", "weekdays") {
$table .= &ui_columns_row(\@cols, [ "valign=top", "valign=top", "valign=top",
"valign=top", "valign=top" ]);
$table .= &ui_columns_end();
$table .= $text{'edit_ctrl'};
$table .= &ui_note($text{'edit_ctrl'}, 0);
$rv .= &ui_table_row(undef, $table, $width, undef, ['data-schedule-tr']);
return $rv;
}
@@ -1056,7 +1056,8 @@ foreach $arr ("mins", "hours", "days", "months", "weekdays") {
}
print "</tr></table></td>\n";
}
print "</tr> <tr $cb> <td colspan=5>$text{'edit_ctrl'}</td> </tr>\n";
my $ctlnote = &ui_note($text{'edit_ctrl'}, 0);
print "</tr> <tr $cb> <td colspan=5>$ctlnote</td> </tr>\n";
}
=head2 parse_times_input(&job, &in)

View File

@@ -230,9 +230,9 @@ if ($in{'search'}) {
# Show search form
print &ui_form_start("index.cgi");
print "$text{'index_search'}:&nbsp;\n";
print "$text{'index_search'} &nbsp;\n";
print &ui_textbox("search", $in{'search'}, 20);
print &ui_submit($text{'index_ok'});
print &ui_submit($text{'ui_searchok'});
print &ui_form_end();
# Check if we are over the display limit

View File

@@ -27,7 +27,7 @@ index_enable=تمكين الوظائف المختارة
index_esearch=لا توجد وظائف تطابق بحثك عن$1.
index_toomany2=هناك الكثير من الوظائف لا تظهر. استخدم نموذج البحث أعلاه للحد من القائمة.
index_search=العثور على وظائف مطابقة كرون
index_ok=بحث
ui_searchok=بحث
index_searchres=وظائف Cron مطابقة$1 ..
index_reset=إعادة ضبط البحث.
index_econfigcheck=لا يمكن إدارة مهام Cron على نظامك ، لأن تكوين الوحدة غير صالح :$1

View File

@@ -25,7 +25,7 @@ index_enable=Включи избраните задачи
index_esearch=Няма задачи, които да съответстват на търсенето ви за $1.
index_toomany2=Задачите са твърде много, за да бъдат показани. Използвайте системата за търсене по-горе, за да ограничите списъка.
index_search=Открий задачи на Cron, които съответстват
index_ok=Търсене
ui_searchok=Търсене
index_searchres=Задачи на Cron, които съответстват на $1 ..
index_reset=Инициализиране на търсенето.
index_econfigcheck=Задачите на Cron не могат да бъдат управлявани във вашата система, тъй като конфигурацията на модула не е валидна : $1

View File

@@ -27,7 +27,7 @@ index_enable=Activa els Treballs Seleccionats
index_esearch=No hi ha cap treball que coincideixi amb la recerca de $1.
index_toomany2=Hi ha massa treballs per mostrar. Utilitza el formulari de cerca de dalt per limitar la llista.
index_search=Busca els treballs Cron que coincideixin amb
index_ok=Busca
ui_searchok=Busca
index_searchres=Treballs cron que coincideixen amb...
index_reset=Reinici la cerca.
index_econfigcheck=No es poden gestionar treballs Cron al sistema perquè la configuració del mòdul no és vàlida: $1

View File

@@ -23,7 +23,7 @@ index_enable=Zapnout vybrané úlohy
index_esearch=Žádné úlohy neodpovídají vyhledávací podmínce $1.
index_toomany2=Příliš mnoho úloh k zobrazení. Použijte formulář vyhledávání k omezení jejich počtu.
index_search=Najít úlohy Cronu odpovídající podmínce
index_ok=Hledat
ui_searchok=Hledat
index_searchres=Úlohy Cronu vyhovující $1 ..
index_reset=Resetovat hledání.
index_econfigcheck=Úlohy Cronu nelze na Vašem systému spravovat, dokud nebude konfigurace modulu v pořádku: $1

View File

@@ -27,7 +27,7 @@ index_enable=Aktivér valgte job
index_esearch=Ingen job matchede din søgning efter $1.
index_toomany2=Der er for mange job at vise. Brug søgeformen ovenfor til at begrænse listen.
index_search=Find matchende Cron-job
index_ok=Søg
ui_searchok=Søg
index_searchres=Cron job matchende $1 ..
index_reset=Nulstil søgning.
index_econfigcheck=Cron-job kan ikke administreres på dit system, da modulkonfigurationen ikke er gyldig : $1

View File

@@ -27,7 +27,7 @@ index_enable=Ausgewählte Jobs aktivieren
index_esearch=Keine Jobs entsprechen Ihrer Suche nach $1.
index_toomany2=Es gibt zu viele Jobs, um sie anzuzeigen. Verwenden Sie das Suchformular oben, um die Liste zu begrenzen.
index_search=Finde passende Cron-Jobs
index_ok=Suche
ui_searchok=Suche
index_searchres=Cron-Jobs, die $1 entsprechen ..
index_reset=Suche zurücksetzen.
index_econfigcheck=Cron-Jobs können auf Ihrem System nicht verwaltet werden, da die Modulkonfiguration ungültig ist: $1

View File

@@ -27,7 +27,7 @@ index_enable=Ενεργοποίηση επιλεγμένων εργασιών
index_esearch=Καμία εργασία δεν ταιριάζει με την αναζήτησή σας για $1.
index_toomany2=Υπάρχουν πάρα πολλές δουλειές για προβολή. Χρησιμοποιήστε τη φόρμα αναζήτησης παραπάνω για να περιορίσετε τη λίστα.
index_search=Βρείτε τις αντιστοιχίες εργασιών Cron
index_ok=Αναζήτηση
ui_searchok=Αναζήτηση
index_searchres=Οι εργασίες Cron αντιστοιχούν στο $1 ..
index_reset=Επαναφορά αναζήτησης.
index_econfigcheck=Δεν είναι δυνατή η διαχείριση των εργασιών Cron στο σύστημά σας, καθώς η διαμόρφωση της μονάδας δεν είναι έγκυρη : $1

View File

@@ -27,7 +27,7 @@ index_enable=Enable Selected Jobs
index_esearch=No jobs matched your search for $1.
index_toomany2=There are too many jobs to show. Use the search form above to limit the list.
index_search=Find Cron jobs matching
index_ok=Search
ui_searchok=Search
index_searchres=Cron jobs matching $1 ..
index_reset=Reset search.
index_econfigcheck=Cron jobs cannot be managed on your system, as the module configuration is not valid : $1
@@ -63,7 +63,7 @@ edit_run=Run Now
edit_saverun=Save and Run Now
edit_clone=Clone Job
edit_return=cron job
edit_ctrl=Note: Ctrl-click (or command-click on the Mac) to select and de-select minutes, hours, days and months.
edit_ctrl=Tip: Use Ctrl-click (or -click on Mac) to select or deselect multiple items, or Shift-click to select a range
edit_special1=Simple schedule
edit_special0=Times and dates selected below ..
edit_special_hourly=Hourly

View File

@@ -10,7 +10,7 @@ index_enable=Habilitar trabajos seleccionados
index_esearch=Ningún trabajo coincide con su búsqueda de $1.
index_toomany2=Hay demasiados trabajos para mostrar. Use el formulario de búsqueda anterior para limitar la lista.
index_search=Encuentra trabajos de Cron que coincidan
index_ok=Buscar
ui_searchok=Buscar
index_searchres=Cron empleos que coinciden con $1 ..
index_reset=Restablecer búsqueda.
index_econfigcheck=Los trabajos Cron no se pueden administrar en su sistema, ya que la configuración del módulo no es válida : $1

View File

@@ -27,7 +27,7 @@ index_enable=Gaitu hautatutako lanak
index_esearch=Ez da lanik datorren $1 bilaketarekin.
index_toomany2=Lanpostu gehiegi daude erakusteko. Erabili goiko inprimakia zerrenda mugatzeko.
index_search=Aurkitu Cron lanekin bat datozenak
index_ok=Search
ui_searchok=Search
index_searchres=$1 datozen Cron lanak.
index_reset=Bilaketa berrezarri.
index_econfigcheck=Cron lanak ezin dira zure sisteman kudeatu, moduluaren konfigurazioa ez baita baliozkoa : $1

View File

@@ -14,7 +14,7 @@ index_enable=مشاغل انتخاب شده را فعال کنید
index_esearch=هیچ مشاقی با جستجوی$1 شما مطابقت ندارد.
index_toomany2=کارهای بسیار زیادی برای نشان دادن وجود دارد. برای محدود کردن لیست از فرم جستجو در بالا استفاده کنید.
index_search=تطبیق کار Cron را پیدا کنید
index_ok=جستجو کردن
ui_searchok=جستجو کردن
index_searchres=مشاغل کرون مطابق با$1 ..
index_reset=تنظیم مجدد جستجو
index_econfigcheck=مشاغل Cron روی سیستم شما قابل مدیریت نیست ، زیرا پیکربندی ماژول معتبر نیست :$1

View File

@@ -27,7 +27,7 @@ index_enable=Ota valitut työt käyttöön
index_esearch=Yksikään työ ei vastannut hakutulosta $1.
index_toomany2=Työpaikkoja on liian paljon näytettäväksi. Rajoita luetteloa yllä olevan hakulomakkeen avulla.
index_search=Etsi sopivia Cron-töitä
index_ok=Hae
ui_searchok=Hae
index_searchres=Cron-työt, jotka vastaavat $1 ..
index_reset=Nollaa haku.
index_econfigcheck=Cron-töitä ei voida hallita järjestelmässäsi, koska moduulin kokoonpano ei ole kelvollinen : $1

View File

@@ -24,7 +24,7 @@ index_enable=Activer les tâches sélectionnées
index_esearch=Aucune tâche ne correspond à votre recherche pour $1.
index_toomany2=Il y a trop de tâches à montrer. Utilisez le formulaire de recherche ci-dessus pour limiter la liste.
index_search=Trouver les tâches Cron correspondantes
index_ok=Rechercher
ui_searchok=Rechercher
index_searchres=Les tâches Cron correspondent à $1 ...
index_reset=Réinitialiser la recherche
index_econfigcheck=Les tâches Cron ne peuvent pas être gérées sur votre système car la configuration du module n'est pas valide : $1

View File

@@ -6,7 +6,7 @@ index_ecrondir_create=Pokušajte stvoriti direktorij poslova $1 ?
index_esearch=Nijedan posao ne odgovara vašoj pretrazi za $1.
index_toomany2=Previše je poslova za pokazati. Upotrijebite gornji obrazac za pretraživanje da biste ograničili popis.
index_search=Pronađite Cron poslove koji se podudaraju
index_ok=traži
ui_searchok=traži
index_searchres=Cron poslovi koji odgovaraju $1 ..
index_reset=Poništi pretraživanje.
index_econfigcheck=Cron poslovi ne mogu se upravljati u vašem sustavu, jer konfiguracija modula nije valjana : $1

View File

@@ -27,7 +27,7 @@ index_enable=Kiválasztott munka engedélyezése
index_esearch=Nem található a keresett $1
index_toomany2=Túl sok megjelenítendő munka. Használja a keresési mezőt a lista szűrésére!
index_search=Időzített feladat (Cron munka) keresése:
index_ok=Keresés
ui_searchok=Keresés
index_searchres=Egyező Cron munkák: $1 ..
index_reset=Keresés visszaállítása.
index_econfigcheck=A Cron munkákat nem tudjuk kezelni az ön rendszerén, mivel a modul beállítások nem megfelelőek: $1

View File

@@ -6,7 +6,7 @@ index_ecrondir_create=Prova a creare la directory dei lavori $1 ?
index_esearch=Nessun lavoro corrisponde alla tua ricerca per $1.
index_toomany2=Ci sono troppi lavori da mostrare. Utilizzare il modulo di ricerca sopra per limitare l'elenco.
index_search=Trova i lavori Cron corrispondenti
index_ok=Ricerca
ui_searchok=Ricerca
index_searchres=Cron lavori corrispondenti a $1 ..
index_reset=Reimposta ricerca.
index_econfigcheck=I lavori Cron non possono essere gestiti sul sistema in quanto la configurazione del modulo non è valida : $1

View File

@@ -15,7 +15,7 @@ index_enable=選択したジョブを有効にする
index_esearch=$1の検索に一致するジョブはありません。
index_toomany2=表示するジョブが多すぎます。上記の検索フォームを使用して、リストを制限します。
index_search=一致するCronジョブを検索
index_ok=探す
ui_searchok=探す
index_searchres=$1に一致するCronジョブ ..
index_reset=検索をリセットします。
index_econfigcheck=モジュール構成が無効であるため、cronジョブをシステムで管理できません $1

View File

@@ -19,7 +19,7 @@ index_enable=선택된 작업 사용
index_esearch=$1 에 대한 검색과 일치하는 작업이 없습니다.
index_toomany2=표시 할 작업이 너무 많습니다. 위의 검색 양식을 사용하여 목록을 제한하십시오.
index_search=일치하는 Cron 작업 찾기
index_ok=검색
ui_searchok=검색
index_searchres=$1 과 (와) 일치하는 Cron 작업
index_reset=검색을 재설정하십시오.
index_econfigcheck=모듈 구성이 유효하지 않으므로 시스템에서 Cron 작업을 관리 할 수 없습니다 : $1

View File

@@ -23,7 +23,7 @@ index_enable=Membolehkan Tugas Terpilih
index_esearch=Tiada tugas yang sepadan dengan carian anda untuk $1.
index_toomany2=Terdapat terlalu banyak tugas untuk dipaparkan. Guna borang carian di atas untuk menghadkan senarai.
index_search=Mencari tugas Cron yang sepadan
index_ok=Carian
ui_searchok=Carian
index_searchres=Tugas Cron yang sepadan $1 ..
index_reset=Tetapan semula carian.
index_econfigcheck=Tugas Cron tidak boleh diuruskan pada sistem anda, seperti konfigurasi modul itu tidak sah: $1

View File

@@ -23,7 +23,7 @@ index_enable=Aanzetten Geselecteerde Taken
index_esearch=Geen taken komen overeen voor de zoekopdracht naar $1
index_toomany2=Er zijn teveel jobs om te laten zien. Gebruik het zoek formulier hierboven om een kleinere lijst te krijgen.
index_search=Vind cron jobs die overeenkomen met
index_ok=Zoeken
ui_searchok=Zoeken
index_searchres=Cron taken die overeenkomen met $1..
index_reset=Reset Zoeken
index_econfigcheck=Cron jobs kunnen niet beheerd worden op uw systeem, omdat de module configuratie niet geldig is : $1

View File

@@ -27,7 +27,7 @@ index_enable=Slå på valgte jobber
index_esearch=Ingen jobber stemte med søket ditt etter $1.
index_toomany2=Det er for mange jobber å vise. Bruk søkeskjemaet ovenfor til å begrense listen.
index_search=Finn Cron jobber som stemmer med
index_ok=Søk
ui_searchok=Søk
index_searchres=Cron jobber som stemmer med $1 ..
index_reset=Tilbakestill søk.
index_econfigcheck=Cron jobber kan ikke vedlikeholdes på systemet ditt, da modulkonfigurasjonen ikke er gyldig : $1

View File

@@ -27,7 +27,7 @@ index_enable=Włącz wybrane zadania
index_esearch=Brak zadań pasujących do wyszukiwania $1.
index_toomany2=Za dużo zadań do wyświetlenia. Użyj wyszukiwania powyżej, aby ograniczyć listę.
index_search=Znajdź zadania Cron pasujące do
index_ok=Szukaj
ui_searchok=Szukaj
index_searchres=Zadania Cron pasujące do $1 ..
index_reset=Resetuj wyszukiwanie.
index_econfigcheck=Zarządzanie zadaniami Cron nie jest możliwe na Twoim systemie, ponieważ konfiguracja modułu jest nieprawidłowa: $1

View File

@@ -19,7 +19,7 @@ index_enable=Ativar trabalhos selecionados
index_esearch=Nenhum trabalho corresponde à sua pesquisa por $1.
index_toomany2=Existem muitos empregos para mostrar. Use o formulário de pesquisa acima para limitar a lista.
index_search=Encontrar Cron empregos correspondentes
index_ok=Procurar
ui_searchok=Procurar
index_searchres=Trabalhos Cron correspondentes a $1 ..
index_reset=Redefinir pesquisa.
index_econfigcheck=Trabalhos Cron não podem ser gerenciados no seu sistema, pois a configuração do módulo não é válida : $1

View File

@@ -23,7 +23,7 @@ index_enable=Habilitar Tarefas Selecionadas
index_esearch=Nenhuma tarefa foi encontrada usando o termo de busca $1.
index_toomany2=Há muitas tarefas para exibir. Use os filtros de busca acima para limitar a lista.
index_search=Encontrar tarefas Cron com a expressão
index_ok=Procurar
ui_searchok=Procurar
index_searchres=Tarefas Cron com a expressão $1 ..
index_reset=Limpar busca.
index_econfigcheck=Não é possível gerenciar tarefas Cron no seu sistema, pois a configuração de módulo não é válida: $1

View File

@@ -27,7 +27,7 @@ index_enable=Включить Выбранные Задания
index_esearch=По вашему запросу $1 не найдено ни одного задания.
index_toomany2=Слишком много вариантов. Воспользуйтесь поиском выше, чтобы ограничить результат.
index_search=Найти подходящие задания Cron
index_ok=Поиск
ui_searchok=Поиск
index_searchres=Задания Cron, соответствующие $1 ..
index_reset=Сбросить поиск.
index_econfigcheck=Заданиями Cron нельзя управлять в вашей системе, так как конфигурация модуля неверна : $1

View File

@@ -25,7 +25,7 @@ index_enable=Povoliť vybrané úlohy
index_esearch=Vášmu vyhľadávaniu pre $1 nezodpovedali žiadne úlohy.
index_toomany2=Je príliš veľa pracovných miest na zobrazenie. Zoznam obmedzíte pomocou vyhľadávacieho formulára vyššie.
index_search=Nájdite zodpovedajúce úlohy spoločnosti Cron
index_ok=Vyhľadávanie
ui_searchok=Vyhľadávanie
index_searchres=Cron pracovných miest zodpovedá $1 ..
index_reset=Obnoviť vyhľadávanie.
index_econfigcheck=Vo vašom systéme nie je možné spravovať úlohy Cron, pretože konfigurácia modulu nie je platná : $1

View File

@@ -19,7 +19,7 @@ index_enable=Aktivera utvalda jobb
index_esearch=Inga jobb matchade din sökning efter $1.
index_toomany2=Det finns för många jobb att visa. Använd sökformuläret ovan för att begränsa listan.
index_search=Hitta Cron jobb matchning
index_ok=Sök
ui_searchok=Sök
index_searchres=Cron jobb matchar $1 ..
index_reset=Återställ sökningen.
index_econfigcheck=Cron-jobb kan inte hanteras på ditt system, eftersom modulkonfigurationen inte är giltig : $1

View File

@@ -13,7 +13,7 @@ index_enable=Seçilen İşleri Etkinleştir
index_esearch=$1 için aramanızla eşleşen iş yok.
index_toomany2=Gösterilecek çok fazla iş var. Listeyi sınırlamak için yukarıdaki arama formunu kullanın.
index_search=Eşleşen Cron işlerini bulun
index_ok=Arama
ui_searchok=Arama
index_searchres=$1 ile eşleşen Cron işleri
index_reset=Aramayı sıfırla.
index_econfigcheck=Modül yapılandırması geçerli olmadığı için Cron işleri sisteminizde yönetilemiyor : $1

View File

@@ -19,7 +19,7 @@ index_enable=Увімкнути вибрані завдання
index_esearch=Жодна робота не відповідала вашому пошуку для $1.
index_toomany2=Занадто багато робочих місць для показу. Використовуйте форму пошуку вище, щоб обмежити список.
index_search=Знайдіть відповідність завданням Cron
index_ok=Пошук
ui_searchok=Пошук
index_searchres=Завдання Cron відповідають $1.
index_reset=Скинути пошук.
index_econfigcheck=Завданнями Cron не можна керувати у вашій системі, оскільки конфігурація модуля недійсна : $1

View File

@@ -18,7 +18,7 @@ index_enable=启用所选作业
index_esearch=没有职位与您对 $1的搜索匹配。
index_toomany2=有太多工作要显示。使用上面的搜索表单来限制列表。
index_search=查找匹配的Cron职位
index_ok=搜索
ui_searchok=搜索
index_searchres=与 $1..相匹配的Cron作业
index_reset=重置搜索。
index_econfigcheck=Cron作业无法在您的系统上管理因为模块配置无效 $1

View File

@@ -19,7 +19,7 @@ index_enable=啟用所選作業
index_esearch=沒有職位與您對 $1的搜索匹配。
index_toomany2=有太多工作要顯示。使用上面的搜索表單來限制列表。
index_search=查找匹配的Cron職位
index_ok=搜索
ui_searchok=搜索
index_searchres=與 $1..相匹配的Cron作業
index_reset=重置搜索。
index_econfigcheck=Cron作業無法在您的系統上管理因為模塊配置無效 $1

View File

@@ -97,13 +97,13 @@ mail_reset=Clear
mail_logout=Change POP3 login
mail_logout2=Change IMAP login
mail_sig=Edit Signature
mail_jump=Jump to page :
mail_jump=Jump to page
mail_of=of
mail_replyto=Reply to
mail_folder=Folder
mail_delall=Delete All
mail_deltrash=Empty Trash
mail_search2=Search for:
mail_search2=Search for
mail_search3=Find with score above:
mail_advanced=Advanced Search
mail_return2=User Email
@@ -179,7 +179,7 @@ view_crypt_4=Encrypted portion of message was successfully decrypted.
view_recv=<a href='$2'>Fetch key ID $1 from keyserver</a>.
view_folder=Return to mailbox
view_dheader=Detach attachment to server
view_detach=Detach file:
view_detach=Detach file
view_dall=&lt;All files&gt;
view_dir=to server file or directory:
view_black=Block Sender

View File

@@ -90,7 +90,7 @@ mail_reset=Clear
mail_logout=Change POP3 login
mail_logout2=Change IMAP login
mail_sig=Edit Signature
mail_jump=Jump to page :
mail_jump=Jump to page
mail_of=of
mail_replyto=Reply to
mail_folder=Folder

View File

@@ -438,7 +438,7 @@ tprivs_privs1=Table permissions
tprivs_privs2=Field permissions
tprivs_all=All
tprivs_anon=Anonymous
tprivs_add=Add new permissions in database :
tprivs_add=Add new permissions in database
tprivs_norows=No таблица permissions defined
tprivs_return=таблица permissions
tprivs_none=None

View File

@@ -451,7 +451,7 @@ tprivs_privs1=Table permissions
tprivs_privs2=Field permissions
tprivs_all=All
tprivs_anon=Anonymous
tprivs_add=Add new permissions in database :
tprivs_add=Add new permissions in database
tprivs_norows=No table permissions defined
tprivs_return=table permissions
tprivs_none=None
@@ -487,8 +487,8 @@ cprivs_user=User
cprivs_privs=Permissions
cprivs_all=All
cprivs_anon=Anonymous
cprivs_add=Add new permissions in database and table :
cprivs_add2=Add new permissions :
cprivs_add=Add new permissions in database and table
cprivs_add2=Add new permissions
cprivs_norows=No field permissions defined
cprivs_return=field permissions
cprivs_none=None

View File

@@ -32,6 +32,7 @@ if ($gconfig{'loginbanner'} && $ENV{'HTTP_COOKIE'} !~ /banner=1/ &&
print "Set-Cookie: banner=1; path=/\r\n";
&PrintHeader();
$url = $in{'page'};
$url = &filter_javascript($url);
open(BANNER, "<$gconfig{'loginbanner'}");
while(<BANNER>) {
s/LOGINURL/$url/g;

View File

@@ -40,6 +40,7 @@ if ($gconfig{'loginbanner'} && $ENV{'HTTP_COOKIE'} !~ /banner=1/ &&
print "Set-Cookie: banner=1; path=/".$sec."\r\n";
&PrintHeader();
$url = $in{'page'};
$url = &filter_javascript($url);
open(BANNER, "<$gconfig{'loginbanner'}");
while(<BANNER>) {
s/LOGINURL/$url/g;

View File

@@ -234,7 +234,7 @@ if ( ( !$access{ 'sysdate' } && &has_command( "date" ) || !$access{ 'hwdate' } &
&webmincron::show_times_input($job), 2);
# Show ctrl help
print &ui_table_row(undef, $text{'index_ctrl'}, 2);
print &ui_table_row(undef, &ui_note($text{'index_ctrl'}, 0), 2);
print &ui_table_end();
print &ui_form_end([ [ "action", $text{'index_sync'} ] ]);

View File

@@ -19,7 +19,7 @@ index_tabsync2=Run system <tt>$1</tt> service for synchronization
index_desctime=This form is for changing the system's current time, which is used by all running processes. On operating systems that have a separate hardware clock, it can be used to set that too.
index_desczone=This form allows you to set the system's default time zone, which is used to convert the system time to a human-readable format and offset.
index_descsync=This form is for configuring the system to automatically synchronize the time with a remote server. Synchronization will be done using the Unix <tt>time</tt> protocol or NTP, depending on which commands are installed and what the remote system supports.
index_ctrl=Note: Ctrl-click (or command-click on the Mac) to select and de-select minutes, hours, days and months.
index_ctrl=Tip: Use Ctrl-click (or -click on Mac) to select or deselect multiple items, or Shift-click to select a range
action_save=Save
action_apply=Apply

View File

@@ -3344,7 +3344,7 @@ if ($head) {
}
}
=head2 ui_note(text)
=head2 ui_note(text, [whitespace-count])
Returns a note as a small font size text
@@ -3352,8 +3352,10 @@ Returns a note as a small font size text
sub ui_note
{
return &theme_ui_note(@_) if (defined(&theme_ui_note));
my ($text) = @_;
return "<font style='font-size:92%;opacity:0.66'>&nbsp;&nbsp;ⓘ&nbsp;&nbsp;".
my ($text, $whitespace) = @_;
$whitespace //= 2;
my $whitespace_str = "&nbsp;" x $whitespace;
return "<font style='font-size:92%;opacity:0.66'>${whitespace_str}ⓘ&nbsp;&nbsp;".
"$text</font>";
}

View File

@@ -106,7 +106,7 @@ uedit_newg=New group
uedit_samg=New group with same name as user
uedit_oldg=Existing group
uedit_2nd=Secondary groups
onsave=Upon Save..
onsave=Action upon save
uedit_movehome=Move home directory if changed?
uedit_chuid=Change user ID on files?
uedit_chgid=Change group ID on files?

View File

@@ -11,6 +11,10 @@ $access{'themes'} || &error($text{'acl_ecannot'});
@themes = &list_visible_themes($uconfig{'theme'});
$prog = "edit_themes.cgi?mode=";
($gtheme) = split(/\s+/, $gconfig{'theme'});
$curr_theme_selected = $gconfig{"theme_$base_remote_user"} || $gtheme;
($curr_theme) = grep { $_->{'dir'} eq $curr_theme_selected } @themes;
# Start tabs
if (@themes) {
@tabs = ( [ "change", $text{'themes_tabchange'}, $prog."change" ] );
@@ -28,11 +32,19 @@ if (@themes) {
print &ui_tabs_start_tab("mode", "change");
print "$text{'themes_desc'}<p>\n";
print &ui_form_start("change_theme.cgi");
print "<b>$text{'themes_sel'}</b>\n";
print "<b>$text{'themes_sel'}</b>&nbsp;&nbsp;\n";
print &ui_select("theme", $uconfig{'theme'},
[ !$uconfig{'theme'} ? [ '', $text{'themes_default'} ] : (),
map { [ $_->{'dir'}, &html_escape($_->{'desc'}) ] }
@themes ]),"<p>\n";
map { [ $_->{'dir'}, &html_escape($_->{'desc'}) ] } @themes ]);
if ($curr_theme->{'config_link'} &&
$uconfig{'theme'} eq $curr_theme->{'dir'}) {
print &ui_link(
"@{[&get_webprefix()]}/$curr_theme->{'config_link'}",
&ui_tag('span', '⚙',
{ class => 'theme-config-char',
title => $text{'themes_configure'} }),
'text-link');
}
print &ui_form_end([ [ undef, $text{'themes_change'} ] ]);
print &ui_tabs_end_tab("mode", "change");
}
@@ -62,7 +74,7 @@ if (@delthemes) {
print &ui_tabs_start_tab("mode", "delete");
print "$text{'themes_delete'}<p>\n";
print &ui_form_start("delete_mod.cgi");
print "<b>$text{'themes_delok'}</b>\n";
print "<b>$text{'themes_delok'}</b>&nbsp;&nbsp;\n";
print &ui_select("mod", undef,
[ map { [ $_->{'dir'}, &html_escape($_->{'desc'}) ] }
@delthemes ]),"<br>\n";

View File

@@ -83,7 +83,7 @@ session_forgot=Allow forgotten password recovery?
themes_title=Usermin Themes
themes_desc=Themes control the appearance of the Usermin user interface, including icons, colours, backgrounds and possibly the layout of pages. The selection box below can be used to choose one of the themes installed on your system that will be the default for Usermin users.
themes_sel=Current theme :
themes_sel=Current theme
themes_default=Legacy Theme
themes_change=Change
themes_installdesc=Use the form below to install a new Usermin theme on your system. Themes are typically distributed in <tt>.wbt</tt> files, but can also be installed from RPM files if supported by your operating system.
@@ -108,7 +108,7 @@ themes_erpm=Not a Usermin theme RPM
themes_eirpm=RPM install failed : $1
themes_ok=Theme changed successfully .. redirecting to the Webmin index page.
themes_delete=This form can be used to delete one of the themes installed on your system that is not currently in use.
themes_delok=Theme to delete :
themes_delok=Theme to delete
themes_desc4=Installed themes can be exported as a wbt.gz file using the form below. A theme file can then be installed onto another system running Usermin.

View File

@@ -12,6 +12,9 @@ require './webmin-lib.pl';
@overlays = grep { $_->{'overlay'} } @all;
$prog = "edit_themes.cgi?mode=";
$curr_theme_selected = $gconfig{"theme_$base_remote_user"} || $gtheme;
($curr_theme) = grep { $_->{'dir'} eq $curr_theme_selected } @themes;
# Start tabs
if (@themes) {
@tabs = ( [ "change", $text{'themes_tabchange'}, $prog."change" ] );
@@ -35,10 +38,19 @@ if (@themes) {
print &ui_tabs_start_tab("mode", "change");
print "$text{'themes_desc'}<p>\n";
print &ui_form_start("change_theme.cgi");
print "<b>$text{'themes_sel'}</b>\n";
print "<b>$text{'themes_sel'}</b>&nbsp;&nbsp;\n";
print &ui_select("theme", $gtheme,
[ !$gtheme ? [ '', $text{'themes_default'} ] : (),
map { [ $_->{'dir'}, $_->{'desc'} ] } @themes ]),"<p>\n";
map { [ $_->{'dir'}, $_->{'desc'} ] } @themes ]);
if ($curr_theme->{'config_link'} &&
$gtheme eq $curr_theme->{'dir'}) {
print &ui_link(
"@{[&get_webprefix()]}/$curr_theme->{'config_link'}",
&ui_tag('span', '⚙',
{ class => 'theme-config-char',
title => $text{'themes_configure'} }),
'text-link');
}
print &ui_form_end([ [ undef, $text{'themes_change'} ] ]);
print &ui_tabs_end_tab("mode", "change");
}
@@ -82,7 +94,7 @@ if (!&shared_root_directory() && @all) {
print &ui_tabs_start_tab("mode", "delete");
print "$text{'themes_delete'}<p>\n";
print &ui_form_start("delete_mod.cgi");
print "<b>$text{'themes_delok'}</b>\n";
print "<b>$text{'themes_delok'}</b>&nbsp;&nbsp;\n";
print &ui_select("mod", undef,
[ map { [ $_->{'dir'}, $_->{'desc'} ] } @all ]),"<br>\n";
print &ui_form_end([ [ undef, $text{'delete'} ] ]);

View File

@@ -752,12 +752,13 @@ log_letsencryptcleanup=Removed Let's Encrypt DNS record for $1
themes_title=Webmin Themes
themes_desc=Themes control the appearance of the Webmin user interface, including icons, colours, backgrounds and the layout of pages. The selection box below can be used to choose one of the themes installed on your system.
themes_sel=Current theme :
themes_sel=Current theme
themes_configure=Open theme configuration page
themes_default=Legacy Theme
themes_none=None - let theme decide
themes_change=Change
themes_overdesc=Overlays modify the appearance of a theme, by changing the colors, backgrounds and icons. They do not change the layout.
themes_overlay=Current overlay :
themes_overlay=Current overlay
themes_installdesc=Use the form below to install a new Webmin theme on your system. Themes are typically distributed in <tt>.wbt</tt> files, but can also be installed from RPM files if supported by your operating system.
themes_installok=Install Theme
themes_tabchange=Change theme
@@ -787,7 +788,7 @@ themes_eirpm=RPM install failed : $1
themes_ok=Theme changed successfully—redirecting now ..
themes_ok2=Theme overlay changed successfully—redirecting now ..
themes_delete=This form can be used to delete one of the themes installed on your system that is not currently in use.
themes_delok=Theme to delete :
themes_delok=Theme to delete
themes_return=themes list
themes_err4=Failed to change overlay theme
themes_eoverlay=Selected overlay is not compatible with the current global theme