diff options
author | ramon <ramongomez@us.es> | 2015-07-14 11:45:51 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2015-07-14 11:45:51 +0000 |
commit | b0c96832343256b7983981a5277518dbd06d64a0 (patch) | |
tree | 7cb214afc25c58297da8e030943558be3e3faba8 | |
parent | 695c8e6b17be81f86db89ea0f7c9aa4bdf36e45f (diff) |
#711: Integrar código del ticket:711 y modificar ogAdmServer para guardar porcentaje de uso en la BD.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4666 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-x | admin/Interface/getConfiguration | 12 | ||||
-rw-r--r-- | admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp | 38 | ||||
-rw-r--r-- | admin/WebConsole/includes/ConfiguracionesParticiones.php | 2 | ||||
-rw-r--r-- | admin/WebConsole/includes/pintaParticiones.php | 10 |
4 files changed, 39 insertions, 23 deletions
diff --git a/admin/Interface/getConfiguration b/admin/Interface/getConfiguration index 0979986d..fbed5a98 100755 --- a/admin/Interface/getConfiguration +++ b/admin/Interface/getConfiguration @@ -21,7 +21,7 @@ for ((dsk=1; dsk<=$disks; dsk++)); do *) ptt=0 ;; esac # Información de disco (partición 0) - cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk);" + cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk):0;" for ((par=1;par<=$particiones;par++)); do # Código del identificador de tipo de partición cod=$(ogGetPartitionId $dsk $par 2>/dev/null) @@ -34,13 +34,15 @@ for ((dsk=1; dsk<=$disks; dsk++)); do # Sistema operativo instalado case "$fsi" in ""|EMPTY|CACHE|LINUX-SWAP|LINUX-LVM) - soi="" ;; + soi=""; uso=0 ;; *) soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:) # Sistema de archivos para datos (sistema operativo "DATA") [ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA" + uso=$(df $(ogDiskToDev $dsk $par) | awk '{getline; printf "%d",$5}') + uso=${uso:0} ;; esac - cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam;" + cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam:$uso;" done done @@ -58,8 +60,8 @@ generateMenuDefault &>/dev/null awk '{ n=split($0,sep,";"); for (i=1; i<n; i++){ split (sep[i],dua,":"); - printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n", - dua[1],dua[2],dua[3],dua[4],dua[5],dua[6]); + printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\tuso=%s\n", + dua[1],dua[2],dua[3],dua[4],dua[5],dua[6],dua[7]); } }' $cfgfile diff --git a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp index 19503065..9bd66f6f 100644 --- a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp +++ b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp @@ -732,14 +732,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido) char msglog[LONSTD], sqlstr[LONSQL]; int lon, p, c,i, dato, swu, idsoi, idsfi,k; char *ptrPar[MAXPAR], *ptrCfg[6], *ptrDual[2], tbPar[LONSTD]; - char *disk, *par, *cpt, *sfi, *soi, *tam; // Parametros que definen una partición + char *disk, *par, *cpt, *sfi, *soi, *tam, *uso; // Parametros que definen una partición char modulo[] = "actualizaConfiguracion()"; lon = 0; p = splitCadena(ptrPar, cfg, '\n'); for (i = 0; i < p; i++) { c = splitCadena(ptrCfg, ptrPar[i], '\t'); - disk = par = cpt = sfi = soi = tam = NULL; + disk = par = cpt = sfi = soi = tam = uso = NULL; splitCadena(ptrDual, ptrCfg[0], '='); disk = ptrDual[1]; // Número de disco @@ -774,10 +774,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido) splitCadena(ptrDual, ptrCfg[5], '='); tam = ptrDual[1]; // Tamaño de la partición + splitCadena(ptrDual, ptrCfg[6], '='); + uso = ptrDual[1]; // Porcentaje de uso del S.F. + lon += sprintf(tbPar + lon, "(%s, %s),", disk, par); - sprintf(sqlstr, "SELECT numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso" - " FROM ordenadores_particiones WHERE idordenador=%d AND numdisk=%s AND numpar=%s", + sprintf(sqlstr, "SELECT numdisk, numpar, codpar, tamano, uso, idsistemafichero, idnombreso" + " FROM ordenadores_particiones" + " WHERE idordenador=%d AND numdisk=%s AND numpar=%s", ido, disk, par); @@ -788,9 +792,9 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido) return (FALSE); } if (tbl.ISEOF()) { // Si no existe el registro - sprintf(sqlstr, "INSERT INTO ordenadores_particiones(idordenador,numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso,idimagen)" - " VALUES(%d,%s,%s,0x%s,%s,%d,%d,0)", - ido, disk, par, cpt, tam, idsfi, idsoi); + sprintf(sqlstr, "INSERT INTO ordenadores_particiones(idordenador,numdisk,numpar,codpar,tamano,uso,idsistemafichero,idnombreso,idimagen)" + " VALUES(%d,%s,%s,0x%s,%s,%s,%d,%d,0)", + ido, disk, par, cpt, tam, uso, idsfi, idsoi); if (!db.Execute(sqlstr, tbl)) { // Error al insertar @@ -812,19 +816,26 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido) return (FALSE); } if (atoi(tam) == dato) {// Parámetro tamaño igual al almacenado - if (!tbl.Get("idsistemafichero", dato)) { // Toma dato + if (!tbl.Get("uso", dato)) { // Toma dato tbl.GetErrorErrStr(msglog); // Error al acceder al registro errorInfo(modulo, msglog); return (FALSE); } - if (idsfi == dato) {// Parámetro sistema de fichero igual al almacenado - if (!tbl.Get("idnombreso", dato)) { // Toma dato + if (atoi(uso) == dato) {// Parámetro uso igual al almacenado + if (!tbl.Get("idsistemafichero", dato)) { // Toma dato tbl.GetErrorErrStr(msglog); // Error al acceder al registro errorInfo(modulo, msglog); return (FALSE); } - if (idsoi == dato) {// Parámetro sistema de fichero distinto al almacenado - swu = FALSE; // Todos los parámetros de la partición son iguales, no se actualiza + if (idsfi == dato) {// Parámetro sistema de fichero igual al almacenado + if (!tbl.Get("idnombreso", dato)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (idsoi == dato) {// Parámetro sistema de fichero distinto al almacenado + swu = FALSE; // Todos los parámetros de la partición son iguales, no se actualiza + } } } } @@ -833,13 +844,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido) sprintf(sqlstr, "UPDATE ordenadores_particiones SET " " codpar=0x%s," " tamano=%s," + " uso=%s," " idsistemafichero=%d," " idnombreso=%d," " idimagen=0," " idperfilsoft=0," " fechadespliegue=NULL" " WHERE idordenador=%d AND numdisk=%s AND numpar=%s", - cpt, tam, idsfi, idsoi, ido, disk, par); + cpt, tam, uso, idsfi, idsoi, ido, disk, par); if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos errorLog(modulo, 21, FALSE); db.GetErrorErrStr(msglog); diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php index 54fdab36..0a6217bd 100644 --- a/admin/WebConsole/includes/ConfiguracionesParticiones.php +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -92,6 +92,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) IFNULL (tipospar.tipopar, ordenadores_particiones.codpar) AS tipopar, tipospar.clonable, ordenadores_particiones.tamano, + ordenadores_particiones.uso, sistemasficheros.descripcion AS sistemafichero, ordenadores_particiones.idnombreso, nombresos.nombreso, @@ -145,6 +146,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) $tbKeys[$idx]["tipopar"]=$rs->campos["tipopar"]; $tbKeys[$idx]["clonable"]=$rs->campos["clonable"]; $tbKeys[$idx]["tamano"]=$rs->campos["tamano"]; + $tbKeys[$idx]["uso"]=$rs->campos["uso"]; $tbKeys[$idx]["sistemafichero"]=$rs->campos["sistemafichero"]; $tbKeys[$idx]["idnombreso"]=$rs->campos["idnombreso"]; $tbKeys[$idx]["nombreso"]=$rs->campos["nombreso"]; diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php index e9f65270..8a783d3d 100644 --- a/admin/WebConsole/includes/pintaParticiones.php +++ b/admin/WebConsole/includes/pintaParticiones.php @@ -108,12 +108,12 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) $filesys=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]); echo'<td align="center"> '.$filesys.' </td>'.chr(13); - echo '<td align="center"> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); - - echo'<td align="right"> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); - + echo '<td align="center"> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); + + echo'<td style="text-align:right; background-image:url(../images/flotantes/lsu.gif); background-size:'.$tbKeys[$k]["uso"].'% 100%; background-repeat:no-repeat"> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); + echo'<td align="center"> '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); - + echo'<td align="center"> '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).' </td>'.chr(13); if ($filesys == "CACHE") { |