]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - html/cgi-bin/pakfire.cgi
c9d9db8ba0d78cd70ac05aff07f1252c4b9e1d33
5 # This file is part of the IPFire Project
7 # This code is distributed under the terms of the GPL
13 # enable only the following on debugging purpose
15 use CGI
:: Carp
'fatalsToBrowser' ;
17 require '/var/ipfire/general-functions.pl' ;
18 require "${General::swroot}/lang.pl" ;
19 require "${General::swroot}/header.pl" ;
20 require "/opt/pakfire/lib/functions.pl" ;
22 my %pakfiresettings =();
23 my $errormessage = '' ;
25 & Header
:: showhttpheaders
();
27 $pakfiresettings { 'ACTION' } = '' ;
28 $pakfiresettings { 'VALID' } = '' ;
30 $pakfiresettings { 'INSPAKS' } = '' ;
31 $pakfiresettings { 'DELPAKS' } = '' ;
32 $pakfiresettings { 'AUTOUPDATE' } = 'off' ;
33 $pakfiresettings { 'UUID' } = 'on' ;
35 & Header
:: getcgihash
( \
%pakfiresettings );
37 & Header
:: openpage
( $Lang :: tr
{ 'pakfire configuration' }, 1 );
38 & Header
:: openbigbox
( '100%' , 'left' , '' , $errormessage );
40 if ( $pakfiresettings { 'ACTION' } eq 'install' ){
41 $pakfiresettings { 'INSPAKS' } =~ s/\|/\ /g ;
42 if ( " $pakfiresettings {'FORCE'}" eq "on" ) {
43 my $command = "/usr/local/bin/pakfire install --non-interactive $pakfiresettings {'INSPAKS'} &>/dev/null &" ;
47 & Header
:: openbox
( "100%" , "center" , "Abfrage" );
48 my @output = `/usr/local/bin/pakfire resolvedeps $pakfiresettings {'INSPAKS'}` ;
50 <table><tr><td colspan='2'>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.
58 <tr><td colspan='2'>Moechten Sie der Installation aller Pakete zustimmen?
59 <tr><td colspan='2'>
60 <tr><td align='right'><form method='post' action=' $ENV {'SCRIPT_NAME'}'>
61 <input type='hidden' name='INSPAKS' value=' $pakfiresettings {'INSPAKS'}' />
62 <input type='hidden' name='FORCE' value='on' />
63 <input type='hidden' name='ACTION' value='install' />
64 <input type='image' alt=' $Lang ::tr{'install'}' src='/images/go-next.png' />
67 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
68 <input type='hidden' name='ACTION' value='' />
69 <input type='image' alt=' $Lang ::tr{'abort'}' src='/images/dialog-error.png' />
74 & Header
:: closebigbox
();
78 } elsif ( $pakfiresettings { 'ACTION' } eq 'remove' ) {
80 } elsif ( $pakfiresettings { 'ACTION' } eq 'update' ) {
82 system ( "/usr/local/bin/pakfire update --force" );
84 } elsif ( $pakfiresettings { 'ACTION' } eq 'upgrade' ) {
86 system ( "/usr/local/bin/pakfire upgrade -y" );
88 } elsif ( $pakfiresettings { 'ACTION' } eq " $Lang ::tr{'save'}" ) {
90 & General
:: writehash
( "${General::swroot}/pakfire/settings" , \
%pakfiresettings );
94 & General
:: readhash
( "${General::swroot}/pakfire/settings" , \
%pakfiresettings );
99 $checked { 'AUTOUPDATE' }{ 'off' } = '' ;
100 $checked { 'AUTOUPDATE' }{ 'on' } = '' ;
101 $checked { 'AUTOUPDATE' }{ $pakfiresettings { 'AUTOUPDATE' }} = "checked='checked'" ;
102 $checked { 'UUID' }{ 'off' } = '' ;
103 $checked { 'UUID' }{ 'on' } = '' ;
104 $checked { 'UUID' }{ $pakfiresettings { 'UUID' }} = "checked='checked'" ;
106 # DPC move error message to top so it is seen!
108 & Header
:: openbox
( '100%' , 'left' , $Lang :: tr
{ 'error messages' });
109 print "<font class='base'> $errormessage </font> \n " ;
113 my $return = `pidof pakfire` ;
116 & Header
:: openbox
( "100%" , "center" , "Aktiv" );
120 <img src='/images/indicator.gif' alt=' $Lang ::tr{'aktiv'}' />
122 Pakfire fuehrt gerade eine Aufgabe aus... Bitte warten sie, bis diese erfolgreich beendet wurde.
123 <tr><td colspan='2' align='center'>
124 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
125 <input type='image' alt=' $Lang ::tr{'reload'}' src='/images/view-refresh.png' />
127 ### TO BE CONTINUED.... WE HAVE TO BEAUTIFY THIS A LITTLE BIT :D
128 <tr><td colspan='2' align='left'><pre>
130 my @output = `tail /var/log/messages | grep pakfire` ;
138 ### TO BE CONTINUED.... WE HAVE TO BEAUTIFY THIS A LITTLE BIT :D
140 & Header
:: closebigbox
();
141 & Header
:: closepage
();
145 & Header
:: openbox
( "100%" , "center" , "Pakfire" );
147 system ( "pakfire update &>dev/null" );
151 <tr><td width='40%' align="center">Verfuegbare Addons:<br />
152 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
153 <select name="INSPAKS" size="10" multiple>
155 & Pakfire
:: dblist
( "notinstalled" , "forweb" );
160 <td width='20%' align="center">
161 <input type='hidden' name='ACTION' value='install' />
162 <input type='image' alt=' $Lang ::tr{'install'}' src='/images/list-add.png' />
165 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
166 <input type='hidden' name='ACTION' value='update' />
167 <input type='submit' value='Liste aktualisieren' /><br />
170 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
171 <input type='hidden' name='ACTION' value='remove' />
172 <input type='image' alt=' $Lang ::tr{'remove'}' src='/images/list-remove.png' />
174 <td width='40%' align="center">Installierte Addons:<br />
175 <select name="DELPAKS" size="10" multiple>
178 & Pakfire
:: dblist
( "installed" , "forweb" );
184 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
186 <tr><td colspan='2'>Zur Verfuegung stehende Updates:
187 <tr><td width='20%'> <td width='60%' align='center'>
188 <select name="UPDPAKS" size="5" disabled>
191 & Pakfire
:: dblist
( "upgrade" , "forweb" );
195 <td width='20%' align='center' valign='middle'><input type='hidden' name='ACTION' value='upgrade' />
196 <input type='image' alt=' $Lang ::tr{'upgrade'}' src='/images/document-save.png' />
199 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
201 <tr><td width='40%' align="right">Automatische Updates taeglich ausfuehren:
202 <td width='10%' align="left"><input type="checkbox" name="AUTOUPDATE" $checked {'AUTOUPDATE'}{'on'} />
203 <td width='40%' align="right">Registrierung am Master-Server:
204 <td width='10%' align="left"><input type="checkbox" name="UUID" $checked {'UUID'}{'on'} />
205 <tr><td width='100%' colspan="4" align="right"><input type="submit" name="ACTION" value=" $Lang ::tr{'save'}" />
211 & Header
:: closebigbox
();
212 & Header
:: closepage
();