diff --git a/new_service_webdns.php b/new_service_webdns.php
index d586db7..8a72356 100755
--- a/new_service_webdns.php
+++ b/new_service_webdns.php
@@ -26,39 +26,84 @@ $app->load('tform_actions');
class page_action extends tform_actions {
+ public $estaLogeado;
function onShowNew() {
- //global $app;
-
+ global $app;
+ //if($_SESSION['s']['user']['typ'] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]);
+ //unset($_SESSION['s_old']);
+ //echo('Data record '. $this->dataRecord["username_prefix"] . print_r($this->dataRecord));
+ //$sesion = $_SESSION;
+ /*$sesionDe = $_SESSION['s']['user']['typ'];
+ $grupo = $_SESSION["s"]["user"]["default_group"];
+ print_r('La session de ' . $sesionDe);
+ print(', su grupo es ' . $grupo);*/
+ //print_r($sesion);
+//------LIMITES--------------------------------------------------------------------------------------------------
+ $this->estaLogeado = $_SESSION['s']['user']['typ'];
// we will check only users, not admins
- if($_SESSION['s']['user']['typ'] == 'user') {
-
+ if($this->estaLogeado == 'user') {
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$limitado = new limites($client_group_id);
$limitado->limitesLoad();
}
+//------LIMITES--------------------------------------------------------------------------------------------------
parent::onShowNew();
}
function onShowEnd() {
global $app, $conf, $interfaceConf;
- /*
- * If the names are restricted -> remove the restriction, so that the
- * data can be edited
- */
- //Get the database user prefix
+
+ $this->tratarVariablesPrefix();
$app->uses('getconf,tools_sites');
$global_config = $app->getconf->get_global_config('sites');
- $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
$ftpuser_prefix = $app->tools_sites->replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);
- if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ if ($this->dataRecord['username'] != ""){
+ /* REMOVE the restriction */
+ $app->tpl->setVar("username", $app->tools_sites->removePrefix($this->dataRecord['username'], $this->dataRecord['username_prefix'], $ftpuser_prefix));
+ }
+
+ if($this->dataRecord['username'] == "") {
+ $app->tpl->setVar("username_prefix", $ftpuser_prefix);
+ } else {
+ $app->tpl->setVar("username_prefix", $app->tools_sites->getPrefix($this->dataRecord['username_prefix'], $ftpuser_prefix, $global_config['ftpuser_prefix']));
+ }
+ //Get the database user prefix
+ $app->uses('getconf,tools_sites');
+ $global_config = $app->getconf->get_global_config('sites');
+ //$this->valor_prefix = $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
+ //$this->valor_prefix_ftp = $ftpuser_prefix = $app->tools_sites->replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);
+//echo('PRe antes ' . $ftpuser_prefix . ' DataRecord ' . print_r($this->dataRecord));
+//echo('PRe antes2 ' . print_r($global_config));
+
+ //* Client: If the logged in user is not admin and has no sub clients (no reseller)
+ if ($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
// Get the limits of the client
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
$client = $app->db->queryOneRecord("SELECT client.company_name, client.contact_name, client.client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
-
+//echo('PRe antes2 ' . print_r($global_config));
+ // Fill the client select field
+ /* $sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ? ORDER BY client.company_name, client.contact_name, sys_group.name";
+ $records = $app->db->queryAllRecords($sql, $client['client_id']);
+ $tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ?", $client['client_id']);
+ $client_select = '';
+ //$tmp_data_record = $app->tform->getDataRecord($this->id);
+ if(is_array($records)) {
+ foreach( $records as $rec) {
+ $selected = @(is_array($this->dataRecord) && ($rec["groupid"] == $this->dataRecord['client_group_id'] || $rec["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
+ $client_select .= "\r\n";
+ }
+ }
+ $app->tpl->setVar("client_group_id", $client_select);*/
+ //* Reseller: If the logged in user is not admin and has sub clients (reseller)
+ }elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ // Get the limits of the client
+ $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+ $client = $app->db->queryOneRecord("SELECT client.company_name, client.contact_name, client.client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
+//echo('PRe antes2 ' . print_r($global_config));
// Fill the client select field
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ? ORDER BY client.company_name, client.contact_name, sys_group.name";
$records = $app->db->queryAllRecords($sql, $client['client_id']);
@@ -87,16 +132,23 @@ class page_action extends tform_actions {
}
$app->tpl->setVar("client_group_id", $client_select);
}
-
+// echo('Prefix Global ' . $this->valor_prefix);
if ($this->dataRecord['database_user'] != ""){
/* REMOVE the restriction */
+ //echo(' (1)Remove las restrinciones');
$app->tpl->setVar("database_user", $app->tools_sites->removePrefix($this->dataRecord['database_user'], $this->dataRecord['database_user_prefix'], $dbuser_prefix));
}
if($this->dataRecord['database_user'] == "") {
$app->tpl->setVar("database_user_prefix", $dbuser_prefix);
+ //echo(' (2)user DB vacío ');
} else {
+ //echo(' (3)user DB con algo ' . $this->dataRecord['database_user_prefix']);
$app->tpl->setVar("database_user_prefix", $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix']));
+ $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix']);
+ $datos_prefix = $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix']);
+ //echo(' Datos prefix ' . $datos_prefix);
+ $fields['database_user_prefix'] = $datos_prefix;
}
if ($this->dataRecord['username'] != ""){
@@ -109,6 +161,7 @@ class page_action extends tform_actions {
} else {
$app->tpl->setVar("username_prefix", $app->tools_sites->getPrefix($this->dataRecord['username_prefix'], $ftpuser_prefix, $global_config['ftpuser_prefix']));
}
+
parent::onShowEnd();
}
@@ -127,11 +180,13 @@ class page_action extends tform_actions {
$this->dataRecord['username_prefix'] = $ftpuser_prefix;
$this->dataRecord['database_user_prefix'] = $dbuser_prefix;
- $valor2 = $this->dataRecord['database_user_prefix'] = $dbuser_prefix;
+ //$valor2 = $this->dataRecord['database_user_prefix'] = $dbuser_prefix;
$this->valor_prefix = $this->dataRecord['database_user_prefix'] = $dbuser_prefix;
$this->valor_prefix_ftp = $this->dataRecord['username_prefix'] = $ftpuser_prefix;
+//echo('(1)Prefix ' . $this->valor_prefix . '(2)Prefix ftp ' . $this->valor_prefix_ftp );
+
if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16)
$app->tform->errorMessage .= str_replace('{user}', htmlentities($dbuser_prefix . $this->dataRecord['database_user'], ENT_QUOTES, 'UTF-8'),
$app->tform->wordbook["database_user_error_len"]).'
';
@@ -149,6 +204,22 @@ class page_action extends tform_actions {
}
$this->dataRecord['server_id'] = 0; // we need this on all servers
+
+ //echo('Usuarios ' .$this->dataRecord['database_user'] . ' Prefix ' . $this->dataRecord['database_user_prefix'] . ' Mas ' . $dbuser_prefix);
+ if ($this->dataRecord['database_user'] != ""){
+ /* REMOVE the restriction */
+ $app->tpl->setVar("database_user", $app->tools_sites->removePrefix($this->dataRecord['database_user'], $this->dataRecord['database_user_prefix'], $dbuser_prefix));
+ }
+
+ if($this->dataRecord['database_user'] == "") {
+ $app->tpl->setVar("database_user_prefix", $dbuser_prefix);
+ } else {
+ $app->tpl->setVar("database_user_prefix", $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix']));
+ }
+ //* Reseller: If the logged in user is not admin and has sub clients (is a reseller)
+ if($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+ $this->valor_prefix = $dbuser_prefix;
+ }
}
@@ -171,35 +242,7 @@ class page_action extends tform_actions {
function generaNombreFTP(){
- global $app, $conf, $interfaceConf;
-
- //Get the database name and database user prefix
- $app->uses('getconf,tools_sites');
- $global_config = $app->getconf->get_global_config('sites');
- $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
-
- $dbuser_prefix_valor = $app->tpl->setVar("database_name", $app->tools_sites->removePrefix($this->dataRecord['database_name'], $this->dataRecord['database_name_prefix'], $dbname_prefix));
- //echo ('El prefix ' . $dbuser_prefix);
- $this->dataRecord['database_user_prefix'] = $dbuser_prefix_valor;
- //echo ('PreFIX ' . '{user}' . str_replace('{user}', htmlentities($dbuser_prefix . $this->dataRecord['database_user'], ENT_QUOTES, 'UTF-8')));
- if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16)
- $app->tform->errorMessage .= str_replace('{user}', htmlentities($dbuser_prefix . $this->dataRecord['database_user'], ENT_QUOTES, 'UTF-8'),
- $app->tform->wordbook["database_user_error_len"]).'
';
-
- //Check database user against blacklist
- $dbuser_blacklist = array($conf['db_user'], 'mysql', 'root');
- if(is_array($dbuser_blacklist) && in_array($dbuser_prefix . $this->dataRecord['database_user'], $dbuser_blacklist)) {
- $app->tform->errorMessage .= $app->lng('Database user not allowed.').'
';
- }
-
- /* restrict the names */
- /* crop user names if they are too long -> mysql: user: 16 chars / db: 64 chars */
- if ($app->tform->errorMessage == ''){
- $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16);
- }
-
- $this->dataRecord['server_id'] = 0; // we need this on all servers
$this->tratarVariablesPrefix();
//echo ('PreFIX Valor ' . $dbuser_prefix_valor);
@@ -258,35 +301,7 @@ class page_action extends tform_actions {
function generaNombreBD(){
- global $app, $conf, $interfaceConf;
-
- //Get the database name and database user prefix
- $app->uses('getconf,tools_sites');
- $global_config = $app->getconf->get_global_config('sites');
- $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord);
-
- $dbuser_prefix_valor = $app->tpl->setVar("database_name", $app->tools_sites->removePrefix($this->dataRecord['database_name'], $this->dataRecord['database_name_prefix'], $dbname_prefix));
- //echo ('El prefix ' . $dbuser_prefix);
- $this->dataRecord['database_user_prefix'] = $dbuser_prefix_valor;
- //echo ('PreFIX ' . '{user}' . str_replace('{user}', htmlentities($dbuser_prefix . $this->dataRecord['database_user'], ENT_QUOTES, 'UTF-8')));
- if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16)
- $app->tform->errorMessage .= str_replace('{user}', htmlentities($dbuser_prefix . $this->dataRecord['database_user'], ENT_QUOTES, 'UTF-8'),
- $app->tform->wordbook["database_user_error_len"]).'
';
-
- //Check database user against blacklist
- $dbuser_blacklist = array($conf['db_user'], 'mysql', 'root');
- if(is_array($dbuser_blacklist) && in_array($dbuser_prefix . $this->dataRecord['database_user'], $dbuser_blacklist)) {
- $app->tform->errorMessage .= $app->lng('Database user not allowed.').'
';
- }
-
- /* restrict the names */
- /* crop user names if they are too long -> mysql: user: 16 chars / db: 64 chars */
- if ($app->tform->errorMessage == ''){
- $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16);
- }
-
- $this->dataRecord['server_id'] = 0; // we need this on all servers
$this->tratarVariablesPrefix();
//echo ('PreFIX Valor ' . $dbuser_prefix_valor);
@@ -345,7 +360,7 @@ class page_action extends tform_actions {
}*/
- function crearBaseDatosFtp($remoto){
+ function crearBaseDatosFtp($remoto){
global $app, $conf;
$fields = $app->tform->encode($this->dataRecord, $app->tform->getCurrentTab(), true);
@@ -357,21 +372,21 @@ class page_action extends tform_actions {
//print "
"; print_r($generated_usernameBBDD); print "\n"; $sitio_id = $app->db->queryOneRecord( 'SELECT domain_id, domain FROM web_domain WHERE domain = "'.$fields['domain'].'"'); - + //print_r($fields); + //echo(' Campo en formulario ' . $fields['database_user_prefix']); //print "
"; print_r($camDnsRR); print "\n"; - //$camDnsRR = $app->db->queryOneRecord('SELECT server_id, zone FROM dns_rr WHERE name LIKE "'.$this->dominio.'."'); - //print "
"; print_r($fields['client_id']); print "\n"; - +// echo(' El nuevo prefix ' . $this->valor_prefix_ftp); $clavePass = $this->generaPass(); //*Recupero todos los prefix necesarios - $app->uses('getconf,tools_sites'); + /*$app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); - $ftpuser_prefix = $app->tools_sites->replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord); + $ftpuser_prefix = $app->tools_sites->replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);*/ + //echo('Mierda Clientes' . $this->valor_prefix . ' Mas mierda ' . $fields['database_user_prefix'] . ' Y mas ' . $this->dataRecord['database_user_prefix']); //añado database user con su prefix $db_user_params = array( 'server_id' => $this->bbdd_serv, - 'sysgroup_id' => $this->sys_grupo_id, + 'sysgroup_id' => $this->cli_grupo_id,//$this->sys_grupo_id, 'sys_userid' => $this->sys_usuario_id, 'sys_perm_other' => '-', 'database_user' => $generated_usernameBBDD, @@ -388,12 +403,24 @@ class page_action extends tform_actions { //print "
"; print_r($fields); print "\n"; - $db_user_id = $remoto->insert_query('../sites/form/database_user.tform.php', $this->cli_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, $db_user_params, 'sites:web_database_user:on_after_insert'); + //echo('El id ' . $this->id); +// $remoto2 = new remote_actions; +// $remoto->sites_database_user_after_add($this->cli_grupo_id, $db_user_params); + //echo(' El cliente en webdns ' . $this->cli_id); + //$db_user_id = $remoto2->sites_database_user_add(1, $this->cli_id, $db_user_params, 'sites:web_database_user:on_after_insert'); + /*$sql = "INSERT INTO web_database_user (dbtable,dbidx,server_id,action,tstamp,user,data) VALUES (?, ?, ?, ?, ?, ?, ?)"; + $app->db->query($sql, $db_table, $dbidx, $server_id, $action, time(), $username, $diffstr); +*/ + //$app->tform->datalogSave('INSERT', 'database_user_id', array(), $db_user_params); + //$app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', 1, array(), $db_user_params); + //$db_user_id = $app->db->datalogInsert('web_database_user', $db_user_params, 'database_user_id'); + // add database $paramsBD = array( 'server_id' => $this->bbdd_serv, //$camDnsRR['server_id'], - 'sysgroup_id' => $this->sys_grupo_id, //$fields['client_group_id'], + 'sysgroup_id' => $this->cli_grupo_id,//$this->sys_grupo_id, //$fields['client_group_id'], 'parent_domain_id' => $sitio_id['domain_id'], 'type' => 'mysql', 'database_quota' => '-1', @@ -409,7 +436,7 @@ class page_action extends tform_actions { $this->nombre_db_txt = $paramsBD['database_name']; - $db_id = $remoto->sites_database_add($this->cli_id,/*$fields['client_group_id'],*/ $paramsBD); + $db_id = $remoto->sites_database_add($this->cli_grupo_id, /*$this->cli_id,*//*$fields['client_group_id'],*/ $paramsBD); $this->urlBBDD($db_id, $this->bbdd_serv); //echo('Id de la BBDD ' . $db_id); @@ -417,6 +444,7 @@ class page_action extends tform_actions { //$app->uses('remoting_lib'); $app->remoting_lib->loadFormDef('../sites/form/web_vhost_domain.tform.php'); $site_data = $app->remoting_lib->getDataRecord($sitio_id); +// $site_data = $remoto->getDataRecordWebDNS($sitio_id); $this->nombre_user_ftp = $this->generaNombreFTP(); // add ftp user @@ -442,9 +470,9 @@ class page_action extends tform_actions { $this->pass_ftp_txt = $ftp_params['password']; //print "
FTP "; print_r($ftp_params); print "\n"; //print "
"; print_r($site_data); print "\n"; - //echo('El usuario es ' . $fields['client_group_id']); - $remoto->insert_query('../sites/form/ftp_user.tform.php', $fields['client_group_id'], $ftp_params); - + //echo('El grupo del usuario es ' . $this->cli_grupo_id); + $remoto->insert_query('../sites/form/ftp_user.tform.php', $this->cli_id,/*$fields['client_group_id'],*/ $ftp_params); +// $remoto->sites_ftp_user_after_insert(); echo '