diff --git a/new_service_webdns.php b/new_service_webdns.php index 88d25b7..bf9b827 100755 --- a/new_service_webdns.php +++ b/new_service_webdns.php @@ -581,6 +581,47 @@ class page_action extends tform_actions { return $this->es_subdominio; } + + public $cli_id; + public $cli_grupo_id; + public $sys_usuario_id; + public $sys_grupo_id; + + function controlUserGrupoId(){ + + global $app, $conf; + $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); + //IMPORTANTE. + //Con la selección del cliente o admin en la vista. + //Tomamos el grupo del cliente o admin, se toma este valor y se captura el client_id y groupid de la tabla + //sys_group que esta asociada al desplegable de la vista, es en esta tabla donde también esta + //el client_id de admin. En la tabla client no esta el client_id de admin. + if($fields['client_group_id']==0) { + //En la tabla sys_user el userid 1 es admin. No esta en sys_group. + $this->cli_id = 1; + //En la tabla dns_soa y dns_rr se guarda el valor 0 en sys_groupid cuando es admin. + $this->cli_grupo_id = 0; + }else{ + $cliente_id_seleccionadoCaptura = $app->db->queryOneRecord('SELECT client_id, groupid FROM sys_group WHERE groupid ="'. $fields['client_group_id'] . '"'); + $this->cli_id = $cliente_id_seleccionadoCaptura['client_id']; + $this->cli_grupo_id = $cliente_id_seleccionadoCaptura['groupid']; + } + + //IMPORTANTE. + //Antes se recupero el campo groupid de la tabla sys_group y ahora con este dato tomamos el campo userid + //de la tabla sys_user que son los mismos y guardar una relación entre las dos tablas sin usar + //una clave foránea (chapó). Estos datos no estan en la tabla client para admin estan en la tabla sys_user. Les't Go. + if($this->cli_grupo_id == 0){ + $this->sys_usuario_id = $this->cli_id; + $this->sys_grupo_id = $this->cli_grupo_id; + }else{ + $sysUsersCaptura = $app->db->queryOneRecord('SELECT sys_userid, sys_groupid FROM sys_user WHERE userid ="'. $this->cli_grupo_id . '"'); + $this->sys_usuario_id = $sysUsersCaptura['sys_userid']; + $this->sys_grupo_id = $sysUsersCaptura['sys_groupid']; + } + + } + //Crear subdominio function crearSubDominio($remoto, $campoSubDominio){ //para usar variables globales en las funciones hay que declararlas dentro de la funcion. @@ -598,6 +639,11 @@ class page_action extends tform_actions { $this->onError(); return; } + //$this->controlUserGrupoId(); + $servidores = $app->db->queryOneRecord("SELECT client_id, default_dnsserver, default_webserver, web_servers FROM client WHERE client_id = ". $this->cli_id); + $dns_servidor = $servidores['default_dnsserver']; + $web_servidor = $servidores['web_servers']; + print "
Servidores: ". $web_servidor . " DNS " . $dns_servidor . " Cliente " . $this->cli_id;
//print "El dominio es: " . $this->dominio;
//$camDominio = $app->db->queryOneRecord('SELECT domain_id, domain FROM domain WHERE domain = "'.$this->dominio.'"');
$camDominio = $app->db->queryOneRecord('SELECT origin FROM dns_soa WHERE origin LIKE "'.$this->dominio.'%"');
@@ -634,15 +680,17 @@ class page_action extends tform_actions {
'serial' => '1',
);
+ $this->controlUserGrupoId();
+ echo ('El client_id GLOBAL ' . $this->cli_id . "
");
// client group id
- $res = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($fields['client_group_id']));
+ /*$res = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($fields['client_group_id']));
$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);//$res['groupid'];
- echo ('El client group id ' . $client_group_id . "
");
- echo ('El el res ' . $res['groupid'] . " ");
- //print ""; print_r($paramSubDominios); print "
\n";
+ echo ('El client group id seleccion ' . $client_group_id . "
");
+ echo ('El groupid de la tabla sys_group ' . $res['groupid'] . " ");*/
+ print ""; print_r($paramSubDominios); print "
\n";
//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);
- $resultado = $remoto->insert_query('form/dns_a_webdns.tform.php', $fields['client_group_id'], $paramSubDominios);
+ //$resultado = $remoto->insert_query('form/dns_a_webdns.tform.php', $this->cli_id, /*$fields['client_group_id'],*/ $paramSubDominios);
echo '
Se ha dado de alta Web y Subdominio, '.$this->subdominio.', ¡Correctamente!
';
@@ -666,16 +714,23 @@ class page_action extends tform_actions {
//$this->elServidor = $server_id;
}
- $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = ".$fields['client_group_id']." AND ip_type='IPv6'");
+ /*echo ('Lo seleccionado ' . $fields['client_group_id'] . "
");
+ echo ('Tabla sys_group --> client id ' . $this->cli_id . "
");
+ echo ('Tabla sys_group --> groupid ' . $this->cli_grupo_id . "
");
+
+ echo ('Tabla sys_user --> userid ' . $this->sys_usuario_id . "
");
+ echo ('Tabla sys_user --> sys_groupid ' . $this->sys_grupo_id . "
");*/
+
+ //$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = ".$fields['client_group_id']." AND ip_type='IPv6'");
//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){
+ //if(!$dns_ip_servidor_ipv6){
$dns_ip_servidor = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 1 AND ip_type='IPv4'");
$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 1 AND ip_type='IPv6'");
/*echo '
Valor de la consulta '.$dns_ip_servidor_ipv6[ip_address].' ';
echo '
Valor de la consulta '.$dns_ip_servidor[ip_address].' ';*/
- }
+ //}
$dns_servidor = $app->db->queryOneRecord("SELECT client_id, default_dnsserver, default_webserver FROM client WHERE client_id = ".$app->functions->intval($fields['client_group_id']));
$clienteID = $dns_servidor['client_id'];
@@ -683,19 +738,12 @@ class page_action extends tform_actions {
$res = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($fields['client_group_id']));
$client_group_id = $res['groupid'];
- //Captura del servidor id
- /*if($this->id > 0) {
- $server_id = $this->dataRecord["server_id"];
- } else {
- // Get the first server ID
- $tmp = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = 1 ORDER BY server_name LIMIT 0,1");
- $server_id = $tmp['server_id'];
- //$this->elServidor = $server_id;
- }*/
//echo ('El server es: ' . $dns_servidor['default_webserver']);
// add site
$paramsite = array(
+// "sys_userid" => $this->sys_usuario_id,
+// "sys_groupid" => $this->cli_grupo_id,
'type' => 'vhost',
'domain' => $fields['domain'], //$this->subdominio,
'server_id' => $server_id,//$dns_servidor['default_webserver'],
@@ -752,26 +800,195 @@ class page_action extends tform_actions {
//$tform_def_file2 = "../sites/form/web_vhost_domain.tform.php";
//$app->tform->loadFormDef($tform_def_file2);
- //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
+ //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 = $remoto->insert_query('../sites/form/web_vhost_domain.tform.php', $fields['client_group_id'], $paramsite, 'sites:web_vhost_domain:on_after_insert');
-
+
+ //$site_id = $remoto->insert_query('../sites/form/web_vhost_domain.tform.php', $this->sys_usuario_id, $paramsite, 'sites:web_vhost_domain:on_after_insert');
//print 'ID sitio web del subdominio --> ' . $site_id;
}
- function tieneIPs(){
+ public $ip4_servidor_dns;
+ public $ip6_servidor_dns;
+ public $ip4_servidor;
+ public $ip6_servidor;
+ public $dns_serv;
+ public $web_serv;
+
+ function tieneServidorIPs(){
global $app, $conf;
- //$fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true);
+
+ $this->controlUserGrupoId();
+
+ //El cliente 1 es admin.
+ if($this->cli_id == 1) {
+ $this->dns_serv = 1;
+ $this->web_serv = 1;
+ }else{
+ $servidores = $app->db->queryOneRecord(
+ "SELECT client_id, dns_servers, web_servers FROM client
+ WHERE client_id = ". $this->cli_id);
- //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 ip_type='IPv4'");
- $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE ip_type='IPv6'");
+ $this->dns_serv = $servidores['dns_servers'];
+ $this->web_serv = $servidores['web_servers'];
+
+ //Si el cliente no tiene asignado un servidor se añade por defecto al 1
+ if(!$this->dns_serv || !$this->web_serv){
+ $this->dns_serv = 1;
+ $this->web_serv = 1;
+ }
+ }
+ /*print "DNS SERVER ";print_r($this->dns_serv);print "
\n";
+ print "WEB SERVER ";print_r($this->web_serv);print "
\n";*/
+
+ //El cliente 1 es admin
+ //Captura de las ips del servidor dns
+ if($this->cli_id == 1){
+ //Compruebo si hay datos para el client_id 0 y si no existe pruebo con el 1.
+ //Alguno de los dos tiene que existir por configuración de ispconfig.
+ $this->ip4_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv4"');
+ $this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv6"');
+
+ if(!$this->ip4_servidor_dns){
+ $this->ip4_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv4"');
+ /*$this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv6"');*/
+ }
+ if(!$this->ip6_servidor_dns){
+ $this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv6"');
+ }
+ }else{//Comprobamos si el cliente tiene servidor asignado
+ $this->ip4_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address
+ FROM server_ip
+ WHERE client_id = "'.$this->cli_id.'" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv4"');
+ $this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address
+ FROM server_ip
+ WHERE client_id = "'.$this->cli_id.'" AND server_id = "'.$this->dns_serv.'"AND ip_type="IPv6"');
+
+ //si no tiene asignado le damos el de admin.
+ if(!$this->ip4_servidor_dns/* || !$this->ip6_servidor_dns*/){
+ //Compruebo si hay datos para el client_id 0 y si no existe pruebo con el 1. Es admin ya que este cliente no tiene ip4 ni ip6 asignadas
+ //Tomamos las de admin.
+ //Alguno de los dos tiene que existir por configuración de ispconfig.
+ $this->ip4_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv4"');
+ //$this->ip6_servidor_dns = $app->db->queryOneRecord('SELECT ip_type, ip_address FROM server_ip WHERE client_id = "0" AND ip_type="IPv6"');
+
+ if(!$this->ip4_servidor_dns){
+ $this->ip4_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv4"');
+ }
+ }
+ if(/*!$this->ip4_servidor_dns ||*/ !$this->ip6_servidor_dns){
+ //Compruebo si hay datos para el client_id 0 y si no existe pruebo con el 1. Es admin ya que este cliente no tiene ip4 ni ip6 asignadas
+ //Tomamos las de admin.
+ //Alguno de los dos tiene que existir por configuración de ispconfig.
+ //$this->ip4_servidor_dns = $app->db->queryOneRecord('SELECT ip_type, ip_address FROM server_ip WHERE client_id = "0" AND ip_type="IPv4"');
+ $this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv6"');
+
+ if(!$this->ip6_servidor_dns){
+ $this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->dns_serv.'" AND ip_type="IPv6"');
+ }
+ }
+ }
- $la_ip4 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE ip_type='IPv4'");
- $this->ip4_pdf = $la_ip4['ip_address'];
- /*print "IP4 ";print_r($dns_ip_servidor);print "
\n";
- print "IP6 ";print_r($dns_ip_servidor_ipv6);print "
\n";*/
+ //Captura de las ips del servidor web
+ if($this->cli_id == 1){
+ //Compruebo si hay datos para el client_id 0 y si no existe pruebo con el 1.
+ //Alguno de los dos tiene que existir por configuración de ispconfig.
+ $this->ip4_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv4"');
+ $this->ip6_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv6"');
+
+ if(!$this->ip4_servidor_web){
+ $this->ip4_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv4"');
+ /*$this->ip6_servidor_dns = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv6"');*/
+ }
+ if(!$this->ip6_servidor_web){
+ $this->ip6_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv6"');
+ }
+ }else{//Comprobamos si el cliente tiene servidor asignado
+ $this->ip4_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address
+ FROM server_ip
+ WHERE client_id = "'.$this->cli_id.'" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv4"');
+ $this->ip6_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address
+ FROM server_ip
+ WHERE client_id = "'.$this->cli_id.'" AND server_id = "'.$this->web_serv.'"AND ip_type="IPv6"');
+
+ //si no tiene asignado le damos el de admin.
+ if(!$this->ip4_servidor_web/* || !$this->ip6_servidor_dns*/){
+ //Compruebo si hay datos para el client_id 0 y si no existe pruebo con el 1. Es admin ya que este cliente no tiene ip4 ni ip6 asignadas
+ //Tomamos las de admin.
+ //Alguno de los dos tiene que existir por configuración de ispconfig.
+ $this->ip4_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv4"');
+ //$this->ip6_servidor_dns = $app->db->queryOneRecord('SELECT ip_type, ip_address FROM server_ip WHERE client_id = "0" AND ip_type="IPv6"');
+
+ if(!$this->ip4_servidor_web){
+ $this->ip4_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv4"');
+ }
+ }
+ if(/*!$this->ip4_servidor_dns ||*/ !$this->ip6_servidor_web){
+ //Compruebo si hay datos para el client_id 0 y si no existe pruebo con el 1. Es admin ya que este cliente no tiene ip4 ni ip6 asignadas
+ //Tomamos las de admin.
+ //Alguno de los dos tiene que existir por configuración de ispconfig.
+ //$this->ip4_servidor_dns = $app->db->queryOneRecord('SELECT ip_type, ip_address FROM server_ip WHERE client_id = "0" AND ip_type="IPv4"');
+ $this->ip6_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "0" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv6"');
+
+ if(!$this->ip6_servidor_web){
+ $this->ip6_servidor_web = $app->db->queryOneRecord(
+ 'SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = "1" AND server_id = "'.$this->web_serv.'" AND ip_type="IPv6"');
+ }
+ }
+ }
- if(!$dns_ip_servidor['ip_address'] || !$dns_ip_servidor_ipv6['ip_address']){
+ //$la_ip4 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE ip_type='IPv4'");
+ $this->ip4_pdf = $this->ip4_servidor_dns['ip_address'];//$dns_ip_servidor['ip_address'];//$la_ip4['ip_address'];
+ /*print "IP4 DNS ";print_r($this->ip4_servidor_dns);print "
\n";
+ print "IP6 DNS ";print_r($this->ip6_servidor_dns);print "
\n";
+ print "IP4 WEB ";print_r($this->ip4_servidor_web);print "
\n";
+ print "IP6 WEB ";print_r($this->ip6_servidor_web);print "
\n";
+ echo('El cliente ' . $this->cli_id . '
');*/
+ if(!$this->ip4_servidor_dns['ip_address'] || !$this->ip6_servidor_dns['ip_address']){
+ $app->tform->errorMessage = $app->tform->wordbook['error_no_ip'];
+ $this->onError();
+ return true;
+ }
+ if(!$this->ip4_servidor_web['ip_address'] || !$this->ip6_servidor_web['ip_address']){
$app->tform->errorMessage = $app->tform->wordbook['error_no_ip'];
$this->onError();
return true;
@@ -797,6 +1014,9 @@ class page_action extends tform_actions {
return true;
}
}
+
+ public $ip4_ultima;
+ public $ip6_ultima;
//Creación del las dns y sitio web para un dominio.
function crearDnsSitioWeb($remoto){
global $app, $conf;
@@ -813,6 +1033,7 @@ class page_action extends tform_actions {
$tmp = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = 1 ORDER BY server_name LIMIT 0,1");
$server_id = $tmp['server_id'];
//$this->elServidor = $server_id;
+ //echo ('El server id EN ELSE ' . $server_id . "
");
}
//echo ('El server id ' . $server_id . "
");
@@ -837,6 +1058,7 @@ class page_action extends tform_actions {
$cliente_id_seleccionado = $cliente_id_seleccionadoCaptura['client_id'];
$cliente_groupid = $cliente_id_seleccionadoCaptura['groupid'];
}
+
//IMPORTANTE.
//Antes se recupero el campo groupid de la tabla sys_group y ahora con este dato tomamos el campo userid
//de la tabla sys_user que son los mismos y guardar una relación entre las dos tablas sin usar
@@ -849,12 +1071,13 @@ class page_action extends tform_actions {
$sysUsuarioId = $sysUsersCaptura['sys_userid'];
$sysGrupoId = $sysUsersCaptura['sys_groupid'];
}
- echo ('Lo seleccionado ' . $fields['client_group_id'] . "
");
+
+ /*echo ('Lo seleccionado ' . $fields['client_group_id'] . "
");
echo ('Tabla sys_group --> client id ' . $cliente_id_seleccionado . "
");
echo ('Tabla sys_group --> groupid ' . $cliente_groupid . "
");
echo ('Tabla sys_user --> userid ' . $sysUsuarioId . "
");
- echo ('Tabla sys_user --> sys_groupid ' . $sysGrupoId . "
");
+ echo ('Tabla sys_user --> sys_groupid ' . $sysGrupoId . "
");*/
//Carga del formulario dns_soa para guardar en base de datos.
@@ -867,33 +1090,63 @@ class page_action extends tform_actions {
//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'"));
//PROVISIONAL. IMPORTANTE. ¿ES CORRECTA ESTA CAPTURA?
-$dns_ip_servidor = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 1 AND ip_type='IPv4'");
+ $dns_ip_servidor = $app->db->queryOneRecord(
+ "SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = ' . $cliente_id_seleccionado . ' 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'");
//PROVISIONAL.
-$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 1 AND ip_type='IPv6'");
+ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord(
+ "SELECT ip_type, ip_address FROM server_ip
+ WHERE client_id = ' . $cliente_id_seleccionado . ' AND ip_type='IPv6'");
+//print_r($cliente_id_seleccionado);
+//print_r($dns_ip_servidor);
+//print_r($dns_ip_servidor_ipv6);
+
+//$dns_ip_servidorTest = $app->db->queryOneRecord("SELECT * FROM server_ip /*WHERE client_id = ' . $cliente_id_seleccionado . ' AND ip_type='IPv4'*/");
+//print ""; print_r($dns_ip_servidorTest); print "
\n";
- //$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,
//si lo esta tomamos los datos del cliente id 0.
- if(!$dns_ip_servidor_ipv6){
+ /*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'");
$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 0 AND ip_type='IPv6'");
/*echo '
Valor de la consulta '.$dns_ip_servidor_ipv6[ip_address].' ';
echo '
Valor de la consulta '.$dns_ip_servidor[ip_address].' ';*/
+// }
+
+print "DNS SERVER ";print_r($this->dns_serv);print "
\n";
+print "WEB SERVER ";print_r($this->web_serv);print "
\n";
+print "IP4 DNS ";print_r($this->ip4_servidor_dns);print "
\n";
+print "IP6 DNS ";print_r($this->ip6_servidor_dns);print "
\n";
+print "IP4 WEB ";print_r($this->ip4_servidor_web);print "
\n";
+print "IP6 WEB ";print_r($this->ip6_servidor_web);print "
\n";
+
+ //Si el servidor es el que tiene asignado el cliente o el de admin por defecto, le damos esta ip4
+ if($this->dns_serv && $this->ip4_servidor_dns){
+ $this->ip4_ultima = $this->ip4_servidor_dns;
+ }
+
+ if($this->dns_serv && $this->ip6_servidor_dns){
+ $this->ip6_ultima = $this->ip6_servidor_dns;
}
-
+ if($this->web_serv && $this->ip4_servidor_web){
+ $this->ip4_ultima = $this->ip4_servidor_web;
+ }
+
+ if($this->web_serv && $this->ip6_servidor_web){
+ $this->ip6_ultima = $this->ip6_servidor_web;
+ }
+
$tpl_content = $template_record['template'];
// Reemplazo la variable que nos encontramos en base de datos por el valor que se ha introducido en el formulario
$tpl_content = str_replace('{DOMAIN}', $fields['domain'], $tpl_content);
//Carga de los datos en las variables de las ips.
- $tpl_content = str_replace('{IP}', $dns_ip_servidor['ip_address'], $tpl_content);
- $tpl_content = str_replace('{IPV6}', $dns_ip_servidor_ipv6['ip_address'], $tpl_content);
- /*$tpl_content = str_replace('{NS1}', '.open6servers.com', $tpl_content);
- $tpl_content = str_replace('{NS2}', '.open6servers.com', $tpl_content); */
-
+ $tpl_content = str_replace('{IP}', $this->ip4_ultima['ip_address'],/*$dns_ip_servidor['ip_address'],*/ $tpl_content);
+ $tpl_content = str_replace('{IPV6}', $this->ip6_ultima['ip_address'], /*$dns_ip_servidor_ipv6['ip_address'],*/ $tpl_content);
+
+
$enable_dnssec = 'N';//(($_POST['dns_dnssec'] == 'Y') ? 'Y' : 'N');
// Parse the template
@@ -944,12 +1197,13 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
$dns_servidor = 1; //$servidores['default_dnsserver'];
$web_servidor = 1; //$servidores['default_webserver'];
}else{
- $servidores = $app->db->queryOneRecord("SELECT client_id, default_dnsserver, default_webserver FROM client WHERE client_id = ". $cliente_id_seleccionado);
- $dns_servidor = $servidores['default_dnsserver'];
- $web_servidor = $servidores['default_webserver'];
+ $servidores = $app->db->queryOneRecord("SELECT client_id, dns_servers, web_servers FROM client WHERE client_id = ". $cliente_id_seleccionado);
+ $dns_servidor = $servidores['dns_servers'];
+ //$web_servidor = $servidores['default_webserver'];
+ $web_servidor = $servidores['web_servers'];
}
- echo ('El servidor dns es ' . $dns_servidor. " y el servidor web es " . $web_servidor);
+ //echo ('El servidor dns es ' . $dns_servidor. " y el servidor web es " . $web_servidor);
// Insert the soa record
$sys_userid = $cliente_id_seleccionado;//$fields['client_group_id']; //$_SESSION['s']['user']['userid'];
@@ -972,7 +1226,7 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
"sys_perm_user" => 'riud',
"sys_perm_group" => 'riud',
"sys_perm_other" => '',
- "server_id" => $dns_servidor, //$server_id,//$dns_servidor['default_dnsserver'],
+ "server_id" => $this->dns_serv, //$dns_servidor,//$server_id,//$dns_servidor, //$server_id,//$dns_servidor['default_dnsserver'],
"origin" => $origin,
"ns" => $ns,
"mbox" => $mbox,
@@ -999,7 +1253,7 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
"sys_perm_user" => 'riud',
"sys_perm_group" => 'riud',
"sys_perm_other" => '',
- "server_id" => $dns_servidor, //$server_id,//$dns_servidor['default_dnsserver'],
+ "server_id" => $this->dns_serv,//$dns_servidor,//$server_id, //$dns_servidor, //$server_id,//$dns_servidor['default_dnsserver'],
"zone" => $dns_soa_id,
"name" => $rr['name'],
"type" => $rr['type'],
@@ -1022,10 +1276,11 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
'type' => 'vhost',
'domain' => $fields['domain'],
'server_id' => $web_servidor, //$server_id,//$dns_servidor['default_webserver'],
- 'sys_userid' => $sysUsuarioId, //$fields['client_group_id'],//$sys_userid,
- 'sys_groupid' => $cliente_groupid,
+ //IMPORTANTE. Aquí no se ponen los campos sys_userid ni sys_groupid, el evento on_after_insert
+ //'sys_userid' => $sysUsuarioId, //$fields['client_group_id'],//$sys_userid,
+ //'sys_groupid' => $cliente_groupid,
'ip_address' => '*', //$dns_ip_servidor['ip_address'],
- 'ipv6_address' => $dns_ip_servidor_ipv6['ip_address'],
+ 'ipv6_address' => $this->ip6_ultima['ip_address'], //$dns_ip_servidor_ipv6['ip_address'],
'traffic_quota' => '-1',
'hd_quota' => '0',
'cgi' => 'y',
@@ -1063,7 +1318,7 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
);
//print 'Valores: ' . $dns_ip_servidor_ipv6 . " " . $formulario . " Parametros: " ;
- //print ""; print_r($paramsite); print "
\n";
+ print ""; print_r($paramsite); print "
\n";
/*print ' cliente id ' . $fields['client_id'];
print "";print_r($fields);print "
\n";*/
@@ -1072,7 +1327,8 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
//$this->crearBaseDatosFtp($remote);
//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
+ //IMPORTANTE. 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 = $remoto->insert_query('../sites/form/web_vhost_domain.tform.php', $fields['client_group_id'], $paramsite, 'sites:web_vhost_domain:on_after_insert');
$site_id = $remoto->insert_query('../sites/form/web_vhost_domain.tform.php', $cliente_id_seleccionado, /*$fields['client_group_id'],*/ $paramsite, 'sites:web_vhost_domain:on_after_insert');
//print 'Sitio id '. $site_id;
@@ -1086,7 +1342,7 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
//Creo la clase remote para usar las librerias
$remote = new remote_actions;
- if($this->tieneIPs()){
+ if($this->tieneServidorIPs()){
return;
}
if($this->existeDominio($fields)){
@@ -1102,6 +1358,13 @@ $dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FRO
return;
}
+ /*echo ('Lo seleccionado ' . $fields['client_group_id'] . "
");
+ echo ('Tabla sys_group --> client id ' . $this->cli_id . "
");
+ echo ('Tabla sys_group --> groupid ' . $this->cli_grupo_id . "
");
+
+ echo ('Tabla sys_user --> userid ' . $this->sys_usuario_id . "
");
+ echo ('Tabla sys_user --> sys_groupid ' . $this->sys_grupo_id . "
");*/
+
if($this->comprobarSubDominios($fields['domain'])){
$this->crearSubDominio($remote, $fields['domain']);