public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Stephen Cuka <stephen@firemypi.org>
To: Michael Tremer <michael.tremer@ipfire.org>,
	Stephen Cuka <stephen@firemypi.org>
Cc: development@lists.ipfire.org
Subject: Re: [PATCH] pakfire.cgi: Convert icons to buttons.
Date: Fri, 28 Mar 2025 11:59:58 -0600	[thread overview]
Message-ID: <66f978a6-947e-4a8f-a1d0-82f1c531d2ef@firemypi.org> (raw)
In-Reply-To: <28586484-F931-4C4C-B6D9-F940B207D0DC@ipfire.org>

Hello Michael,

Thanks!

I still have the confirmation page changes to do.  Those patches will be 
coming shortly.

Regards,
Stephen


On 3/28/25 06:12, Michael Tremer wrote:
> 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'>&nbsp;</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>&nbsp;</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'>&nbsp;</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'>&nbsp;</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
>>
>>


      reply	other threads:[~2025-03-28 18:00 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
2025-03-28 17:59   ` Stephen Cuka [this message]

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=66f978a6-947e-4a8f-a1d0-82f1c531d2ef@firemypi.org \
    --to=stephen@firemypi.org \
    --cc=development@lists.ipfire.org \
    --cc=michael.tremer@ipfire.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