#!/usr/bin/perl # # IPFire CGIs # # This file is part of the IPFire Project # # This code is distributed under the terms of the GPL # # use strict; # enable only the following on debugging purpose use warnings; use CGI::Carp 'fatalsToBrowser'; require '/var/ipfire/general-functions.pl'; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; require "/opt/pakfire/lib/functions.pl"; my %pakfiresettings=(); my $errormessage = ''; &Header::showhttpheaders(); $pakfiresettings{'ACTION'} = ''; $pakfiresettings{'VALID'} = ''; $pakfiresettings{'INSPAKS'} = ''; $pakfiresettings{'DELPAKS'} = ''; $pakfiresettings{'AUTOUPDATE'} = 'off'; $pakfiresettings{'UUID'} = 'on'; &Header::getcgihash(\%pakfiresettings); &Header::openpage($Lang::tr{'pakfire configuration'}, 1); &Header::openbigbox('100%', 'left', '', $errormessage); if ($pakfiresettings{'ACTION'} eq 'install'){ $pakfiresettings{'INSPAKS'} =~ s/\|/\ /g; if ("$pakfiresettings{'FORCE'}" eq "on") { my $command = "/usr/local/bin/pakfire install --non-interactive --no-colors $pakfiresettings{'INSPAKS'} &>/dev/null &"; system("$command"); sleep(2); } else { &Header::openbox("100%", "center", "Abfrage"); my @output = `/usr/local/bin/pakfire resolvedeps --no-colors $pakfiresettings{'INSPAKS'}`; print <$Lang::tr{'pakfire install package'}.$pakfiresettings{'INSPAKS'}.$Lang::tr{'pakfire possible dependency'}
		
END
		foreach (@output) {
			print "$_\n";
		}
		print <
		$Lang::tr{'pakfire accept all'}
		 
		
END &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit; } } elsif ($pakfiresettings{'ACTION'} eq 'remove') { } elsif ($pakfiresettings{'ACTION'} eq 'update') { system("/usr/local/bin/pakfire update --force --no-colors"); } elsif ($pakfiresettings{'ACTION'} eq 'upgrade') { system("/usr/local/bin/pakfire upgrade -y --no-colors"); } elsif ($pakfiresettings{'ACTION'} eq "$Lang::tr{'save'}") { &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings); } &General::readhash("${General::swroot}/pakfire/settings", \%pakfiresettings); my %selected=(); my %checked=(); $checked{'AUTOUPDATE'}{'off'} = ''; $checked{'AUTOUPDATE'}{'on'} = ''; $checked{'AUTOUPDATE'}{$pakfiresettings{'AUTOUPDATE'}} = "checked='checked'"; $checked{'UUID'}{'off'} = ''; $checked{'UUID'}{'on'} = ''; $checked{'UUID'}{$pakfiresettings{'UUID'}} = "checked='checked'"; # DPC move error message to top so it is seen! if ($errormessage) { &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); print "$errormessage \n"; &Header::closebox(); } my $return = `pidof pakfire`; chomp($return); if ($return) { &Header::openbox("100%", "center", "Aktiv"); print < $Lang::tr{  $Lang::tr{'pakfire working'}
END
	my @output = `tail -20 /var/log/pakfire.log`;
	foreach (@output) {
		print "$_";
	}
	print <
		
END
	&Header::closebox();
	&Header::closebigbox();
	&Header::closepage();
	exit;
}

&Header::openbox("100%", "center", "Pakfire");

system("pakfire update &>dev/null");

print <
		Verfuegbare Addons:


$Lang::tr{'pakfire installed addons'}
END &Pakfire::dblist("upgrade", "forweb"); print <


$Lang::tr{'pakfire update daily'} $Lang::tr{'pakfire register'}
END &Header::closebox(); &Header::closebigbox(); &Header::closepage();