summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2016-03-10 12:46:05 +0000
committerramon <ramongomez@us.es>2016-03-10 12:46:05 +0000
commit8630dafe16aa77ccead0d1c702de556c663b4caf (patch)
tree1d04d0498d42a9be4d8efbd4d60bd4f62ab257da
parent8182e59bbbbf3a91a351afac3ff5f868de08d91d (diff)
Versión 1.0.6a, #730: Integrar código y liberar la versión de mantenimiento OpenGnSys 1.0.6a.
git-svn-id: https://opengnsys.es/svn/tags/opengnsys-1.0.6a@4820 a21b9725-9963-47de-94b9-378ad31fedc9
l---------admin/Database/ogAdmBD-1.0-1.0.6.sql1
l---------admin/Database/ogAdmBD-1.0-1.0.6a.sql1
-rw-r--r--admin/Database/ogAdmBD-1.0.1-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.1-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.2-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.2-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.2a-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.2a-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.3-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.3-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.4-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.4-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.4a-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.4a-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.5-1.0.6a.sql (renamed from admin/Database/ogAdmBD-1.0.5-1.0.6.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0.6a-postinst.sql (renamed from admin/Database/ogAdmBD-1.0.6-postinst.sql)0
-rw-r--r--admin/WebConsole/comandos/EliminarImagenRepositorio.php6
-rw-r--r--admin/WebConsole/comandos/RestaurarImagen.php3
-rw-r--r--admin/WebConsole/comandos/jscripts/RestaurarImagen.js31
-rw-r--r--admin/WebConsole/idiomas/javascripts/cat/comandos/restaurarimagen_cat.js3
-rw-r--r--admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js3
-rw-r--r--admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js3
-rw-r--r--admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php4
-rw-r--r--admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php20
-rw-r--r--admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php4
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php4
-rwxr-xr-xclient/engine/Boot.lib7
-rwxr-xr-xclient/engine/Cache.lib12
-rwxr-xr-xclient/engine/Disk.lib34
-rwxr-xr-xclient/engine/FileSystem.lib5
-rwxr-xr-xclient/engine/Image.lib12
-rw-r--r--doc/CHANGELOG.es.txt20
-rw-r--r--doc/VERSION.txt2
-rwxr-xr-xinstaller/opengnsys_update.sh3
-rwxr-xr-xserver/bin/setclientmode10
29 files changed, 131 insertions, 57 deletions
diff --git a/admin/Database/ogAdmBD-1.0-1.0.6.sql b/admin/Database/ogAdmBD-1.0-1.0.6.sql
deleted file mode 120000
index 52b3ee2a..00000000
--- a/admin/Database/ogAdmBD-1.0-1.0.6.sql
+++ /dev/null
@@ -1 +0,0 @@
-ogAdmBD-1.0.1-1.0.6.sql \ No newline at end of file
diff --git a/admin/Database/ogAdmBD-1.0-1.0.6a.sql b/admin/Database/ogAdmBD-1.0-1.0.6a.sql
new file mode 120000
index 00000000..dc227bf6
--- /dev/null
+++ b/admin/Database/ogAdmBD-1.0-1.0.6a.sql
@@ -0,0 +1 @@
+ogAdmBD-1.0.1-1.0.6a.sql \ No newline at end of file
diff --git a/admin/Database/ogAdmBD-1.0.1-1.0.6.sql b/admin/Database/ogAdmBD-1.0.1-1.0.6a.sql
index 08a68c3b..08a68c3b 100644
--- a/admin/Database/ogAdmBD-1.0.1-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.1-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.2-1.0.6.sql b/admin/Database/ogAdmBD-1.0.2-1.0.6a.sql
index 69b5428f..69b5428f 100644
--- a/admin/Database/ogAdmBD-1.0.2-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.2-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.2a-1.0.6.sql b/admin/Database/ogAdmBD-1.0.2a-1.0.6a.sql
index 0eaf109b..0eaf109b 100644
--- a/admin/Database/ogAdmBD-1.0.2a-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.2a-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.3-1.0.6.sql b/admin/Database/ogAdmBD-1.0.3-1.0.6a.sql
index 18648178..18648178 100644
--- a/admin/Database/ogAdmBD-1.0.3-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.3-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.4-1.0.6.sql b/admin/Database/ogAdmBD-1.0.4-1.0.6a.sql
index 87b14858..87b14858 100644
--- a/admin/Database/ogAdmBD-1.0.4-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.4-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.4a-1.0.6.sql b/admin/Database/ogAdmBD-1.0.4a-1.0.6a.sql
index ebe300e6..ebe300e6 100644
--- a/admin/Database/ogAdmBD-1.0.4a-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.4a-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.5-1.0.6.sql b/admin/Database/ogAdmBD-1.0.5-1.0.6a.sql
index ada710d8..ada710d8 100644
--- a/admin/Database/ogAdmBD-1.0.5-1.0.6.sql
+++ b/admin/Database/ogAdmBD-1.0.5-1.0.6a.sql
diff --git a/admin/Database/ogAdmBD-1.0.6-postinst.sql b/admin/Database/ogAdmBD-1.0.6a-postinst.sql
index 8b2e7be6..8b2e7be6 100644
--- a/admin/Database/ogAdmBD-1.0.6-postinst.sql
+++ b/admin/Database/ogAdmBD-1.0.6a-postinst.sql
diff --git a/admin/WebConsole/comandos/EliminarImagenRepositorio.php b/admin/WebConsole/comandos/EliminarImagenRepositorio.php
index 144f833a..8f3ad95c 100644
--- a/admin/WebConsole/comandos/EliminarImagenRepositorio.php
+++ b/admin/WebConsole/comandos/EliminarImagenRepositorio.php
@@ -133,6 +133,7 @@ $repolocal="si";
$nombre=trim($nombre);
$chekmarcadif=$_POST["marcadif".$i];
$tipoimg=$_POST["tipoimg".$i];
+ $idcentroimg=$_POST["idcentroimg".$i];
if ($checkbox == "si" && $chekmarcadif == 1)
{
@@ -169,7 +170,7 @@ $repolocal="si";
if ($checkboxobjeto == "si")
{
//#########################################################################
- $cmd->texto="SELECT * FROM imagenes WHERE nombreca='$nombre' AND idcentro='$idcentro'";
+ $cmd->texto="SELECT * FROM imagenes WHERE nombreca='$nombre' AND idcentro='$idcentroimg'";
$rs=new Recordset;
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return(0); // Error al abrir recordset
@@ -664,6 +665,7 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
echo '<input type="hidden" name="contar" value='.$contar.'></TD>'.chr(13);;
echo '<input type="hidden" name="marcadif'.$contar.'" value='.$marcadif.'></TD>'.chr(13);;
echo '<input type="hidden" name="tipoimg'.$contar.'" value='.$tipo[$contandotipo].'></TD>'.chr(13);;
+ echo '<input type="hidden" name="idcentroimg'.$contar.'" value='.$nombrecaidcentro.'></TD>'.chr(13);;
// ########## Nombre de Imagen ########################################################
if ($tipo[$contandotipo]=="D")
@@ -736,4 +738,4 @@ function confirmeliminar() {var mensaje="<?php echo $TbMsg[17];?>";if(confirm(me
<?php }
- ?> \ No newline at end of file
+ ?>
diff --git a/admin/WebConsole/comandos/RestaurarImagen.php b/admin/WebConsole/comandos/RestaurarImagen.php
index ec61a10e..e75b2f82 100644
--- a/admin/WebConsole/comandos/RestaurarImagen.php
+++ b/admin/WebConsole/comandos/RestaurarImagen.php
@@ -63,6 +63,7 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"];
<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT>
<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT>
<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT>
+<SCRIPT language="javascript" src="../jscripts/arrays.js"></SCRIPT>
<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/restaurarimagen_'.$idioma.'.js"></SCRIPT>'?>
</HEAD>
@@ -115,7 +116,7 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"];
<?php
}
$sws=$fk_sysFi | $fk_tamano | $fk_nombreSO;
- pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false,"pintaParticionesRestaurarImagen");
+ pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false,"pintaParticionesRestaurarImagen","ipordenador");
//________________________________________________________________________________________________________
include_once("./includes/formularioacciones.php");
//________________________________________________________________________________________________________
diff --git a/admin/WebConsole/comandos/jscripts/RestaurarImagen.js b/admin/WebConsole/comandos/jscripts/RestaurarImagen.js
index d675fa8d..7d8ca817 100644
--- a/admin/WebConsole/comandos/jscripts/RestaurarImagen.js
+++ b/admin/WebConsole/comandos/jscripts/RestaurarImagen.js
@@ -37,22 +37,30 @@
atributos+="ipr="+imgcanrepo[2]+RC; // Ip del repositorio donde está alojada
atributos+="ifs="+imgcanrepo[3]+RC; // Identificador del perfil soft contenido en la imagen
atributos+="ptc="+protoclonacion.value+RC; // Identificador del protocolo de clonación
+ document.fdatosejecucion.atributos.value=atributos;
var cc=ochecks[i].getAttribute('idcfg'); // Toma identificador del bloque de configuración
+ var tbOrd=document.getElementById("tbOrd_"+cc);
+ var iptabla=tbOrd.getAttribute('value'); // Toma identificadores de los ordenadores
+ filtrado();
+ var ipfiltro=document.fdatosejecucion.filtro.value;
- if(document.fdatosejecucion.ambito.value!=AMBITO_ORDENADORES){
- var tbOrd=document.getElementById("tbOrd_"+cc);
- var idordenadores=tbOrd.getAttribute('value'); // Toma identificadores de los ordenadores
- var cadenaid=document.fdatos.cadenaid.value; // Cadena de identificadores de todos los ordenadores del ámbito
- if(idordenadores!=cadenaid){
- document.fdatosejecucion.ambito.value=0; // Ambito de aplicación restringido
- document.fdatosejecucion.idambito.value=idordenadores;
+ // Elimino los ordenadores del filtro que no estén en la tabla
+ if (ipfiltro!=''){
+ var arraytabla = iptabla.split(",");
+ var arrayfiltro =ipfiltro.split(";");
+ arrayfiltro = array_interset (arrayfiltro.sort(), arraytabla.sort());
+ ipfiltro = arrayfiltro.join(";");
+ if (ipfiltro ==''){
+ alert(TbMsg["FILTER"]);
+ return(false);
}
- }
- document.fdatosejecucion.atributos.value=atributos;
- filtrado();
+ } else {
+ ipfiltro=iptabla.replace(/,/g, ";");
+ }
+ document.fdatosejecucion.filtro.value=ipfiltro;
+
document.fdatosejecucion.submit();
- break;
}
}
}
@@ -96,4 +104,3 @@
}
return(comprobar_datosejecucion())
}
-
diff --git a/admin/WebConsole/idiomas/javascripts/cat/comandos/restaurarimagen_cat.js b/admin/WebConsole/idiomas/javascripts/cat/comandos/restaurarimagen_cat.js
index ec7ef847..fa501192 100644
--- a/admin/WebConsole/idiomas/javascripts/cat/comandos/restaurarimagen_cat.js
+++ b/admin/WebConsole/idiomas/javascripts/cat/comandos/restaurarimagen_cat.js
@@ -10,4 +10,5 @@ TbMsg[2]="ATENCIÓN: Ha selecccionado una imagen de Sistema Operativo distinto
TbMsg[3]="¿ Está seguro ?"
TbMsg[4]="Debe elegir al menos una imagen para la partición"
TbMsg[5]="Debe elegir al menos un path de imagen para la partición ";
-TbMsg[6]="Debe elegir la imagen de uno sólo de los desplegables"
+TbMsg[6]="Debe elegir la imagen de uno sólo de los desplegables";
+TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida.";
diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js
index dbe7a4df..fcaaf8c6 100644
--- a/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js
+++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js
@@ -10,4 +10,5 @@ TbMsg[2]="WARNING: You have selected an Image from other operating system for c
TbMsg[3]="Are you sure ?"
TbMsg[4]="You must select at least a partition and an Image"
TbMsg[5]="You must select at least a image path for partition ";
-TbMsg[6]="You must choose only one image of the down" \ No newline at end of file
+TbMsg[6]="You must choose only one image of the down";
+TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida.";
diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js
index ec7ef847..e5842b92 100644
--- a/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js
+++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js
@@ -10,4 +10,5 @@ TbMsg[2]="ATENCIÓN: Ha selecccionado una imagen de Sistema Operativo distinto
TbMsg[3]="¿ Está seguro ?"
TbMsg[4]="Debe elegir al menos una imagen para la partición"
TbMsg[5]="Debe elegir al menos un path de imagen para la partición ";
-TbMsg[6]="Debe elegir la imagen de uno sólo de los desplegables"
+TbMsg[6]="Debe elegir la imagen de uno sólo de los desplegables";
+TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida.";
diff --git a/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php b/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php
index f9bdff68..ec09a325 100644
--- a/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php
+++ b/admin/WebConsole/idiomas/php/cat/clases/Almanaque_cat.php
@@ -179,7 +179,7 @@ class Almanaque{
$HTML_calendario='<TABLE id="tabla_annos" class="'.$this->clase.'">'.chr(13);
$HTML_calendario.='<TR>'.chr(13);
$HTML_calendario.='<TH style="cursor:pointer" onclick="TH_'.$this->onclick.'">Años</TH></TR>'.chr(13); // Literal años
- for ($i=1;$i<7;$i++){
+ for ($i=1;$i<9;$i++){
$HTML_calendario.='<TR><TD align="center" id="'.$this->numero_annos[$i][0].'"
value="'.$this->numero_annos[$i][1].'" style="cursor:pointer"
onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'"
@@ -388,4 +388,4 @@ ________________________________________________________________________________
$HTML_calendario.='</TR></TABLE>'.chr(13);
return($HTML_calendario);
}
-} // Fin de la clase Almanaque \ No newline at end of file
+} // Fin de la clase Almanaque
diff --git a/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php b/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php
index 97cbc0e2..7f486f22 100644
--- a/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php
+++ b/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php
@@ -72,14 +72,14 @@ class Almanaque{
$this->semanas[5]=array ("5",0x10);
$this->semanas[6]=array ("Last",0x20);
- $this->numero_annos[1]=array ("2004",0x01); // tamao 1 bytes
- $this->numero_annos[2]=array ("2005",0x02);
- $this->numero_annos[3]=array ("2006",0x04);
- $this->numero_annos[4]=array ("2007",0x08);
- $this->numero_annos[5]=array ("2008",0x10);
- $this->numero_annos[6]=array ("2009",0x20);
- $this->numero_annos[7]=array ("2010",0x40);
- $this->numero_annos[8]=array ("2011",0x80);
+ $this->numero_annos[1]=array ("2010",0x01); // tamao 1 bytes
+ $this->numero_annos[2]=array ("2011",0x02);
+ $this->numero_annos[3]=array ("2012",0x04);
+ $this->numero_annos[4]=array ("2013",0x08);
+ $this->numero_annos[5]=array ("2014",0x10);
+ $this->numero_annos[6]=array ("2015",0x20);
+ $this->numero_annos[7]=array ("2016",0x40);
+ $this->numero_annos[8]=array ("2017",0x80);
$this->numero_dias[1]=0x00000001; // tamao 4 bytes
$this->numero_dias[2]=0x00000002;
@@ -211,7 +211,7 @@ class Almanaque{
$HTML_calendario='<TABLE id="tabla_annos" class="'.$this->clase.'">'.chr(13);
$HTML_calendario.='<TR>'.chr(13);
$HTML_calendario.='<TH style="cursor:hand" onclick="TH_'.$this->onclick.'">Years</TH></TR>'.chr(13); // Literal aos
- for ($i=1;$i<7;$i++){
+ for ($i=1;$i<9;$i++){
$HTML_calendario.='<TR><TD id="'.$this->numero_annos[$i][0].'" value="'.$this->numero_annos[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->numero_annos[$i][0].'</TD></TR>'.chr(13);
}
$HTML_calendario.='</TABLE>'.chr(13);
@@ -402,4 +402,4 @@ ________________________________________________________________________________
$HTML_calendario.='</TR></TABLE>'.chr(13);
return($HTML_calendario);
}
-} // Fin de la clase Almanaque \ No newline at end of file
+} // Fin de la clase Almanaque
diff --git a/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php b/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php
index 579addde..868fc394 100644
--- a/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php
+++ b/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php
@@ -179,7 +179,7 @@ class Almanaque{
$HTML_calendario='<TABLE id="tabla_annos" class="'.$this->clase.'">'.chr(13);
$HTML_calendario.='<TR>'.chr(13);
$HTML_calendario.='<TH style="cursor:pointer" onclick="TH_'.$this->onclick.'">Años</TH></TR>'.chr(13); // Literal años
- for ($i=1;$i<7;$i++){
+ for ($i=1;$i<9;$i++){
$HTML_calendario.='<TR><TD align="center" id="'.$this->numero_annos[$i][0].'"
value="'.$this->numero_annos[$i][1].'" style="cursor:pointer"
onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'"
@@ -388,4 +388,4 @@ ________________________________________________________________________________
$HTML_calendario.='</TR></TABLE>'.chr(13);
return($HTML_calendario);
}
-} // Fin de la clase Almanaque \ No newline at end of file
+} // Fin de la clase Almanaque
diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php
index 54fdab36..8cdd669c 100644
--- a/admin/WebConsole/includes/ConfiguracionesParticiones.php
+++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php
@@ -179,7 +179,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr)
configuración de los ordenadores o la pantalla de los comandos "Configurar" o "RestaurarImagen"
para permitir introducir los datos necesarios.
________________________________________________________________________________________________________*/
-function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaParticionesFunction="pintaParticiones")
+function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaParticionesFunction="pintaParticiones",$tipoid="idordenador")
{
global $AMBITO_AULAS;
global $AMBITO_GRUPOSORDENADORES;
@@ -270,7 +270,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar
$cc++;
//Muestra ordenadores
echo '<tr><td colspan="'.$colums.'" style="background-color: #ffffff;">';
- echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc);
+ echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc,$tipoid);
echo '</td></tr>';
//Muestra particiones y configuración
$configuraciones[$cc-1] = $rs->campos["configuraciones"];
diff --git a/client/engine/Boot.lib b/client/engine/Boot.lib
index 109c3048..78e16ccb 100755
--- a/client/engine/Boot.lib
+++ b/client/engine/Boot.lib
@@ -480,7 +480,10 @@ FILE=/tmp/temp$$
VERSION=$(ogGetOsVersion $1 $2)
-if echo "$VERSION" | grep "Windows 8.1"
+if echo "$VERSION" | grep "Windows 10"
+then
+ WINVER="Windows 10"
+elif echo "$VERSION" | grep "Windows 8.1"
then
WINVER="Windows 8.1"
elif echo "$VERSION" | grep "Windows 8"
@@ -1022,7 +1025,7 @@ ogGrubAddOgclient () {
# Error si no existe el kernel y el initrd en la cache.
# Falta crear nuevo codigo de error.
- [ -r $OGCAC/boot/ogvmlinuz -a -r $OGCAC/boot/oginitrd.img ] || return $(ogRaiseError log session OG_ERR_NOTFOUND "CACHE: ogvmlinuz, oginitrd.img" 1>&2; echo ?)
+ [ -r $OGCAC/boot/ogvmlinuz -a -r $OGCAC/boot/oginitrd.img ] || return $(ogRaiseError log session $OG_ERR_NOTFOUND "CACHE: ogvmlinuz, oginitrd.img" 1>&2; echo $?)
# Archivo de configuracion del grub
DIRMOUNT=$(ogMount $1 $2)
diff --git a/client/engine/Cache.lib b/client/engine/Cache.lib
index ce1fc38b..626cab6f 100755
--- a/client/engine/Cache.lib
+++ b/client/engine/Cache.lib
@@ -35,7 +35,7 @@
function ogCreateCache ()
{
# Variables locales.
-local FINDCACHE NDSK SIZECACHE PART DISK START END ENDPREVPART SIZE MINSIZE MAXSIZE PTTYPE ID
+local FINDCACHE NDSK SIZECACHE IOSIZE PART DISK START END ENDPREVPART SIZE MINSIZE MAXSIZE PTTYPE ID
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_partsize" "$FUNCNAME 1 10000000"
@@ -65,7 +65,15 @@ PART=4
DISK=$(ogDiskToDev $NDSK) || return $?
END=$[$(ogGetLastSector $NDSK 2>/dev/null)] # Sector final del disco.
SIZE=$[$SIZECACHE*2] # Tamaño en sectores de 512 B.
-START=$[END-SIZE+1]
+###### agp ############
+IOSIZE=$(fdisk -l $DISK | grep I/O | cut -d ":" -f2 | cut -d "/" -f1 | cut -d " " -f2)
+if [[ $IOSIZE = 4096 ]]; then
+ END=$[$END-8192]
+ START=$[END-SIZE-8192]
+else
+ START=$[END-SIZE+1]
+fi
+###### agp ############
ENDPREVPART=$[$(ogGetLastSector $NDSK $[PART-1] 2>/dev/null)]
# Error si tamaño no está entre límites permitidos o si se solapa con la partición anterior.
MINSIZE=25000 # Error de formateo si tamaño < 50 MB.
diff --git a/client/engine/Disk.lib b/client/engine/Disk.lib
index adb9cb01..4ff545a3 100755
--- a/client/engine/Disk.lib
+++ b/client/engine/Disk.lib
@@ -44,7 +44,7 @@ timeout -k 5s -s KILL 3s $(which parted) "$@"
function ogCreatePartitions ()
{
# Variables locales.
-local ND DISK PTTYPE PART SECTORS START SIZE TYPE CACHEPART CACHESIZE EXTSTART EXTSIZE tmpsfdisk
+local ND DISK PTTYPE PART SECTORS START SIZE TYPE CACHEPART CACHESIZE IOSIZE EXTSTART EXTSIZE tmpsfdisk
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk str_parttype:int_partsize ..." \
@@ -72,7 +72,20 @@ CACHEPART=$(ogFindCache 2>/dev/null)
[ "$ND" = "${CACHEPART% *}" ] && CACHESIZE=$(ogGetCacheSize 2>/dev/null | awk '{print $0*2}')
[ -n "$CACHESIZE" ] && SECTORS=$[SECTORS-CACHESIZE]
# Sector de inicio (la partición 1 empieza en el sector 63).
-START=63
+########## agp ###########
+iodisco=$(ogDiskToDev $1)
+IOSIZE=$(fdisk -l $iodisco | grep I/O | cut -d ":" -f2 | cut -d "/" -f1 | cut -d " " -f2)
+if [[ $IOSIZE = 4096 ]]; then
+ START=4096
+else
+ START=63
+fi
+########## agp ###########
+
+
+
+
+
PART=1
# Fichero temporal de entrada para "sfdisk"
@@ -257,6 +270,9 @@ sgdisk $DELOPTIONS $OPTIONS $DISK 2>/dev/null && partprobe $DISK
#@version 1.0.4 - Primera versión compatible con OpenGnSys.
#@author Universidad de Huelva
#@date 2012/03/06
+#@version 1.0.6a - Adaptar creación de nueva tabla MSDOS.
+#@author Ramon Gomez, ETSII Universidad de Sevilla
+#@date 2016/01/29
#*/ ##
function ogCreatePartitionTable ()
{
@@ -308,7 +324,8 @@ case "$CREATE" in
if [ "$PTTYPE" == "GPT" ]; then
sgdisk -Z $DISK
fi
- fdisk $DISK <<< "w"
+ # Crear y borrar una partición para que la tabla se genere bien.
+ echo -e "o\nn\np\n\n\n\nd\n\nw" | fdisk $DISK
partprobe $DISK 2>/dev/null
;;
esac
@@ -592,7 +609,7 @@ echo $TYPE
function ogGetLastSector ()
{
# Variables locales
-local DISK PART PTTYPE LASTSECTOR SECTORS CYLS
+local DISK PART PTTYPE LASTSECTOR SECTORS CYLS IOSIZE
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk [int_npart]" \
@@ -626,7 +643,14 @@ case "$PTTYPE" in
if [ $# == 1 ]; then
SECTORS=$(awk -v D=${DISK#/dev/} '{if ($4==D) {print $3*2}}' /proc/partitions)
CYLS=$(sfdisk -g $DISK | cut -f2 -d" ")
- LASTSECTOR=$[SECTORS/CYLS*CYLS-1]
+ ########## agp ###########
+ IOSIZE=$(fdisk -l $DISK | grep I/O | cut -d ":" -f2 | cut -d "/" -f1 | cut -d " " -f2)
+ if [[ $IOSIZE = 4096 ]]; then
+ LASTSECTOR=$[SECTORS-512]
+ else
+ LASTSECTOR=$[SECTORS/CYLS*CYLS-1]
+ fi
+ ########## agp ###########
else
LASTSECTOR=$(sfdisk -uS -l $DISK 2>/dev/null | \
awk -v P="$PART" '{if ($1==P) {if ($2=="*") print $4; else print $3} }')
diff --git a/client/engine/FileSystem.lib b/client/engine/FileSystem.lib
index 257c5a23..73fd44bc 100755
--- a/client/engine/FileSystem.lib
+++ b/client/engine/FileSystem.lib
@@ -468,7 +468,7 @@ findmnt -n -o TARGET $PART
function ogIsFormated ()
{
# Variables locales
-local DISK
+local PART
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk int_nfilesys" \
"if $FUNCNAME 1 1; then ... ; fi"
@@ -476,8 +476,9 @@ if [ "$*" == "help" ]; then
fi
# Falso, en caso de error.
[ $# == 2 ] || return 1
+PART="$(ogDiskToDev $1 $2 2>/dev/null)" || return 1
-test -n "$(ogMount "$1" "$2" 2>/dev/null)"
+test -n "$(blkid -s TYPE $PART | egrep -vi "swap|_member")"
}
diff --git a/client/engine/Image.lib b/client/engine/Image.lib
index 5e799968..7940b4f5 100755
--- a/client/engine/Image.lib
+++ b/client/engine/Image.lib
@@ -627,7 +627,7 @@ fi
# Procesar parámetros.
DISK=$(ogDiskToDev "$3") || return $?
IMGFILE=$(ogGetPath "$1" "$2.mbr") || return $?
-[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
+[ -r "$IMGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "$IMGFILE" || return $?
# Restaurar imagen del MBR.
dd if="$IMGFILE" of="$DISK" bs=512 count=1 || ogRaiseError $OG_ERR_IMAGE "$1 $IMGFILE" || return $?
@@ -663,7 +663,7 @@ fi
# Procesar parámetros.
DISK=$(ogDiskToDev "$3") || return $?
IMGFILE=$(ogGetPath "$1" "$2.mbr") || return $?
-[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
+[ -r "$IMGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "$IMGFILE" || return $?
# Restaurar imagen del MBR.
dd if="$IMGFILE" of="$DISK" bs=446 count=1 || ogRaiseError $OG_ERR_IMAGE "$1 $IMGFILE" || return $?
@@ -802,7 +802,7 @@ function ogGetImageProgram ()
{
local IMGFILE
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
-[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
+[ -r "$IMGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "$IMGFILE" || return $?
ogGetImageInfo $IMGFILE | awk -F: '{print $1}'
}
@@ -811,7 +811,7 @@ function ogGetImageCompressor ()
{
local IMGFILE
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
-[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
+[ -r "$IMGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "$IMGFILE" || return $?
ogGetImageInfo $IMGFILE | awk -F: '{print $2}'
}
@@ -819,7 +819,7 @@ function ogGetImageType ()
{
local IMGFILE
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
-[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
+[ -r "$IMGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "$IMGFILE" || return $?
#partimage -B gui=no imginfo "$IMGFILE" 2>&1 | \
# awk '/^Filesystem/ {sub(/\.\.+/," "); sub(/fs$/,""); print toupper($2);}'
ogGetImageInfo $IMGFILE | awk -F: '{print $3}'
@@ -841,7 +841,7 @@ fi
[ $# == 2 ] || ogRaiseError $OG_ERR_FORMAT || return $?
# Error si el fichero de imagen no es accesible.
IMGFILE=$(ogGetPath "$1" "$2.img") || return $?
-[ -r "$IMGFILE" ] || ogRaiseError OG_ERR_NOTFOUND "$IMGFILE" || return $?
+[ -r "$IMGFILE" ] || ogRaiseError $OG_ERR_NOTFOUND "$IMGFILE" || return $?
# Devuelve el tamaño de la imagen en KB.
#partimage -B gui=no imginfo "$IMGFILE" 2>&1 | \
diff --git a/doc/CHANGELOG.es.txt b/doc/CHANGELOG.es.txt
index 61c2278b..7253d94d 100644
--- a/doc/CHANGELOG.es.txt
+++ b/doc/CHANGELOG.es.txt
@@ -2,6 +2,26 @@ LISTA DE CAMBIOS CHANGELOG.es.txt
========================================
+Lista de cambios incluidos en OpenGnSys 1.0.6a (versión de mantenimiento)
+----------------------------------------------
+
+Tickets resueltos en módulo OpenGnSys Cloning Engine:
+#696 Función ogUnmountAll monta la caché
+#728 Solucionar problemas de clonado y postconfiguración de Windows 10
+#733 No se genera tabla de partición en discos vacíos
+#735 Discos duros con sectores de 4096 bytes
+
+Tickets resueltos en módulo OpenGnSys Server:
+#719 setclientmode: desaparece equipo de netBootAvanzado
+
+Tickets resueltos en módulo OpenGnSys Web Admin Console:
+#721 Consola Restaurar Imagen: falla el filtro de equipos
+#732 Ampliar el calendario de programación de acciones más allá de 2015 (parcial)
+
+Tickets genéricos resueltos:
+#734 Liberar versión de mantenimiento OpenGnSys 1.0.6a en rama principal
+
+
Lista de cambios incluidos en OpenGnSys 1.0.6
---------------------------------------------
diff --git a/doc/VERSION.txt b/doc/VERSION.txt
index edca710e..f68d1eb2 100644
--- a/doc/VERSION.txt
+++ b/doc/VERSION.txt
@@ -1 +1 @@
-OpenGnSys 1.0.6
+OpenGnSys 1.0.6a r4820
diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh
index 71f71d97..a7c6843b 100755
--- a/installer/opengnsys_update.sh
+++ b/installer/opengnsys_update.sh
@@ -884,7 +884,7 @@ function updateSummary()
echoAndLog "Project version: $(cat $VERSIONFILE)"
echoAndLog "Update log file: $LOG_FILE"
if [ -n "$NEWFILES" ]; then
- echoAndLog "Check the new config files: $(echo $NEWFILES)"
+ echoAndLog "Check new config files: $(echo $NEWFILES)"
fi
if [ -n "$NEWSERVICES" ]; then
echoAndLog "New compiled services: $(echo $NEWSERVICES)"
@@ -896,6 +896,7 @@ function updateSummary()
echoAndLog " New OpenGnSys services will be restarted by the cronjob."
fi
fi
+ echoAndLog "Warning: You must to clear web browser cache before loading OpenGnSys page."
echo
}
diff --git a/server/bin/setclientmode b/server/bin/setclientmode
index 02e5be59..68729cc0 100755
--- a/server/bin/setclientmode
+++ b/server/bin/setclientmode
@@ -97,13 +97,17 @@ for MAC in $ETHERNET; do
LEFT JOIN perfileshard USING (idperfilhard)
LEFT JOIN menus USING (idmenu)
WHERE ordenadores.mac='$MAC';")
- # Quitar tabuladores y sustituir caracteres quitando acentos y tildes.
+ # Quitar tabuladores, sustituir acentos y dejar resolución por defecto.
DATOS=$(echo ${DATOS// /} | tr 'áéíóúñÁÉÍÓÚÑ' 'aeiounAEIOUN')
+ [[ "$DATOS" =~ (vga|video) ]] || DATOS="$DATOS vga=788"
# Crear fichero PXE a partir de la plantilla con los datos obtenidos en la BD.
sed -e "s/vga=[0-9]*//g; s/INFOHOST/$DATOS/g" $TEMPLATE >$PXEFILE
- # Actualizar en la BD el modo de arranque asociada el cliente.
+ # Ponemos como propietario al usuario y grupo de Apache para que se pueda cambiar desde la consola web.
+ PERMS=$(ps axho user,group,comm|awk '!/root/ && /httpd|apache/ {u=$1; g=$2} END {if (g) printf "%s:%s",u,g}')
+ [ -n "$PERMS" ] && chown $PERMS $PXEFILE
+ # Actualizar en la BD la plantilla de arranque asociada el cliente.
mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -e \
- "UPDATE ordenadores SET arranque='$BOOTMODE' WHERE mac='$MAC';"
+ "UPDATE ordenadores SET arranque='$(basename $TEMPLATE)' WHERE mac='$MAC';"
fi
let NPC=NPC+1
done