#!/usr/bin/perl
-#
-# IPFire CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The IPFire Team
-#
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2010 IPFire Team <info@ipfire.org> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
use strict;
# enable only the following on debugging purpose
-use warnings;
-use CGI::Carp 'fatalsToBrowser';
+#use warnings;
+#use CGI::Carp 'fatalsToBrowser';
require '/var/ipfire/general-functions.pl';
require "${General::swroot}/lang.pl";
my $devicefile = "/var/ipfire/extrahd/devices";
my $scanfile = "/var/ipfire/extrahd/scan";
my $partitionsfile = "/var/ipfire/extrahd/partitions";
-system("/usr/local/bin/scanhd ide");
-system("/usr/local/bin/scanhd partitions");
+system("/usr/local/bin/extrahdctrl scanhd ide");
+system("/usr/local/bin/extrahdctrl scanhd partitions");
&Header::showhttpheaders();
$extrahdsettings{'FS'} = '';
$extrahdsettings{'DEVICE'} = '';
$extrahdsettings{'ACTION'} = '';
+$extrahdsettings{'UUID'} = '';
&General::readhash("${General::swroot}/extrahd/settings", \%extrahdsettings);
&Header::getcgihash(\%extrahdsettings);
if ( "$ok" eq "true" ) {
open(FILE, ">> $devicefile" ) or die "Unable to write $devicefile";
print FILE <<END
-$extrahdsettings{'DEVICE'};$extrahdsettings{'FS'};$extrahdsettings{'PATH'};
+UUID=$extrahdsettings{'UUID'};$extrahdsettings{'FS'};$extrahdsettings{'PATH'};
END
;
system("/usr/local/bin/extrahdctrl mount $extrahdsettings{'PATH'}");
############################################################################################################################
############################################################################################################################
-&Header::openbox('100%', 'center', 'ExtraHD');
+&Header::openbox('100%', 'center', $Lang::tr{'extrahd'});
open( FILE, "< $devicefile" ) or die "Unable to read $devicefile";
@devices = <FILE>;
close FILE;
{
@deviceline = split( /\;/, $deviceentry );
my $color="$Header::colourred";
- if ( `/bin/mount | /bin/fgrep $deviceline[2] | /bin/fgrep /dev/$deviceline[0]` ) {
+ if ( ! `/bin/mountpoint $deviceline[2] | grep " not "` ) {
$color=$Header::colourgreen;
}
print <<END
<tr><td colspan="5">
- <tr><td align='center'><font color=$color><b>/dev/$deviceline[0]</b></font>
+ <tr><td align='center'><font color=$color><b>$deviceline[0]</b></font>
<td align='center'>$deviceline[1]
<td align='center'>$deviceline[2]
<td align='center'>
&Header::closebox();
-&Header::openbox('100%', 'center', 'Gefundene Laufwerke');
+&Header::openbox('100%', 'center', $Lang::tr{'extrahd detected drives'});
print <<END
<table border='0' width='600' cellspacing="0">
END
@scanline = split( /\;/, $scanentry );
print <<END
<tr><td colspan="5">
- <tr><td align='center'><b>/dev/$scanline[0]</b>
+ <tr><td align='left' colspan="2"><b>/dev/$scanline[0]</b>
<td align='center' colspan="2">$scanline[1]
END
;
$size = int($partitionline[1] / 1024);
print <<END
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
- <tr><td align="center">/dev/$partitionline[0]
+ <tr><td align="left" colspan=5><b>UUID=$partitionline[2]</b></td></tr>
+ <tr>
+ <td align="list">/dev/$partitionline[0]</td>
<td align="center">$Lang::tr{'size'} $size MB
- <td align='center'><select name="FS">
+ <td align="center"><select name="FS">
<option value="auto">auto</option>
<option value="ext3">ext3</option>
<option value="reiserfs">reiserfs</option>
<td align="center"><input type='text' name='PATH' value=/mnt/harddisk />
<td align="center">
<input type='hidden' name='DEVICE' value='$partitionline[0]' />
+ <input type='hidden' name='UUID' value='$partitionline[2]' />
<input type='hidden' name='ACTION' value=$Lang::tr{'add'} />
<input type='image' alt=$Lang::tr{'add'} src='/images/add.gif' />
</form>