source: client/shared/scripts/generateMenuDefault @ c21abbc

Last change on this file since c21abbc was de687e3, checked in by ramon <ramongomez@…>, 10 years ago

#673: Integrar código de la versión 1.0.6 en rama principal.

git-svn-id: https://opengnsys.es/svn/trunk@4641 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 2.8 KB
RevLine 
[1602040]1#!/bin/bash
2# generateMenuDefault - Crea fichero con la página web de inicio del cliente
3#                       con información de red y de los sistemas operativos instalados,
4#                       crea fichero con información del contenido de la caché local.
[ecd8d9a]5
[1602040]6
7DEVICE=${DEVICE:-"eth0"}
8source /tmp/net-$DEVICE.conf
[d0df50b6]9FILEINFOHTML=$OGLOG/`ogGetIpAddress`.info.html
10FILEINFOCACHE=$OGLOG/`ogGetIpAddress`.cache.txt
11ogMountCache 2>/dev/null
[de687e3]12CACHECONTENIDO="ls -m $OGCAC/$OGIMG 2>/dev/null"
[d0df50b6]13
14SPEED=$(LANG=C ethtool $DEVICE 2>/dev/null | awk '$1~/Speed/ {print $2}')
[1602040]15case "${SPEED,,}" in
16        1000mb/s)       ;;
17        100mb/s)        SPEED="<font color=\"blue\">$SPEED</font>" ;;
18        10mb/s)         SPEED="<font color=\"grey\">$SPEED</font>" ;;
[d0df50b6]19        *)              SPEED="<font color=\"red\">$SPEED</font>" ;;
20esac
21DUPLEX=$(LANG=C ethtool $DEVICE 2>/dev/null | awk '$1~/Duplex/ {print $2}')
[1602040]22case "${DUPLEX,,}" in
23        full)           ;;
[d0df50b6]24        *)              DUPLEX="<font color=\"red\">$DUPLEX</font>"
25esac
[de687e3]26
[d0df50b6]27CACHESIZEFREE=$(ogGetFreeSize `ogFindCache`)
[de687e3]28if [ $CACHESIZEFREE == 0 ]; then
29        echo '0.MB,' > $FILEINFOCACHE
30else
31        expr $CACHESIZEFREE / 1024 > $FILEINFOCACHE 2>/dev/null && echo '.MB,' >> $FILEINFOCACHE
32fi
[ecd8d9a]33
[1602040]34# Crear menú por defecto.
35cat > $FILEINFOHTML << EOT
[d0df50b6]36<div align="center" style="font-family: Arial, Helvetica, sans-serif;">
[ecd8d9a]37<p style="color:#999999; font-size: 16px; margin: 2em;">
38
[1602040]39<table border="1" width="100%">
[d0df50b6]40<tr>
41<td rowspan="2"><p align="left"><img border="0" src="../images/iconos/logoopengnsys.png"><p> </td>
[1602040]42<td> $MSG_HOSTNAME </td> <td> $MSG_IPADDR </td> <td> $MSG_MACADDR </td> <td> $MSG_SPEED </td> <td> $MSG_DUPLEX </td> </tr>
[d0df50b6]43<tr> <td>$HOSTNAME </td> <td> $(ogGetIpAddress) </td> <td> $(ogGetMacAddress) </td> <td> $SPEED </td> <td> $DUPLEX </td> </tr>
[ecd8d9a]44</table>
45</p>
[1602040]46
47<h1>$MSG_MENUTITLE</h1>
48EOT
49
50# Si existe el fichero de configuración creado por el script getConfiguration, ...
51cfgfile=/tmp/getconfig
52if [ -f $cfgfile ]; then
53    # Tomar los datos del fichero.
54    awk -v boot="$MSG_BOOT" '
55         { n=split($0,sep,";");
56           for (i=1; i<n; i++) {
57               split (sep[i],dua,":");
58               if (dua[5]!="" && dua[5]!="DATA") {
59                   printf ("<p><a href=\"command:bootOs %s %s\">%s %s (%s, %s)</a></p>\n",
60                           dua[1],dua[2],boot,dua[5],dua[1],dua[2]);
61                   }
62               }
63         }' $cfgfile >>$FILEINFOHTML
64else
65    # Si no, obtener los datos de los discos.
66    for ((d=1; d<=$(ogDiskToDev | wc -w); d++)); do
67        for ((p=1; p<=$(ogGetPartitionsNumber $d); p++)); do
68            VERSION=$(ogGetOsVersion $d $p 2>/dev/null | cut -f2 -d:)
69            [ -n "$VERSION" ] && echo "<p><a href=\"command:bootOs $d $p\">$MSG_BOOT $VERSION ($d, $p)</a></p>" >>$FILEINFOHTML
70        done
71    done
72fi
73# Añadir opción de apagado.
74cat >> $FILEINFOHTML << EOT
75<p><a href="command:poweroff">$MSG_POWEROFF</a></p>
[ecd8d9a]76</div>
[1602040]77EOT
[ecd8d9a]78
[1602040]79# Crear contenido de la caché.
[de687e3]80eval $CACHECONTENIDO >> $FILEINFOCACHE
[d0df50b6]81
Note: See TracBrowser for help on using the repository browser.