Compiler: allow to set the flags enable_class/enable_action etc. for a TemplateMenuNode (already taken into account at runtime)

SVN:trunk[2790]
This commit is contained in:
Romain Quetiez
2013-07-04 14:17:23 +00:00
parent e517f2b6f5
commit d7124123e9

View File

@@ -1014,7 +1014,7 @@ EOF;
$sParentSpec = '-1';
}
$fRank = $oMenu->GetChildText('rank');
$fRank = (float) $oMenu->GetChildText('rank');
switch($sMenuClass)
{
case 'WebPageMenuNode':
@@ -1056,12 +1056,6 @@ EOF;
$sNewMenu = "new DashboardMenuNode('$sMenuId', $sTemplateSpec, $sParentSpec, $fRank);";
break;
case 'TemplateMenuNode':
$sTemplateFile = $oMenu->GetChildText('template_file');
$sTemplateSpec = $this->PathToPHP($sTemplateFile, $sModuleRelativeDir);
$sNewMenu = "new TemplateMenuNode('$sMenuId', $sTemplateSpec, $sParentSpec, $fRank);";
break;
case 'ShortcutContainerMenuNode':
$sNewMenu = "new ShortcutContainerMenuNode('$sMenuId', $sParentSpec, $fRank);";
break;
@@ -1082,14 +1076,38 @@ EOF;
$sNewMenu = "new SearchMenuNode('$sMenuId', '$sClass', $sParentSpec, $fRank);";
break;
case 'TemplateMenuNode':
$sTemplateFile = $oMenu->GetChildText('template_file');
$sTemplateSpec = $this->PathToPHP($sTemplateFile, $sModuleRelativeDir);
if ($sEnableClass = $oMenu->GetChildText('enable_class'))
{
$sEnableAction = $oMenu->GetChildText('enable_action', 'null');
$sEnablePermission = $oMenu->GetChildText('enable_permission', 'UR_ALLOWED_YES');
$sEnableStimulus = $oMenu->GetChildText('enable_stimulus');
if ($sEnableStimulus != null)
{
$sNewMenu = "new TemplateMenuNode('$sMenuId', $sTemplateSpec, $sParentSpec, $fRank, '$sEnableClass', $sEnableAction, $sEnablePermission, '$sEnableStimulus');";
}
else
{
$sNewMenu = "new TemplateMenuNode('$sMenuId', $sTemplateSpec, $sParentSpec, $fRank, '$sEnableClass', $sEnableAction, $sEnablePermission);";
}
}
else
{
$sNewMenu = "new TemplateMenuNode('$sMenuId', $sTemplateSpec, $sParentSpec, $fRank);";
}
break;
case 'MenuGroup':
default:
if ($sEnableClass = $oMenu->GetChildText('enable_class'))
{
$sEnableAction = $oMenu->GetChildText('enable_action');
$sEnablePermission = $oMenu->GetChildText('enable_permission');
$sEnableAction = $oMenu->GetChildText('enable_action', 'null');
$sEnablePermission = $oMenu->GetChildText('enable_permission', 'UR_ALLOWED_YES');
$sEnableStimulus = $oMenu->GetChildText('enable_stimulus');
if (strlen($sEnableStimulus) > 0)
if ($sEnableStimulus != null)
{
$sNewMenu = "new $sMenuClass('$sMenuId', $fRank, '$sEnableClass', $sEnableAction, $sEnablePermission, '$sEnableStimulus');";
}