diff --git a/lib/lang/en_new_service_webdns.lng b/lib/lang/en_new_service_webdns.lng
index c94dd85..a2102e2 100644
--- a/lib/lang/en_new_service_webdns.lng
+++ b/lib/lang/en_new_service_webdns.lng
@@ -180,6 +180,9 @@ $wb['http_port_txt'] = 'HTTP Port';
$wb['https_port_txt'] = 'HTTPS Port';
$wb['http_port_error_regex'] = 'HTTP Port invalid.';
$wb['https_port_error_regex'] = 'HTTPS Port invalid.';
-$wb['error_dominio_mas_puntos'] = 'El Dominio no es correcto, hay 3 puntos o más.';
-$wb['error_dominio_www'] = 'El Dominio no es correcto. No escriba "www" antes del dominio.';
+$wb['error_dominio_mas_puntos'] = 'El dominio no es correcto, hay 3 puntos o más.';
+$wb['error_dominio_www'] = 'El dominio no es correcto. No escriba "www" antes del dominio.';
+$wb['error_no_existe_dominio_padre'] = 'El dominio padre para este subdominio, no existe.';
+$wb['error_no_ip'] = 'No tiene ip, necesita añadirla en la configuración.';
+$wb['error_subdominio_existe'] = 'Este subdominio existe.';
?>
\ No newline at end of file
diff --git a/lib/lang/es_new_service_webdns.lng b/lib/lang/es_new_service_webdns.lng
index 3084f28..8758f43 100644
--- a/lib/lang/es_new_service_webdns.lng
+++ b/lib/lang/es_new_service_webdns.lng
@@ -180,6 +180,9 @@ $wb['http_port_txt'] = 'HTTP Port';
$wb['https_port_txt'] = 'HTTPS Port';
$wb['http_port_error_regex'] = 'HTTP Port invalid.';
$wb['https_port_error_regex'] = 'HTTPS Port invalid.';
-$wb['error_dominio_mas_puntos'] = 'El Dominio no es correcto, hay 3 puntos o más.';
-$wb['error_dominio_www'] = 'El Dominio no es correcto. No escriba "www" antes del dominio.';
+$wb['error_dominio_mas_puntos'] = 'El dominio no es correcto, hay 3 puntos o más.';
+$wb['error_dominio_www'] = 'El dominio no es correcto. No escriba "www" antes del dominio.';
+$wb['error_no_existe_dominio_padre'] = 'El dominio padre para este subdominio, no existe.';
+$wb['error_no_ip'] = 'No tiene ip, necesita añadirla en la configuración.';
+$wb['error_subdominio_existe'] = 'Este subdominio existe.';
?>
diff --git a/lib/module.conf.php b/lib/module.conf.php
index 22cd491..55cc0e1 100644
--- a/lib/module.conf.php
+++ b/lib/module.conf.php
@@ -32,12 +32,12 @@ $items[] = array( 'title' => 'Nuevo servicio web',
'link' => 'webdns/new_service_webdns.php',
'html_id' => 'new_service_webdns');
-/*$items[] = array( 'title' => 'Sitio Web',
+$items[] = array( 'title' => 'Versión',
'target' => 'content',
- 'link' => 'customdns/webdns_vhost_domain_edit.php?type=domain'
- //'../sites/web_vhost_domain_edit.php?type=domain'
+ 'link' => 'webdns/version_webdns.php',
+ 'html_id' =>'version_webdns'
);
-$items[] = array( 'title' => 'Web DNS2',
+/*$items[] = array( 'title' => 'Web DNS2',
'target' => 'content',
'link' => 'customdns/new_service_dns2.php',
'html_id' => 'new_service_dns2');*/
@@ -48,4 +48,8 @@ $items[] = array( 'title' => 'Web DNS2',
$module['nav'][] = array( 'title' => 'WebDNS',
'open' => 1,
'items' => $items
- );
\ No newline at end of file
+ );
+/*$module['nav'][] = array( 'title' => 'Versión',
+ 'open' => 1,
+ 'items' => $items
+ );*/
\ No newline at end of file
diff --git a/new_service_webdns.php b/new_service_webdns.php
old mode 100644
new mode 100755
index 3251743..2293dac
--- a/new_service_webdns.php
+++ b/new_service_webdns.php
@@ -65,10 +65,12 @@ class page_action extends tform_actions {
/*parent::onShowEnd();
}*/
+
public $dominio;
public $subdominio;
public $es_subdominio = false;
public $subdom_error = false;
+ public $no_ip = false;
//Expresiones regulares para comprobar si es subdominio
@@ -85,7 +87,6 @@ class page_action extends tform_actions {
//Se comprueba que no tenga 3 w "www" al principio del nombre del dominio o subdomino
$encontradoWWW = preg_match($patronWWW, $subdom, $coincidencias);
- //print "Patron WWW " . $encontrado;
if($encontradoWWW){
$app->tform->errorMessage = $app->tform->wordbook['error_dominio_www'];
return;
@@ -118,21 +119,36 @@ class page_action extends tform_actions {
//Crear subdominio
- function crearSubDominio($remoto){
- //para usar variables globales en las funciones hay que declararlas dentro de la funcion, ¿?
+ function crearSubDominio($remoto, $campoSubDominio){
+ //para usar variables globales en las funciones hay que declararlas dentro de la funcion.
global $app, $conf;
+ //print "
"; print_r($campoSubDominio); print "
\n";
+ //Compruebo que el subdominio no existe consultando la tabla web_domain.
+ $existeSubDominio = $app->db->queryOneRecord('SELECT domain_id, domain FROM web_domain WHERE domain = "'.$campoSubDominio.'"');
+ //print 'El Sub existe '. $existeSubDominio['domain'];
+ if($existeSubDominio){
+ $this->subdom_error = true;
+ $app->tform->errorMessage = $app->tform->wordbook['error_subdominio_existe'];
+ $this->onError();
+ return;
+ }
//print "El dominio es: " . $this->dominio;
$camDominio = $app->db->queryOneRecord('SELECT domain_id, domain FROM domain WHERE domain = "'.$this->dominio.'"');
$camDnsRR = $app->db->queryOneRecord('SELECT server_id, zone FROM dns_rr WHERE name LIKE "'.$this->dominio.'%"');
$camServIP = $app->db->queryOneRecord('SELECT ip_address FROM server_ip WHERE server_id = "'.$camDnsRR['server_id'].'"');
-
+ //print_r($camDominio);
+ //print_r($camDnsRR);
//Si el dominio NO existe mostramos mensaje de error y salimos de la ejecución
if(!$camDominio['domain']){
- echo '
+ $this->subdom_error = true;
+ $app->tform->errorMessage = $app->tform->wordbook['error_no_existe_dominio_padre'];
+ $this->onError();
+ //return;
+ /*echo '
@@ -140,9 +156,9 @@ class page_action extends tform_actions {
-
';
+
';*/
//print 'No existe el dominio';
- return;
+ return $this->subdom_error;
} else {
//Parametros para la creación de subdominios
@@ -165,27 +181,22 @@ class page_action extends tform_actions {
//Inserto en bbdd usando la clase remoto que se la he pasado en parámetros de la función
$resultado = $remoto->insert_query('../dns/form/dns_a.tform.php', $fields['client_id'], $paramSubDominios);
- echo '
-
-
-
- | Se ha dado de alta Web y Subdominio, '.$this->subdominio.', ¡Correctamente! |
-
-
-
-
';
+ echo '
+ Se ha dado de alta Web y Subdominio, '.$this->subdominio.', ¡Correctamente!
+
';
+ //$this->onShow();
}
}
function crearSitioWebSubdominio($remoto){
global $app, $conf;
-
+
$fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true);
$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = ".$fields['client_id']." AND ip_type='IPv6'");
- //Comprobamos que el resultado para el cliente seleccionado no esta vacÃo,
+ //Comprobamos que el resultado para el cliente seleccionado no esta vacío,
//si lo esta tomamos los datos del cliente id 0
if(!$dns_ip_servidor_ipv6){
$dns_ip_servidor = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 0 AND ip_type='IPv4'");
@@ -271,6 +282,28 @@ class page_action extends tform_actions {
}
+ function tieneIPs(){
+ global $app, $conf;
+ $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true);
+ //Llamada a la tabla server_ip para recuperar la ip4 e ip6
+ $dns_ip_servidor = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = ".$app->functions->intval($fields['client_id']. " AND ip_type='IPv4'"));
+
+ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = ".$fields['client_id']." AND ip_type='IPv6'");
+
+ /*print "Campos ";print_r($fields);print "
\n";
+ print "IP4 ";print_r($dns_ip_servidor);print "
\n";
+ print "IP6 ";print_r($dns_ip_servidor_ipv6);print "
\n";*/
+
+ if(!$dns_ip_servidor['ip_address'] || !$dns_ip_servidor_ipv6['ip_address']){
+ $app->tform->errorMessage = $app->tform->wordbook['error_no_ip'];
+ $this->onError();
+ //$this->no_ip = true;
+ //print 'dentro if';
+ return true;
+ }
+ return false;
+ }
+
function onSubmit() {
global $app, $conf;
//Carga de campos del formulario.
@@ -279,11 +312,19 @@ class page_action extends tform_actions {
//Creo la clase remote para usar las librerias
$remote = new remote_actions;
- if($this->comprobarSubDominios($fields['domain'])){
- $this->crearSubDominio($remote);
- $this->crearSitioWebSubdominio($remote);
- return;
+ //$this->tieneIPs();
+
+ if($this->tieneIPs()){
+ return;
+ }
+ if($this->comprobarSubDominios($fields['domain'])){
+ //print 'despues de comprobar que es un subD ' . $fields['domain'];
+ $this->crearSubDominio($remote, $fields['domain']);
+ if(!$this->subdom_error){
+ $this->crearSitioWebSubdominio($remote);
+ }
+ return;
} //else if(!$this->subdom_error){
// check for domain unique name
@@ -348,7 +389,7 @@ class page_action extends tform_actions {
$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = ".$fields['client_id']." AND ip_type='IPv6'");
- //Comprobamos que el resultado para el cliente seleccionado no esta vacÃo,
+ //Comprobamos que el resultado para el cliente seleccionado no esta vacío,
//si lo esta tomamos los datos del cliente id 0
if(!$dns_ip_servidor_ipv6){
$dns_ip_servidor = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 0 AND ip_type='IPv4'");
@@ -546,15 +587,15 @@ class page_action extends tform_actions {
'client_group_id' => $client_group_id,
);
- print 'Valores: ' . $dns_ip_servidor_ipv6 . " " . $formulario . " Parametros: " ;
+ /*print 'Valores: ' . $dns_ip_servidor_ipv6 . " " . $formulario . " Parametros: " ;
print ""; print_r($paramsite); print "
\n";
print ' cliente id ' . $fields['client_id'];
- print "";print_r($fields);print "
\n";
+ print "";print_r($fields);print "
\n";*/
//print "Formulario ";print_r($formulario);print "
\n";
- print 'DNS IPV6 ' . $dns_ip_servidor_ipv6['ip_address'];
+ //print 'DNS IPV6 ' . $dns_ip_servidor_ipv6['ip_address'];
//El último parámetro es para lanzar un evento que llama a la función on_after_insert que prepara los campos document_root, system_user y system_group
$site_id = $remote->insert_query('../sites/form/web_vhost_domain.tform.php', $fields['client_id'], $paramsite, 'sites:web_vhost_domain:on_after_insert');
@@ -567,15 +608,20 @@ class page_action extends tform_actions {
//$remote->insert_query('../sites/form/web_vhost_domain.tform.php', $fields['client_id'], $paramsite);
//Si todo va bien, el resultado
- echo '
+ echo '
+ Altas Web y DNS del dominio '.$fields['domain'].', ¡Creadas correctamente!
+
';
+ //$this->onShow();
+
+ /*echo '
- | Altas Web y DNS del dominio '.$fields['domain'].', ¡Creadas correctamente! |
+ Altas Web y DNS del dominio '.$fields['domain'].', ¡Creadas correctamente! |
-
';
+
';*/
//}
//parent::onSubmit();
diff --git a/new_service_webdnsOLD.php b/new_service_webdnsOLD.php
old mode 100644
new mode 100755