本文整理汇总了PHP中SubPanel::getModuleSubpanels方法的典型用法代码示例。如果您正苦于以下问题:PHP SubPanel::getModuleSubpanels方法的具体用法?PHP SubPanel::getModuleSubpanels怎么用?PHP SubPanel::getModuleSubpanels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SubPanel
的用法示例。
在下文中一共展示了SubPanel::getModuleSubpanels方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: constructSmarty
function constructSmarty($parser)
{
global $mod_strings;
$smarty = new Sugar_Smarty();
$smarty->assign('translate', true);
$smarty->assign('language', $parser->getLanguage());
$smarty->assign('view', $this->editLayout);
$smarty->assign('module', "ModuleBuilder");
$smarty->assign('field_defs', $parser->getFieldDefs());
$smarty->assign('action', 'listViewSave');
$smarty->assign('view_module', $this->editModule);
if (!empty($this->subpanel)) {
$smarty->assign('subpanel', $this->subpanel);
$smarty->assign('subpanelLabel', $this->subpanelLabel);
if (!$this->fromModuleBuilder) {
$subList = SubPanel::getModuleSubpanels($this->editModule);
$subRef = $subList[strtolower($this->subpanel)];
$subTitleKey = !empty($subRef) ? $subRef : "LBL_" . strtoupper($this->subpanel) . "_SUBPANEL_TITLE";
$subTitle = !empty($subRef) ? translate($subTitleKey, $this->editModule) : UCfirst($this->subpanel);
$smarty->assign('subpanel_label', $subTitleKey);
$smarty->assign('subpanel_title', $subTitle);
}
}
$helpName = $this->subpanel ? 'subPanelEditor' : 'listViewEditor';
$smarty->assign('helpName', $helpName);
$smarty->assign('helpDefault', 'modify');
$smarty->assign('title', $this->_constructTitle());
$groups = array();
foreach ($parser->columns as $column => $function) {
// update this so that each field has a properties set
// properties are name, value, title (optional)
$groups[$GLOBALS['mod_strings'][$column]] = $parser->{$function}();
// call the parser functions to populate the list view columns, by default 'default', 'available' and 'hidden'
}
foreach ($groups as $groupKey => $group) {
foreach ($group as $fieldKey => $field) {
if (isset($field['width'])) {
if (substr($field['width'], -1, 1) == '%') {
$groups[$groupKey][$fieldKey]['width'] = substr($field['width'], 0, strlen($field['width']) - 1);
}
}
}
}
$smarty->assign('groups', $groups);
$smarty->assign('from_mb', $this->fromModuleBuilder);
global $image_path;
$imageSave = SugarThemeRegistry::current()->getImage('studio_save', '', null, null, '.gif', $mod_strings['LBL_BTN_SAVE']);
// $imageHelp = SugarThemeRegistry::current()->getImage('help') ;
$history = $parser->getHistory();
$histaction = "ModuleBuilder.history.browse(\"{$this->editModule}\", \"{$this->editLayout}\")";
if ($this->subpanel) {
$histaction = "ModuleBuilder.history.browse(\"{$this->editModule}\", \"{$this->editLayout}\", \"{$this->subpanel}\")";
}
$restoreAction = "onclick='ModuleBuilder.history.revert(\"{$this->editModule}\", \"{$this->editLayout}\", \"{$history->getLast()}\", \"\")'";
if ($this->subpanel) {
$restoreAction = "onclick='ModuleBuilder.history.revert(\"{$this->editModule}\", \"{$this->editLayout}\", \"{$history->getLast()}\", \"{$this->subpanel}\")'";
}
$buttons = array();
$buttons[] = array('id' => 'savebtn', 'name' => 'savebtn', 'image' => $imageSave, 'text' => !$this->fromModuleBuilder ? $GLOBALS['mod_strings']['LBL_BTN_SAVEPUBLISH'] : $GLOBALS['mod_strings']['LBL_BTN_SAVE'], 'actionScript' => "onclick='studiotabs.generateGroupForm(\"edittabs\");if (countListFields()==0) ModuleBuilder.layoutValidation.popup() ; else ModuleBuilder.handleSave(\"edittabs\" )'");
$buttons[] = array('id' => 'spacer', 'width' => '50px');
$buttons[] = array('id' => 'historyBtn', 'name' => 'historyBtn', 'text' => translate('LBL_HISTORY'), 'actionScript' => "onclick='{$histaction}'");
$buttons[] = array('id' => 'historyDefault', 'name' => 'historyDefault', 'text' => translate('LBL_RESTORE_DEFAULT'), 'actionScript' => $restoreAction);
$smarty->assign('buttons', $this->_buildImageButtons($buttons));
$editImage = SugarThemeRegistry::current()->getImage('edit_inline', '', null, null, '.gif', $mod_strings['LBL_EDIT']);
$smarty->assign('editImage', $editImage);
$deleteImage = SugarThemeRegistry::current()->getImage('delete_inline', '', null, null, '.gif', $mod_strings['LBL_MB_DELETE']);
$smarty->assign('deleteImage', $deleteImage);
$smarty->assign('MOD', $GLOBALS['mod_strings']);
if ($this->fromModuleBuilder) {
$smarty->assign('MB', true);
$smarty->assign('view_package', $_REQUEST['view_package']);
$mb = new ModuleBuilder();
$module =& $mb->getPackageModule($_REQUEST['view_package'], $this->editModule);
$smarty->assign('current_mod_strings', $module->getModStrings());
if ($this->subpanel) {
if (isset($_REQUEST['local'])) {
$smarty->assign('local', '1');
}
$smarty->assign("subpanel", $this->subpanel);
} else {
$smarty->assign('description', $GLOBALS['mod_strings']['LBL_LISTVIEW_DESCRIPTION']);
}
} else {
if ($this->subpanel) {
$smarty->assign("subpanel", "{$this->subpanel}");
} else {
$smarty->assign('description', $GLOBALS['mod_strings']['LBL_LISTVIEW_DESCRIPTION']);
}
}
return $smarty;
}
示例2: display
function display()
{
$editModule = $_REQUEST['view_module'];
if (!isset($_REQUEST['MB'])) {
global $app_list_strings;
$moduleNames = array_change_key_case($app_list_strings['moduleList']);
$translatedEditModule = $moduleNames[strtolower($editModule)];
}
$selected_lang = !empty($_REQUEST['selected_lang']) ? $_REQUEST['selected_lang'] : $_SESSION['authenticated_user_language'];
if (empty($selected_lang)) {
$selected_lang = $GLOBALS['sugar_config']['default_language'];
}
$smarty = new Sugar_Smarty();
global $mod_strings;
$smarty->assign('mod_strings', $mod_strings);
$smarty->assign('available_languages', get_languages());
global $beanList;
$objectName = $beanList[$editModule];
if ($objectName == 'aCase') {
$objectName = 'Case';
}
VardefManager::loadVardef($editModule, $objectName);
global $dictionary;
$vnames = array();
//jchi 24557 . We should list all the lables in viewdefs(list,detail,edit,quickcreate) that the user can edit them.
require_once 'modules/ModuleBuilder/parsers/views/ListLayoutMetaDataParser.php';
$parser = new ListLayoutMetaDataParser(MB_LISTVIEW, $editModule);
foreach ($parser->getLayout() as $key => $def) {
if (isset($def['label'])) {
$vnames[$def['label']] = $def['label'];
}
}
require_once 'modules/ModuleBuilder/parsers/views/GridLayoutMetaDataParser.php';
$variableMap = array(MB_EDITVIEW => 'EditView', MB_DETAILVIEW => 'DetailView', MB_QUICKCREATE => 'QuickCreate');
if ($editModule == 'KBDocuments') {
$variableMap = array();
}
foreach ($variableMap as $key => $value) {
$gridLayoutMetaDataParserTemp = new GridLayoutMetaDataParser($value, $editModule);
foreach ($gridLayoutMetaDataParserTemp->getLayout() as $panel) {
foreach ($panel as $row) {
foreach ($row as $fieldArray) {
// fieldArray is an array('name'=>name,'label'=>label)
if (isset($fieldArray['label'])) {
$vnames[$fieldArray['label']] = $fieldArray['label'];
}
}
}
}
}
//end
//Get Subpanel Labels:
require_once 'include/SubPanel/SubPanel.php';
$subList = SubPanel::getModuleSubpanels($editModule);
foreach ($subList as $subpanel => $titleLabel) {
$vnames[$titleLabel] = $titleLabel;
}
foreach ($dictionary[$objectName]['fields'] as $name => $def) {
if (isset($def['vname'])) {
$vnames[$def['vname']] = $def['vname'];
}
}
$formatted_mod_strings = array();
//we shouldn't set the $refresh=true here, or will lost template language mod_strings.
//return_module_language($selected_lang, $editModule,false) : the mod_strings will be included from cache files here.
foreach (return_module_language($selected_lang, $editModule, false) as $name => $label) {
//#25294
if (isset($vnames[$name]) || preg_match('/lbl_city|lbl_country|lbl_billing_address|lbl_alt_address|lbl_shipping_address|lbl_postal_code|lbl_state$/si', $name)) {
$formatted_mod_strings[$name] = htmlentities($label, ENT_QUOTES, 'UTF-8');
}
}
//Grab everything from the custom files
$mod_bak = $mod_strings;
$files = array("custom/modules/{$editModule}/language/{$selected_lang}.lang.php", "custom/modules/{$editModule}/Ext/Language/{$selected_lang}.lang.ext.php");
foreach ($files as $langfile) {
$mod_strings = array();
if (is_file($langfile)) {
include $langfile;
foreach ($mod_strings as $key => $label) {
$formatted_mod_strings[$key] = htmlentities($label, ENT_QUOTES, 'UTF-8');
}
}
}
$mod_strings = $mod_bak;
ksort($formatted_mod_strings);
$smarty->assign('MOD', $formatted_mod_strings);
$smarty->assign('view_module', $editModule);
$smarty->assign('APP', $GLOBALS['app_strings']);
$smarty->assign('selected_lang', $selected_lang);
$smarty->assign('defaultHelp', 'labelsBtn');
$smarty->assign('assistant', array('key' => 'labels', 'group' => 'module'));
$ajax = new AjaxCompose();
$ajax->addCrumb($mod_strings['LBL_STUDIO'], 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard")');
$ajax->addCrumb($translatedEditModule, 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard&view_module=' . $editModule . '")');
$ajax->addCrumb($mod_strings['LBL_LABELS'], '');
$html = $smarty->fetch('modules/ModuleBuilder/tpls/labels.tpl');
$ajax->addSection('center', $GLOBALS['mod_strings']['LBL_SECTION_EDLABELS'], $html);
echo $ajax->getJavascript();
}
示例3: getSubpanels
/**
* Gets a list of subpanels used by the current module
*/
function getSubpanels()
{
if (!empty($GLOBALS['current_user']) && empty($GLOBALS['modListHeader'])) {
$GLOBALS['modListHeader'] = query_module_access_list($GLOBALS['current_user']);
}
require_once 'include/SubPanel/SubPanel.php';
$nodes = array();
$GLOBALS['log']->debug("StudioModule->getSubpanels(): getting subpanels for " . $this->module);
// counter to add a unique key to assoc array below
$ct = 0;
foreach (SubPanel::getModuleSubpanels($this->module) as $name => $label) {
if ($name == 'users') {
continue;
}
$subname = sugar_ucfirst(!empty($label) ? translate($label, $this->module) : $name);
$action = "module=ModuleBuilder&action=editLayout&view=ListView&view_module={$this->module}&subpanel={$name}&subpanelLabel=" . urlencode($subname);
// bug47452 - adding a unique number to the $nodes[ key ] so if you have 2+ panels
// with the same subname they will not cancel each other out
$nodes[$subname . $ct++] = array('name' => $name, 'label' => $subname, 'action' => $action, 'imageTitle' => $subname, 'imageName' => 'icon_' . ucfirst($name) . '_32', 'altImageName' => 'Subpanels', 'size' => '48');
}
return $nodes;
}
示例4: getSubpanels
/**
* Gets a list of subpanels used by the current module
*/
function getSubpanels()
{
if (!empty($GLOBALS['current_user']) && empty($GLOBALS['modListHeader'])) {
$GLOBALS['modListHeader'] = query_module_access_list($GLOBALS['current_user']);
}
require_once 'include/SubPanel/SubPanel.php';
$nodes = array();
$GLOBALS['log']->debug("StudioModule->getSubpanels(): getting subpanels for " . $this->module);
foreach (SubPanel::getModuleSubpanels($this->module) as $name => $label) {
if ($name == 'users') {
continue;
}
$subname = sugar_ucfirst(!empty($label) ? translate($label, $this->module) : $name);
$nodes[$subname] = array('name' => $name, 'label' => $subname, 'action' => "module=ModuleBuilder&action=editLayout&view=ListView&view_module={$this->module}&subpanel={$name}&subpanelLabel={$subname}", 'imageTitle' => $subname, 'imageName' => 'icon_' . ucfirst($name) . '_32', 'altImageName' => 'Subpanels', 'size' => '48');
}
return $nodes;
}
示例5: display
function display()
{
global $locale;
$editModule = $_REQUEST['view_module'];
$allLabels = !empty($_REQUEST['labels']) && $_REQUEST['labels'] == 'all';
if (!isset($_REQUEST['MB'])) {
global $app_list_strings;
$moduleNames = array_change_key_case($app_list_strings['moduleList']);
$translatedEditModule = $moduleNames[strtolower($editModule)];
}
$selected_lang = null;
if (!empty($_REQUEST['selected_lang'])) {
$selected_lang = $_REQUEST['selected_lang'];
} else {
$selected_lang = $locale->getAuthenticatedUserLanguage();
}
$smarty = new Sugar_Smarty();
global $mod_strings;
$smarty->assign('mod_strings', $mod_strings);
$smarty->assign('available_languages', get_languages());
$objectName = BeanFactory::getObjectName($editModule);
VardefManager::loadVardef($editModule, $objectName);
global $dictionary;
$vnames = array();
//jchi 24557 . We should list all the lables in viewdefs(list,detail,edit,quickcreate) that the user can edit them.
$parser = ParserFactory::getParser(MB_LISTVIEW, $editModule);
foreach ($parser->getLayout() as $key => $def) {
if (isset($def['label'])) {
$vnames[$def['label']] = $def['label'];
}
}
require_once 'modules/ModuleBuilder/parsers/views/GridLayoutMetaDataParser.php';
$variableMap = $this->getVariableMap($editModule);
foreach ($variableMap as $key => $value) {
$gridLayoutMetaDataParserTemp = ParserFactory::getParser($key, $editModule);
foreach ($gridLayoutMetaDataParserTemp->getLayout() as $panel) {
foreach ($panel as $row) {
foreach ($row as $fieldArray) {
// fieldArray is an array('name'=>name,'label'=>label)
if (isset($fieldArray['label'])) {
$vnames[$fieldArray['label']] = $fieldArray['label'];
}
}
}
}
}
//end
//Get Subpanel Labels:
require_once 'include/SubPanel/SubPanel.php';
$subList = SubPanel::getModuleSubpanels($editModule);
foreach ($subList as $subpanel => $titleLabel) {
$vnames[$titleLabel] = $titleLabel;
}
foreach ($dictionary[$objectName]['fields'] as $name => $def) {
if (isset($def['vname'])) {
$vnames[$def['vname']] = $def['vname'];
}
}
$formatted_mod_strings = array();
// we shouldn't set the $refresh=true here, or will lost template language
// mod_strings.
// return_module_language($selected_lang, $editModule,false) :
// the mod_strings will be included from cache files here.
foreach (return_module_language($selected_lang, $editModule, false) as $name => $label) {
//#25294
if ($allLabels || isset($vnames[$name]) || preg_match('/lbl_city|lbl_country|lbl_billing_address|lbl_alt_address|lbl_shipping_address|lbl_postal_code|lbl_state$/si', $name)) {
// Bug 58174 - Escaped labels are sent to the client escaped
// even in the label editor in studio
$formatted_mod_strings[$name] = html_entity_decode($label, null, 'UTF-8');
}
}
//Grab everything from the custom files
$mod_bak = $mod_strings;
$files = array("custom/modules/{$editModule}/language/{$selected_lang}.lang.php", "custom/modules/{$editModule}/Ext/Language/{$selected_lang}.lang.ext.php");
foreach ($files as $langfile) {
$mod_strings = array();
if (is_file($langfile)) {
include $langfile;
foreach ($mod_strings as $key => $label) {
// Bug 58174 - Escaped labels are sent to the client escaped
// even in the label editor in studio
$formatted_mod_strings[$key] = html_entity_decode($label, null, 'UTF-8');
}
}
}
$mod_strings = $mod_bak;
ksort($formatted_mod_strings);
$smarty->assign('MOD', $formatted_mod_strings);
$smarty->assign('view_module', $editModule);
$smarty->assign('APP', $GLOBALS['app_strings']);
$smarty->assign('selected_lang', $selected_lang);
$smarty->assign('defaultHelp', 'labelsBtn');
$smarty->assign('assistant', array('key' => 'labels', 'group' => 'module'));
$smarty->assign('labels_choice', $mod_strings['labelTypes']);
$smarty->assign('labels_current', $allLabels ? "all" : "");
$ajax = new AjaxCompose();
$ajax->addCrumb($mod_strings['LBL_STUDIO'], 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard")');
$ajax->addCrumb($translatedEditModule, 'ModuleBuilder.getContent("module=ModuleBuilder&action=wizard&view_module=' . $editModule . '")');
$ajax->addCrumb($mod_strings['LBL_LABELS'], '');
$html = $smarty->fetch('modules/ModuleBuilder/tpls/labels.tpl');
//.........这里部分代码省略.........
示例6: get_subpanel_value
\treturn true;
}
</script>
<form method='post' action='index.php' onsubmit="return get_subpanel_value()">
<input type='hidden' name='action' value='index'>
<input type='hidden' name='module' value='DynamicLayout'>
<input type='hidden' name='edit_subpanel_MSI' value='1'>
<input type='hidden' name='subpanel' id='subpanel' value = ''>
<select id= 'select_subpanel_module' name='select_subpanel_module' onChange='swap_subpanels()'>
EOQ;
echo get_select_options_with_id($subpanelmodules, '');
echo '</select>';
foreach ($subpanelmodules as $mod) {
echo "<div style='display:none' id='{$mod}'><select id='{$mod}subpanel' name='{$mod}subpanel'>";
$layout_def = SubPanel::getModuleSubpanels($mod);
foreach ($layout_def as $sub) {
echo "<option value='{$sub}'>{$sub}</option>";
}
echo '</select></div>';
}
echo '<input type="submit" class="button" name="Submit" value="' . $mod_strings['LBL_SELECT_SUBPANEL'] . '" ></form>';
echo <<<EOQ
<form name='edit' method='post' action='index.php'>
<input type='hidden' name='action' value='index'>
<input type='hidden' name='module' value='DynamicLayout'>
</form>
EOQ;
echo '<script>swap_subpanels();</script><BR><BR>';
// How To Use Layout Text Block Instructions
示例7: foreach
require_once 'include/SubPanel/SubPanel.php';
require_once 'modules/Studio/parsers/StudioParser.php';
$moduleFiles = StudioParser::getFiles($the_module);
echo '<table width="100%" class="tabForm" cellpadding="0" cellspacing="0"><tr><td align="right"><b>Layouts:</b></td><td class="dataLabel" align="left">';
$count = 0;
foreach ($moduleFiles as $id => $attr) {
$label = translate($id, $the_module);
if ($count > 0) {
echo ' | ';
}
echo " <a href='index.php?module=Studio&action=wizard&wizard=SelectModuleLayout&option={$id}' class='tabFormAdvLink'>{$label}</a> ";
$count++;
}
echo '</td></tr>';
echo '<tr><td align="right"><b>Subpanels:</b></td><td align="left">';
$layout_def = SubPanel::getModuleSubpanels($the_module);
$count = 0;
foreach ($layout_def as $key => $sub) {
if ($sub == 'users') {
unset($layout_def[$key]);
}
}
$totalCount = count($layout_def);
foreach ($layout_def as $sub) {
if ($count > 0) {
echo ' | ';
}
$subname = !empty($GLOBALS['layout_defs'][$the_module]['subpanel_setup'][$sub]['title_key']) ? translate($GLOBALS['layout_defs'][$the_module]['subpanel_setup'][$sub]['title_key'], $the_module) : $sub;
echo " <a href='index.php?module=Studio&action=index&subpanel={$sub}' class='tabFormAdvLink'>{$subname}</a> ";
$count++;
}