* refactor.
This commit is contained in:
+27
-30
@@ -49,7 +49,7 @@ class commonModel extends model
|
||||
|
||||
if($this->loadModel('setting')->getItem('owner=system&module=sso&key=turnon'))
|
||||
{
|
||||
if(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on')
|
||||
if(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on')
|
||||
{
|
||||
$session = $this->config->sessionVar . '=' . session_id();
|
||||
header("Set-Cookie: $session; SameSite=None; Secure=true", false);
|
||||
@@ -204,7 +204,7 @@ class commonModel extends model
|
||||
/**
|
||||
* Deny access.
|
||||
*
|
||||
* @param varchar $module
|
||||
* @param varchar $module
|
||||
* @param varchar $method
|
||||
* @param bool $reload
|
||||
* @access public
|
||||
@@ -454,28 +454,28 @@ class commonModel extends model
|
||||
{
|
||||
/* Replace for dropdown submenu. */
|
||||
if(isset($lang->$model->subMenu->$key))
|
||||
{
|
||||
{
|
||||
$programSubMenu = $lang->$model->subMenu->$key;
|
||||
$subMenu = common::createSubMenu($programSubMenu, $app->session->PRJ);
|
||||
|
||||
if(!empty($subMenu))
|
||||
{
|
||||
{
|
||||
foreach($subMenu as $menuKey => $menu)
|
||||
{
|
||||
$itemMenu = zget($programSubMenu, $menuKey, '');
|
||||
{
|
||||
$itemMenu = zget($programSubMenu, $menuKey, '');
|
||||
$isActive['method'] = ($moduleName == strtolower($menu->link['module']) and $methodName == strtolower($menu->link['method']));
|
||||
$isActive['alias'] = ($moduleName == strtolower($menu->link['module']) and (is_array($itemMenu) and isset($itemMenu['alias']) and strpos($itemMenu['alias'], $methodName) !== false));
|
||||
$isActive['subModule'] = (is_array($itemMenu) and isset($itemMenu['subModule']) and strpos($itemMenu['subModule'], $moduleName) !== false);
|
||||
|
||||
if($isActive['method'] or $isActive['alias'] or $isActive['subModule'])
|
||||
{
|
||||
{
|
||||
$lang->menu->$model->{$key}['link'] = $menu->text . "|" . join('|', $menu->link);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$lang->menu->$model->{$key}['subMenu'] = $subMenu;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -538,7 +538,6 @@ class commonModel extends model
|
||||
global $app, $lang;
|
||||
|
||||
$lastMenu = end($lang->mainNav);
|
||||
echo "<ul class='nav nav-default'>\n";
|
||||
foreach($lang->mainNav as $group => $nav)
|
||||
{
|
||||
$active = '';
|
||||
@@ -582,8 +581,6 @@ class commonModel extends model
|
||||
}
|
||||
if(count($executions) > 5) echo '<li onclick="getExecutions();" id="loadMore" class="text-center"><span>' . $lang->more . '</span></li>';
|
||||
}
|
||||
|
||||
echo "</ul>\n";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -667,7 +664,7 @@ class commonModel extends model
|
||||
if(isset($subMenuItem->link['vars'])) $subParams = $subMenuItem->link['vars'];
|
||||
|
||||
$subLink = helper::createLink($subModule, $subMethod, $subParams);
|
||||
if($subMenuItem->name == 'program')
|
||||
if($subMenuItem->name == 'program')
|
||||
{
|
||||
/* Print program sub menu.*/
|
||||
global $dbh;
|
||||
@@ -1737,7 +1734,7 @@ EOD;
|
||||
|
||||
/* If is the program admin, have all program privs. */
|
||||
$inProject = isset($lang->navGroup->$module) && $lang->navGroup->$module == 'project';
|
||||
if($inProject && $app->session->PRJ && strpos(",{$app->user->rights['projects']},", ",{$app->session->PRJ},") !== false) return true;
|
||||
if($inProject && $app->session->PRJ && strpos(",{$app->user->rights['projects']},", ",{$app->session->PRJ},") !== false) return true;
|
||||
|
||||
/* If not super admin, check the rights. */
|
||||
$rights = $app->user->rights['rights'];
|
||||
@@ -1794,14 +1791,14 @@ EOD;
|
||||
$this->app->user->rights = $this->loadModel('user')->authorize($this->app->user->account);
|
||||
$rights = $this->app->user->rights['rights'];
|
||||
if($program->auth == 'extend') $this->app->user->rights['rights'] = array_merge_recursive($programRightGroup, $rights);
|
||||
if($program->auth == 'reset')
|
||||
if($program->auth == 'reset')
|
||||
{
|
||||
/* If priv way is reset, unset common program priv, and cover by program priv. */
|
||||
foreach($rights as $moduleKey => $methods)
|
||||
foreach($rights as $moduleKey => $methods)
|
||||
{
|
||||
if(in_array($moduleKey, $this->config->programPriv->waterfall)) unset($rights[$moduleKey]);
|
||||
}
|
||||
|
||||
|
||||
$this->app->user->rights['rights'] = array_merge($rights, $programRightGroup);
|
||||
}
|
||||
}
|
||||
@@ -2322,28 +2319,28 @@ EOD;
|
||||
* @return string
|
||||
*/
|
||||
public static function processMenuVars($menus)
|
||||
{
|
||||
{
|
||||
global $app, $lang;
|
||||
if(empty($menus)) return;
|
||||
foreach($menus as $name => $setting)
|
||||
{
|
||||
{
|
||||
$link = is_array($setting) ? $setting['link'] : $setting;
|
||||
|
||||
if(strpos($link, "{PRODUCT}") !== false) $link = str_replace('{PRODUCT}', $app->session->product, $link);
|
||||
if(strpos($link, "{EXECUTION}") !== false) $link = str_replace('{EXECUTION}', $app->session->project, $link);
|
||||
if(strpos($link, "{PROJECT}") !== false) $link = str_replace('{PROJECT}', $app->session->PRJ, $link);
|
||||
|
||||
if(is_array($setting))
|
||||
{
|
||||
if(is_array($setting))
|
||||
{
|
||||
$setting['link'] = $link;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
$setting = $link;
|
||||
}
|
||||
}
|
||||
|
||||
$menus->$name = $setting;
|
||||
}
|
||||
}
|
||||
|
||||
return $menus;
|
||||
}
|
||||
@@ -2396,12 +2393,12 @@ EOD;
|
||||
global $app, $lang, $dbh;
|
||||
$program = $dbh->query("SELECT * FROM " . TABLE_PROJECT . " WHERE `id` = '{$app->session->PRJ}'")->fetch();
|
||||
if(empty($program)) return;
|
||||
if($program->model == 'waterfall')
|
||||
if($program->model == 'waterfall')
|
||||
{
|
||||
$lang->navGroup->product = 'project';
|
||||
$lang->$moduleName->menu = self::processMenuVars($lang->$moduleName->menu);
|
||||
}
|
||||
if($program->model == 'scrum')
|
||||
if($program->model == 'scrum')
|
||||
{
|
||||
unset($lang->stakeholder->menu->issue);
|
||||
unset($lang->stakeholder->menu->plan);
|
||||
|
||||
Reference in New Issue
Block a user