summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/includes/tftputils.php
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2013-06-11 12:08:34 +0000
committerramon <ramongomez@us.es>2013-06-11 12:08:34 +0000
commit18779c562330df4303a5b0b91610339f47414c70 (patch)
tree8f31ee80613d7333adc55082b011d29b1cbce714 /admin/WebConsole/includes/tftputils.php
parent13584f98dc6584d596b73c9090e4e0dbad253da6 (diff)
#573 #601 #606: Integrar código de la revisión r3864 solucionando varios problemas: reconocimiento correcto de parámetro de arranque {{{vga}}} o {{{video}}}; asistente de clonación de particiones remotas detecta correctamente varios discos y corrección de xajax.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3865 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole/includes/tftputils.php')
-rw-r--r--admin/WebConsole/includes/tftputils.php13
1 files changed, 10 insertions, 3 deletions
diff --git a/admin/WebConsole/includes/tftputils.php b/admin/WebConsole/includes/tftputils.php
index aa22571e..8e16ff6a 100644
--- a/admin/WebConsole/includes/tftputils.php
+++ b/admin/WebConsole/includes/tftputils.php
@@ -128,20 +128,27 @@ function createBootMode ($cmd, $bootopt, $hostid, $lang) {
if (! empty ($winboot)) { $infohost.=" winboot=$winboot"; }
// Comprobar si se usa el parámetro "vga" (número de 3 cifras) o "video" (cadena).
if (! empty ($vga)) {
- if (is_int ($vga) and strlen ($vga) == 3) {
+ // UHU - Se sustituye la función is_int por is_numeric, ya que al ser un string no funciona bien con is_int
+ if (is_numeric($vga) && strlen($vga) == 3) {
$infohost.=" vga=$vga";
} else {
$infohost.=" video=$vga";
}
}
-
+
// Obtener nombre de fichero PXE a partir de la MAC del ordenador cliente.
$pxedir="/opt/opengnsys/tftpboot/menu.lst";
$mac = substr($mac,0,2) . ":" . substr($mac,2,2) . ":" . substr($mac,4,2) . ":" . substr($mac,6,2) . ":" . substr($mac,8,2) . ":" . substr($mac,10,2);
$macfile="$pxedir/01-" . str_replace(":","-",strtoupper($mac));
// Crear fichero de arranque a partir de la plantilla y los datos del cliente.
- exec ("sed -e 's|vga=...||g' -e 's|INFOHOST|$infohost|g' $pxedir/templates/$bootopt > $macfile");
+ // UHU - si el parametro vga no existe, no se quita.
+ if (! empty ($vga)) {
+ exec ("sed -e 's|vga=...||g' -e 's|INFOHOST|$infohost|g' $pxedir/templates/$bootopt > $macfile");
+ }
+ else{
+ exec ("sed -e 's|INFOHOST|$infohost|g' $pxedir/templates/$bootopt > $macfile");
+ }
exec ("chmod 777 $macfile");
}