* Finish task #89841.
This commit is contained in:
@@ -295,11 +295,12 @@ class group extends control
|
||||
|
||||
$relatedPrivData = $this->group->getDependentPrivs($selectedPrivIdList);
|
||||
|
||||
$this->view->privList = $privList;
|
||||
$this->view->privMethods = $privMethods;
|
||||
$this->view->selectPrivs = $selectPrivs;
|
||||
$this->view->privPackages = $privPackages;
|
||||
$this->view->relatedPrivData = json_encode($relatedPrivData);
|
||||
$this->view->privList = $privList;
|
||||
$this->view->privMethods = $privMethods;
|
||||
$this->view->selectPrivs = $selectPrivs;
|
||||
$this->view->privPackages = $privPackages;
|
||||
$this->view->selectedPrivIdList = $selectedPrivIdList;
|
||||
$this->view->relatedPrivData = json_encode($relatedPrivData);
|
||||
}
|
||||
elseif($type == 'byModule')
|
||||
{
|
||||
@@ -1060,37 +1061,7 @@ class group extends control
|
||||
*/
|
||||
public function ajaxGetDependentPrivs($privIdList)
|
||||
{
|
||||
$relatedPrivs = $this->dao->select('t1.relationPriv,t2.parent,t2.module,t2.method,t3.`key`,t3.value')->from(TABLE_PRIVRELATION)->alias('t1')
|
||||
->leftJoin(TABLE_PRIV)->alias('t2')->on('t1.relationPriv=t2.id')
|
||||
->leftJoin(TABLE_PRIVLANG)->alias('t3')->on('t2.relationPriv=t3.objectID')
|
||||
->leftJoin(TABLE_PRIVMANAGER)->alias('t4')->on('t2.parent=t4.id')
|
||||
->where('t1.priv')->in($privIdList)
|
||||
->andWhere('t1.relationPriv')->notin($privIdList)
|
||||
->andWhere('t2.type')->eq('depend')
|
||||
->andWhere('t3.objectType')->eq('priv')
|
||||
->andWhere('t1.edition')->like("%,{$this->config->edition},%")
|
||||
->andWhere('t1.vision')->like("%,{$this->config->vision},%")
|
||||
->fetchAll('relationPriv');
|
||||
|
||||
if(empty($relatedPrivs)) return print('');
|
||||
|
||||
$modulePairs = $this->group->getPrivManagerPairs('module');
|
||||
$managerList = $this->dao->select('*')->from(TABLE_PRIVMANAGER)->fetchAll('id');
|
||||
$relatedPrivs = $this->group->transformPrivLang($relatedPrivs);
|
||||
$privList = array('depend' => array(), 'recommend' => array());
|
||||
|
||||
foreach($relatedPrivs as $privID => $relatedPriv)
|
||||
{
|
||||
$module = $relatedPriv->module;
|
||||
if(!isset($privList['depend'][$module])) $privList[$type][$module] = array();
|
||||
$moduleCode = $managerList[$relatedPriv->parent]->type == 'package' ? $managerList[$managerList[$relatedPriv->parent]->parent]->code : $managerList[$relatedPriv->parent]->code;
|
||||
$privList['depend'][$module]['title'] = $modulePairs[$moduleCode];
|
||||
$privList['depend'][$module]['module'] = $moduleCode;
|
||||
$privList['depend'][$module]['children'][] = array('title' => $relatedPriv->name, 'relationPriv' => $privID);
|
||||
}
|
||||
|
||||
$privList['depend'] = array_values($privList[$type]);
|
||||
|
||||
$privList = $this->group->getDependentPrivs($privIdList);
|
||||
return print(json_encode($privList));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user