Fixed: Some problems with AMS, patches by depyraken (thanks a lot!)

This commit is contained in:
kervala 2016-05-08 13:28:25 +02:00
parent c303fa16e4
commit be17d6664c
2 changed files with 23 additions and 28 deletions

View file

@ -336,34 +336,29 @@ class Users{
public static function createPermissions($pvalues) { public static function createPermissions($pvalues) {
try { try {
$values = array('username' => $pvalues[0]); // bind to the shard database (guess so :p)
$dbs = new DBLayer("shard"); $dbs = new DBLayer("shard");
$sth = $dbs->selectWithParameter("UId", "user", $values, "Login= :username");
$result = $sth->fetchAll();
$dbl = new DBLayer("lib");
// retrieve the user UId
$values = array('username' => $pvalues[0]);
$statement = $dbs->selectWithParameter("UId", "user", $values, "Login= :username");
$result = $statement->fetchAll();
$UId = $result['0']['UId']; $UId = $result['0']['UId'];
$statement = $dbl->execute("SELECT * FROM `settings` WHERE `Setting` = :setting", Array('setting' => 'Domain_Auto_Add')); // retrieve the default access privileges (don't understand what exactly is done)
$dbl = new DBLayer("lib");
$statement = $dbl->execute("SELECT Value FROM `settings` WHERE `Setting` = :setting", Array('setting' => 'Domain_Auto_Add'));
//$statement = $dbl->execute("SELECT * FROM `settings` WHERE `Setting` = :setting", Array('setting' => 'Domain_Auto_Add'));
$json = $statement->fetch(); $json = $statement->fetch();
$json = json_decode($json['Value'],true); $accessPriv = $json['Value'];
//$accessPriv = json_decode($json['Value'],true);
$db = new DBLayer( 'shard' ); // get all shardIds and domain_ids
$statement = $dbs -> executeWithoutParams( "SELECT ShardId, domain_id FROM shard" );
$shardIds = $statement -> fetchAll();
// get all domains foreach($shardIds as $shardId) { // add default access privileges to the user for each shard
$statement = $db -> executeWithoutParams( "SELECT * FROM domain" ); $ins_values = array('UId' => $UId, 'DomainId' => $shardId['domain_id'], 'ShardId' => $shardId['ShardId'], 'AccessPrivilege' => $accessPriv);
$rows = $statement -> fetchAll();
//error_log(print_r($rows,true));
//error_log(print_r($result,true));
//error_log(print_r($json,true));
if ($json) foreach ($json as $key => $value) {
//error_log(print_r($key,true));
//error_log(print_r($value,true));
$ins_values = array('UId' => $UId, 'DomainId' => $key, 'AccessPrivilege' => $value['1']);
error_log(print_r($ins_values,true));
$dbs = new DBLayer("shard");
$dbs->insert("permission", $ins_values); $dbs->insert("permission", $ins_values);
} }
} }

View file

@ -156,7 +156,7 @@ function domain_management_hook_return_global()
} }
function api_key_management_hook_activate() function domain_management_hook_activate()
{ {
$dbl = new DBLayer( "lib" ); $dbl = new DBLayer( "lib" );
$sql = "INSERT INTO `settings` (Setting) $sql = "INSERT INTO `settings` (Setting)