Преглед на файлове

Implementación para recuperar los servidores asignados por defecto y tomarlos para admin o cualquier usuario que no tenga asignado ninguno.

master
David Ramos преди 8 години
родител
ревизия
f246a8a736
променени са 1 файла, в които са добавени 32 реда и са изтрити 48 реда
  1. +32
    -48
      new_service_webdns.php

+ 32
- 48
new_service_webdns.php Целия файл

@@ -451,7 +451,7 @@ class page_action extends tform_actions {
/*print "<pre>"; print_r($ftp_params); print "</pre>\n";
print "<pre>"; print_r($site_data); print "</pre>\n";
echo('El usuario es ' . $fields['client_group_id']);*/
//$remoto->insert_query('../sites/form/ftp_user.tform.php', $fields['client_group_id'], $ftp_params);
$remoto->insert_query('../sites/form/ftp_user.tform.php', $fields['client_group_id'], $ftp_params);

echo '<br><div class="alert alert-success"><br>
Altas de BBDD y FTP, ¡Correctas!<br><br>
@@ -497,7 +497,8 @@ class page_action extends tform_actions {
$app->uses('getconf');
$global_config = $app->getconf->get_global_config('sites');
$web_config = $app->getconf->get_server_config($servidor_id, 'web');
//print "<pre>"; print_r($global_config); print "</pre>\n";
//print "<pre>"; print_r($web_config); print "</pre>\n";
/*
* We only redirect to the login-form, so there is no need, to check any rights
*/
@@ -882,12 +883,21 @@ class page_action extends tform_actions {
global $app, $conf;
$this->controlUserGrupoId();
$app->uses('getconf');
$global_config_sitio = $app->getconf->get_global_config('sites');
$global_config_dns = $app->getconf->get_global_config('dns');

//print "<pre>WEB SERVER por defecto ";print_r($global_config_sitio);print "</pre>\n";
//print "<pre>DNS SERVER por defecto ";print_r($global_config_dns);print "</pre>\n";

//El cliente 1 es admin.
//Recupero los servidores asignados por defecto y se los asigno a admin o al usuario
//que no tenga asignado ninguno.
if($this->cli_id == 1) {
$this->dns_serv = 1;
$this->web_serv = 1;
$this->bbdd_serv = 1;
$this->dns_serv = $global_config_dns['default_dnsserver'];//1;
$this->web_serv = $global_config_sitio['default_webserver'];//1;
$this->bbdd_serv = $global_config_sitio['default_dbserver'];//1;
//$this->ftp_serv = 1;
}else{
$servidores = $app->db->queryOneRecord(
@@ -900,16 +910,16 @@ class page_action extends tform_actions {

//Si el cliente no tiene asignado un servidor se añade por defecto al 1
if(!$this->dns_serv){
$this->dns_serv = 1;
$this->dns_serv = $global_config_dns['default_dnsserver'];//1;
}
//Si el cliente no tiene asignado un servidor se añade por defecto al 1
if(!$this->web_serv){
$this->web_serv = 1;
$this->web_serv = $global_config_sitio['default_webserver'];//1;
}
//Si el cliente no tiene asignado un servidor se añade por defecto al 1
if(!$this->bbdd_serv){
$this->bbdd_serv = 1;
$this->bbdd_serv = $global_config_sitio['default_dbserver'];//1;
}
}
/*print "<pre>DNS SERVER ";print_r($this->dns_serv);print "</pre>\n";
@@ -955,7 +965,6 @@ class page_action extends tform_actions {
$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(
@@ -1149,7 +1158,7 @@ class page_action extends tform_actions {

//echo ('El server id antes IF ' . $this->id . " <br>");
//Captura del server_id. IMPORTANTE. COMPROBAR ESTO CON ADMIN.
if($this->id > 0) {
/*if($this->id > 0) {
$server_id = $this->dataRecord["server_id"];
//echo ('El server id EN IF ' . $server_id . " <br>");
} else {
@@ -1158,7 +1167,7 @@ class page_action extends tform_actions {
$server_id = $tmp['server_id'];
//$this->elServidor = $server_id;
//echo ('El server id EN ELSE ' . $server_id . " <br>");
}
}*/
//echo ('El server id ' . $server_id . " <br>");

//Este if lo he tomado de onAfterInsert del web_domain
@@ -1172,7 +1181,7 @@ class page_action extends tform_actions {
//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) {
/* if($fields['client_group_id']==0) {
//En la tabla sys_user el userid 1 es admin. No esta en sys_group.
$cliente_id_seleccionado = 1;
//En la tabla dns_soa y dns_rr se guarda el valor 0 en sys_groupid cuando es admin.
@@ -1181,7 +1190,8 @@ class page_action extends tform_actions {
$cliente_id_seleccionadoCaptura = $app->db->queryOneRecord('SELECT client_id, groupid FROM sys_group WHERE groupid ="'. $fields['client_group_id'] . '"');
$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
@@ -1212,32 +1222,6 @@ class page_action extends tform_actions {
$template_record = $app->db->queryOneRecord(
"SELECT * FROM dns_template WHERE visible = 'Y' AND name = 'webdns'"); /*'open6hosting'");*/
//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 = ' . $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 = ' . $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 "<pre>"; print_r($dns_ip_servidorTest); print "</pre>\n";

//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'");
$dns_ip_servidor_ipv6 = $app->db->queryOneRecord("SELECT ip_type, ip_address FROM server_ip WHERE client_id = 0 AND ip_type='IPv6'");
/*echo '<br><br>Valor de la consulta '.$dns_ip_servidor_ipv6[ip_address].' ';
echo '<br><br>Valor de la consulta '.$dns_ip_servidor[ip_address].' ';*/
// }

/*print "<pre>DNS SERVER ";print_r($this->dns_serv);print "</pre>\n";
print "<pre>WEB SERVER ";print_r($this->web_serv);print "</pre>\n";
@@ -1331,7 +1315,7 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
//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'];
$sys_userid = $this->cli_id;//$cliente_id_seleccionado;//$fields['client_group_id'];
$origin = $vars['origin'];
$ns = $vars['ns'];
$mbox = str_replace('@', '.', $vars['mbox']);
@@ -1346,8 +1330,8 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
$serial = $app->validate_dns->increase_serial(0);

$insert_data = array(
"sys_userid" => $sysUsuarioId,//$fields['client_group_id'],//$sys_userid,
"sys_groupid" => $cliente_groupid,//$client_group_id,
"sys_userid" => $this->sys_usuario_id,//$sysUsuarioId,//$fields['client_group_id'],
"sys_groupid" => $this->cli_grupo_id,//$cliente_groupid,//$client_group_id,
"sys_perm_user" => 'riud',
"sys_perm_group" => 'riud',
"sys_perm_other" => '',
@@ -1373,12 +1357,12 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
if(is_array($dns_rr) && $dns_soa_id > 0) {
foreach($dns_rr as $rr) {
$insert_data = array(
"sys_userid" => $sysUsuarioId, //$fields['client_group_id'],//$sys_userid,
"sys_groupid" => $cliente_groupid, //$client_group_id,
"sys_userid" => $this->sys_usuario_id,//$sysUsuarioId, //$fields['client_group_id'],
"sys_groupid" => $this->cli_grupo_id,//$cliente_groupid, //$client_group_id,
"sys_perm_user" => 'riud',
"sys_perm_group" => 'riud',
"sys_perm_other" => '',
"server_id" => $this->dns_serv,//$dns_servidor,//$server_id, //$dns_servidor, //$server_id,//$dns_servidor['default_dnsserver'],
"server_id" => $this->dns_serv,
"zone" => $dns_soa_id,
"name" => $rr['name'],
"type" => $rr['type'],
@@ -1400,7 +1384,7 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
$paramsite = array(
'type' => 'vhost',
'domain' => $fields['domain'],
'server_id' => $web_servidor, //$server_id,//$dns_servidor['default_webserver'],
'server_id' => $this->web_serv,// $web_servidor, //$server_id,//$dns_servidor['default_webserver'],
//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,
@@ -1439,7 +1423,7 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
'system_user' => '-',
'system_group' => '-',
'log_retention' => 30,
'client_group_id' => $cliente_groupid, //$client_group_id,
'client_group_id' => $this->cli_grupo_id,//$cliente_groupid, //$client_group_id,
);

//print 'Valores: ' . $dns_ip_servidor_ipv6 . " " . $formulario . " Parametros: " ;
@@ -1455,7 +1439,7 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\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', $cliente_id_seleccionado, /*$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');
//print 'Sitio id '. $site_id;
}



Loading…
Отказ
Запис