#!/usr/bin/php query("UPDATE dbusers SET enable='ACTIVATED' WHERE name!=CONCAT(uid,'_myadm');"); $db->query("SELECT * FROM db_servers"); $srv=array(); $client=array(); while ($db->next_record()) { $c=$db->Record; $srv[$c["id"]]=new DB_Sql("mysql",$c["host"],$c["login"],$c["password"]); if (!$srv[$c["id"]]) { echo "Can't connect to server having id ".$c["id"]." at host ".$c["host"]." EXITING !\n"; exit(); } $client[$c["id"]]=$c["client"]; } $r=$db->query("SELECT uid, login, db_server_id FROM membres;"); while ($db->next_record()) { $c=$db->Record; $membres[$c["uid"]]=array($c["login"],$c["db_server_id"]); } foreach($membres as $uid => $data) { $membre=$data[0]; $srvid=$data[1]; $db->query("SELECT * FROM dbusers WHERE uid=$uid AND NAME='".$uid."_myadm';"); if (!$db->next_record()) { echo "Creating user ".$uid."_myadm for login ".$membre."\n"; $pass=create_pass(8); $db->query("INSERT INTO dbusers SET uid=$uid, name='".$uid."_myadm', password='$pass', enable='ADMIN';"); if (is_array($db->last_error())) echo implode("\n",$db->last_error()); } else { $pass=$ok["password"]; } echo "Granting rights to user ".$uid."_myadm for login ".$membre." ... "; // Now granting him access to all user's databases $srv[$srvid]->query("GRANT USAGE ON *.* TO '".$uid."_myadm'@'".$client[$srvid]."' IDENTIFIED BY '$pass';"); if (is_array($srv[$srvid]->last_error())) echo implode("\n",$srv[$srvid]->last_error()); $t=$db->query("SELECT * FROM db WHERE uid=$uid;"); if (is_array($db->last_error())) echo implode("\n",$db->last_error()); while ($db->next_record()) { $d=$db->Record; $srv[$srvid]->query("GRANT ALL ON ".$d["db"].".* TO '".$uid."_myadm'@'".$client[$srvid]."';"); echo " ".$d["db"]; if (is_array($srv[$srvid]->last_error())) echo implode("\n",$srv[$srvid]->last_error()); } echo "\n"; }