* Finish task #89846.

This commit is contained in:
liumengyi
2023-04-06 13:25:29 +08:00
parent 48048085c9
commit bba7fa92d7
3 changed files with 42 additions and 18 deletions
+35
View File
@@ -2005,4 +2005,39 @@ class groupModel extends model
return $needPairs ? $privPairs : $privs;
}
/**
* Get custom privs.
*
* @param string $menu
* @param array $privs
* @access public
* @return array
*/
public function getCustomPrivs($menu, $privs = array())
{
$allPrivs = $this->dao->select('module,method')->from(TABLE_PRIV)->fetchGroup('module', 'method');
foreach($this->lang->resource as $module => $methods)
{
foreach($methods as $method => $methodLabel)
{
if(isset($allPrivs[$module][$method])) continue;
if(!$this->checkMenuModule($menu, $module)) continue;
if(!isset($this->lang->{$module}->{$methodLabel})) $this->app->loadLang($module);
$key = "{$module}-{$methodLabel}";
$priv = new stdclass();
$priv->module = $module;
$priv->method = $method;
$priv->parent = 0;
$priv->key = $key;
$priv->parentCode = $module;
$priv->moduleOrder = 0;
$priv->name = $this->lang->{$module}->{$methodLabel};
$privs[$key] = $priv;
}
}
return $privs;
}
}