66 lines
1.9 KiB
PHP
66 lines
1.9 KiB
PHP
#!/usr/bin/php
|
|
<?php
|
|
|
|
// we don't check our AlternC session
|
|
if(!chdir("/usr/share/alternc/panel"))
|
|
exit(1);
|
|
require("/usr/share/alternc/panel/class/config_nochk.php");
|
|
|
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
// FIRST PART : populate the table db_servers
|
|
|
|
|
|
# Use the dbusers file if exist, else use default alternc configuration
|
|
if ( is_readable("/etc/alternc/dbusers.cnf") ) {
|
|
$mysqlconf=file_get_contents("/etc/alternc/dbusers.cnf");
|
|
} else {
|
|
$mysqlconf=file_get_contents("/etc/alternc/my.cnf");
|
|
}
|
|
$mysqlconf=explode("\n",$mysqlconf);
|
|
|
|
# Read the configuration
|
|
foreach ($mysqlconf as $line) {
|
|
# First, read the "standard" configuration
|
|
if (preg_match('/^([A-Za-z0-9_]*) *= *"?(.*?)"?$/', trim($line), $regs)) {
|
|
switch ($regs[1]) {
|
|
case "user":
|
|
$user = $regs[2];
|
|
break;
|
|
case "password":
|
|
$password = $regs[2];
|
|
break;
|
|
case "host":
|
|
$host = $regs[2];
|
|
break;
|
|
}
|
|
}
|
|
# Then, read specific alternc configuration
|
|
if (preg_match('/^#alternc_var ([A-Za-z0-9_]*) *= *"?(.*?)"?$/', trim($line), $regs)) {
|
|
$$regs[1]=$regs[2];
|
|
}
|
|
}
|
|
|
|
# Set value of human_host if unset
|
|
if (! isset($human_hostname) || empty($human_hostname)) {
|
|
if ( checkip($host) || checkipv6($host) ) {
|
|
$human_hostname = gethostbyaddr($host);
|
|
} else {
|
|
$human_hostname = $host;
|
|
}
|
|
}
|
|
|
|
// populate it if there is not entry
|
|
$db->query("select * from db_servers;");
|
|
if ($db->num_rows()==0) {
|
|
$db->query(" insert into db_servers (name, host, login, password, client) values ('".mysql_escape_string($human_hostname)."','".mysql_escape_string($host)."','".mysql_escape_string($user)."','".mysql_escape_string($password)."','".mysql_escape_string($L_MYSQL_CLIENT)."');");
|
|
}
|
|
|
|
// set the membres.db_server_id
|
|
$db->query(" update membres set db_server_id = (select max(id) from db_servers) where db_server_id is null ;");
|
|
|
|
// END of db_servers part
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
?>
|