Sync changes v29.0.0 from IceHrmPro (https://icehrm.com/purchase-icehrmpro)
This commit is contained in:
@@ -291,6 +291,12 @@ foreach ($ams as $am) {
|
||||
}
|
||||
}
|
||||
|
||||
$extensionManager = new \Classes\ExtensionManager();
|
||||
$extensionData = $extensionManager->setupExtensions();
|
||||
$extensionIcons = $extensionData[0];
|
||||
$extensionTemp = $extensionData[1];
|
||||
$extensionMenus = array_keys($extensionIcons);
|
||||
|
||||
foreach ($adminModulesTemp as $k => $v) {
|
||||
ksort($adminModulesTemp[$k]);
|
||||
}
|
||||
@@ -299,6 +305,10 @@ foreach ($userModulesTemp as $k => $v) {
|
||||
ksort($userModulesTemp[$k]);
|
||||
}
|
||||
|
||||
foreach ($extensionTemp as $k => $v) {
|
||||
ksort($extensionTemp[$k]);
|
||||
}
|
||||
|
||||
$adminIcons = json_decode(file_get_contents(CLIENT_PATH.'/admin/meta.json'), true);
|
||||
$adminMenus = array_keys($adminIcons);
|
||||
|
||||
@@ -332,8 +342,6 @@ foreach ($userMenus as $menu) {
|
||||
}
|
||||
}
|
||||
|
||||
$mainIcons = array_merge($adminIcons, $userIcons);
|
||||
|
||||
foreach ($userModulesTemp as $k => $v) {
|
||||
if (!in_array($k, $added)) {
|
||||
$arr = array("name"=>$k,"menu"=>$userModulesTemp[$k]);
|
||||
@@ -341,6 +349,25 @@ foreach ($userModulesTemp as $k => $v) {
|
||||
}
|
||||
}
|
||||
|
||||
$extensions = array();
|
||||
foreach ($extensionMenus as $menu) {
|
||||
if (isset($extensionTemp[$menu])) {
|
||||
$arr = array("name"=>$menu,"menu"=>$extensionTemp[$menu]);
|
||||
$extensions[] = $arr;
|
||||
$added[] = $menu;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($extensionTemp as $k => $v) {
|
||||
if (!in_array($k, $added)) {
|
||||
$arr = array("name"=>$k,"menu"=>$extensionTemp[$k]);
|
||||
$extensions[] = $arr;
|
||||
}
|
||||
}
|
||||
|
||||
// Merge icons
|
||||
$mainIcons = array_merge($adminIcons, $userIcons, $extensionIcons);
|
||||
|
||||
//Remove modules having no permissions
|
||||
if (!empty($user)) {
|
||||
if (!empty($user->user_roles)) {
|
||||
@@ -393,4 +420,24 @@ if (!empty($user)) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($extensions as $fk => $menu) {
|
||||
foreach ($menu['menu'] as $key => $item) {
|
||||
// If the user's once of the user roles are blacklisted for the module
|
||||
$commonRoles = array_intersect($item['user_roles_blacklist'], $userRoles);
|
||||
if (!empty($commonRoles)) {
|
||||
unset($extensions[$fk]['menu'][$key]);
|
||||
}
|
||||
if (!in_array($user->user_level, $item['user_levels'])) {
|
||||
if (!empty($userRoles)) {
|
||||
$commonRoles = array_intersect($item['user_roles'], $userRoles);
|
||||
if (empty($commonRoles)) {
|
||||
unset($extensions[$fk]['menu'][$key]);
|
||||
}
|
||||
} else {
|
||||
unset($extensions[$fk]['menu'][$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user