tazpanel annotate hardware.cgi @ rev 71

lib/libtazpanel: this time fix query_string_parser to handle all case in TazPanel
author Christophe Lincoln <pankso@slitaz.org>
date Tue Apr 12 01:22:50 2011 +0200 (2011-04-12)
parents 26811cbf12d8
children 26455264ec32
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 echo "Content-Type: text/html"
pankso@46 8 echo ""
pankso@46 9
pankso@46 10 # Common functions from libtazpanel
pankso@46 11 . lib/libtazpanel
pankso@46 12 get_config
pankso@46 13
pankso@46 14 # Include gettext helper script.
pankso@46 15 . /usr/bin/gettext.sh
pankso@46 16
pankso@46 17 # Export package name for gettext.
pankso@46 18 TEXTDOMAIN='tazpanel'
pankso@46 19 export TEXTDOMAIN
pankso@46 20
pankso@46 21 TITLE="- Hardware"
pankso@46 22
pankso@46 23 #
pankso@46 24 # Commands
pankso@46 25 #
pankso@46 26
pankso@46 27 case "$QUERY_STRING" in
pankso@46 28 print*)
pankso@46 29 echo "TODO" ;;
pankso@69 30 modules*|modinfo=*)
pankso@66 31 query_string_parser
pankso@46 32 xhtml_header
pankso@46 33 cat << EOT
pankso@46 34 <div id="wrapper">
pankso@66 35 <h2>`gettext "Kernel modules"`</h2>
pankso@69 36 <div class="float-right">
pankso@69 37 <form method="get" action="$SCRIPT_NAME">
pankso@69 38 <input type="hidden" name="modules" />
pankso@69 39 <input type="text" name="search" />
pankso@69 40 </form>
pankso@69 41 </div>
pankso@69 42 <p>`gettext "Manage, search or get info on the Linux kernel modules`</p>
pankso@46 43 </div>
pankso@46 44 EOT
pankso@66 45 # Request may be modinfo output that we want in the page itself
pankso@71 46 case "$CASE" in
pankso@46 47 modinfo=*)
pankso@46 48 mod=${QUERY_STRING#modinfo=}
pankso@71 49 gettext "Detailed information for module: "; echo "$mod"
pankso@46 50 echo '<pre>'
pankso@46 51 modinfo $mod
pankso@46 52 echo '</pre>' ;;
pankso@46 53 rmmod=*)
pankso@46 54 mod=${QUERY_STRING#rmmod=}
pankso@46 55 modprobe -r $mod ;;
pankso@71 56 search=*)
pankso@71 57 mod=${QUERY_STRING#search=}
pankso@71 58 gettext "Matching result(s) for: "; echo "$mod"
pankso@71 59 echo '<pre>'
pankso@71 60 modprobe -l | grep "$mod"
pankso@71 61 echo '</pre>' ;;
pankso@46 62 esac
pankso@46 63 cat << EOT
pankso@46 64 `table_start`
pankso@46 65 <tr class="thead">
pankso@46 66 <td>`gettext "Module"`</td>
pankso@46 67 <td>`gettext "Size"`</td>
pankso@46 68 <td>`gettext "Used"`</td>
pankso@46 69 <td>`gettext "by"`</td>
pankso@46 70 </tr>
pankso@46 71 EOT
pankso@46 72 # Get the list of modules and link to modinfo
pankso@46 73 lsmod | grep ^[a-z] | while read MOD SIZE USED BY
pankso@46 74 do
pankso@46 75 cat << EOT
pankso@46 76 <tr>
pankso@46 77 <td><a href="$SCRIPT_NAME?modinfo=$MOD">$MOD</a></td>
pankso@46 78 <td>$SIZE</td>
pankso@46 79 <td>$USED</td>
pankso@46 80 <td>`echo $BY | sed s/","/" "/g`</td>
pankso@46 81 </tr>
pankso@46 82 EOT
pankso@46 83 done
pankso@66 84 table_end ;;
pankso@66 85 *)
pankso@66 86 #
pankso@66 87 # Default to summary with mounted filesystem, loaded modules
pankso@66 88 #
pankso@66 89 xhtml_header
pankso@67 90
pankso@66 91 cat << EOT
pankso@66 92 <div id="wrapper">
pankso@66 93 <h2>`gettext "Drivers &amp; Devices"`</h2>
pankso@66 94 <p>`gettext "Manage your computer hardware`</p>
pankso@66 95 </div>
pankso@66 96 <div>
pankso@66 97 <a class="button" href="$SCRIPT_NAME?modules">Kernel modules</a>
pankso@66 98 </div>
pankso@66 99 EOT
pankso@66 100 echo '<h3>Filesystem usage statistics</h3>'
pankso@66 101 echo '<pre>'
pankso@66 102 fdisk -l | fgrep Disk
pankso@66 103 echo '</pre>'
pankso@66 104 echo '<pre>'
pankso@66 105 df -h | grep ^/dev
pankso@66 106 echo '</pre>'
pankso@46 107 echo '<h3>lspci</h3>'
pankso@46 108 echo '<pre>'
pascal@61 109 lspci -k
pascal@61 110 echo '</pre>'
pascal@61 111 echo '<h3>lsusb</h3>'
pascal@61 112 echo '<pre>'
pascal@61 113 lsusb
pankso@46 114 echo '</pre>'
pankso@46 115 ;;
pankso@46 116 esac
pankso@46 117
pankso@46 118 xhtml_footer
pankso@46 119 exit 0