#!/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'} = ''; $pakfiresettings{'UUID'} = ''; &Header::getcgihash(\%pakfiresettings); &Header::openpage($Lang::tr{'pakfire configuration'}, 1); &Header::openbigbox('100%', 'left', '', $errormessage); if ($pakfiresettings{'ACTION'} eq 'install'){ if ("$pakfiresettings{'FORCE'}" eq "on") { system("/usr/local/bin/pakfire", "install", "--non-interactive", "$pakfiresettings{'INSPAKS'}", "&"); sleep(1); } else { &Header::openbox("100%", "center", "Abfrage"); my @output = `/usr/local/bin/pakfire resolvedeps $pakfiresettings{'INSPAKS'}`; print <Sie maechten folgende Pakete installieren: $pakfiresettings{'INSPAKS'}. Moeglicherweise haben diese Pakete Abhaengigkeiten, d.h. andere Pakete muessen zusaetzlich installiert werden. Dazu sehen sie unten eine Liste.
		
END
		foreach (@output) {
			print "$_\n";
		}
		print <
		Moechten Sie der Installation aller Pakete zustimmen?
		 
		
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"); } elsif ($pakfiresettings{'ACTION'} eq 'unlock') { &Pakfire::lock("off"); } 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(); } if ( -e "/opt/pakfire/pakfire.lock" ) { &Header::openbox("100%", "center", "Aktiv"); print <
 
Pakfire fuehrt gerade eine Aufgabe aus... Bitte warten sie, bis diese erfolgreich beendet wurde.
END &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit; } &Header::openbox("100%", "center", "Pakfire"); print < Verfuegbare Addons:


Installierte Addons:
END &Pakfire::dblist("upgrade", "forweb"); print <


Automatische Updates taeglich ausfuehren: Registrierung am Master-Server:
END &Header::closebox(); &Header::closebigbox(); &Header::closepage();