| @@ -119,8 +119,7 @@ class page_action extends tform_actions { | |||
| public $valor_prefix; | |||
| public $valor_prefix_ftp; | |||
| function tratarVariablesHTML() { | |||
| //function onBeforeInsert() { | |||
| function tratarVariablesPrefix() { | |||
| global $app, $conf, $interfaceConf; | |||
| //Get the database name and database user prefix | |||
| @@ -153,11 +152,6 @@ class page_action extends tform_actions { | |||
| } | |||
| $this->dataRecord['server_id'] = 0; // we need this on all servers | |||
| /* prepare password for MongoDB */ | |||
| //$this->dataRecord['database_password_mongo'] = $this->dataRecord['database_user'].":mongo:".$this->dataRecord['database_password']; | |||
| //parent::onBeforeInsert(); | |||
| } | |||
| @@ -209,26 +203,26 @@ class page_action extends tform_actions { | |||
| } | |||
| $this->dataRecord['server_id'] = 0; // we need this on all servers | |||
| $this->tratarVariablesHTML(); | |||
| $this->tratarVariablesPrefix(); | |||
| //echo ('PreFIX Valor ' . $dbuser_prefix_valor); | |||
| //Cadena de caractares para construir las nombre. | |||
| //Cadena de caractares para construir el nombre. | |||
| $cadena = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789"; | |||
| //Obtengo la longitud de las cadenas | |||
| $longitudCadena=strlen($cadena); | |||
| //Variable para la nombre | |||
| //Variable para el nombre | |||
| $nombre = ""; | |||
| //Longitud para la nombre | |||
| //Longitud para el nombre | |||
| $longitudNombre=8; | |||
| //Creo el nombre | |||
| for($i=1 ; $i<=$longitudNombre ; $i++){ | |||
| //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | |||
| $pos=rand(0,$longitudCadena-1); | |||
| //Formo la nombre en cada iteraccion del bucle, añadiendo a la cadena $nombre | |||
| //la letra correspondiente a la posicion $pos en la cadena de caracteres definida. | |||
| //Formo la nombre en cada iteracción del bucle, añadiendo a la cadena $nombre | |||
| //la letra correspondiente a la posición $pos en la cadena de caracteres definida. | |||
| $nombre .= substr($cadena,$pos,1); | |||
| } | |||
| return $nombre; | |||
| @@ -253,8 +247,8 @@ class page_action extends tform_actions { | |||
| for($i=1 ; $i<=$longitudPass ; $i++){ | |||
| //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | |||
| $pos=rand(0,$longitudCadena-1); | |||
| //Formo la password en cada iteraccion del bucle, añadiendo a la cadena $pass | |||
| //la letra correspondiente a la posicion $pos en la cadena de caracteres definida. | |||
| //Formo la password en cada iteracción del bucle, añadiendo a la cadena $pass | |||
| //la letra correspondiente a la posición $pos en la cadena de caracteres definida. | |||
| $pass .= substr($cadena,$pos,1); | |||
| //Añado algún caracter especial en los últimos cuatro caracteres | |||
| for($i2=13;$i2<=$i; $i2++){ | |||
| @@ -296,7 +290,7 @@ class page_action extends tform_actions { | |||
| } | |||
| $this->dataRecord['server_id'] = 0; // we need this on all servers | |||
| $this->tratarVariablesHTML(); | |||
| $this->tratarVariablesPrefix(); | |||
| //echo ('PreFIX Valor ' . $dbuser_prefix_valor); | |||
| //Cadena de caractares para construir las nombre. | |||
| @@ -312,12 +306,12 @@ class page_action extends tform_actions { | |||
| //Longitud para la nombre | |||
| $longitudNombre=8; | |||
| //Creo la nombre | |||
| //Creo el nombre | |||
| for($i=1 ; $i<=$longitudNombre ; $i++){ | |||
| //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | |||
| $pos=rand(0,$longitudCadena-1); | |||
| //Formo la nombre en cada iteraccion del bucle, añadiendo a la cadena $nombre | |||
| //la letra correspondiente a la posicion $pos en la cadena de caracteres definida. | |||
| //Formo la nombre en cada iteracción del bucle, añadiendo a la cadena $nombre | |||
| //la letra correspondiente a la posición $pos en la cadena de caracteres definida. | |||
| $nombre .= substr($cadena,$pos,1); | |||
| } | |||
| @@ -415,7 +409,6 @@ class page_action extends tform_actions { | |||
| 'active' => 'y' | |||
| ); | |||
| //print "<pre> BBDD "; print_r($paramsBD); print "</pre>\n"; | |||
| //print "<pre>"; print_r($fields); print "</pre>\n"; | |||
| $this->nombre_db_txt = $paramsBD['database_name']; | |||
| @@ -491,8 +484,11 @@ class page_action extends tform_actions { | |||
| } | |||
| function urlBBDD($idBBDD, $servidor_id){ | |||
| global $app, $conf; | |||
| $dbData = $app->db->queryOneRecord( | |||
| "SELECT server_id, database_name FROM web_database WHERE database_id = ?", $idBBDD); | |||
| $serverData = $app->db->queryOneRecord( | |||
| @@ -566,10 +562,9 @@ class page_action extends tform_actions { | |||
| public $sys_usuario_id; | |||
| public $sys_grupo_id; | |||
| function controlUserGrupoId(){ | |||
| global $app, $conf; | |||
| $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); | |||
| //Captura de los distintos ids del cliente y usuario de sistema. | |||
| @@ -594,49 +589,6 @@ class page_action extends tform_actions { | |||
| } | |||
| } | |||
| /*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){ | |||
| global $app, $conf; | |||
| @@ -682,15 +634,6 @@ class page_action extends tform_actions { | |||
| return $this->subdom_error; | |||
| } | |||
| // $this->controlUserGrupoId2(); | |||
| /*$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 "<pre>Servidores: ". $web_servidor . " DNS " . $dns_servidor . " Cliente " . $this->cli_id; | |||
| // print "<pre>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.'."'); | |||
| //$camDominio = $app->db->queryOneRecord('SELECT origin FROM dns_soa WHERE origin LIKE "'.$campoSubDominio.'%"'); | |||
| @@ -752,19 +695,6 @@ class page_action extends tform_actions { | |||
| $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); | |||
| //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; | |||
| } | |||
| */ | |||
| //$this->tieneServidorIPs(); | |||
| // $this->controlUserGrupoId2(); | |||
| /* print "<pre>DNS SERVER ";print_r($this->dns_serv);print "</pre>\n"; | |||
| print "<pre>WEB SERVER ";print_r($this->web_serv);print "</pre>\n"; | |||
| print "<pre>IP4 DNS ";print_r($this->ip4_servidor_dns);print "</pre>\n"; | |||
| @@ -1221,64 +1151,6 @@ class page_action extends tform_actions { | |||
| global $app, $conf; | |||
| //Carga de los campos del formulario. | |||
| $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); | |||
| //echo ('El server id antes IF ' . $this->id . " <br>"); | |||
| //Captura del server_id. IMPORTANTE. COMPROBAR ESTO CON ADMIN. | |||
| /*if($this->id > 0) { | |||
| $server_id = $this->dataRecord["server_id"]; | |||
| //echo ('El server id EN IF ' . $server_id . " <br>"); | |||
| } 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 id EN ELSE ' . $server_id . " <br>"); | |||
| }*/ | |||
| //echo ('El server id ' . $server_id . " <br>"); | |||
| //Este if lo he tomado de onAfterInsert del web_domain | |||
| /*if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { | |||
| $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); | |||
| $app->db->query("UPDATE web_domain SET sys_groupid = ?, sys_perm_group = 'ru' WHERE domain_id = ?", $client_group_id, $this->id); | |||
| }*/ | |||
| //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. | |||
| $cliente_id_seleccionado = 1; | |||
| //En la tabla dns_soa y dns_rr se guarda el valor 0 en sys_groupid cuando es admin. | |||
| $cliente_groupid = 0; | |||
| }else{ | |||
| $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 | |||
| //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($cliente_groupid == 0){ | |||
| $sysUsuarioId = $cliente_id_seleccionado; | |||
| $sysGrupoId = $cliente_groupid; | |||
| }else{ | |||
| $sysUsersCaptura = $app->db->queryOneRecord('SELECT sys_userid, sys_groupid FROM sys_user WHERE userid ="'. $cliente_groupid . '"'); | |||
| $sysUsuarioId = $sysUsersCaptura['sys_userid']; | |||
| $sysGrupoId = $sysUsersCaptura['sys_groupid']; | |||
| } | |||
| /*echo ('Lo seleccionado ' . $fields['client_group_id'] . " <br>"); | |||
| echo ('Tabla sys_group --> client id ' . $cliente_id_seleccionado . " <br>"); | |||
| echo ('Tabla sys_group --> groupid ' . $cliente_groupid . " <br>"); | |||
| echo ('Tabla sys_user --> userid ' . $sysUsuarioId . " <br>"); | |||
| echo ('Tabla sys_user --> sys_groupid ' . $sysGrupoId . " <br>");*/ | |||
| //Carga del formulario dns_soa para guardar en base de datos. | |||
| $tform_def_file = "../dns/form/dns_soa.tform.php"; | |||
| @@ -1364,22 +1236,6 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/ | |||
| } | |||
| } // end foreach | |||
| //Recuperamos los distintos servidores del cliente o admin. Uso la tabla client donde no esta admin, por esto | |||
| //grabo a fuego el servidor 1 que hasta el momento parece depender de la instalación de ispconfig y simpre | |||
| //será así ¿?. | |||
| /*if($fields['client_group_id']==0) { | |||
| //$servidores = $app->db->queryOneRecord("SELECT client_id, default_dnsserver, default_webserver FROM client WHERE client_id = ". $cliente_id_seleccionado); | |||
| $dns_servidor = 1; //$servidores['default_dnsserver']; | |||
| $web_servidor = 1; //$servidores['default_webserver']; | |||
| }else{ | |||
| $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); | |||
| // Insert the soa record | |||
| $sys_userid = $this->cli_id;//$cliente_id_seleccionado;//$fields['client_group_id']; | |||
| $origin = $vars['origin']; | |||
| @@ -1505,7 +1361,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, $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; | |||
| } | |||
| @@ -1517,7 +1373,6 @@ print "<pre>IP6 WEB ";print_r($this->ip6_servidor_web);print "</pre>\n";*/ | |||
| //Creo la clase remote para usar las librerias | |||
| $remote = new remote_actions; | |||
| if($this->tieneServidorIPs()){ | |||
| return; | |||
| } | |||