danielebarchiesi@0: 'textfield', danielebarchiesi@0: '#title' => t('Maximum length'), danielebarchiesi@0: '#default_value' => $settings['max_length'], danielebarchiesi@0: '#required' => FALSE, danielebarchiesi@0: '#element_validate' => array('element_validate_integer_positive'), danielebarchiesi@0: '#description' => t('The maximum length of the field in characters. Leave blank for an unlimited size.'), danielebarchiesi@0: ); danielebarchiesi@0: return $form; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Add settings to an instance field settings form. danielebarchiesi@0: * danielebarchiesi@0: * Invoked from field_ui_field_edit_form() to allow the module defining the danielebarchiesi@0: * field to add settings for a field instance. danielebarchiesi@0: * danielebarchiesi@0: * @param $field danielebarchiesi@0: * The field structure being configured. danielebarchiesi@0: * @param $instance danielebarchiesi@0: * The instance structure being configured. danielebarchiesi@0: * danielebarchiesi@0: * @return danielebarchiesi@0: * The form definition for the field instance settings. danielebarchiesi@0: */ danielebarchiesi@0: function hook_field_instance_settings_form($field, $instance) { danielebarchiesi@0: $settings = $instance['settings']; danielebarchiesi@0: danielebarchiesi@0: $form['text_processing'] = array( danielebarchiesi@0: '#type' => 'radios', danielebarchiesi@0: '#title' => t('Text processing'), danielebarchiesi@0: '#default_value' => $settings['text_processing'], danielebarchiesi@0: '#options' => array( danielebarchiesi@0: t('Plain text'), danielebarchiesi@0: t('Filtered text (user selects text format)'), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: if ($field['type'] == 'text_with_summary') { danielebarchiesi@0: $form['display_summary'] = array( danielebarchiesi@0: '#type' => 'select', danielebarchiesi@0: '#title' => t('Display summary'), danielebarchiesi@0: '#options' => array( danielebarchiesi@0: t('No'), danielebarchiesi@0: t('Yes'), danielebarchiesi@0: ), danielebarchiesi@0: '#description' => t('Display the summary to allow the user to input a summary value. Hide the summary to automatically fill it with a trimmed portion from the main post.'), danielebarchiesi@0: '#default_value' => !empty($settings['display_summary']) ? $settings['display_summary'] : 0, danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $form; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Add settings to a widget settings form. danielebarchiesi@0: * danielebarchiesi@0: * Invoked from field_ui_field_edit_form() to allow the module defining the danielebarchiesi@0: * widget to add settings for a widget instance. danielebarchiesi@0: * danielebarchiesi@0: * @param $field danielebarchiesi@0: * The field structure being configured. danielebarchiesi@0: * @param $instance danielebarchiesi@0: * The instance structure being configured. danielebarchiesi@0: * danielebarchiesi@0: * @return danielebarchiesi@0: * The form definition for the widget settings. danielebarchiesi@0: */ danielebarchiesi@0: function hook_field_widget_settings_form($field, $instance) { danielebarchiesi@0: $widget = $instance['widget']; danielebarchiesi@0: $settings = $widget['settings']; danielebarchiesi@0: danielebarchiesi@0: if ($widget['type'] == 'text_textfield') { danielebarchiesi@0: $form['size'] = array( danielebarchiesi@0: '#type' => 'textfield', danielebarchiesi@0: '#title' => t('Size of textfield'), danielebarchiesi@0: '#default_value' => $settings['size'], danielebarchiesi@0: '#element_validate' => array('element_validate_integer_positive'), danielebarchiesi@0: '#required' => TRUE, danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: else { danielebarchiesi@0: $form['rows'] = array( danielebarchiesi@0: '#type' => 'textfield', danielebarchiesi@0: '#title' => t('Rows'), danielebarchiesi@0: '#default_value' => $settings['rows'], danielebarchiesi@0: '#element_validate' => array('element_validate_integer_positive'), danielebarchiesi@0: '#required' => TRUE, danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $form; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Specify the form elements for a formatter's settings. danielebarchiesi@0: * danielebarchiesi@0: * @param $field danielebarchiesi@0: * The field structure being configured. danielebarchiesi@0: * @param $instance danielebarchiesi@0: * The instance structure being configured. danielebarchiesi@0: * @param $view_mode danielebarchiesi@0: * The view mode being configured. danielebarchiesi@0: * @param $form danielebarchiesi@0: * The (entire) configuration form array, which will usually have no use here. danielebarchiesi@0: * @param $form_state danielebarchiesi@0: * The form state of the (entire) configuration form. danielebarchiesi@0: * danielebarchiesi@0: * @return danielebarchiesi@0: * The form elements for the formatter settings. danielebarchiesi@0: */ danielebarchiesi@0: function hook_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) { danielebarchiesi@0: $display = $instance['display'][$view_mode]; danielebarchiesi@0: $settings = $display['settings']; danielebarchiesi@0: danielebarchiesi@0: $element = array(); danielebarchiesi@0: danielebarchiesi@0: if ($display['type'] == 'text_trimmed' || $display['type'] == 'text_summary_or_trimmed') { danielebarchiesi@0: $element['trim_length'] = array( danielebarchiesi@0: '#title' => t('Length'), danielebarchiesi@0: '#type' => 'textfield', danielebarchiesi@0: '#size' => 20, danielebarchiesi@0: '#default_value' => $settings['trim_length'], danielebarchiesi@0: '#element_validate' => array('element_validate_integer_positive'), danielebarchiesi@0: '#required' => TRUE, danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $element; danielebarchiesi@0: danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Return a short summary for the current formatter settings of an instance. danielebarchiesi@0: * danielebarchiesi@0: * If an empty result is returned, the formatter is assumed to have no danielebarchiesi@0: * configurable settings, and no UI will be provided to display a settings danielebarchiesi@0: * form. danielebarchiesi@0: * danielebarchiesi@0: * @param $field danielebarchiesi@0: * The field structure. danielebarchiesi@0: * @param $instance danielebarchiesi@0: * The instance structure. danielebarchiesi@0: * @param $view_mode danielebarchiesi@0: * The view mode for which a settings summary is requested. danielebarchiesi@0: * danielebarchiesi@0: * @return danielebarchiesi@0: * A string containing a short summary of the formatter settings. danielebarchiesi@0: */ danielebarchiesi@0: function hook_field_formatter_settings_summary($field, $instance, $view_mode) { danielebarchiesi@0: $display = $instance['display'][$view_mode]; danielebarchiesi@0: $settings = $display['settings']; danielebarchiesi@0: danielebarchiesi@0: $summary = ''; danielebarchiesi@0: danielebarchiesi@0: if ($display['type'] == 'text_trimmed' || $display['type'] == 'text_summary_or_trimmed') { danielebarchiesi@0: $summary = t('Length: @chars chars', array('@chars' => $settings['trim_length'])); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $summary; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * @} End of "addtogroup field_types". danielebarchiesi@0: */