]>
git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - html/cgi-bin/pakfire.cgi
ccde0298c3c32b62144e205af98a545aab6e6032
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' } = '' ;
34 & Header
:: getcgihash
( \
%pakfiresettings );
36 & Header
:: openpage
( $Lang :: tr
{ 'pakfire configuration' }, 1 );
37 & Header
:: openbigbox
( '100%' , 'left' , '' , $errormessage );
39 if ( $pakfiresettings { 'ACTION' } eq 'install' ){
40 if ( " $pakfiresettings {'FORCE'}" eq "on" ) {
41 system ( "/usr/local/bin/pakfire" , "install" , "--non-interactive" , " $pakfiresettings {'INSPAKS'}" , "&" );
44 & Header
:: openbox
( "100%" , "center" , "Abfrage" );
45 my @output = `/usr/local/bin/pakfire resolvedeps $pakfiresettings {'INSPAKS'}` ;
47 <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.
55 <tr><td colspan='2'>Moechten Sie der Installation aller Pakete zustimmen?
56 <tr><td colspan='2'>
57 <tr><td align='right'><form method='post' action=' $ENV {'SCRIPT_NAME'}'>
58 <input type='hidden' name='INSPAKS' value=' $pakfiresettings {'INSPAKS'}' />
59 <input type='hidden' name='FORCE' value='on' />
60 <input type='hidden' name='ACTION' value='install' />
61 <input type='image' alt=' $Lang ::tr{'install'}' src='/images/go-next.png' />
64 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
65 <input type='hidden' name='ACTION' value='' />
66 <input type='image' alt=' $Lang ::tr{'abort'}' src='/images/dialog-error.png' />
71 & Header
:: closebigbox
();
75 } elsif ( $pakfiresettings { 'ACTION' } eq 'remove' ) {
77 } elsif ( $pakfiresettings { 'ACTION' } eq 'update' ) {
79 system ( "/usr/local/bin/pakfire update --force" );
81 } elsif ( $pakfiresettings { 'ACTION' } eq 'unlock' ) {
83 & Pakfire
:: lock ( "off" );
85 } elsif ( $pakfiresettings { 'ACTION' } eq " $Lang ::tr{'save'}" ) {
87 & General
:: writehash
( "${General::swroot}/pakfire/settings" , \
%pakfiresettings );
90 & General
:: readhash
( "${General::swroot}/pakfire/settings" , \
%pakfiresettings );
95 $checked { 'AUTOUPDATE' }{ 'off' } = '' ;
96 $checked { 'AUTOUPDATE' }{ 'on' } = '' ;
97 $checked { 'AUTOUPDATE' }{ $pakfiresettings { 'AUTOUPDATE' }} = "checked='checked'" ;
99 # DPC move error message to top so it is seen!
101 & Header
:: openbox
( '100%' , 'left' , $Lang :: tr
{ 'error messages' });
102 print "<font class='base'> $errormessage </font> \n " ;
106 if ( - e
"/opt/pakfire/pakfire.lock" ) {
107 & Header
:: openbox
( "100%" , "center" , "Aktiv" );
111 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
112 <input type='hidden' name='ACTION' value='unlock' />
113 <input type='image' src='/images/indicator.gif' alt=' $Lang ::tr{'aktiv'}' />
116 Pakfire fuehrt gerade eine Aufgabe aus... Bitte warten sie, bis diese erfolgreich beendet wurde.
117 <tr><td colspan='2' align='center'>
118 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
119 <input type='image' alt=' $Lang ::tr{'reload'}' src='/images/view-refresh.png' />
124 & Header
:: closebigbox
();
125 & Header
:: closepage
();
129 & Header
:: openbox
( "100%" , "center" , "Pakfire" );
133 <tr><td width='40%' align="center">Verfuegbare Addons:<br />
134 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
135 <select name="INSPAKS" size="10" multiple>
137 & Pakfire
:: dblist
( "notinstalled" , "forweb" );
142 <td width='20%' align="center">
143 <input type='hidden' name='ACTION' value='install' />
144 <input type='image' alt=' $Lang ::tr{'install'}' src='/images/list-add.png' />
147 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
148 <input type='hidden' name='ACTION' value='update' />
149 <input type='submit' value='Liste aktualisieren' /><br />
152 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
153 <input type='hidden' name='ACTION' value='remove' />
154 <input type='image' alt=' $Lang ::tr{'remove'}' src='/images/list-remove.png' />
156 <td width='40%' align="center">Installierte Addons:<br />
157 <select name="DELPAKS" size="10" multiple>
160 & Pakfire
:: dblist
( "installed" , "forweb" );
166 <form method='post' action=' $ENV {'SCRIPT_NAME'}'>
168 <tr><td width='40%' align="right">Automatische Updates taeglich ausfuehren:
169 <td width='10%' align="left"><input type="checkbox" name="AUTOUPDATE" $checked {'AUTOUPDATE'}{'on'} />
170 <td width='40%' align="right">Test:
171 <td width='10%' align="left"><input type="checkbox" name="AUTOUPDATE" $checked {'AUTOUPDATE'}{'on'} />
172 <tr><td width='100%' colspan="4" align="right"><input type="submit" name="ACTION" value=" $Lang ::tr{'save'}" />
178 & Header
:: closebigbox
();
179 & Header
:: closepage
();