summaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2013-04-09 12:59:23 +0000
committerramon <ramongomez@us.es>2013-04-09 12:59:23 +0000
commitc78cd32709a2efaf3e5d488147be85f62de50544 (patch)
tree14bb96289e5ed424ad0b17cbe0f1a3649d78c783 /admin
parent121946bca95b039d20f49eba6b0f21758ea24342 (diff)
#452 #585: Mejorar la validación de datos en formulario de propiedades de aulas:
* Comprobar direcciones IP (en general). * Comprobar URL (nueva). * Comprobar consistencia en datos de validación (solo este formulario). git-svn-id: https://opengnsys.es/svn/branches/version1.0@3737 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
-rw-r--r--admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js9
-rw-r--r--admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js10
-rw-r--r--admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js5
-rw-r--r--admin/WebConsole/jscripts/propiedades_aulas.js24
-rw-r--r--admin/WebConsole/jscripts/validators.js26
-rw-r--r--admin/WebConsole/propiedades/propiedades_aulas.php63
6 files changed, 89 insertions, 48 deletions
diff --git a/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js b/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js
index 8f510866..db27cc88 100644
--- a/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js
+++ b/admin/WebConsole/idiomas/javascripts/cat/propiedades_aulas_cat.js
@@ -1,12 +1,12 @@
//________________________________________________________________________________________________________
//
-// Fichero de idiomas javascript: propiedades_aulas_esp.js
-// Idioma: Español
+// Fichero de idiomas javascript: propiedades_aulas_cat.js
+// Idioma: Catalán
//________________________________________________________________________________________________________
TbMsg=new Array;
TbMsg[0]="Debe introducir un nombre para este aula";
TbMsg[1]="Debe introducir un número de puestos para este aula";
-TbMsg[2]="ATENCIÓN.- Este aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?";
+TbMsg[2]="ATENCIÓN.- Esta aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?";
TbMsg[3]="La hora de comienzo del intervalo de reservas debe ser menor que la hora final";
TbMsg[4]="La direccion del router no es valida";
TbMsg[5]="La mascara de red no es valida";
@@ -16,4 +16,7 @@ TbMsg[8]="Modo multicast no es valido";
TbMsg[9]="La dirección multicast no es valida";
TbMsg[10]="El puerto de multicast no es valida";
TbMsg[11]="La velocidad de multicast no es válida, sólo números";
+TbMsg[12]="La dirección IP del servidor DNS no es válida";
+TbMsg[13]="La URL del servidor Proxy no es válida";
+TbMsg[14]="Deben introducirse datos de validación: página de login y página de validación";
diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js
index fa7b8bfc..7bd40d8c 100644
--- a/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js
+++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js
@@ -9,4 +9,14 @@ TbMsg[1]="You must introduce a number of places for this lab";
TbMsg[2]="WARNING.- This lab contain others groups or labs. If you remove it, you will also remove all these. ¿ Are you sure ?";
TbMsg[3]="Time for begining of reserves periode must be smaller than final time";
TbMsg[4]="Multicast speed is not valid, use numbers only";
+TbMsg[5]="Netmask is not valid";
+TbMsg[6]="P2P mode is not valid";
+TbMsg[7]="El tiempo (segundos ) de semillero despues de la descarga p2p no es valida";
+TbMsg[8]="Multicast mode is not valid";
+TbMsg[9]="Multicast IP address is not valid";
+TbMsg[10]="Multicast port is not valid";
+TbMsg[11]="Multicast speed is not valid, use numbers only";
+TbMsg[12]="DNS server IP address is not valid";
+TbMsg[13]="Proxy server URL is not valid";
+TbMsg[14]="Deben introducirse datos de validación: página de login y página de validación";
diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js
index 8f510866..efdc4a57 100644
--- a/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js
+++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js
@@ -6,7 +6,7 @@
TbMsg=new Array;
TbMsg[0]="Debe introducir un nombre para este aula";
TbMsg[1]="Debe introducir un número de puestos para este aula";
-TbMsg[2]="ATENCIÓN.- Este aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?";
+TbMsg[2]="ATENCIÓN.- Esta aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?";
TbMsg[3]="La hora de comienzo del intervalo de reservas debe ser menor que la hora final";
TbMsg[4]="La direccion del router no es valida";
TbMsg[5]="La mascara de red no es valida";
@@ -16,4 +16,7 @@ TbMsg[8]="Modo multicast no es valido";
TbMsg[9]="La dirección multicast no es valida";
TbMsg[10]="El puerto de multicast no es valida";
TbMsg[11]="La velocidad de multicast no es válida, sólo números";
+TbMsg[12]="La dirección IP del servidor DNS no es válida";
+TbMsg[13]="La URL del servidor Proxy no es válida";
+TbMsg[14]="Deben introducirse datos de validación: página de login y página de validación";
diff --git a/admin/WebConsole/jscripts/propiedades_aulas.js b/admin/WebConsole/jscripts/propiedades_aulas.js
index 61126a6f..947ab1d5 100644
--- a/admin/WebConsole/jscripts/propiedades_aulas.js
+++ b/admin/WebConsole/jscripts/propiedades_aulas.js
@@ -93,26 +93,36 @@ function comprobar_datos(){
return true;
}
+/* HORA DE RESERVA TEMPORALMENTE DESHABILITADA.
if (parseInt(document.fdatos.horaresevini.value)>parseInt(document.fdatos.horaresevfin.value)) {
alert(TbMsg[3]);
validation_highlight (document.fdatos.horaresevini);
validation_highlight (document.fdatos.horaresevfin);
return(false);
}
+*/
var form = document.fdatos;
+ // Si se activa la validación, comprobar que se incluyen los datos adecuados.
+ if (form.validacion.options[form.validacion.selectedIndex].value == 1 && (form.paginalogin.value == '' || form.paginavalidacion.value == '')) {
+ alert(TbMsg[14]);
+ validation_highlight (document.fdatos.paginalogin);
+ validation_highlight (document.fdatos.paginavalidacion);
+ return(false);
+ }
+ // Validación general de datos del formulario.
return validate (form.nombreaula, validate_notnull, 0) &&
validate (form.puestos, validate_number_notnull, 1) &&
validate (form.router, validate_ipadress_notnull, 4) &&
- validate (form.netmask, validate_ipadress_notnull, 5) &&
+ validate (form.netmask, validate_ipadress_notnull, 5) &&
+ validate (form.dns, validate_ipadress, 12) &&
+ validate (form.proxy, validate_url, 13) &&
validate (form.modp2p, validate_notnull, 6) &&
- validate (form.timep2p, validate_number_notnull, 7) &&
- validate (form.modomul, validate_notnull, 8) &&
- validate (form.ipmul, validate_ipadress_notnull, 9) &&
- validate (form.pormul, validate_notnull, 10) &&
+ validate (form.timep2p, validate_number_notnull, 7) &&
+ validate (form.modomul, validate_notnull, 8) &&
+ validate (form.ipmul, validate_ipadress_notnull, 9) &&
+ validate (form.pormul, validate_notnull, 10) &&
validate (form.velmul, validate_number_notnull, 11);
-
- return(true);
}
//________________________________________________________________________________________________________
diff --git a/admin/WebConsole/jscripts/validators.js b/admin/WebConsole/jscripts/validators.js
index e0359505..11ace4dc 100644
--- a/admin/WebConsole/jscripts/validators.js
+++ b/admin/WebConsole/jscripts/validators.js
@@ -17,11 +17,18 @@
*/
+// Validar expresión regular.
function validate_expr(value, epx) {
var expr = new RegExp(epx);
return (value.search(expr) == 0);
}
+// Validar expresión ignorando diferencias entre mayúsculas y minúsculas.
+function validate_expr_nocase(value, epx) {
+ var expr = new RegExp(epx, "i");
+ return (value.search(expr) == 0);
+}
+
function validate_number(value) {
return validate_expr(value, "^\\d*$");
}
@@ -42,15 +49,29 @@ function validate_alphanum_notnull(value) {
return validate_number(value) && validate_notnull(value);
}
-
+// Validar dirección IPv4.
function validate_ipadress(value) {
- return validate_expr(value, "^\\d+\\.\\d+\.\\d+\\.\\d+$");
+ var octet = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])';
+ var regex = '^((?:' + octet + '\\.){3}' + octet + ')?$';
+ return validate_expr(value, regex);
}
function validate_ipadress_notnull(value) {
return validate_ipadress(value) && validate_notnull(value);
}
+// Validar URL.
+function validate_url(value) {
+ var octet = '(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])';
+ var regex = '^((ht|f)tps?:\/\/(([a-z0-9]+([\.\-a-z0-9]+)?\.[a-z]{2,5})|((' + octet + '\\.){3}' + octet + '))(:[0-9]{2,5})?(\/.*)?)?$';
+ return validate_expr_nocase(value, regex);
+
+}
+
+function validate_url_notnull(value) {
+ return validate_url(value) && validate_notnull(value);
+}
+
function validate_nameimagefile(value) {
return validate_expr(value, "^[0-9a-zA-Z]*$");
}
@@ -61,3 +82,4 @@ function validation_highlight(field) {
field.style.border = "1px solid red";
field.style.background = "#fee";
}
+
diff --git a/admin/WebConsole/propiedades/propiedades_aulas.php b/admin/WebConsole/propiedades/propiedades_aulas.php
index f9d7fb12..dc644246 100644
--- a/admin/WebConsole/propiedades/propiedades_aulas.php
+++ b/admin/WebConsole/propiedades/propiedades_aulas.php
@@ -376,41 +376,34 @@ function abrir_ventana(URL){
?>
</TR>
<!--------------------------------------------------------------UHU comprobar si se requiere validacion -------------------------------------------------------------------------->
-
- <TR>
- <TH align=center>&nbsp;<?echo $TbMsg[30]?>&nbsp;</TH>
- <?
- if ($opcion==$op_eliminacion)
- echo '<TD colspan=3>'.(($validacion == 1)?"Si":"No").'</TD>';
- else{
- echo '<TD colspan=3>';
- $validaciones="1=Si".chr(13);
- $validaciones.="0=No";
- echo HTMLCTESELECT($validaciones,"validacion","estilodesple","",$validacion,100).'</TD>';
- }
-
- ?>
- </TR>
- <TR>
- <TH align=center>&nbsp;<?echo $TbMsg[31]?>&nbsp;</TH>
- <?
- if ($opcion==$op_eliminacion)
- echo '<TD colspan=3>'.$paginalogin.'</TD>';
- else
- echo '<TD colspan=3><INPUT class="formulariodatos" name=paginalogin type=text value="'.$paginalogin.'"></TD>';
- ?>
- </TR>
- <TR>
- <TH align=center>&nbsp;<?echo $TbMsg[32]?>&nbsp;</TH>
- <?
- if ($opcion==$op_eliminacion)
- echo '<TD colspan=3>'.$paginavalidacion.'</TD>';
- else
- echo '<TD colspan=3><INPUT class="formulariodatos" name=paginavalidacion type=text value="'.$paginavalidacion.'"></TD>';
- ?>
- </TR>
-
-
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg[30]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion)
+ echo '<td colspan="3">'.(($validacion == 1)?"Si":"No").'</td>';
+ else {
+ echo '<td colspan="3">';
+ $validaciones="1=Si".chr(13);
+ $validaciones.="0=No";
+ echo HTMLCTESELECT($validaciones,"validacion","estilodesple","",$validacion,100).'</td>';
+ }
+ ?>
+ </tr>
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg[31]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion)
+ echo '<td colspan="3">'.$paginalogin.'</td>';
+ else
+ echo '<td colspan="3"><input class="formulariodatos" name="paginalogin" style="width:200" type="text" value="'.$paginalogin.'"></td>';
+ ?>
+ </tr>
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg[32]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion)
+ echo '<td colspan="3">'.$paginavalidacion.'</td>';
+ else
+ echo '<td colspan="3"><input class="formulariodatos" name="paginavalidacion" style="width:200" type="text" value="'.$paginavalidacion.'"></td>';
+ ?>
+ </tr>
<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
</TABLE>