Bläddra i källkod

Creación del usuario bbdd, bbdd y usuario ftp con los usuarios correctos y sus respectivos servidores con las ips asignadas.

master
David Ramos 8 år sedan
förälder
incheckning
a32ae1693d
1 ändrade filer med 106 tillägg och 18 borttagningar
  1. +106
    -18
      new_service_webdns.php

+ 106
- 18
new_service_webdns.php Visa fil

@@ -414,9 +414,11 @@ class page_action extends tform_actions {

$generated_usernameBBDD = $this->generaNombreBD();//$fields['client_id'].substr(sha1(rand()), 0, 10);//client_prefix.substr(sha1(rand()), 0, 8);
//print "<pre>"; print_r($generated_usernameBBDD); print "</pre>\n";
$sitio_id = $app->db->queryOneRecord('SELECT domain_id, domain FROM web_domain WHERE domain = "'.$fields['domain'].'"');
$sitio_id = $app->db->queryOneRecord(
'SELECT domain_id, domain FROM web_domain WHERE domain = "'.$fields['domain'].'"');
//print "<pre>"; print_r($camDnsRR); print "</pre>\n";
$camDnsRR = $app->db->queryOneRecord('SELECT server_id, zone FROM dns_rr WHERE name LIKE "'.$this->dominio.'%"');
$camDnsRR = $app->db->queryOneRecord('SELECT server_id, zone FROM dns_rr WHERE name LIKE "'.$this->dominio.'."');
//print "<pre>"; print_r($fields['client_id']); print "</pre>\n";

$clavePass = $this->generaPass();
@@ -427,12 +429,16 @@ class page_action extends tform_actions {
//$dbname_prefix = $app->tools_sites->replacePrefix($global_config['dbname_prefix'], $this->dataRecord);
$ftpuser_prefix = $app->tools_sites->replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);
/*$this->sys_usuario_id = $this->cli_id;
$this->sys_grupo_id = $this->cli_grupo_id;*/
//"sys_userid" => $sysUsuarioId, //$fields['client_group_id'],//$sys_userid,
//"sys_groupid" => $cliente_groupid, //$client_group_id,

// añado database user con su prefix
$db_user_params = array(
'server_id' => $camDnsRR['server_id'],
'sysgroup_id' => $fields['client_group_id'],
'sys_userid' => $fields['client_group_id'],
'server_id' => $this->bbdd_serv, //$camDnsRR['server_id'],
'sysgroup_id' => $this->sys_grupo_id, //$fields['client_group_id'],
'sys_userid' => $this->sys_usuario_id, //$fields['client_group_id'],
'database_user' => $generated_usernameBBDD, //$dbuser_prefix3 . $generated_usernameBBDD,
'database_user_prefix' => $this->valor_prefix,
'database_password' => $clavePass//substr(sha1($dbuser_prefix . $generated_usernameBBDD), 0, 16)
@@ -447,12 +453,12 @@ class page_action extends tform_actions {
//print "<br>". $this->pass_db_txt;

//print "<pre>"; print_r($fields); print "</pre>\n";
$db_user_id = $remoto->insert_query('../sites/form/database_user.tform.php', $fields['client_group_id'], $db_user_params, 'sites:web_database_user:on_after_insert');
$db_user_id = $remoto->insert_query('../sites/form/database_user.tform.php', $this->cli_id,/*$fields['client_group_id'],*/ $db_user_params, 'sites:web_database_user:on_after_insert');
// add database
$paramsBD = array(
'server_id' => $camDnsRR['server_id'],
'sysgroup_id' => $fields['client_group_id'],
'server_id' => $this->bbdd_serv, //$camDnsRR['server_id'],
'sysgroup_id' => $this->sys_grupo_id, //$fields['client_group_id'],
'parent_domain_id' => $sitio_id['domain_id'],
'type' => 'mysql',
'database_quota' => '-1',
@@ -470,7 +476,7 @@ class page_action extends tform_actions {
$this->nombre_db_txt = $paramsBD['database_name'];


$remoto->sites_database_add($fields['client_group_id'], $paramsBD);
$remoto->sites_database_add($this->cli_id,/*$fields['client_group_id'],*/ $paramsBD);
// get site data para usarlo en la creación de la cuenta ftp, otra forma de cargar una tupla dandole un id
//$app->uses('remoting_lib');
@@ -480,7 +486,7 @@ class page_action extends tform_actions {
$this->nombre_user_ftp = $this->generaNombreFTP();
// add ftp user
$ftp_params = array(
'server_id' => $camDnsRR['server_id'],
'server_id' => $this->web_serv, //$camDnsRR['server_id'],
'parent_domain_id' => $sitio_id['domain_id'],
'username' => $this->valor_prefix_ftp . $this->nombre_user_ftp, //$ftpuser_prefix . $generated_username,
'username_prefix' => $this->valor_prefix_ftp,
@@ -873,8 +879,14 @@ class page_action extends tform_actions {
public $ip6_servidor_dns;
public $ip4_servidor_web;
public $ip6_servidor_web;
public $ip4_servidor_bbdd;
public $ip6_servidor_bbdd;
public $ip4_servidor_ftp;
public $ip6_servidor_ftp;
public $dns_serv;
public $web_serv;
public $bbdd_serv;
public $ftp_serv;

function tieneServidorIPs(){
global $app, $conf;
@@ -885,19 +897,30 @@ class page_action extends tform_actions {
if($this->cli_id == 1) {
$this->dns_serv = 1;
$this->web_serv = 1;
$this->bbdd_serv = 1;
//$this->ftp_serv = 1;
}else{
$servidores = $app->db->queryOneRecord(
"SELECT client_id, dns_servers, web_servers FROM client
"SELECT client_id, dns_servers, web_servers, db_servers FROM client
WHERE client_id = ". $this->cli_id);

$this->dns_serv = $servidores['dns_servers'];
$this->web_serv = $servidores['web_servers'];
$this->bbdd_serv = $servidores['db_servers'];

//Si el cliente no tiene asignado un servidor se añade por defecto al 1
if(!$this->dns_serv || !$this->web_serv){
if(!$this->dns_serv){
$this->dns_serv = 1;
}
//Si el cliente no tiene asignado un servidor se añade por defecto al 1
if(!$this->web_serv){
$this->web_serv = 1;
}
//Si el cliente no tiene asignado un servidor se añade por defecto al 1
if(!$this->bbdd_serv){
$this->bbdd_serv = 1;
}
}
/*print "<pre>DNS SERVER ";print_r($this->dns_serv);print "</pre>\n";
print "<pre>WEB SERVER ";print_r($this->web_serv);print "</pre>\n";*/
@@ -985,9 +1008,6 @@ class page_action extends tform_actions {
$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(
@@ -1036,13 +1056,76 @@ class page_action extends tform_actions {
}
}
}
//Captura de las ips del servidor bbdd
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_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "0" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv4"');
$this->ip6_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "0" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv6"');

if(!$this->ip4_servidor_bbdd){
$this->ip4_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "1" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv4"');
}
if(!$this->ip6_servidor_bbdd){
$this->ip6_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "1" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv6"');
}
}else{//Comprobamos si el cliente tiene servidor asignado
$this->ip4_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address
FROM server_ip
WHERE client_id = "'.$this->cli_id.'" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv4"');
$this->ip6_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address
FROM server_ip
WHERE client_id = "'.$this->cli_id.'" AND server_id = "'.$this->bbdd_serv.'"AND ip_type="IPv6"');
//si no tiene asignado le damos el de admin.
if(!$this->ip4_servidor_bbdd){
//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_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "0" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv4"');
//$this->ip6_servidor_bbdd = $app->db->queryOneRecord('SELECT ip_type, ip_address FROM server_ip WHERE client_id = "0" AND ip_type="IPv6"');

if(!$this->ip4_servidor_bbdd){
$this->ip4_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "1" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv4"');
}
}
if(!$this->ip6_servidor_bbdd){
//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->ip6_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "0" AND server_id = "'.$this->bbdd_serv.'" AND ip_type="IPv6"');

if(!$this->ip6_servidor_bbdd){
$this->ip6_servidor_bbdd = $app->db->queryOneRecord(
'SELECT ip_type, ip_address FROM server_ip
WHERE client_id = "1" AND server_id = "'.$this->bbdd_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 = $this->ip4_servidor_dns['ip_address'];//$dns_ip_servidor['ip_address'];//$la_ip4['ip_address'];
/*print "<pre>IP4 DNS ";print_r($this->ip4_servidor_dns);print "</pre>\n";
print "<pre>IP6 DNS ";print_r($this->ip6_servidor_dns);print "</pre>\n";
print "<pre>IP4 WEB ";print_r($this->ip4_servidor_web);print "</pre>\n";
print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";
print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";
print "<pre>IP4 BBDD ";print_r($this->ip4_servidor_bbdd);print "</pre>\n";
print "<pre>IP6 BBDD ";print_r($this->ip6_servidor_bbdd);print "</pre>\n";
echo('El cliente ' . $this->cli_id . '<br>');*/
if(!$this->ip4_servidor_dns['ip_address'] || !$this->ip6_servidor_dns['ip_address']){
$app->tform->errorMessage = $app->tform->wordbook['error_no_ip'];
@@ -1053,6 +1136,11 @@ class page_action extends tform_actions {
$app->tform->errorMessage = $app->tform->wordbook['error_no_ip'];
$this->onError();
return true;
}
if(!$this->ip4_servidor_bbdd['ip_address'] || !$this->ip6_servidor_bbdd['ip_address']){
$app->tform->errorMessage = $app->tform->wordbook['error_no_ip'];
$this->onError();
return true;
}
return false;
}
@@ -1431,7 +1519,7 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
$this->crearSubDominio($remote, $fields['domain']);
if(!$this->subdom_error){
$this->crearSitioWebSubdominio($remote);
//$this->crearBaseDatosFtp($remote);
$this->crearBaseDatosFtp($remote);
}

} else {
@@ -1446,7 +1534,7 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/
//IMPORTANTE, es necesario cargar nuestro formulario para poder ejecutar la función que crea
//la base de datos y el ftp ya que hay datos que tomamos de él antes de ejecutarla.
$app->tform->loadFormDef('form/new_service_webdns.tform.php');
//$this->crearBaseDatosFtp($remote);
$this->crearBaseDatosFtp($remote);
}else{
$this->onError();
return;


Laddar…
Avbryt
Spara