function getLayout($vardef) { if (empty($vardef['type'])) { $vardef['type'] = 'varchar'; } $mod = return_module_language($GLOBALS['current_language'], 'DynamicFields'); $this->ss->assign('vardef', $vardef); $this->ss->assign('MOD', $mod); $this->ss->assign('APP', $GLOBALS['app_strings']); //Only display range search option if in Studio, not ModuleBuilder $this->ss->assign('range_search_option_enabled', empty($_REQUEST['view_package'])); if (isset($vardef['name']) && in_array($vardef['name'], self::$fieldNameBlacklist) || isset($vardef['type']) && in_array($vardef['type'], self::$fieldTypeBlacklist)) { $this->ss->assign('hideDuplicatable', 'true'); } if ($fieldRangeValue = DynamicField::getFieldRangeValueByType($vardef['type'])) { $this->ss->assign('field_range_value', $fieldRangeValue); } if (isset($vardef['name']) && in_array($vardef['name'], self::$fieldNameNoRequired)) { $this->ss->assign('hideRequired', true); } else { $this->ss->assign('hideRequired', false); } $GLOBALS['log']->debug('FieldViewer.php->getLayout() = ' . $vardef['type']); switch ($vardef['type']) { case 'address': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/address.tpl'); case 'bool': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/bool.tpl'); case 'int': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/int.tpl'); case 'float': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/float.tpl'); case 'decimal': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/float.tpl'); case 'date': require_once 'modules/DynamicFields/templates/Fields/Forms/date.php'; return get_body($this->ss, $vardef); case 'datetimecombo': case 'datetime': require_once 'modules/DynamicFields/templates/Fields/Forms/datetimecombo.php'; return get_body($this->ss, $vardef); case 'enum': require_once 'modules/DynamicFields/templates/Fields/Forms/enum2.php'; return get_body($this->ss, $vardef); case 'multienum': require_once 'modules/DynamicFields/templates/Fields/Forms/multienum.php'; return get_body($this->ss, $vardef); case 'radioenum': require_once 'modules/DynamicFields/templates/Fields/Forms/radioenum.php'; return get_body($this->ss, $vardef); case 'html': require_once 'modules/DynamicFields/templates/Fields/Forms/html.php'; return get_body($this->ss, $vardef); case 'currency': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/currency.tpl'); case 'relate': require_once 'modules/DynamicFields/templates/Fields/Forms/relate.php'; return get_body($this->ss, $vardef); case 'parent': require_once 'modules/DynamicFields/templates/Fields/Forms/parent.php'; return get_body($this->ss, $vardef); case 'text': return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/text.tpl'); case 'encrypt': require_once 'modules/DynamicFields/templates/Fields/Forms/encrypt.php'; return get_body($this->ss, $vardef); case 'iframe': require_once 'modules/DynamicFields/templates/Fields/Forms/iframe.php'; return get_body($this->ss, $vardef); case 'url': require_once 'modules/DynamicFields/templates/Fields/Forms/url.php'; return get_body($this->ss, $vardef); case 'phone': require_once 'modules/DynamicFields/templates/Fields/Forms/phone.php'; return get_body($this->ss, $vardef); default: if (SugarAutoLoader::requireWithCustom('modules/DynamicFields/templates/Fields/Forms/' . $vardef['type'] . '.php')) { return get_body($this->ss, $vardef); } else { return $this->ss->fetch('modules/DynamicFields/templates/Fields/Forms/varchar.tpl'); } } }