From: Michael Tremer <michael.tremer@ipfire.org>
To: Stephen Cuka <stephen@firemypi.org>
Cc: development@lists.ipfire.org
Subject: Re: [PATCH] pakfire.cgi: Convert icons to buttons.
Date: Fri, 28 Mar 2025 12:12:48 +0000 [thread overview]
Message-ID: <28586484-F931-4C4C-B6D9-F940B207D0DC@ipfire.org> (raw)
In-Reply-To: <20250327053443.2764833-1-stephen@firemypi.org>
Hello Stephen,
Thank you for your patches.
I don’t know what I can say to this. It just works :) Well done!
I have merged this into Core Update 194.
Best,
-Michael
> On 27 Mar 2025, at 05:34, Stephen Cuka <stephen@firemypi.org> wrote:
>
> - Convert icons to buttons on main and confirmation pages.
>
> - Disable Upgrade button if no core or add-on updates available.
>
> - Disable Install and Remove buttons until an add-on is selected
> to install or remove.
>
> - Change 'abort' to 'cancel'.
>
> - Change 'uninstall' to 'remove'.
>
> - Set fixed height on select boxes to keep the size the same if
> there are no options for the select.
>
> - Change translation for install/remove description text, the previous
> text referred to the icons.
> 'pakfire install description' -> 'Please select one or more add-ons to install.'
> 'pakfire uninstall description' -> 'Please select one or more add-ons to remove.'
>
> Signed-off-by: Stephen Cuka <stephen@firemypi.org>
> ---
> doc/language_issues.de | 2 +
> doc/language_issues.en | 6 +-
> doc/language_issues.es | 2 +
> doc/language_issues.fr | 2 +
> doc/language_issues.it | 2 +
> doc/language_issues.nl | 2 +
> doc/language_issues.pl | 2 +
> doc/language_issues.ru | 2 +
> doc/language_issues.tr | 2 +
> html/cgi-bin/pakfire.cgi | 212 +++++++++++++++++++++++----------------
> langs/de/cgi-bin/de.pl | 4 +-
> langs/en/cgi-bin/en.pl | 4 +-
> langs/es/cgi-bin/es.pl | 4 +-
> langs/fr/cgi-bin/fr.pl | 4 +-
> langs/it/cgi-bin/it.pl | 4 +-
> langs/nl/cgi-bin/nl.pl | 4 +-
> langs/pl/cgi-bin/pl.pl | 4 +-
> langs/ru/cgi-bin/ru.pl | 4 +-
> langs/tr/cgi-bin/tr.pl | 4 +-
> 19 files changed, 160 insertions(+), 110 deletions(-)
>
> diff --git a/doc/language_issues.de b/doc/language_issues.de
> index aeb37ccf7..c5db3dc64 100644
> --- a/doc/language_issues.de
> +++ b/doc/language_issues.de
> @@ -42,6 +42,7 @@ WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> WARNING: translation string unused: Weekly
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -831,6 +832,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.en b/doc/language_issues.en
> index 288aeda6e..5e4221153 100644
> --- a/doc/language_issues.en
> +++ b/doc/language_issues.en
> @@ -82,7 +82,6 @@ WARNING: untranslated string: WakeOnLan = Wake On Lan
> WARNING: untranslated string: a ca certificate with this name already exists = A CA certificate with this name already exists.
> WARNING: untranslated string: a connection with this common name already exists = A connection with this common name already exists.
> WARNING: untranslated string: a connection with this name already exists = A connection with this name already exists.
> -WARNING: untranslated string: abort = abort
> WARNING: untranslated string: access point name = Access Point Name
> WARNING: untranslated string: access point name is invalid = Access Point Name is invalid
> WARNING: untranslated string: access point name is required = Access Point Name is required
> @@ -1457,7 +1456,7 @@ WARNING: untranslated string: pakfire core update level = Core-Update-Level
> WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
> WARNING: untranslated string: pakfire finished error = Pakfire has finished! Errors occurred, please check the log output before proceeding.
> WARNING: untranslated string: pakfire install = Install
> -WARNING: untranslated string: pakfire install description = Please choose one or more items from the list below and click the plus to install.
> +WARNING: untranslated string: pakfire install description = Please select one or more add-ons to install.
> WARNING: untranslated string: pakfire install package = You want to install the following packages:
> WARNING: untranslated string: pakfire installed addons = Installed Add-ons:
> WARNING: untranslated string: pakfire invalid tree = Invalid repository selected
> @@ -1474,7 +1473,7 @@ WARNING: untranslated string: pakfire tree stable = Stable
> WARNING: untranslated string: pakfire tree testing = Testing
> WARNING: untranslated string: pakfire tree unstable = Unstable
> WARNING: untranslated string: pakfire uninstall all = Do you want to uninstall the following packages?
> -WARNING: untranslated string: pakfire uninstall description = Please choose one or more items from the list below and click the minus to uninstall.
> +WARNING: untranslated string: pakfire uninstall description = Please select one or more add-ons to remove.
> WARNING: untranslated string: pakfire uninstall package = You want to uninstall the following packages:
> WARNING: untranslated string: pakfire updates = Available Updates
> WARNING: untranslated string: pakfire upgrade = Upgrade
> @@ -1804,7 +1803,6 @@ WARNING: untranslated string: unable to contact = Unable to contact
> WARNING: untranslated string: unblock = Unblock
> WARNING: untranslated string: unblock all = Unblock all
> WARNING: untranslated string: uncheck all = Uncheck all
> -WARNING: untranslated string: uninstall = Uninstall
> WARNING: untranslated string: unknown = UNKNOWN
> WARNING: untranslated string: unlimited = Unlimited
> WARNING: untranslated string: unnamed = Unnamed
> diff --git a/doc/language_issues.es b/doc/language_issues.es
> index c68e79292..de7a79bc4 100644
> --- a/doc/language_issues.es
> +++ b/doc/language_issues.es
> @@ -43,6 +43,7 @@ WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> WARNING: translation string unused: Weekly
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -896,6 +897,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.fr b/doc/language_issues.fr
> index e0d8cb1f4..41cda1988 100644
> --- a/doc/language_issues.fr
> +++ b/doc/language_issues.fr
> @@ -46,6 +46,7 @@ WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> WARNING: translation string unused: Weekly
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -869,6 +870,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.it b/doc/language_issues.it
> index e00d5c5c1..80ef72027 100644
> --- a/doc/language_issues.it
> +++ b/doc/language_issues.it
> @@ -18,6 +18,7 @@ WARNING: translation string unused: Subclass
> WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -822,6 +823,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.nl b/doc/language_issues.nl
> index 42fb6088d..43b16a94f 100644
> --- a/doc/language_issues.nl
> +++ b/doc/language_issues.nl
> @@ -18,6 +18,7 @@ WARNING: translation string unused: Subclass
> WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -822,6 +823,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.pl b/doc/language_issues.pl
> index e7ffefd71..e59af3996 100644
> --- a/doc/language_issues.pl
> +++ b/doc/language_issues.pl
> @@ -18,6 +18,7 @@ WARNING: translation string unused: Subclass
> WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -738,6 +739,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.ru b/doc/language_issues.ru
> index 6ce1a3516..371f38fa7 100644
> --- a/doc/language_issues.ru
> +++ b/doc/language_issues.ru
> @@ -18,6 +18,7 @@ WARNING: translation string unused: Subclass
> WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -733,6 +734,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/doc/language_issues.tr b/doc/language_issues.tr
> index 5cf3953ad..fd624e9d6 100644
> --- a/doc/language_issues.tr
> +++ b/doc/language_issues.tr
> @@ -39,6 +39,7 @@ WARNING: translation string unused: Subclass
> WARNING: translation string unused: TOS Bits
> WARNING: translation string unused: Utilization on
> WARNING: translation string unused: Verbose
> +WARNING: translation string unused: abort
> WARNING: translation string unused: access allowed
> WARNING: translation string unused: access refused with this oinkcode
> WARNING: translation string unused: accounting
> @@ -851,6 +852,7 @@ WARNING: translation string unused: tripwirewarningpolicy
> WARNING: translation string unused: umount
> WARNING: translation string unused: umount removable media before to unplug
> WARNING: translation string unused: unencrypted
> +WARNING: translation string unused: uninstall
> WARNING: translation string unused: unix charset
> WARNING: translation string unused: unix group
> WARNING: translation string unused: unix password sync
> diff --git a/html/cgi-bin/pakfire.cgi b/html/cgi-bin/pakfire.cgi
> index 80aaf9a1c..1cd39e411 100644
> --- a/html/cgi-bin/pakfire.cgi
> +++ b/html/cgi-bin/pakfire.cgi
> @@ -120,18 +120,18 @@ if(($cgiparams{'ACTION'} ne '') && ($pagemode eq $PM_DEFAULT)) {
> if(&_is_pakfire_busy()) {
> $errormessage = $Lang::tr{'pakfire already busy'};
> $pagemode = $PM_LOGREAD; # Running Pakfire instance found, switch to log viewer mode
> - } elsif(($cgiparams{'ACTION'} eq 'install') && ($cgiparams{'FORCE'} eq 'on')) {
> + } elsif(($cgiparams{'ACTION'} eq $Lang::tr{'pakfire install'}) && ($cgiparams{'FORCE'} eq 'on')) {
> my @pkgs = split(/\|/, $cgiparams{'INSPAKS'});
> &General::system_background("/usr/local/bin/pakfire", "install", "--non-interactive", "--no-colors", @pkgs);
> &_http_pagemode_redirect($PM_LOGREAD, 1);
> - } elsif(($cgiparams{'ACTION'} eq 'remove') && ($cgiparams{'FORCE'} eq 'on')) {
> + } elsif(($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) && ($cgiparams{'FORCE'} eq 'on')) {
> my @pkgs = split(/\|/, $cgiparams{'DELPAKS'});
> &General::system_background("/usr/local/bin/pakfire", "remove", "--non-interactive", "--no-colors", @pkgs);
> &_http_pagemode_redirect($PM_LOGREAD, 1);
> - } elsif($cgiparams{'ACTION'} eq 'update') {
> + } elsif($cgiparams{'ACTION'} eq $Lang::tr{'pakfire refresh list'}) {
> &General::system_background("/usr/local/bin/pakfire", "update", "--force", "--no-colors");
> &_http_pagemode_redirect($PM_LOGREAD, 1);
> - } elsif($cgiparams{'ACTION'} eq 'upgrade') {
> + } elsif($cgiparams{'ACTION'} eq $Lang::tr{'pakfire upgrade'}) {
> &General::system_background("/usr/local/bin/pakfire", "upgrade", "-y", "--no-colors");
> &_http_pagemode_redirect($PM_LOGREAD, 1);
> } elsif($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
> @@ -161,16 +161,11 @@ my $extraHead = <<END
> /* Main screen */
> table#pfmain {
> width: 100%;
> - border-style: hidden;
> table-layout: fixed;
> - }
> -
> - #pfmain td {
> - padding: 5px 20px 0;
> text-align: center;
> }
> - #pfmain tr:not(:last-child) > td {
> - padding-bottom: 1.5em;
> + #pfmain td {
> + padding: 0px 20px;
> }
> #pfmain tr > td.heading {
> padding: 0;
> @@ -207,7 +202,6 @@ my $extraHead = <<END
> margin-top: 0.7em;
> padding-top: 0.7em;
> border-top: 0.5px solid $Header::bordercolour;
> -
> text-align: left;
> min-height: 15em;
> overflow-x: auto;
> @@ -280,36 +274,40 @@ END
>
> # Show Pakfire install/remove dependencies and confirm form
> # (_is_pakfire_busy status was checked before and can be omitted)
> -if (($cgiparams{'ACTION'} eq 'install') && ($pagemode eq $PM_DEFAULT)) {
> +if (($cgiparams{'ACTION'} eq $Lang::tr{'pakfire install'}) && ($pagemode eq $PM_DEFAULT)) {
> &Header::openbox("100%", "center", $Lang::tr{'request'});
>
> my @pkgs = split(/\|/, $cgiparams{'INSPAKS'});
> my @output = &General::system_output("/usr/local/bin/pakfire", "resolvedeps", "--no-colors", @pkgs);
> print <<END;
> - <table style="width: 100%"><tr><td colspan='2'><p>$Lang::tr{'pakfire install package'} <strong>@{pkgs}</strong><br>
> - $Lang::tr{'pakfire possible dependency'}</p>
> - <pre>
> + <table style="width: 100%">
> + <tr>
> + <td>
> + <p>$Lang::tr{'pakfire install package'} <strong>@{pkgs}</strong><br>$Lang::tr{'pakfire possible dependency'}</p>
> + <pre>
> END
> foreach (@output) {
> $_ =~ s/\^[\[[0-1]\;[0-9]+m//g;
> print "$_\n";
> }
> print <<END;
> - </pre></td></tr>
> - <tr><td colspan='2'>$Lang::tr{'pakfire accept all'}</td></tr>
> - <tr><td colspan='2'> </td></tr>
> - <tr><td align='right'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <input type='hidden' name='INSPAKS' value='$cgiparams{'INSPAKS'}' />
> - <input type='hidden' name='FORCE' value='on' />
> - <input type='hidden' name='ACTION' value='install' />
> - <input type='image' alt='$Lang::tr{'pakfire install'}' title='$Lang::tr{'pakfire install'}' src='/images/go-next.png' />
> - </form>
> + </pre>
> </td>
> - <td align='left'>
> - <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <input type='hidden' name='ACTION' value='' />
> - <input type='image' alt='$Lang::tr{'abort'}' title='$Lang::tr{'abort'}' src='/images/dialog-error.png' />
> - </form>
> + </tr>
> + <tr>
> + <td>$Lang::tr{'pakfire accept all'}</td>
> + </tr>
> + <tr>
> + <td> </td>
> + </tr>
> + <tr>
> + <td align='center'>
> + <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> + <input type='hidden' name='INSPAKS' value='$cgiparams{'INSPAKS'}' />
> + <input type='hidden' name='FORCE' value='on' />
> + <input type='submit' name='ACTION' value='$Lang::tr{'pakfire install'}'/>
> + <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}'/>
> + </form>
> </td>
> </tr>
> </table>
> @@ -319,36 +317,40 @@ END
> &Header::closepage();
> exit;
>
> -} elsif (($cgiparams{'ACTION'} eq 'remove') && ($pagemode eq $PM_DEFAULT)) {
> +} elsif (($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) && ($pagemode eq $PM_DEFAULT)) {
> &Header::openbox("100%", "center", $Lang::tr{'request'});
>
> my @pkgs = split(/\|/, $cgiparams{'DELPAKS'});
> my @output = &General::system_output("/usr/local/bin/pakfire", "resolvedeps", "--no-colors", @pkgs);
> print <<END;
> - <table style="width: 100%"><tr><td colspan='2'><p>$Lang::tr{'pakfire uninstall package'} <strong>@{pkgs}</strong><br>
> - $Lang::tr{'pakfire possible dependency'}</p>
> - <pre>
> + <table style="width: 100%">
> + <tr>
> + <td colspan='2'>
> + <p>$Lang::tr{'pakfire uninstall package'} <strong>@{pkgs}</strong><br>$Lang::tr{'pakfire possible dependency'}</p>
> + <pre>
> END
> foreach (@output) {
> $_ =~ s/\^[\[[0-1]\;[0-9]+m//g;
> print "$_\n";
> }
> print <<END;
> - </pre></td></tr>
> - <tr><td colspan='2'>$Lang::tr{'pakfire uninstall all'}</td></tr>
> - <tr><td colspan='2'> </td></tr>
> - <tr><td align='right'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <input type='hidden' name='DELPAKS' value='$cgiparams{'DELPAKS'}' />
> - <input type='hidden' name='FORCE' value='on' />
> - <input type='hidden' name='ACTION' value='remove' />
> - <input type='image' alt='$Lang::tr{'uninstall'}' title='$Lang::tr{'uninstall'}' src='/images/go-next.png' />
> - </form>
> + </pre>
> </td>
> - <td align='left'>
> - <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <input type='hidden' name='ACTION' value='' />
> - <input type='image' alt='$Lang::tr{'abort'}' title='$Lang::tr{'abort'}' src='/images/dialog-error.png' />
> - </form>
> + </tr>
> + <tr>
> + <td colspan='2'>$Lang::tr{'pakfire uninstall all'}</td>
> + </tr>
> + <tr>
> + <td colspan='2'> </td>
> + </tr>
> + <tr>
> + <td align='center'>
> + <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> + <input type='hidden' name='DELPAKS' value='$cgiparams{'DELPAKS'}' />
> + <input type='hidden' name='FORCE' value='on' />
> + <input type='submit' name='ACTION' value='$Lang::tr{'remove'}'/>
> + <input type='submit' name='ACTION' value='$Lang::tr{'cancel'}'/>
> + </form>
> </td>
> </tr>
> </table>
> @@ -374,30 +376,36 @@ $selected{"TREE"}{$pakfiresettings{"TREE"}} = "selected";
> print <<END;
> <table id="pfmain">
> END
> -if ("$pakfire_status{'RebootRequired'}" eq "yes") {
> - print "\t\t<tr><td colspan='2'><a href='/cgi-bin/shutdown.cgi'>$Lang::tr{'needreboot'}!</a></td></tr>\n";
> +if ($pakfire_status{'RebootRequired'} eq "yes")
> +{
> + print <<END;
> + <tr>
> + <td colspan='2' style='padding-bottom:20px'>
> + <a href='/cgi-bin/shutdown.cgi'>$Lang::tr{'needreboot'}!</a>
> + </td>
> + </tr>
> +END
> }
>
> print <<END;
> - <tr><td class="heading">$Lang::tr{'pakfire system state'}:</td>
> - <td class="heading">$Lang::tr{'pakfire updates'}:</td></tr>
> -
> - <tr><td><strong>$Lang::tr{'pakfire core update level'}: $pakfire_status{'Release'}</strong>
> - <hr>
> - <div class="pflist">
> - $Lang::tr{'pakfire last update'} $pakfire_status{'LastUpdate'} $Lang::tr{'pakfire ago'}<br>
> - $Lang::tr{'pakfire last serverlist update'} $pakfire_status{'LastServerListUpdate'} $Lang::tr{'pakfire ago'}<br>
> - $Lang::tr{'pakfire last core list update'} $pakfire_status{'LastCoreListUpdate'} $Lang::tr{'pakfire ago'}<br>
> - $Lang::tr{'pakfire last package update'} $pakfire_status{'LastPakListUpdate'} $Lang::tr{'pakfire ago'}
> - </div>
> - <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <input type='hidden' name='ACTION' value='update' />
> - <input type='submit' value='$Lang::tr{'pakfire refresh list'}' />
> - </form>
> + <tr>
> + <td class="heading">$Lang::tr{'pakfire system state'}:</td>
> + <td class="heading">$Lang::tr{'pakfire updates'}:</td>
> + </tr>
> +
> + <tr>
> + <td style='padding-top: 15px'>
> + <strong>$Lang::tr{'pakfire core update level'}: $pakfire_status{'Release'}</strong>
> + <hr>
> + <div class="pflist">
> + $Lang::tr{'pakfire last update'} $pakfire_status{'LastUpdate'} $Lang::tr{'pakfire ago'}<br>
> + $Lang::tr{'pakfire last serverlist update'} $pakfire_status{'LastServerListUpdate'} $Lang::tr{'pakfire ago'}<br>
> + $Lang::tr{'pakfire last core list update'} $pakfire_status{'LastCoreListUpdate'} $Lang::tr{'pakfire ago'}<br>
> + $Lang::tr{'pakfire last package update'} $pakfire_status{'LastPakListUpdate'} $Lang::tr{'pakfire ago'}
> + </div>
> </td>
> - <td>
> - <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <select name="UPDPAKS" class="pflist" size="5" disabled>
> + <td style='padding-top: 15px'>
> + <select class="pflist" style="height: 103px" size="5" disabled>
> END
>
> if ("$pakfire_status{'CoreUpdateAvailable'}" eq "yes") {
> @@ -412,18 +420,44 @@ END
> }
>
> print <<END;
> - </select>
> - <input type='hidden' name='ACTION' value='upgrade' />
> - <input type='image' alt='$Lang::tr{'pakfire upgrade'}' title='$Lang::tr{'pakfire upgrade'}' src='/images/document-save.png' />
> - </form>
> + </select>
> </td>
> </tr>
> - <tr><td class="heading">$Lang::tr{'pakfire available addons'}</td>
> - <td class="heading">$Lang::tr{'pakfire installed addons'}</td></tr>
> + <tr>
> + <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> + <td style='padding-bottom: 15px'>
> + <input type='submit' name='ACTION' value='$Lang::tr{'pakfire refresh list'}' />
> + </td>
> + <td style='padding-bottom: 15px'>
> +END
>
> - <tr><td style="padding:5px 10px 20px 20px" align="center"><p>$Lang::tr{'pakfire install description'}</p>
> - <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <select name="INSPAKS" class="pflist" size="10" multiple>
> + if (($pakfire_status{'CoreUpdateAvailable'} eq "yes") || ($pakfire_status{'PakUpdatesAvailable'} > 0))
> + {
> + print "<input type='submit' name='ACTION' value='$Lang::tr{'pakfire upgrade'}'/>\n";
> + } else {
> + print "<input disabled type='submit' name='ACTION' value='$Lang::tr{'pakfire upgrade'}'/>\n";
> + }
> +
> + print <<END;
> + </td>
> + </form>
> + </tr>
> + <tr>
> + <td class="heading">$Lang::tr{'pakfire available addons'}</td>
> + <td class="heading">$Lang::tr{'pakfire installed addons'}</td>
> + </tr>
> + <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> + <tr>
> + <td style='padding-top: 15px; padding-bottom: 5px'>
> + $Lang::tr{'pakfire install description'}
> + </td>
> + <td style='padding-top: 15px; padding-bottom: 5px'>
> + $Lang::tr{'pakfire uninstall description'}
> + </td>
> + </tr>
> + <tr>
> + <td>
> + <select name="INSPAKS" class="pflist" style="height:206px" size="10" multiple onchange="document.getElementById('installbutton').disabled=false">
> END
>
> my %notinstalledlist = &Pakfire::dblist("notinstalled");
> @@ -432,14 +466,10 @@ END
> }
>
> print <<END;
> - </select>
> - <input type='hidden' name='ACTION' value='install' />
> - <input type='image' alt='$Lang::tr{'pakfire install'}' title='$Lang::tr{'pakfire install'}' src='/images/list-add.png' />
> - </form>
> + </select>
> </td>
> - <td style="padding:5px 10px 20px 20px" align="center"><p>$Lang::tr{'pakfire uninstall description'}</p>
> - <form method='post' action='$ENV{'SCRIPT_NAME'}'>
> - <select name="DELPAKS" class="pflist" size="10" multiple>
> + <td>
> + <select name="DELPAKS" class="pflist" style="height:206px" size="10" multiple onchange="document.getElementById('removebutton').disabled=false">
> END
>
> my %installedlist = &Pakfire::dblist("installed");
> @@ -448,12 +478,18 @@ END
> }
>
> print <<END;
> - </select>
> - <input type='hidden' name='ACTION' value='remove' />
> - <input type='image' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' src='/images/list-remove.png' />
> - </form>
> + </select>
> + </td>
> + </tr>
> + <tr>
> + <td style='padding-bottom: 5px'>
> + <input disabled type='submit' id='installbutton' name='ACTION' value='$Lang::tr{'pakfire install'}'/>
> + </td>
> + <td style='padding-bottom: 5px'>
> + <input disabled type='submit' id='removebutton' name='ACTION' value='$Lang::tr{'remove'}'/>
> </td>
> </tr>
> + </form>
> </table>
> END
>
> diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
> index 9a7d093ff..bb0c51f03 100644
> --- a/langs/de/cgi-bin/de.pl
> +++ b/langs/de/cgi-bin/de.pl
> @@ -2019,7 +2019,7 @@
> 'pakfire finished error' => 'Pakfire ist fertig! Fehler sind aufgetreten, bitte überprüfen Sie die Log-Ausgabe, bevor Sie fortfahren.',
> 'pakfire health check' => 'Mirrors auf Erreichbarkeit prüfen (Ping):',
> 'pakfire install' => 'Installieren',
> -'pakfire install description' => 'Wählen Sie ein oder mehrere Pakete zur Installation aus und drücken Sie auf das plus-Symbol.',
> +'pakfire install description' => 'Bitte wählen Sie ein oder mehrere Add-Ons zur Installation aus.',
> 'pakfire install package' => 'Sie möchten folgende Pakete installieren: ',
> 'pakfire installed addons' => 'Installierte Add-ons:',
> 'pakfire invalid tree' => '',
> @@ -2039,7 +2039,7 @@
> 'pakfire tree testing' => 'Vorabversionen (testing)',
> 'pakfire tree unstable' => 'Experimentelle Versionen (unstable)',
> 'pakfire uninstall all' => 'Möchten Sie die folgenden Pakete deinstallieren?',
> -'pakfire uninstall description' => 'Wählen Sie ein oder mehrere Pakete zur Deinstallation aus und drücken Sie auf das minus-Symbol.',
> +'pakfire uninstall description' => 'Bitte wählen Sie ein oder mehrere Add-Ons zum Entfernen aus.',
> 'pakfire uninstall package' => 'Sie möchten folgende Pakete deinstallieren: ',
> 'pakfire update daily' => 'Täglich nach Updates suchen:',
> 'pakfire updates' => 'Verfügbare Updates',
> diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
> index 06db0cab1..9dccabf09 100644
> --- a/langs/en/cgi-bin/en.pl
> +++ b/langs/en/cgi-bin/en.pl
> @@ -2085,7 +2085,7 @@
> 'pakfire finished error' => 'Pakfire has finished! Errors occurred, please check the log output before proceeding.',
> 'pakfire health check' => 'Check if mirror is reachable (ping):',
> 'pakfire install' => 'Install',
> -'pakfire install description' => 'Please choose one or more items from the list below and click the plus to install.',
> +'pakfire install description' => 'Please select one or more add-ons to install.',
> 'pakfire install package' => 'You want to install the following packages: ',
> 'pakfire installed addons' => 'Installed Add-ons:',
> 'pakfire invalid tree' => 'Invalid repository selected',
> @@ -2105,7 +2105,7 @@
> 'pakfire tree testing' => 'Testing',
> 'pakfire tree unstable' => 'Unstable',
> 'pakfire uninstall all' => 'Do you want to uninstall the following packages?',
> -'pakfire uninstall description' => 'Please choose one or more items from the list below and click the minus to uninstall.',
> +'pakfire uninstall description' => 'Please select one or more add-ons to remove.',
> 'pakfire uninstall package' => 'You want to uninstall the following packages: ',
> 'pakfire update daily' => 'Search for updates daily:',
> 'pakfire updates' => 'Available Updates',
> diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl
> index d1bd54d88..4da08b480 100644
> --- a/langs/es/cgi-bin/es.pl
> +++ b/langs/es/cgi-bin/es.pl
> @@ -2082,7 +2082,7 @@
> 'pakfire finished error' => '¡Pakfire ha terminado! Ocurrieron errores, verifique la salida del registro antes de continuar.',
> 'pakfire health check' => 'Verificar disponibilidad del espejo (ping):',
> 'pakfire install' => 'Instalar',
> -'pakfire install description' => 'Por favor elija uno o más elementos de la siguiente lista y haga click en el signo + para instalar',
> +'pakfire install description' => 'Seleccione uno o más complementos para instalar.',
> 'pakfire install package' => 'Ud. desea instalar los siguientes paquetes:',
> 'pakfire installed addons' => 'Complementos instalados:',
> 'pakfire invalid tree' => 'Repositorio no válido seleccionado',
> @@ -2102,7 +2102,7 @@
> 'pakfire tree testing' => 'Pruebas',
> 'pakfire tree unstable' => 'Inestable',
> 'pakfire uninstall all' => '¿Desea desinstalar los siguientes paquetes?',
> -'pakfire uninstall description' => 'Por favor elija uno o más elementos de la siguiente lista y haga click en el signo - para desinstalar',
> +'pakfire uninstall description' => 'Seleccione uno o más complementos para eliminar.',
> 'pakfire uninstall package' => 'Desea desinstalar los siguientes paquetes:',
> 'pakfire update daily' => 'Buscar actualizaciones diariamente:',
> 'pakfire updates' => 'Actualizaciones Disponibles',
> diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl
> index 0513d1395..9e457acd0 100644
> --- a/langs/fr/cgi-bin/fr.pl
> +++ b/langs/fr/cgi-bin/fr.pl
> @@ -2080,7 +2080,7 @@
> 'pakfire finished error' => 'Pakfire a fini ! Des erreurs se sont produites, veuillez vérifier les rapports système des journaux avant de continuer.',
> 'pakfire health check' => 'Vérifier si le miroir est accessible (ping) :',
> 'pakfire install' => 'Installer',
> -'pakfire install description' => 'Veuillez choisir un ou plusieurs modules dans la liste ci-dessous<br>et cliquer sur le signe PLUS pour le(s) installer.',
> +'pakfire install description' => 'Veuillez sélectionner un ou plusieurs modules complémentaires à installer.',
> 'pakfire install package' => 'Vous souhaitez installer le(s) module(s) suivant(s) : ',
> 'pakfire installed addons' => 'Modules installés :',
> 'pakfire invalid tree' => 'Dépôt choisi invalide',
> @@ -2100,7 +2100,7 @@
> 'pakfire tree testing' => 'En test',
> 'pakfire tree unstable' => 'Instable',
> 'pakfire uninstall all' => 'Voulez-vous désinstaller ce(s) paquet(s) ?',
> -'pakfire uninstall description' => 'Veuillez choisir un ou plusieurs modules dans la liste ci-dessous<br>et cliquer sur le signe MOINS pour le(s) désinstaller.',
> +'pakfire uninstall description' => 'Veuillez sélectionner un ou plusieurs modules complémentaires à supprimer.',
> 'pakfire uninstall package' => 'Vous souhaitez désinstaller le(s) module(s) suivant(s) : ',
> 'pakfire update daily' => 'Rechercher des mises à jour quotidiennes :',
> 'pakfire updates' => 'Mises à jour Disponibles',
> diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl
> index 18fe1703e..b13c3b85c 100644
> --- a/langs/it/cgi-bin/it.pl
> +++ b/langs/it/cgi-bin/it.pl
> @@ -1718,7 +1718,7 @@
> 'pakfire dependencies found' => 'Dipendenze trovate:',
> 'pakfire health check' => 'Controllare se il mirror è raggiungibile (ping):',
> 'pakfire install' => 'Installare',
> -'pakfire install description' => 'Si prega di scegliere uno o più elementi dalla lista qui sotto e fai clic sul segno più per installare.',
> +'pakfire install description' => 'Selezionare uno o più componenti aggiuntivi da installare.',
> 'pakfire install package' => 'You want to install the following packages: ',
> 'pakfire installed addons' => 'Addons installati:',
> 'pakfire last core list update' => 'Ultimo aggiornamento della lista di sistema',
> @@ -1732,7 +1732,7 @@
> 'pakfire resolvedeps wait' => 'Controllo delle dipendenze, attendere prego...',
> 'pakfire system state' => 'Stato del Sistema',
> 'pakfire uninstall all' => 'Vuoi disinstallare i seguenti pacchetti?',
> -'pakfire uninstall description' => 'Si prega di scegliere uno o più elementi dalla lista qui sotto e fare clic sul meno per disinstallare..',
> +'pakfire uninstall description' => 'Seleziona uno o più componenti aggiuntivi da rimuovere.',
> 'pakfire uninstall package' => 'You want to uninstall the following packages: ',
> 'pakfire update daily' => 'Ricerca gli aggiornamenti una volta al giorno:',
> 'pakfire updates' => 'Aggiornamenti Disponibili',
> diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl
> index c844c9613..439f24249 100644
> --- a/langs/nl/cgi-bin/nl.pl
> +++ b/langs/nl/cgi-bin/nl.pl
> @@ -1693,7 +1693,7 @@
> 'pakfire dependencies found' => 'Afhankelijkheden gevonden:',
> 'pakfire health check' => 'Controleer of de mirror bereikbaar is (ping):',
> 'pakfire install' => 'Installeren',
> -'pakfire install description' => 'Kies een of meer items uit de lijst hieronder en klik op de plus om te installeren.',
> +'pakfire install description' => 'Selecteer een of meer add-ons om te installeren.',
> 'pakfire install package' => 'U wilt de volgende pakketten installeren: ',
> 'pakfire installed addons' => 'Geïnstalleerde add-ons:',
> 'pakfire last core list update' => 'Laatste core-lijst update gemaakt',
> @@ -1707,7 +1707,7 @@
> 'pakfire resolvedeps wait' => 'Controleren op afhankelijkheden, even geduld...',
> 'pakfire system state' => 'Systeemstatus',
> 'pakfire uninstall all' => 'Wilt u de volgende pakketten verwijderen?',
> -'pakfire uninstall description' => 'Kies een of meer items uit de lijst hieronder en klik op de min om te deinstalleren.',
> +'pakfire uninstall description' => 'Selecteer een of meer add-ons om te verwijderen.',
> 'pakfire uninstall package' => 'U wilt de volgende pakketten deinstalleren: ',
> 'pakfire update daily' => 'Zoek dagelijks naar updates:',
> 'pakfire updates' => 'Beschikbare Updates',
> diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl
> index 8e3ca59cb..c5198b6f1 100644
> --- a/langs/pl/cgi-bin/pl.pl
> +++ b/langs/pl/cgi-bin/pl.pl
> @@ -1358,7 +1358,7 @@
> 'pakfire dependencies found' => 'Znaleziono zależności:',
> 'pakfire health check' => 'Sprawdź czy mirror jest dostępny (ping):',
> 'pakfire install' => 'Instaluj',
> -'pakfire install description' => 'Proszę wybrać jedną lub kilka pozycji z poniższej listy, a następnie kliknąć plus aby zainstalować.',
> +'pakfire install description' => 'Wybierz jeden lub więcej dodatków do zainstalowania.',
> 'pakfire install package' => 'Zamierzasz zainstalować następujące pakiety: ',
> 'pakfire installed addons' => 'Zainstalowane dodatki:',
> 'pakfire last core list update' => 'Sprawdzenie aktualizacja jądra:',
> @@ -1372,7 +1372,7 @@
> 'pakfire resolvedeps wait' => 'Sprawdzanie zależności, proszę czekać...',
> 'pakfire system state' => 'Status systemu',
> 'pakfire uninstall all' => 'Czy chcesz odinstalować następujące pakiety?',
> -'pakfire uninstall description' => 'Proszę wybrać jedną lub kilka pozycji z poniższej listy, a następnie kliknąć minus aby odinstalować.',
> +'pakfire uninstall description' => 'Wybierz jeden lub więcej dodatków do usunięcia.',
> 'pakfire uninstall package' => 'Zamierzasz odinstalować następujące pakiety: ',
> 'pakfire update daily' => 'Szukaj aktualizacje codziennie:',
> 'pakfire updates' => 'Dostępne Aktualizacje',
> diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl
> index 2695954dd..1a3ac2230 100644
> --- a/langs/ru/cgi-bin/ru.pl
> +++ b/langs/ru/cgi-bin/ru.pl
> @@ -1353,7 +1353,7 @@
> 'pakfire dependencies found' => 'Зависимости найдены:',
> 'pakfire health check' => 'Пинговать зеркало на доступность:',
> 'pakfire install' => 'Установить',
> -'pakfire install description' => 'Пожалуйста, укажите один или несколько элементов в списке ниже и нажмите плюсик для установки.',
> +'pakfire install description' => 'Пожалуйста, выберите одно или несколько дополнений для установки.',
> 'pakfire install package' => 'Вы собираетесь установить следующие пакеты: ',
> 'pakfire installed addons' => 'Установленные Аддоны:',
> 'pakfire last core list update' => 'Обновление core-списков',
> @@ -1367,7 +1367,7 @@
> 'pakfire resolvedeps wait' => 'Проверка зависимостей, пожалуйста, подождите...',
> 'pakfire system state' => 'Статус системы',
> 'pakfire uninstall all' => 'Вы хотите удалить следующие пакеты?',
> -'pakfire uninstall description' => 'Пожалуйста, укажите один или несколько элементов в списке ниже и нажмите минус для удаления.',
> +'pakfire uninstall description' => 'Пожалуйста, выберите одно или несколько дополнений для удаления.',
> 'pakfire uninstall package' => 'Вы собираетесь удалить следующие пакеты: ',
> 'pakfire update daily' => 'Ежедневный поиск обновлений:',
> 'pakfire updates' => 'Доступное Обновление',
> diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl
> index 85dc94f91..7dd46f584 100644
> --- a/langs/tr/cgi-bin/tr.pl
> +++ b/langs/tr/cgi-bin/tr.pl
> @@ -1862,7 +1862,7 @@
> 'pakfire dependencies found' => 'Bağımlılıklar bulundu:',
> 'pakfire health check' => 'Yansımanın ulaşılabilir olup olmadığını kontrol et (ping):',
> 'pakfire install' => 'Yükle',
> -'pakfire install description' => 'Aşağıdaki listeden bir veya daha fazla öğeyi seçtikten sonra eklemek için artı simgesine tıklayınız.',
> +'pakfire install description' => 'Lütfen yüklemek için bir veya daha fazla eklenti seçin.',
> 'pakfire install package' => 'Aşağıdaki paketleri yüklemek istediniz: ',
> 'pakfire installed addons' => 'Kurulu eklentiler:',
> 'pakfire last core list update' => 'Son çekirdek listesi güncellemesi',
> @@ -1876,7 +1876,7 @@
> 'pakfire resolvedeps wait' => 'Bağımlılıklar kontrol ediliyor, lütfen bekleyin...',
> 'pakfire system state' => 'Sistem durumu',
> 'pakfire uninstall all' => 'Aşağıdaki paketleri kaldırmak istiyor musunuz?',
> -'pakfire uninstall description' => 'Aşağıdaki listeden bir veya daha fazla öğeyi seçtikten sonra kaldırmak için eksi simgesine tıklayınız.',
> +'pakfire uninstall description' => 'Lütfen kaldırmak için bir veya daha fazla eklenti seçin.',
> 'pakfire uninstall package' => 'Aşağıdaki paketleri kaldırmak istiyorum: ',
> 'pakfire update daily' => 'Günlük güncellemeleri ara:',
> 'pakfire updates' => 'Mevcut Güncellemeler',
> --
> 2.43.0
>
>
next prev parent reply other threads:[~2025-03-28 12:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-27 5:34 Stephen Cuka
2025-03-28 12:12 ` Michael Tremer [this message]
2025-03-28 17:59 ` Stephen Cuka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=28586484-F931-4C4C-B6D9-F940B207D0DC@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=development@lists.ipfire.org \
--cc=stephen@firemypi.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox