| | |
| | | //* Get the database name and database user prefix |
| | | $app->uses('getconf'); |
| | | $global_config = $app->getconf->get_global_config('sites'); |
| | | $dbname_prefix = ($global_config['dbname_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['dbname_prefix']); |
| | | $dbuser_prefix = ($global_config['dbuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['dbuser_prefix']); |
| | | $dbname_prefix = replacePrefix($global_config['dbname_prefix'], $this->dataRecord); |
| | | $dbuser_prefix = replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | |
| | | if ($this->dataRecord['database_name'] != ""){ |
| | | /* REMOVE the restriction */ |
| | |
| | | } else { |
| | | $app->tpl->setVar("database_name_prefix", $dbname_prefix); |
| | | $app->tpl->setVar("database_user_prefix", $dbuser_prefix); |
| | | } |
| | | |
| | | if($this->id > 0) { |
| | | //* we are editing a existing record |
| | | $app->tpl->setVar("edit_disabled", 'disabled="disabled"'); |
| | | } else { |
| | | $app->tpl->setVar("edit_disabled", ''); |
| | | } |
| | | |
| | | parent::onShowEnd(); |
| | |
| | | //* Get the database name and database user prefix |
| | | $app->uses('getconf'); |
| | | $global_config = $app->getconf->get_global_config('sites'); |
| | | $dbname_prefix = ($global_config['dbname_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['dbname_prefix']); |
| | | $dbuser_prefix = ($global_config['dbuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['dbuser_prefix']); |
| | | $dbname_prefix = replacePrefix($global_config['dbname_prefix'], $this->dataRecord); |
| | | $dbuser_prefix = replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | |
| | | //* Prevent that the database name and charset is changed |
| | | $old_record = $app->tform->getDataRecord($this->id); |
| | | if($old_record["database_name"] != $restriction . $this->dataRecord["database_name"]) { |
| | | if($old_record["database_name"] != $dbname_prefix . $this->dataRecord["database_name"]) { |
| | | $app->tform->errorMessage .= $app->tform->wordbook["database_name_change_txt"].'<br />'; |
| | | } |
| | | if($old_record["database_charset"] != $this->dataRecord["database_charset"]) { |
| | | $app->tform->errorMessage .= $app->tform->wordbook["database_charset_change_txt"].'<br />'; |
| | | } |
| | | |
| | | //* Database username and database name shall not be empty |
| | | if($this->dataRecord['database_name'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_name_error_empty"].'<br />'; |
| | | if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<br />'; |
| | | |
| | | //* Check if the server has been changed |
| | | // We do this only for the admin or reseller users, as normal clients can not change the server ID anyway |
| | |
| | | |
| | | if ($app->tform->errorMessage == ''){ |
| | | /* restrict the names if there is no error */ |
| | | $this->dataRecord['database_name'] = $dbname_prefix . $this->dataRecord['database_name']; |
| | | $this->dataRecord['database_user'] = $dbuser_prefix . $this->dataRecord['database_user']; |
| | | /* crop user and db names if they are too long -> mysql: user: 16 chars / db: 64 chars */ |
| | | $this->dataRecord['database_name'] = substr($dbname_prefix . $this->dataRecord['database_name'], 0, 64); |
| | | $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); |
| | | } |
| | | |
| | | parent::onBeforeUpdate(); |
| | |
| | | |
| | | function onBeforeInsert() { |
| | | global $app, $conf, $interfaceConf; |
| | | |
| | | //* Database username and database name shall not be empty |
| | | if($this->dataRecord['database_name'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_name_error_empty"].'<br />'; |
| | | 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'); |
| | | $global_config = $app->getconf->get_global_config('sites'); |
| | | $dbname_prefix = ($global_config['dbname_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['dbname_prefix']); |
| | | $dbuser_prefix = ($global_config['dbuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['dbuser_prefix']); |
| | | $dbname_prefix = replacePrefix($global_config['dbname_prefix'], $this->dataRecord); |
| | | $dbuser_prefix = replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); |
| | | |
| | | /* restrict the names */ |
| | | $this->dataRecord['database_name'] = $dbname_prefix . $this->dataRecord['database_name']; |
| | | $this->dataRecord['database_user'] = $dbuser_prefix . $this->dataRecord['database_user']; |
| | | /* crop user and db names if they are too long -> mysql: user: 16 chars / db: 64 chars */ |
| | | $this->dataRecord['database_name'] = substr($dbname_prefix . $this->dataRecord['database_name'], 0, 64); |
| | | $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); |
| | | |
| | | parent::onBeforeInsert(); |
| | | } |
| | |
| | | $app->db->query("UPDATE web_database SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_id = ".$this->id); |
| | | } |
| | | |
| | | } |
| | | |
| | | function getClientName() { |
| | | global $app, $conf; |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] != 'admin') { |
| | | // Get the group-id of the user |
| | | $client_group_id = $_SESSION["s"]["user"]["default_group"]; |
| | | } else { |
| | | // Get the group-id from the data itself |
| | | $client_group_id = $this->dataRecord['client_group_id']; |
| | | } |
| | | /* get the name of the client */ |
| | | $tmp = $app->db->queryOneRecord("SELECT name FROM sys_group WHERE groupid = " . $client_group_id); |
| | | $clientName = $tmp['name']; |
| | | if ($clientName == "") $clientName = 'default'; |
| | | $clientName = convertClientName($clientName); |
| | | |
| | | } |
| | | |
| | | } |