mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
issue 2363 save auth and exposure config
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11715 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
40582750b3
commit
bd5770f463
2 changed files with 91 additions and 12 deletions
|
|
@ -2,6 +2,7 @@
|
|||
<module>
|
||||
<grants />
|
||||
<permission action="getMenuAdminSiteMap" target="manager" />
|
||||
<permission action="procMenuAdminUpdateAuth" target="manager" />
|
||||
<permissions />
|
||||
<actions>
|
||||
<action name="dispMenuAdminContent" type="view" standalone="true" />
|
||||
|
|
@ -32,6 +33,7 @@
|
|||
<action name="procMenuAdminUploadButton" type="controller" standalone="true" />
|
||||
<action name="procMenuAdminDeleteButton" type="controller" standalone="true" />
|
||||
<action name="procMenuAdminAllActList" type="controller" standalone="true" />
|
||||
<action name="procMenuAdminUpdateAuth" type="controller" standalone="true" />
|
||||
|
||||
<action name="dispMenuMenu" type="mobile" standalone="true" />
|
||||
</actions>
|
||||
|
|
|
|||
|
|
@ -410,18 +410,6 @@
|
|||
return $output->toBool();
|
||||
}
|
||||
|
||||
public function procMenuAdminInsertItem_old($request = NULL)
|
||||
{
|
||||
// check shortcut
|
||||
if($args->is_shortcut == 'Y')
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Update an item to the menu, simple version
|
||||
* @return void
|
||||
|
|
@ -1148,6 +1136,95 @@
|
|||
$this->setRedirectUrl($returnUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update menu auth (Exposure and Access)
|
||||
* @return void
|
||||
*/
|
||||
public function procMenuAdminUpdateAuth()
|
||||
{
|
||||
$menuItemSrl = Context::get('menu_item_srl');
|
||||
$exposureTarget = Context::get('exposure_target');
|
||||
$exposureGroupList = Context::get('exposure_group_list');
|
||||
|
||||
$oMenuModel = &getAdminModel('menu');
|
||||
$itemInfo = $oMenuModel->getMenuItemInfo($menuItemSrl);
|
||||
$args = $itemInfo;
|
||||
|
||||
// Menu Exposure update
|
||||
// if exposure target is only login user...
|
||||
if($exposureTarget == -1)
|
||||
{
|
||||
$args->group_srls = -1;
|
||||
}
|
||||
else if($exposureGroupList)
|
||||
{
|
||||
if(is_array($exposureGroupList))
|
||||
{
|
||||
$args->group_srls = implode(',', $exposureGroupList);
|
||||
}
|
||||
else
|
||||
{
|
||||
$args->group_srls = $exposureGroupList;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$args->group_srls = '';
|
||||
}
|
||||
|
||||
$output = executeQuery('menu.updateMenuItem', $args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
// Module Access update
|
||||
unset($args);
|
||||
$oMenuAdminModel = &getAdminModel('menu');
|
||||
$menuInfo = $oMenuAdminModel->getMenu($itemInfo->menu_srl);
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$moduleInfo = $oModuleModel->getModuleInfoByMid($itemInfo->url, $menuInfo->site_srl);
|
||||
|
||||
$xml_info = $oModuleModel->getModuleActionXML($moduleInfo->module);
|
||||
|
||||
$grantList = $xml_info->grant;
|
||||
$grantList->access->default = 'guest';
|
||||
$grantList->manager->default = 'manager';
|
||||
|
||||
foreach($grantList AS $grantName=>$grantInfo)
|
||||
{
|
||||
// Get the default value
|
||||
$default = Context::get($grantName.'_default');
|
||||
|
||||
// -1 = Log-in user only, -2 = site members only, 0 = all users
|
||||
if(strlen($default))
|
||||
{
|
||||
$grant->{$grantName}[] = $default;
|
||||
continue;
|
||||
}
|
||||
// users in a particular group
|
||||
else
|
||||
{
|
||||
$group_srls = Context::get($grantName);
|
||||
if($group_srls) {
|
||||
if(strpos($group_srls,'|@|')!==false) $group_srls = explode('|@|',$group_srls);
|
||||
elseif(strpos($group_srls,',')!==false) $group_srls = explode(',',$group_srls);
|
||||
else $group_srls = array($group_srls);
|
||||
$grant->{$grantName} = $group_srls;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
$grant->{$group_srls} = array();
|
||||
}
|
||||
|
||||
if(count($grant))
|
||||
{
|
||||
$oModuleController = getController('module');
|
||||
$oModuleController->insertModuleGrants($moduleInfo->module_srl, $grant);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate XML file for menu and return its location
|
||||
* @param int $menu_srl
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue