tazpanel annotate hardware.cgi @ rev 81

Use httpd_helper parser (GET)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Apr 13 16:41:02 2011 +0200 (2011-04-13)
parents 26455264ec32
children b898c9887a62
rev   line source
pankso@46 1 #!/bin/sh
pankso@46 2 #
pankso@46 3 # Hardware part of TazPanel - Devices, drivers, printing
pankso@46 4 #
pankso@46 5 # Copyright (C) 2011 SliTaz GNU/Linux - GNU gpl v3
pankso@46 6 #
pankso@46 7
pankso@46 8 # Common functions from libtazpanel
pankso@46 9 . lib/libtazpanel
pankso@46 10 get_config
pascal@81 11 header
pankso@46 12
pankso@46 13 # Include gettext helper script.
pankso@46 14 . /usr/bin/gettext.sh
pankso@46 15
pankso@46 16 # Export package name for gettext.
pankso@46 17 TEXTDOMAIN='tazpanel'
pankso@46 18 export TEXTDOMAIN
pankso@46 19
pankso@46 20 TITLE="- Hardware"
pankso@46 21
pankso@46 22 #
pankso@46 23 # Commands
pankso@46 24 #
pankso@46 25
pascal@81 26 case " $(GET) " in
pascal@81 27 *\ print\ *)
pankso@46 28 echo "TODO" ;;
pascal@81 29 *\ modules\ *|*\ modinfo\ *)
pankso@46 30 xhtml_header
pankso@46 31 cat << EOT
pankso@46 32 <div id="wrapper">
pankso@66 33 <h2>`gettext "Kernel modules"`</h2>
pankso@69 34 <div class="float-right">
pankso@69 35 <form method="get" action="$SCRIPT_NAME">
pankso@69 36 <input type="hidden" name="modules" />
pankso@69 37 <input type="text" name="search" />
pankso@69 38 </form>
pankso@69 39 </div>
pankso@72 40 <p>`gettext "Manage, search or get information about the Linux kernel modules`</p>
pankso@46 41 </div>
pankso@46 42 EOT
pankso@66 43 # Request may be modinfo output that we want in the page itself
pascal@81 44 if [ -n "$(GET modinfo)" ]; then
pascal@81 45 echo '<strong>'
pascal@81 46 gettext "Detailed information for module: "; echo "$(GET modinfo)"
pascal@81 47 echo '</strong>'
pascal@81 48 echo '<pre>'
pascal@81 49 modinfo $(GET modinfo)
pascal@81 50 echo '</pre>'
pascal@81 51 fi
pascal@81 52 if [ -n "$(GET modprobe)" ]; then
pascal@81 53 echo '<pre>'
pascal@81 54 modprobe -v $(GET modprobe)
pascal@81 55 echo '</pre>'
pascal@81 56 fi
pascal@81 57 if [ -n "$(GET rmmod)" ]; then
pascal@81 58 echo "Removing"
pascal@81 59 rmmod -w $(GET rmmod)
pascal@81 60 fi
pascal@81 61 if [ -n "$(GET search)" ]; then
pascal@81 62 gettext "Matching result(s) for: "; echo "$(GET search)"
pascal@81 63 echo '<pre>'
pascal@81 64 modprobe -l | grep "$(GET search)" | while read line
pascal@81 65 do
pascal@81 66 name=$(basename $line)
pascal@81 67 mod=${name%.ko.gz}
pascal@81 68 echo "Module : <a href='$SCRIPT_NAME?modinfo=$mod'>$mod</a> "
pascal@81 69 done
pascal@81 70 echo '</pre>'
pascal@81 71 fi
pankso@46 72 cat << EOT
pankso@46 73 `table_start`
pankso@46 74 <tr class="thead">
pankso@46 75 <td>`gettext "Module"`</td>
pankso@46 76 <td>`gettext "Size"`</td>
pankso@46 77 <td>`gettext "Used"`</td>
pankso@46 78 <td>`gettext "by"`</td>
pankso@46 79 </tr>
pankso@46 80 EOT
pankso@46 81 # Get the list of modules and link to modinfo
pankso@46 82 lsmod | grep ^[a-z] | while read MOD SIZE USED BY
pankso@46 83 do
pankso@46 84 cat << EOT
pankso@46 85 <tr>
pankso@46 86 <td><a href="$SCRIPT_NAME?modinfo=$MOD">$MOD</a></td>
pankso@46 87 <td>$SIZE</td>
pankso@46 88 <td>$USED</td>
pankso@46 89 <td>`echo $BY | sed s/","/" "/g`</td>
pankso@46 90 </tr>
pankso@46 91 EOT
pankso@46 92 done
pankso@66 93 table_end ;;
pankso@66 94 *)
pankso@66 95 #
pankso@66 96 # Default to summary with mounted filesystem, loaded modules
pankso@66 97 #
pankso@66 98 xhtml_header
pankso@67 99
pankso@66 100 cat << EOT
pankso@66 101 <div id="wrapper">
pankso@66 102 <h2>`gettext "Drivers &amp; Devices"`</h2>
pankso@66 103 <p>`gettext "Manage your computer hardware`</p>
pankso@66 104 </div>
pankso@66 105 <div>
pankso@66 106 <a class="button" href="$SCRIPT_NAME?modules">Kernel modules</a>
pankso@66 107 </div>
pankso@66 108 EOT
pankso@66 109 echo '<h3>Filesystem usage statistics</h3>'
pankso@66 110 echo '<pre>'
pankso@66 111 fdisk -l | fgrep Disk
pankso@66 112 echo '</pre>'
pankso@66 113 echo '<pre>'
pankso@66 114 df -h | grep ^/dev
pankso@66 115 echo '</pre>'
pankso@46 116 echo '<h3>lspci</h3>'
pankso@46 117 echo '<pre>'
pascal@61 118 lspci -k
pascal@61 119 echo '</pre>'
pascal@61 120 echo '<h3>lsusb</h3>'
pascal@61 121 echo '<pre>'
pascal@61 122 lsusb
pankso@46 123 echo '</pre>'
pankso@46 124 ;;
pankso@46 125 esac
pankso@46 126
pankso@46 127 xhtml_footer
pankso@46 128 exit 0