| @@ -119,8 +119,7 @@ class page_action extends tform_actions { | |||||
| public $valor_prefix; | public $valor_prefix; | ||||
| public $valor_prefix_ftp; | public $valor_prefix_ftp; | ||||
| function tratarVariablesHTML() { | |||||
| //function onBeforeInsert() { | |||||
| function tratarVariablesPrefix() { | |||||
| global $app, $conf, $interfaceConf; | global $app, $conf, $interfaceConf; | ||||
| //Get the database name and database user prefix | //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 | $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->dataRecord['server_id'] = 0; // we need this on all servers | ||||
| $this->tratarVariablesHTML(); | |||||
| $this->tratarVariablesPrefix(); | |||||
| //echo ('PreFIX Valor ' . $dbuser_prefix_valor); | //echo ('PreFIX Valor ' . $dbuser_prefix_valor); | ||||
| //Cadena de caractares para construir las nombre. | |||||
| //Cadena de caractares para construir el nombre. | |||||
| $cadena = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789"; | $cadena = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ23456789"; | ||||
| //Obtengo la longitud de las cadenas | //Obtengo la longitud de las cadenas | ||||
| $longitudCadena=strlen($cadena); | $longitudCadena=strlen($cadena); | ||||
| //Variable para la nombre | |||||
| //Variable para el nombre | |||||
| $nombre = ""; | $nombre = ""; | ||||
| //Longitud para la nombre | |||||
| //Longitud para el nombre | |||||
| $longitudNombre=8; | $longitudNombre=8; | ||||
| //Creo el nombre | //Creo el nombre | ||||
| for($i=1 ; $i<=$longitudNombre ; $i++){ | for($i=1 ; $i<=$longitudNombre ; $i++){ | ||||
| //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | ||||
| $pos=rand(0,$longitudCadena-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); | $nombre .= substr($cadena,$pos,1); | ||||
| } | } | ||||
| return $nombre; | return $nombre; | ||||
| @@ -253,8 +247,8 @@ class page_action extends tform_actions { | |||||
| for($i=1 ; $i<=$longitudPass ; $i++){ | for($i=1 ; $i<=$longitudPass ; $i++){ | ||||
| //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | ||||
| $pos=rand(0,$longitudCadena-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); | $pass .= substr($cadena,$pos,1); | ||||
| //Añado algún caracter especial en los últimos cuatro caracteres | //Añado algún caracter especial en los últimos cuatro caracteres | ||||
| for($i2=13;$i2<=$i; $i2++){ | 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->dataRecord['server_id'] = 0; // we need this on all servers | ||||
| $this->tratarVariablesHTML(); | |||||
| $this->tratarVariablesPrefix(); | |||||
| //echo ('PreFIX Valor ' . $dbuser_prefix_valor); | //echo ('PreFIX Valor ' . $dbuser_prefix_valor); | ||||
| //Cadena de caractares para construir las nombre. | //Cadena de caractares para construir las nombre. | ||||
| @@ -312,12 +306,12 @@ class page_action extends tform_actions { | |||||
| //Longitud para la nombre | //Longitud para la nombre | ||||
| $longitudNombre=8; | $longitudNombre=8; | ||||
| //Creo la nombre | |||||
| //Creo el nombre | |||||
| for($i=1 ; $i<=$longitudNombre ; $i++){ | for($i=1 ; $i<=$longitudNombre ; $i++){ | ||||
| //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | //Número aleatorio entre 0 y la longitud de la cadena de caracteres-1 | ||||
| $pos=rand(0,$longitudCadena-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); | $nombre .= substr($cadena,$pos,1); | ||||
| } | } | ||||
| @@ -415,7 +409,6 @@ class page_action extends tform_actions { | |||||
| 'active' => 'y' | 'active' => 'y' | ||||
| ); | ); | ||||
| //print "<pre> BBDD "; print_r($paramsBD); print "</pre>\n"; | //print "<pre> BBDD "; print_r($paramsBD); print "</pre>\n"; | ||||
| //print "<pre>"; print_r($fields); print "</pre>\n"; | |||||
| $this->nombre_db_txt = $paramsBD['database_name']; | $this->nombre_db_txt = $paramsBD['database_name']; | ||||
| @@ -491,8 +484,11 @@ class page_action extends tform_actions { | |||||
| } | } | ||||
| function urlBBDD($idBBDD, $servidor_id){ | function urlBBDD($idBBDD, $servidor_id){ | ||||
| global $app, $conf; | global $app, $conf; | ||||
| $dbData = $app->db->queryOneRecord( | $dbData = $app->db->queryOneRecord( | ||||
| "SELECT server_id, database_name FROM web_database WHERE database_id = ?", $idBBDD); | "SELECT server_id, database_name FROM web_database WHERE database_id = ?", $idBBDD); | ||||
| $serverData = $app->db->queryOneRecord( | $serverData = $app->db->queryOneRecord( | ||||
| @@ -566,10 +562,9 @@ class page_action extends tform_actions { | |||||
| public $sys_usuario_id; | public $sys_usuario_id; | ||||
| public $sys_grupo_id; | public $sys_grupo_id; | ||||
| function controlUserGrupoId(){ | function controlUserGrupoId(){ | ||||
| global $app, $conf; | global $app, $conf; | ||||
| $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); | $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); | ||||
| //Captura de los distintos ids del cliente y usuario de sistema. | //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 | //Crear subdominio | ||||
| function crearSubDominio($remoto, $campoSubDominio){ | function crearSubDominio($remoto, $campoSubDominio){ | ||||
| global $app, $conf; | global $app, $conf; | ||||
| @@ -682,15 +634,6 @@ class page_action extends tform_actions { | |||||
| return $this->subdom_error; | 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 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 "'.$this->dominio.'."'); | ||||
| //$camDominio = $app->db->queryOneRecord('SELECT origin FROM dns_soa WHERE origin LIKE "'.$campoSubDominio.'%"'); | //$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); | $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>DNS SERVER ";print_r($this->dns_serv);print "</pre>\n"; | ||||
| print "<pre>WEB SERVER ";print_r($this->web_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"; | 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; | global $app, $conf; | ||||
| //Carga de los campos del formulario. | //Carga de los campos del formulario. | ||||
| $fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true); | $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. | //Carga del formulario dns_soa para guardar en base de datos. | ||||
| $tform_def_file = "../dns/form/dns_soa.tform.php"; | $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 | } // 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 | // Insert the soa record | ||||
| $sys_userid = $this->cli_id;//$cliente_id_seleccionado;//$fields['client_group_id']; | $sys_userid = $this->cli_id;//$cliente_id_seleccionado;//$fields['client_group_id']; | ||||
| $origin = $vars['origin']; | $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 | //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 | //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', $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; | //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 | //Creo la clase remote para usar las librerias | ||||
| $remote = new remote_actions; | $remote = new remote_actions; | ||||
| if($this->tieneServidorIPs()){ | if($this->tieneServidorIPs()){ | ||||
| return; | return; | ||||
| } | } | ||||