$aParams = array(); $aParams['layout_class'] = utils::ReadParam('layout_class', ''); $aParams['title'] = utils::ReadParam('title', '', false, 'raw_data'); $aParams['cells'] = utils::ReadParam('cells', array(), false, 'raw_data'); $aParams['auto_reload'] = utils::ReadParam('auto_reload', false); $aParams['auto_reload_sec'] = utils::ReadParam('auto_reload_sec', 300); $oDashboard = new RuntimeDashboard($sDashboardId); $oDashboard->FromParams($aParams); $oDashboard->Render($oPage, true); break; case 'dashlet_creation_dlg': $sOQL = utils::ReadParam('oql', '', false, 'raw_data'); RuntimeDashboard::GetDashletCreationDlgFromOQL($oPage, $sOQL); break; case 'add_dashlet': $oForm = RuntimeDashboard::GetDashletCreationForm(); $aValues = $oForm->ReadParams(); $sDashletClass = $aValues['dashlet_class']; $sMenuId = $aValues['menu_id']; if (is_subclass_of($sDashletClass, 'Dashlet')) { $oDashlet = new $sDashletClass(new ModelReflectionRuntime(), 0); $oDashlet->FromParams($aValues); ApplicationMenu::LoadAdditionalMenus(); $index = ApplicationMenu::GetMenuIndexById($sMenuId); $oMenu = ApplicationMenu::GetMenuNode($index); $oMenu->AddDashlet($oDashlet); // navigate to the dashboard page if ($aValues['open_editor']) { $oPage->add_ready_script("window.location.href='" . addslashes(utils::GetAbsoluteUrlAppRoot() . 'pages/UI.php?c[menu]=' . urlencode($sMenuId)) . "&edit=1';"); // reloads the page, doing a GET even if we arrived via a POST }