|
@@ -1584,114 +1584,3 @@ class MenuBlock extends DisplayBlock
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-/**
|
|
|
- * Some dummy menus for testing
|
|
|
- */
|
|
|
-class ExtraMenus implements iPopupMenuExtension
|
|
|
-{
|
|
|
- /*
|
|
|
- const MENU_OBJLIST_ACTIONS = 1; // $param is a DBObjectSet containing the list of objects
|
|
|
- const MENU_OBJLIST_TOOLKIT = 2; // $param is a DBObjectSet containing the list of objects
|
|
|
- const MENU_OBJDETAILS_ACTIONS = 3; // $param is a DBObject instance: the object currently displayed
|
|
|
- const MENU_DASHBOARD_ACTIONS = 4; // $param is a Dashboard instance: the dashboard currently displayed
|
|
|
- const MENU_USER_ACTIONS = 5; // $param is a null ??
|
|
|
- */
|
|
|
-
|
|
|
- /**
|
|
|
- * Get the list of items to be added to a menu. The items will be inserted in the menu in the order of the returned array
|
|
|
- * @param int $iMenuId The identifier of the type of menu, as listed by the constants MENU_xxx above
|
|
|
- * @param mixed $param Depends on $iMenuId see the constants define above
|
|
|
- * @return Array An array of ApplicationPopupMenuItem or an empty array if no action is to be added to the menu
|
|
|
- */
|
|
|
- public static function EnumItems($iMenuId, $param)
|
|
|
- {
|
|
|
- switch($iMenuId)
|
|
|
- {
|
|
|
- /*
|
|
|
- case iPopupMenuExtension::MENU_OBJLIST_ACTIONS:
|
|
|
- // $param is a DBObjectSet
|
|
|
- $aResult = array(
|
|
|
- new JSPopupMenuItem('Test::Item1', 'List Test 1', "alert('Test 1')"),
|
|
|
- new JSPopupMenuItem('Test::Item2', 'List Test 2', "alert('Test 2')"),
|
|
|
- );
|
|
|
- break;
|
|
|
-
|
|
|
- $this->AddMenuSeparator($aActions);
|
|
|
- $sUrl = utils::GetAbsoluteUrlAppRoot();
|
|
|
- $aActions['UI:Menu:EMail'] = array ('label' => Dict::S('UI:Menu:EMail'), 'url' => "mailto:?subject=$sFilterDesc&body=".urlencode("{$sUrl}pages/$sUIPage?operation=search&filter=".urlencode($sFilter)."{$sContext}"));
|
|
|
- $aActions['UI:Menu:CSVExport'] = array ('label' => Dict::S('UI:Menu:CSVExport'), 'url' => "{$sRootUrl}pages/$sUIPage?operation=search&filter=".urlencode($sFilter)."&format=csv{$sContext}");
|
|
|
- $sOQL = addslashes($sFilterDesc);
|
|
|
- $aActions['UI:Menu:AddToDashboard'] = array ('label' => Dict::S('UI:Menu:AddToDashboard'), 'url' => "#", 'onclick' => "return DashletCreationDlg('$sOQL')");
|
|
|
- */
|
|
|
-
|
|
|
- case iPopupMenuExtension::MENU_OBJLIST_TOOLKIT:
|
|
|
- // $param is a DBObjectSet
|
|
|
- $oAppContext = new ApplicationContext();
|
|
|
- $sContext = $oAppContext->GetForLink();
|
|
|
- $sUIPage = cmdbAbstractObject::ComputeStandardUIPage($param->GetFilter()->GetClass());
|
|
|
- $sOQL = addslashes($param->GetFilter()->ToOQL(true));
|
|
|
- $sFilter = urlencode($param->GetFilter()->serialize());
|
|
|
- $sUrl = utils::GetAbsoluteUrlAppRoot()."pages/$sUIPage?operation=search&filter=".$sFilter."&{$sContext}";
|
|
|
- $aResult = array(
|
|
|
- new SeparatorPopupMenuItem(),
|
|
|
- // Static menus: Email this page, CSV Export & Add to Dashboard
|
|
|
- new URLPopupMenuItem('UI:Menu:EMail', Dict::S('UI:Menu:EMail'), "mailto:?body=".urlencode($sUrl).' '), // Add an extra space to make it work in Outlook
|
|
|
- new URLPopupMenuItem('UI:Menu:CSVExport', Dict::S('UI:Menu:CSVExport'), $sUrl."&format=csv"),
|
|
|
- new JSPopupMenuItem('UI:Menu:AddToDashboard', Dict::S('UI:Menu:AddToDashboard'), "DashletCreationDlg('$sOQL')"),
|
|
|
- new JSPopupMenuItem('UI:Menu:ShortcutList', Dict::S('UI:Menu:ShortcutList'), "ShortcutListDlg('$sOQL', '$sContext')"),
|
|
|
- );
|
|
|
- break;
|
|
|
-
|
|
|
-
|
|
|
- case iPopupMenuExtension::MENU_OBJDETAILS_ACTIONS:
|
|
|
- // $param is a DBObject
|
|
|
- $oObj = $param;
|
|
|
- $oFilter = DBobjectSearch::FromOQL("SELECT ".get_class($oObj)." WHERE id=".$oObj->GetKey());
|
|
|
- $sFilter = $oFilter->serialize();
|
|
|
- $sUrl = ApplicationContext::MakeObjectUrl(get_class($oObj), $oObj->GetKey());
|
|
|
- $sUIPage = cmdbAbstractObject::ComputeStandardUIPage(get_class($oObj));
|
|
|
- $oAppContext = new ApplicationContext();
|
|
|
- $sContext = $oAppContext->GetForLink();
|
|
|
- $aResult = array(
|
|
|
- new SeparatorPopupMenuItem(),
|
|
|
- // Static menus: Email this page & CSV Export
|
|
|
- new URLPopupMenuItem('UI:Menu:EMail', Dict::S('UI:Menu:EMail'), "mailto:?subject=".urlencode($oObj->GetRawName())."&body=".urlencode($sUrl).' '), // Add an extra space to make it work in Outlook
|
|
|
- new URLPopupMenuItem('UI:Menu:CSVExport', Dict::S('UI:Menu:CSVExport'), utils::GetAbsoluteUrlAppRoot()."pages/$sUIPage?operation=search&filter=".urlencode($sFilter)."&format=csv&{$sContext}"),
|
|
|
- );
|
|
|
- break;
|
|
|
-
|
|
|
-
|
|
|
- case iPopupMenuExtension::MENU_DASHBOARD_ACTIONS:
|
|
|
- // $param is a Dashboard
|
|
|
- $oAppContext = new ApplicationContext();
|
|
|
- $aParams = $oAppContext->GetAsHash();
|
|
|
- $sMenuId = ApplicationMenu::GetActiveNodeId();
|
|
|
- $sDlgTitle = addslashes(Dict::S('UI:ImportDashboardTitle'));
|
|
|
- $sDlgText = addslashes(Dict::S('UI:ImportDashboardText'));
|
|
|
- $sCloseBtn = addslashes(Dict::S('UI:Button:Cancel'));
|
|
|
- $aResult = array(
|
|
|
- new SeparatorPopupMenuItem(),
|
|
|
- new URLPopupMenuItem('UI:ExportDashboard', Dict::S('UI:ExportDashBoard'), utils::GetAbsoluteUrlAppRoot().'pages/ajax.render.php?operation=export_dashboard&id='.$sMenuId),
|
|
|
- new JSPopupMenuItem('UI:ImportDashboard', Dict::S('UI:ImportDashBoard'), "UploadDashboard({dashboard_id: '$sMenuId', title: '$sDlgTitle', text: '$sDlgText', close_btn: '$sCloseBtn' })"),
|
|
|
- );
|
|
|
- break;
|
|
|
-
|
|
|
- /*
|
|
|
- case iPopupMenuExtension::MENU_USER_ACTIONS:
|
|
|
- // $param is null ??
|
|
|
- $aResult = array(
|
|
|
- new SeparatorPopupMenuItem(),
|
|
|
- new JSPopupMenuItem('Test::Item1', 'Reset preferences...', "alert('Test 1')"),
|
|
|
- new JSPopupMenuItem('Test::Item2', 'Do Something Stupid', "alert('Hey Dude !')"),
|
|
|
- );
|
|
|
- break;
|
|
|
- */
|
|
|
-
|
|
|
- default:
|
|
|
- // Unknown type of menu, do nothing
|
|
|
- $aResult = array();
|
|
|
- }
|
|
|
- return $aResult;
|
|
|
- }
|
|
|
-}
|