]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - html/cgi-bin/upload.cgi
git-svn-id: http://svn.ipfire.org/svn/ipfire/IPFire/source@16 ea5c0bd1-69bd-2848...
[ipfire-2.x.git] / html / cgi-bin / upload.cgi
diff --git a/html/cgi-bin/upload.cgi b/html/cgi-bin/upload.cgi
new file mode 100644 (file)
index 0000000..59395fe
--- /dev/null
@@ -0,0 +1,187 @@
+#!/usr/bin/perl\r
+#\r
+# SmoothWall CGIs\r
+#\r
+# This code is distributed under the terms of the GPL\r
+#\r
+# (c) The SmoothWall Team\r
+#\r
+# $Id: upload.cgi,v 1.2.2.21 2005/08/14 23:43:38 gespinasse Exp $\r
+#\r
+\r
+use File::Copy;\r
+use strict;\r
+\r
+# enable only the following on debugging purpose\r
+#use warnings;\r
+#use CGI::Carp 'fatalsToBrowser';\r
+\r
+require 'CONFIG_ROOT/general-functions.pl';\r
+require "${General::swroot}/lang.pl";\r
+require "${General::swroot}/header.pl";\r
+\r
+my %uploadsettings=();\r
+my $errormessage = '';\r
+\r
+&Header::showhttpheaders();\r
+$uploadsettings{'ACTION'} = '';\r
+\r
+&Header::getcgihash(\%uploadsettings, {'wantfile' => 1, 'filevar' => 'FH'});\r
+\r
+my $extraspeedtouchmessage='';\r
+my $extrafritzdslmessage='';\r
+my $extraeciadslmessage='';\r
+my $modem='';\r
+my $firmwarename='';\r
+my $kernel='';\r
+\r
+my $speedtouch = &Header::speedtouchversion;\r
+if ($speedtouch == 4) {\r
+       $modem='v4_b';\r
+       $firmwarename="$Lang::tr{'upload'} ZZZL_3.012";\r
+} else {\r
+       $modem='v0123';\r
+       $firmwarename="$Lang::tr{'upload'} KQD6_3.012";\r
+}\r
+\r
+$kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`;\r
+\r
+if ($uploadsettings{'ACTION'} eq $firmwarename) {\r
+       if ($modem eq 'v0123' || $modem eq 'v4_b') {\r
+               if (copy ($uploadsettings{'FH'}, "${General::swroot}/alcatelusb/firmware.$modem.bin") != 1) {\r
+                       $errormessage = $!;\r
+               } else {\r
+                       $extraspeedtouchmessage = $Lang::tr{'upload successful'};\r
+               }\r
+       }\r
+}\r
+elsif ($uploadsettings{'ACTION'} eq "$Lang::tr{'upload'} fcdsl-${General::version}.tgz")\r
+{\r
+       if (copy ($uploadsettings{'FH'}, "/var/patches/fcdsl-x.tgz") != 1) {\r
+               $errormessage = $!;\r
+       } else {\r
+               $extrafritzdslmessage = $Lang::tr{'upload successful'};\r
+       }\r
+}\r
+elsif ($uploadsettings{'ACTION'} eq $Lang::tr{'upload synch.bin'})\r
+{\r
+       if (copy ($uploadsettings{'FH'}, "${General::swroot}/eciadsl/synch.bin") != 1) {\r
+               $errormessage = $!;\r
+       } else {\r
+               $extraeciadslmessage = $Lang::tr{'upload successful'};\r
+       }\r
+}\r
+\r
+&Header::openpage($Lang::tr{'firmware upload'}, 1, '');\r
+\r
+&Header::openbigbox('100%', 'left', '', $errormessage);\r
+\r
+if ($errormessage) {\r
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r
+       print "<font class='base'>$errormessage&nbsp;</font>\n";\r
+       &Header::closebox();\r
+}\r
+print "<form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'>\n";\r
+\r
+&Header::openbox('100%','left', $Lang::tr{'alcatelusb upload'});\r
+print <<END\r
+<table width='100%'>\r
+<tr>\r
+       <td colspan='4'>$Lang::tr{'alcatelusb help'}<br />\r
+       URL: <a href='http://www.speedtouch.com/support.htm'>http://www.speedtouch.com/support.htm</a>\r
+       </td>\r
+</tr>\r
+<tr><td colspan='4'>$Lang::tr{'modem'}: Rev <b>$speedtouch</b></td></tr>\r
+<tr>\r
+       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>\r
+       <td width='45%'><input type="file" size='30' name="FH" /></td>\r
+       <td width='35%' align='center'><input type='submit' name='ACTION' value='$firmwarename' /></td>\r
+       <td width='15%'>\r
+END\r
+;\r
+if (-e "${General::swroot}/alcatelusb/firmware.$modem.bin") {\r
+       if ($extraspeedtouchmessage ne '') {\r
+               print ("$extraspeedtouchmessage</td>");\r
+       } else {\r
+               print ("$Lang::tr{'present'}</td>");\r
+       }\r
+} else {\r
+       print ("$Lang::tr{'not present'}</td>");\r
+}\r
+print <<END\r
+</tr>\r
+</table>\r
+END\r
+;\r
+\r
+&Header::closebox();\r
+\r
+&Header::openbox('100%','left', $Lang::tr{'eciadsl upload'});\r
+print <<END\r
+<table width='100%'>\r
+<tr>\r
+       <td colspan='4'>$Lang::tr{'eciadsl help'}<br />\r
+       URL: <a href='http://eciadsl.flashtux.org/'>http://eciadsl.flashtux.org/</a>\r
+       </td>\r
+</tr>\r
+<tr>\r
+       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>\r
+       <td width='45%'><input type="file" size='30' name="FH" /></td>\r
+       <td width='35%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'upload synch.bin'}' /></td>\r
+       <td width='15%'>\r
+END\r
+;\r
+if (-e "${General::swroot}/eciadsl/synch.bin") {\r
+       if ($extraeciadslmessage ne '') {\r
+               print ("$extraeciadslmessage</td>");\r
+       } else {\r
+               print ("$Lang::tr{'present'}</td>");\r
+       }\r
+} else {\r
+       print ("$Lang::tr{'not present'}</td>");\r
+}\r
+print <<END\r
+</tr>\r
+</table>\r
+END\r
+;\r
+&Header::closebox();\r
+\r
+&Header::openbox('100%','left', $Lang::tr{'fritzdsl upload'});\r
+print <<END\r
+<table width='100%'>\r
+<tr>\r
+       <td colspan='4'>$Lang::tr{'fritzdsl help'}<br />\r
+       URL: <a href='http://www.ipcop.org/'>http://www.ipcop.org/</a>\r
+       </td>\r
+</tr>\r
+<tr>\r
+       <td width='5%' class='base' nowrap='nowrap'>$Lang::tr{'upload file'}:&nbsp;</td>\r
+       <td width='45%'><input type="file" size='30' name="FH" /></td>\r
+       <td width='35%' align='center'><input type='submit' name='ACTION' value="$Lang::tr{'upload'} fcdsl-${General::version}.tgz"/></td>\r
+       <td width='15%'>\r
+END\r
+;\r
+if ($extrafritzdslmessage ne '') {\r
+       print ("$extrafritzdslmessage</td></tr><tr><td>&nbsp;</td><td><pre>");\r
+       print `/usr/local/bin/installfcdsl`;\r
+       print ("</pre></td>");\r
+} else {\r
+       if (-e "/lib/modules/$kernel/misc/fcdsl.o.gz") {\r
+               print ("$Lang::tr{'present'}</td>");\r
+       } else {\r
+               print ("$Lang::tr{'not present'}</td>");\r
+       }\r
+}\r
+print <<END\r
+</tr>\r
+</table>\r
+END\r
+;\r
+&Header::closebox();\r
+\r
+print "</form>\n";\r
+\r
+&Header::closebigbox();\r
+\r
+&Header::closepage();\r