You are here

node_title_help_text.module in Node title help text 7

Same filename and directory in other branches
  1. 8 node_title_help_text.module
  2. 6 node_title_help_text.module

Allows user to add help text to node title per content type.

File

node_title_help_text.module
View source
<?php

/**
 * @file
 * Allows user to add help text to node title per content type.
 */

/**
 * Implements hook_form_FORM_ID_alter().
 */
function node_title_help_text_form_node_form_alter(&$form, &$form_state, $form_id) {

  // Retrieve and add description to node title field on node add/edit page.
  $name = 'node_title_help_text_' . $form['#node']->type . '_title_help';
  $description = variable_get($name, NULL);
  if ($description != '') {
    $form['title']['#description'] = nl2br(field_filter_xss($description));
  }
}

/**
 * Implements hook_form_FORM_ID_alter().
 */
function node_title_help_text_form_node_type_form_alter(&$form, &$form_state, $form_id) {

  // Set default value of the help text form element on node type form.
  $name = 'node_title_help_text_' . $form['#node_type']->type . '_title_help';
  $value = variable_get($name, NULL);
  $form['submission']['title_help'] = array(
    '#title' => t('Title field helptext'),
    '#type' => 'textarea',
    '#default_value' => $value,
  );
  $form['#submit'][] = 'node_title_help_text_node_type_form_submit';
}

/**
 * Submit handler for node type form. Stores help text in variable.
 */
function node_title_help_text_node_type_form_submit($form_id, &$form_state) {

  // In case of change of machine name, remove the old variable.
  if (isset($form_state['values']['old_type'])) {
    $old_name = 'node_title_help_text_' . $form_state['values']['old_type'] . '_title_help';
    variable_del($old_name);
  }
  $name = 'node_title_help_text_' . $form_state['values']['type'] . '_title_help';
  $value = $form_state['values']['title_help'];

  // In case of empty text, delete the variable
  if (empty($value)) {
    variable_del($name);
  }
  else {
    variable_set($name, $value);
  }
}

/**
 * Implements hook_node_type_delete().
 */
function node_title_help_text_node_type_delete($info) {

  // Delete the variable along with content type.
  $name = 'node_title_help_text_' . $info->type . '_title_help';
  variable_del($name);
}