$required_opt = !empty($_REQUEST['required_option']) ? 'required' : 'optional'; $id = !empty($_REQUEST['id']) ? $_REQUEST['id'] : ''; if (empty($id)) { $custom_fields->addField($_REQUEST['name'], $label, $_REQUEST['data_type'], $max_size, $required_opt, $default_value, $ext1, $ext2, $ext3, $audit_value, $mass_update, $ext4, $help, $_REQUEST['duplicate_merge']); } else { $values = array('max_size' => $max_size, 'required_option' => $required_opt, 'default_value' => $default_value, 'audited' => $audit_value, 'mass_update' => $mass_update, 'ext4' => $ext4, 'help' => $help, 'duplicate_merge' => $_REQUEST['duplicate_merge']); if (!empty($ext1)) { $values['ext1'] = $ext1; } $custom_fields->updateField($id, $values); } if (!empty($_REQUEST['popup'])) { ob_clean(); $name = $custom_fields->getDBName($_REQUEST['name']); $files = StudioParser::getFiles($module); $view = StudioParser::getFileType($files[$_SESSION['studio']['selectedFileId']]['type']); $custom_fields->avail_fields = array(); $custom_fields->getAvailableFields(true); $field = $custom_fields->getField($name); $custom_fields->bean->field_defs[$name] = $field->get_field_def(); $custom_fields->bean->field_defs[$name]['type'] = $custom_fields->bean->field_defs[$name]['custom_type']; $html = $custom_fields->getAllBeanFieldsView($view, 'html'); $html = $html[$name]; $string = '[NAME]' . $name . '[TYPE]' . $html['fieldType'] . '[LABEL]' . translate(str_replace(array('{', '}', 'MOD.', 'mod.', 'APP.', 'app.'), '', $html['label']), $module); $string .= '[DATA]' . $html['html']; echo str_replace(array('{', '}', 'MOD.', 'mod.', 'APP.', 'app.'), '', $string); sugar_cleanup(true); } else { header("Location: index.php?module=Studio&action=wizard&wizard=EditCustomFieldsWizard&option=ViewCustomFields"); sugar_cleanup(true); }