Modification fonction grant
This commit is contained in:
parent
05eac0153f
commit
6748cf3c6d
|
@ -245,6 +245,7 @@ class m_mysql {
|
||||||
// Ok, database does not exist, quota is ok and dbname is compliant. Let's proceed
|
// Ok, database does not exist, quota is ok and dbname is compliant. Let's proceed
|
||||||
$db->query("INSERT INTO db (uid,login,pass,db,bck_mode) VALUES ('$cuid','$myadm','$password','$dbname',0);");
|
$db->query("INSERT INTO db (uid,login,pass,db,bck_mode) VALUES ('$cuid','$myadm','$password','$dbname',0);");
|
||||||
$dbname=str_replace('_','\_',$dbname);
|
$dbname=str_replace('_','\_',$dbname);
|
||||||
|
echo $admin;echo $dbname;die();
|
||||||
$this->grant($dbname,$myadm,"ALL PRIVILEGES",$password);
|
$this->grant($dbname,$myadm,"ALL PRIVILEGES",$password);
|
||||||
$this->dbus->query("FLUSH PRIVILEGES;");
|
$this->dbus->query("FLUSH PRIVILEGES;");
|
||||||
return true;
|
return true;
|
||||||
|
@ -374,9 +375,9 @@ class m_mysql {
|
||||||
**/
|
**/
|
||||||
function grant($base,$user,$rights=null,$pass=null,$table='*'){
|
function grant($base,$user,$rights=null,$pass=null,$table='*'){
|
||||||
global $err,$db;
|
global $err,$db;
|
||||||
$err->log("mysql","grant");
|
$err->log("mysql","grant",$base);
|
||||||
|
|
||||||
if(!preg_match("#^[0-9a-z_\\\\]*$#",$base)){
|
if(!preg_match("#^[0-9a-z_\\*\\\\]*$#",$base)){
|
||||||
$err->raise("mysql",2);
|
$err->raise("mysql",2);
|
||||||
return false;
|
return false;
|
||||||
}elseif(!$db->query("select db from db where db='$base';")){
|
}elseif(!$db->query("select db from db where db='$base';")){
|
||||||
|
@ -395,12 +396,18 @@ class m_mysql {
|
||||||
$err->raise("mysql",5);
|
$err->raise("mysql",5);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(!$db->query("select name from dbusers where name='".$user."' ;")){
|
|
||||||
|
$db->query("select name from dbusers where name='".$user."' ;");
|
||||||
|
|
||||||
|
if(!$db->num_rows()){
|
||||||
$err->raise("mysql",6);
|
$err->raise("mysql",6);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if($rights == "FILE"){
|
||||||
|
$grant="grant ".$rights." on ".$base.".".$table." to '".$user."'@'".$this->dbus->Host."'" ;
|
||||||
|
}else{
|
||||||
$grant="grant ".$rights." on `".$base."`.".$table." to '".$user."'@'".$this->dbus->Host."'" ;
|
$grant="grant ".$rights." on `".$base."`.".$table." to '".$user."'@'".$this->dbus->Host."'" ;
|
||||||
|
}
|
||||||
|
|
||||||
if($pass){
|
if($pass){
|
||||||
$grant .= " identified by '".$pass."';";
|
$grant .= " identified by '".$pass."';";
|
||||||
|
@ -408,7 +415,7 @@ class m_mysql {
|
||||||
$grant .= ";";
|
$grant .= ";";
|
||||||
}
|
}
|
||||||
if(!$this->dbus->query($grant)){
|
if(!$this->dbus->query($grant)){
|
||||||
$err->raise("mysql",6);
|
$err->raise("mysql",7);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -750,14 +757,10 @@ class m_mysql {
|
||||||
$myadm=$db->f("name");
|
$myadm=$db->f("name");
|
||||||
$password=$db->f("password");
|
$password=$db->f("password");
|
||||||
}else{
|
}else{
|
||||||
if (strlen($mem->user["login"]) > 9) { //MYSQL doesn't allow login larger dans 16 characters
|
$myadm=$cuid."_myadm";
|
||||||
$myadm=substr($mem->user["login"],0,9);
|
|
||||||
$myadm=$myadm."_myadm";
|
|
||||||
}else{
|
|
||||||
$myadm=$mem->user["login"]."_myadm";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$chars = "234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
$chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$password = "";
|
$password = "";
|
||||||
while ($i <= 8) {
|
while ($i <= 8) {
|
||||||
|
@ -765,7 +768,7 @@ class m_mysql {
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$db->query("INSERT INTO dbusers (uid,name,password,enable) VALUES ('$cuid','$myadm','$password','ADMIN');");
|
$db->query("INSERT INTO dbusers (uid,name,password,enable) VALUES ('$cuid','$myadm','$password','ADMIN');");
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue