| | |
| | | |
| | | require_once('../../lib/config.inc.php'); |
| | | require_once('../../lib/app.inc.php'); |
| | | require_once('tools.inc.php'); |
| | | |
| | | //* Check permissions for module |
| | | $app->auth->check_module_permissions('sites'); |
| | |
| | | */ |
| | | |
| | | //* Get the database user prefix |
| | | $app->uses('getconf'); |
| | | $app->uses('getconf,tools_sites'); |
| | | $global_config = $app->getconf->get_global_config('sites'); |
| | | $dbuser_prefix = replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | |
| | | if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | | // Get the limits of the client |
| | |
| | | global $app, $conf, $interfaceConf; |
| | | |
| | | //* Get the database user prefix |
| | | $app->uses('getconf'); |
| | | $app->uses('getconf,tools_sites'); |
| | | $global_config = $app->getconf->get_global_config('sites'); |
| | | $dbuser_prefix = replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | |
| | | //* Database username shall not be empty |
| | | if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<br />'; |
| | |
| | | |
| | | //* Check database user against blacklist |
| | | $dbuser_blacklist = array($conf['db_user'],'mysql','root'); |
| | | if(in_array($dbname_prefix . $this->dataRecord['database_user'],$dbname_blacklist)) { |
| | | if(in_array($dbuser_prefix . $this->dataRecord['database_user'],$dbuser_blacklist)) { |
| | | $app->tform->errorMessage .= $app->lng('Database user not allowed.').'<br />'; |
| | | } |
| | | |
| | |
| | | $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); |
| | | } |
| | | |
| | | $this->dataRecord['server_id'] = $conf['server_id']; |
| | | |
| | | parent::onBeforeUpdate(); |
| | | } |
| | | |
| | |
| | | if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<br />'; |
| | | |
| | | //* Get the database name and database user prefix |
| | | $app->uses('getconf'); |
| | | $app->uses('getconf,tools_sites'); |
| | | $global_config = $app->getconf->get_global_config('sites'); |
| | | $dbuser_prefix = replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | |
| | | if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16) $app->tform->errorMessage .= str_replace('{user}',$dbuser_prefix . $this->dataRecord['database_user'],$app->tform->wordbook["database_user_error_len"]).'<br />'; |
| | | |
| | | //* Check database user against blacklist |
| | | $dbuser_blacklist = array($conf['db_user'],'mysql','root'); |
| | | if(is_array($dbname_blacklist) && in_array($dbname_prefix . $this->dataRecord['database_user'],$dbname_blacklist)) { |
| | | if(is_array($dbuser_blacklist) && in_array($dbuser_prefix . $this->dataRecord['database_user'],$dbuser_blacklist)) { |
| | | $app->tform->errorMessage .= $app->lng('Database user not allowed.').'<br />'; |
| | | } |
| | | |
| | |
| | | $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); |
| | | } |
| | | |
| | | $this->dataRecord['server_id'] = $conf['server_id']; |
| | | |
| | | parent::onBeforeInsert(); |
| | | } |
| | | |
| | |
| | | global $app, $conf; |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { |
| | | $client_group_id = intval($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 = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); |
| | | } |
| | | if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) { |
| | | $client_group_id = intval($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 = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); |
| | | } |
| | | } |
| | |
| | | global $app, $conf; |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { |
| | | $client_group_id = intval($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 = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); |
| | | } |
| | | if($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($this->dataRecord["client_group_id"])) { |
| | | $client_group_id = intval($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 = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); |
| | | } |
| | | |
| | | |
| | | $old_rec = $app->db->queryOneRecord("SELECT * FROM web_database_user WHERE database_user_id = '".$this->id."'"); |
| | | |
| | | $records = $app->db->queryAllRecords("SELECT DISTINCT server_id FROM web_database WHERE database_user_id = '".$app->functions->intval($this->id)."' UNION SELECT DISTINCT server_id FROM web_database WHERE database_ro_user_id = '".$app->functions->intval($this->id)."'"); |
| | | foreach($records as $rec) { |
| | | $new_rec = $this->dataRecord; |
| | | $new_rec['server_id'] = $rec['server_id']; |
| | | $app->db->datalogSave('web_database_user', 'UPDATE', 'database_user_id', $this->id, $old_rec, $new_rec); |
| | | } |
| | | unset($new_rec); |
| | | } |
| | | |
| | | } |