diff --git a/new_service_webdns.php b/new_service_webdns.php index 6602778..21a951c 100755 --- a/new_service_webdns.php +++ b/new_service_webdns.php @@ -728,6 +728,7 @@ 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); $resultado = $remoto->insert_query('form/dns_a_webdns.tform.php', $this->cli_id, /*$fields['client_group_id'],*/ $paramSubDominios); + $remoto->dns_registro_tipo_a_after_insert(); echo '

Se ha dado de alta Web y Subdominio, '.$this->subdominio.', ¡Correctamente!


'; @@ -1278,6 +1279,7 @@ class page_action extends tform_actions { //Creación del las dns y sitio web para un dominio. function crearDnsSitioWeb($remoto){ global $app, $conf; + $remote = new remote_actions; //Carga de los campos del formulario. $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); @@ -1403,6 +1405,8 @@ print "
IP6 WEB ";print_r($this->ip6_servidor_web);print "
\n";*/ "dnssec_wanted" => $enable_dnssec ); $dns_soa_id = $app->db->datalogInsert('dns_soa', $insert_data, 'id'); + + $remote->dns_soa_after_insert($dns_soa_id, $this->cli_grupo_id); // Insert the dns_rr records if(is_array($dns_rr) && $dns_soa_id > 0) { @@ -1423,6 +1427,8 @@ print "
IP6 WEB ";print_r($this->ip6_servidor_web);print "
\n";*/ "active" => 'Y' ); $dns_rr_id = $app->db->datalogInsert('dns_rr', $insert_data, 'id'); + + $remote->dns_rr_after_insert($dns_rr_id, $this->cli_grupo_id); } } //sites_web_domain_add @@ -1490,7 +1496,11 @@ print "
IP6 WEB ";print_r($this->ip6_servidor_web);print "
\n";*/ //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', $this->cli_id, /*$cliente_id_seleccionado,*/ $paramsite, 'sites:web_vhost_domain:on_after_insert'); + + //IMPORTANTE. ESTE ES EL ÚNICO PLUGING QUE FUNCIONA. + $site_id = $remoto->insert_query('../sites/form/web_vhost_domain.tform.php', + $this->cli_id, /*$cliente_id_seleccionado,*/ + $paramsite, 'sites:web_vhost_domain:on_after_insert'); //print 'Sitio id '. $site_id; } @@ -1700,6 +1710,37 @@ class remote_actions extends remoting { $app->db->query($sql, $server_id, $dir, $uid, $gid, $sys_groupid, $this->id); } + function dns_rr_after_insert($dns_rr_id, $cliente_grupo_id) { + global $app, $conf; + //echo(' el cliente grupo id ' . $cliente_grupo_id . ' el id tupla en dns_rr ' . $dns_rr_id); + if($_SESSION["s"]["user"]["typ"] == 'user') { + $app->db->datalogUpdate('dns_rr', array("sys_userid" => $cliente_grupo_id, + "sys_groupid" => $cliente_grupo_id), 'id', $dns_rr_id); + } + } + + function dns_soa_after_insert($dns_soa_id, $cliente_grupo_id) { + global $app, $conf; + //echo(' el cliente grupo id ' . $cliente_grupo_id . ' el id tupla en dns_rr ' . $dns_rr_id); + if($_SESSION["s"]["user"]["typ"] == 'user') { + $app->db->datalogUpdate('dns_soa', array("sys_userid" => $cliente_grupo_id, + "sys_groupid" => $cliente_grupo_id), 'id', $dns_soa_id); + } + } + + function dns_registro_tipo_a_after_insert() { + global $app, $conf; + //echo(' el valor zone ' . $this->dataRecord["zone"]); + //* Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record + $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ? AND " . $this->getAuthSQLWebDNS('r'), $this->dataRecord["zone"]); + $app->db->datalogUpdate('dns_rr', array("sys_groupid" => $soa['sys_groupid']), 'id', $this->id); + + //* Update the serial number of the SOA record + /*$soa_id = $app->functions->intval($_POST["zone"]); + $serial = $app->validate_dns->increase_serial($soa["serial"]); + $app->db->datalogUpdate('dns_soa', array("serial" => $serial), 'id', $soa_id);*/ + } + public function sites_database_user_after_add($client_id, $params){ global $app, $conf; //echo('Plugeando');