9 $f=@fopen(
"/etc/alternc/my.cnf",
"rb");
11 echo
"Can't open /etc/alternc/my.cnf !\n";
16 while ($s=fgets(
$f,1024)) {
17 if (preg_match(
'#database="([^"]*)#',$s,$mat)) {
20 if (preg_match(
'#host="([^"]*)#',$s,$mat)) {
23 if (preg_match(
'#user="([^"]*)#',$s,$mat)) {
26 if (preg_match(
'#password="([^"]*)#',$s,$mat)) {
32 echo
"Can't find data in /etc/alternc/my.cnf\n";
37 $chars =
"1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
40 while (
$i <= $length) {
41 $password .= @$chars{mt_rand(0,strlen($chars))};
47 require_once(
"/usr/share/alternc/panel/class/db_mysql.php");
50 echo
"Can't connect to MySQL !\n";
55 $db->query(
"UPDATE dbusers SET enable='ACTIVATED' WHERE name!=CONCAT(uid,'_myadm');");
57 $db->query(
"SELECT * FROM db_servers");
60 while (
$db->next_record()) {
64 echo
"Can't connect to server having id ".$c[
"id"].
" at host ".
$c[
"host"].
" EXITING !\n";
70 $r=
$db->query(
"SELECT uid, login, db_server_id FROM membres;");
71 while (
$db->next_record()) {
73 $membres[
$c[
"uid"]]=array(
$c[
"login"],
$c[
"db_server_id"]);
76 foreach($membres as
$uid => $data) {
79 $db->query(
"SELECT * FROM dbusers WHERE uid=$uid AND NAME='".
$uid.
"_myadm';");
80 if (!
$db->next_record()) {
81 echo
"Creating user ".$uid.
"_myadm for login ".$membre.
"\n";
83 $db->query(
"INSERT INTO dbusers SET uid=$uid, name='".
$uid.
"_myadm', password='$pass', enable='ADMIN';");
84 if (is_array(
$db->last_error())) echo implode(
"\n",
$db->last_error());
86 $pass=
$ok[
"password"];
88 echo
"Granting rights to user ".$uid.
"_myadm for login ".$membre.
" ... ";
90 $srv[$srvid]->query(
"GRANT USAGE ON *.* TO '".
$uid.
"_myadm'@'".
$client[$srvid].
"' IDENTIFIED BY '$pass';");
91 if (is_array(
$srv[$srvid]->last_error())) echo implode(
"\n",
$srv[$srvid]->last_error());
92 $t=
$db->query(
"SELECT * FROM db WHERE uid=$uid;");
93 if (is_array(
$db->last_error())) echo implode(
"\n",
$db->last_error());
94 while (
$db->next_record()) {
96 $srv[$srvid]->query(
"GRANT ALL ON ".
$d[
"db"].
".* TO '".
$uid.
"_myadm'@'".
$client[$srvid].
"';");
98 if (is_array(
$srv[$srvid]->last_error())) echo implode(
"\n",
$srv[$srvid]->last_error());
if(! $mdb||! $mhost||! $muser||! $mpass) create_pass($length=8)
while($db->next_record()) $r
foreach($domaines_user as $domaine) $t