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
 | 
						|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 | 
						|
 | 
						|
?>
 |