/** * @see SugarView::display() */ public function display() { global $mod_strings; global $app_list_strings; global $app_strings; require_once "modules/MySettings/TabController.php"; $controller = new TabController(); $tabs = $controller->get_tabs_system(); $enabled = []; foreach ($tabs[0] as $key => $value) { $enabled[] = ["module" => $key, 'label' => translate($key)]; } $disabled = []; foreach ($tabs[1] as $key => $value) { $disabled[] = ["module" => $key, 'label' => translate($key)]; } $user_can_edit = $controller->get_users_can_edit(); $this->ss->assign('APP', $GLOBALS['app_strings']); $this->ss->assign('MOD', $GLOBALS['mod_strings']); $this->ss->assign('user_can_edit', $user_can_edit); $this->ss->assign('enabled_tabs', json_encode($enabled)); $this->ss->assign('disabled_tabs', json_encode($disabled)); $this->ss->assign('title', $this->getModuleTitle(false)); //get list of all subpanels and panels to hide $mod_list_strings_key_to_lower = array_change_key_case($app_list_strings['moduleList']); $panels_arr = SubPanelDefinitions::get_all_subpanels(); $hidpanels_arr = SubPanelDefinitions::get_hidden_subpanels(); if (!$hidpanels_arr || !is_array($hidpanels_arr)) { $hidpanels_arr = []; } //create array of subpanels to show, used to create Drag and Drop widget $enabled = []; foreach ($panels_arr as $key) { if (empty($key)) { continue; } $key = strtolower($key); $enabled[] = ["module" => $key, "label" => $mod_list_strings_key_to_lower[$key]]; } //now create array of subpanels to hide for use in Drag and Drop widget $disabled = []; foreach ($hidpanels_arr as $key) { if (empty($key)) { continue; } $key = strtolower($key); $disabled[] = ["module" => $key, "label" => $mod_list_strings_key_to_lower[$key]]; } $this->ss->assign('enabled_panels', json_encode($enabled)); $this->ss->assign('disabled_panels', json_encode($disabled)); echo $this->ss->fetch('modules/Administration/templates/ConfigureTabs.tpl'); }
if (isset($_REQUEST['disabled_panels'])) { $panels_to_hide = $_REQUEST['disabled_panels']; } //turn list into array $hidpanels_arr = split(',', $panels_to_hide); $hidpanels_arr = TabController::get_key_array($hidpanels_arr); //save list of subpanels to hide SubPanelDefinitions::set_hidden_subpanels($hidpanels_arr); //redirect to same page to refresh panel list header("Location: index.php?module=Administration&action=ConfigureSubPanels"); } ////////////////// Processing UI //create title for form $title = get_module_title($mod_strings['LBL_MODULE_NAME'], $mod_strings['LBL_CONFIGURE_SUBPANELS'] . ":", true); //get list of all subpanels and panels to hide $panels_arr = SubPanelDefinitions::get_all_subpanels(); $hidpanels_arr = SubPanelDefinitions::get_hidden_subpanels(); if (!$hidpanels_arr || !is_array($hidpanels_arr)) { $hidpanels_arr = array(); } //create array of subpanels to show, used to create Drag and Drop widget $groups = array(); $groups[$mod_strings['LBL_VISIBLE_PANELS']] = array(); foreach ($panels_arr as $key) { if (empty($key)) { continue; } $panels_arr[$key] = $mod_list_strings_key_to_lower[$key]; } $groups[$mod_strings['LBL_HIDDEN_PANELS']] = array(); //now create array of panels to hide for use in Drag and Drop widget
/** * Gets the list of modules displayable as subpanels * * @return array An array of module names */ public function getSubpanelList() { return SubPanelDefinitions::get_all_subpanels(); }
/** * @see SugarView::display() */ public function display() { global $mod_strings; global $app_list_strings; global $app_strings; require_once "modules/MySettings/TabController.php"; $controller = new TabController(); $tabs = $controller->get_tabs_system(); // Remove Home module from UI. We add it back to front of display tab list on save. if (isset($tabs[0]['Home'])) { unset($tabs[0]['Home']); } if (isset($tabs[1]['Home'])) { unset($tabs[1]['Home']); } $enabled = array(); foreach ($tabs[0] as $key => $value) { $enabled[] = array("module" => $key, 'label' => translate($key)); } $disabled = array(); foreach ($tabs[1] as $key => $value) { $disabled[] = array("module" => $key, 'label' => translate($key)); } $user_can_edit = $controller->get_users_can_edit(); $this->ss->assign('APP', $GLOBALS['app_strings']); $this->ss->assign('MOD', $GLOBALS['mod_strings']); $this->ss->assign('user_can_edit', $user_can_edit); $this->ss->assign('enabled_tabs', json_encode($enabled)); $this->ss->assign('disabled_tabs', json_encode($disabled)); $this->ss->assign('title', $this->getModuleTitle(false)); //get list of all subpanels and panels to hide $mod_list_strings_key_to_lower = array_change_key_case($app_list_strings['moduleList']); $panels_arr = SubPanelDefinitions::get_all_subpanels(); $hidpanels_arr = SubPanelDefinitions::get_hidden_subpanels(); if (!$hidpanels_arr || !is_array($hidpanels_arr)) { $hidpanels_arr = array(); } //create array of subpanels to show, used to create Drag and Drop widget $enabled = array(); foreach ($panels_arr as $key) { if (empty($key)) { continue; } $key = strtolower($key); $enabled[] = array("module" => $key, "label" => $mod_list_strings_key_to_lower[$key]); } //now create array of subpanels to hide for use in Drag and Drop widget $disabled = array(); foreach ($hidpanels_arr as $key) { if (empty($key)) { continue; } $key = strtolower($key); // we need this here for with RLI's are disabled as they shouldn't be seen in the list if ($key == 'revenuelineitems' && in_array('RevenueLineItems', $GLOBALS['modInvisList'])) { continue; } $disabled[] = array("module" => $key, "label" => $mod_list_strings_key_to_lower[$key]); } $this->ss->assign('enabled_panels', json_encode($enabled)); $this->ss->assign('disabled_panels', json_encode($disabled)); echo $this->ss->fetch('modules/Administration/templates/ConfigureTabs.tpl'); }