]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/media.cgi
Add new useragents to updater
[people/teissler/ipfire-2.x.git] / html / cgi-bin / media.cgi
index 54aa3ba5a02bd65d4a846101334e609401f7130c..1eacb34286496410bdd0602c45be3a827daeaf51 100644 (file)
@@ -1,18 +1,29 @@
 #!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
-#
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# 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";
@@ -38,8 +49,9 @@ my @devices = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`;
 foreach (@devices) {
        my $device = $_;
        chomp($device);
-       &Graphs::updatediskgraph ("day",$device);
-       diskbox("$device");
+       my @array = split(/\//,$device);
+       &Graphs::updatediskgraph ("day",$array[$#array]);
+       diskbox($array[$#array]);
 }
 
 &Header::openbox('100%', 'center', $Lang::tr{'disk usage'});
@@ -135,7 +147,7 @@ my $i=0;
 for(my $i = 1; $i <= $#iostat1; $i++)
 {
 if ( $i eq '1' ){print "<tr><td align='center' class='boldbase'><b>Device</b></td><td align='center' class='boldbase'><b>MB read</b></td><td align='center' class='boldbase'><b>MB writen</b></td></tr>";}
-else {print "<tr><td align='center'>@iostat1[$i]</td><td align='center'>@iostat2[$i]</td><td align='center'>@iostat3[$i]</td></tr>";}
+else {print "<tr><td align='center'>$iostat1[$i]</td><td align='center'>$iostat2[$i]</td><td align='center'>$iostat3[$i]</td></tr>";}
 }
 print "</table>\n";
 &Header::closebox();
@@ -173,17 +185,34 @@ END
 
 sub diskbox {
  my $disk = $_[0];
+ chomp $disk;
+ my @status;
     if (-e "$Header::graphdir/disk-$disk-day.png") {
-                 &Header::openbox('100%', 'center', "Disk /dev/$disk $Lang::tr{'graph'}");
+                 &Header::openbox('100%', 'center', "Disk $disk $Lang::tr{'graph'}");
                  my $ftime = localtime((stat("$Header::graphdir/disk-$disk-day.png"))[9]);
                  print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
                  print "<a href='/cgi-bin/graphs.cgi?graph=disk-$disk'>";
                  print "<img alt='' src='/graphs/disk-$disk-day.png' border='0' />";
                  print "</a>";
                  print "<br />\n";
-                 if (-e "/usr/local/bin/hddshutdown-state") {
-                   system("/usr/local/bin/hddshutdown-state $disk");
-                 }
+
+      if (-e "/tmp/hddstatus") {
+        open(DATEI, "</tmp/hddstatus") || die "Datei nicht gefunden";
+        my  @diskstate = <DATEI>;
+        close(DATEI);
+
+        foreach (@diskstate){
+          if ( $_ =~/$disk/ ){@status = split(/-/,$_);}
+        }
+
+        if ( $status[1]=~/standby/){
+          my $ftime = localtime((stat("/tmp/hddshutdown-$disk"))[9]);
+          print"<B>Disk $disk status:<font color=#FF0000>".$status[1]."</font></B> (since $ftime)";
+        }
+        else{
+          print"<B>Disk $disk status:<font color=#00FF00>".$status[1]."</font></B>";
+        }
+      }
                  my $smart = `/usr/local/bin/smartctrl $disk`;
                        $smart = &Header::cleanhtml($smart);
                        print <<END