diff --git a/new_service_webdns.php b/new_service_webdns.php
index 1de1ed8..7e5973a 100755
--- a/new_service_webdns.php
+++ b/new_service_webdns.php
@@ -102,6 +102,25 @@ class page_action extends tform_actions {
}
}
$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']);
+ $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);
} elseif($_SESSION["s"]["user"]["typ"] == 'admin') {
// 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 sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
@@ -203,7 +222,7 @@ class page_action extends tform_actions {
}
//* 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 = $fields['database_user_prefix'];
+ $this->valor_prefix = $dbuser_prefix;
}
}
@@ -387,11 +406,12 @@ class page_action extends tform_actions {
//print "
". $this->pass_db_txt;
//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'); + //$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); */ @@ -580,8 +600,8 @@ class page_action extends tform_actions { $this->cli_id = $_SESSION["s"]["user"]["client_id"]; $this->cli_grupo_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); $this->sys_usuario_id = $_SESSION["s"]["user"]["sys_userid"]; - $this->sys_grupo_id = $this->cli_grupo_id;//$_SESSION["s"]["user"]["sys_groupid"]; - echo(' cli_id ' . $this->cli_id . ' cli_grupo_id ' . $this->cli_grupo_id . ' sys_usuario ' . $this->sys_usuario_id . ' sys_grupo ' . $this->sys_grupo_id); + $this->sys_grupo_id = $_SESSION["s"]["user"]["sys_groupid"]; + //echo('Es cliente cli_id ' . $this->cli_id . ' cli_grupo_id ' . $this->cli_grupo_id . ' sys_usuario ' . $this->sys_usuario_id . ' sys_grupo ' . $this->sys_grupo_id); } else { //Captura de los distintos ids del cliente y usuario de sistema. @@ -592,8 +612,10 @@ class page_action extends tform_actions { $this->cli_id = 0; $this->cli_grupo_id = 1; $this->sys_usuario_id = 1;//$this->cli_id; - $this->sys_grupo_id = 0; //$this->cli_grupo_id;//0 + $this->sys_grupo_id = 0; //$this->cli_grupo_id;//0 + //echo('Quien es ' . $_SESSION["s"]["user"]["typ"]); }else{ + //echo('Quien es else ' . $_SESSION["s"]["user"]["typ"]); $client = $app->db->queryOneRecord( 'SELECT sys_user.sys_userid, sys_user.sys_groupid, sys_user.default_group, sys_user.client_id FROM sys_group, sys_user @@ -602,11 +624,11 @@ class page_action extends tform_actions { $this->cli_id = $client['client_id']; $this->cli_grupo_id = $client['default_group']; $this->sys_usuario_id = $client['sys_userid']; - $this->sys_grupo_id = $client['client_id'];//$client['default_group'];//$client['sys_groupid']; + $this->sys_grupo_id = $this->cli_grupo_id;//$client['sys_groupid']; } } //print "
Valores : "; print_r($this->cli_id); print "\n"; - print " cli_id " . $this->cli_id . ' cli_grupo ' . $this->cli_grupo_id . ' sys_usuario ' . $this->sys_usuario_id . ' sys grupo ' . $this->sys_grupo_id; + //print " cli_id " . $this->cli_id . ' cli_grupo ' . $this->cli_grupo_id . ' sys_usuario ' . $this->sys_usuario_id . ' sys grupo ' . $this->sys_grupo_id; } @@ -1653,6 +1675,31 @@ class remote_actions extends remoting { return $insert_id; } + public function sites_database_user_after_add($client_id, $params){ + global $app, $conf; + //echo('Plugeando'); + if($_SESSION["s"]["user"]["typ"] == 'user' /*&& isset($this->dataRecord["client_group_id"])*/) { + //$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); + $app->db->query("UPDATE web_database_user SET sys_groupid = ?, sys_perm_group = 'riud' WHERE database_user_id = ?", $client_id, $this->id); + } + if($_SESSION["s"]["user"]["typ"] == 'admin'/* && isset($this->dataRecord["client_group_id"])*/) { + //echo('Plugeando ' .$app->functions->intval($this->dataRecord["client_group_id"]) . ' y ' . $client_id . ' id ' . $this->id); + //$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); + $app->db->query("UPDATE web_database_user SET sys_groupid = ?, sys_perm_group = 'riud' WHERE database_user_id = ?", $client_id, $this->id); + } + if($app->auth->has_clients($_SESSION['s']['user']['userid'])/* && isset($this->dataRecord["client_group_id"])*/) { + //$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); + $app->db->query("UPDATE web_database_user SET sys_groupid = ?, sys_perm_group = 'riud' WHERE database_user_id = ?", $client_id, $this->id); + } + + $app->uses('sites_web_database_user_plugin'); + global $app; + //Register for the events + $app->plugin->registerEvent('sites:web_database_user:on_after_update', 'sites_web_database_user_plugin', 'sites_web_database_user_edit'); + $app->plugin->registerEvent('sites:web_database_user:on_after_insert', 'sites_web_database_user_plugin', 'sites_web_database_user_edit'); + + } + public function sites_database_user_add($session_id, $client_id, $params, $event_identifier = '') { global $app; /*if(!$this->checkPerm($session_id, 'sites_database_user_add')) { @@ -1746,18 +1793,18 @@ class remote_actions extends remoting { $this->id = 0; $this->dataRecord = $params; //$app->uses('sites_database_plugin'); - $app->sites_database_plugin->processDatabaseInsert($this); - + $retval = $this->insertQueryExecuteWebDNS($sql, $params); + $app->sites_database_plugin->processDatabaseInsert($this); // set correct values for backup_interval and backup_copies - if(isset($params['backup_interval']) || isset($params['backup_copies'])){ + /*if(isset($params['backup_interval']) || isset($params['backup_copies'])){ $sql_set = array(); if(isset($params['backup_interval'])) $sql_set[] = "backup_interval = '".$app->db->quote($params['backup_interval'])."'"; if(isset($params['backup_copies'])) $sql_set[] = "backup_copies = ".$app->functions->intval($params['backup_copies']); //$app->db->query("UPDATE web_database SET ".implode(', ', $sql_set)." WHERE database_id = ".$retval); $this->updateQueryExecute("UPDATE web_database SET ".implode(', ', $sql_set)." WHERE database_id = ".$retval, $retval, $params); - } + }*/ return $retval; } diff --git a/templates/new_service_webdns.htm b/templates/new_service_webdns.htm index a1c5011..5315e7e 100755 --- a/templates/new_service_webdns.htm +++ b/templates/new_service_webdns.htm @@ -15,12 +15,14 @@