You are here

function enforce_revlog_settings in Enforce revision log message 6

Same name and namespace in other branches
  1. 8 enforce_revlog.module \enforce_revlog_settings()
  2. 7 enforce_revlog.module \enforce_revlog_settings()

Settings page

1 string reference to 'enforce_revlog_settings'
enforce_revlog_menu in ./enforce_revlog.module
Implementation of hook_menu().

File

./enforce_revlog.module, line 49
Allows enforcing unpriviledged users to enter a log message every time a node revision is created or reverted

Code

function enforce_revlog_settings() {
  $form['info_msg'] = array(
    '#type' => 'markup',
    // not necessary (default value), added for exhaustivity
    '#value' => t('Do not forget to <a href="@setperms">set permissions</a> for roles that will be able to skip entering a log message', array(
      '@setperms' => url('admin/user/permissions', array(
        'fragment' => 'module-enforce_revlog',
      )),
    )),
    // use placeholder and url() as it's best practice for these translatable strings
    '#prefix' => '<p><em>',
    '#suffix' => '</em></p>',
  );
  $form['enforce_revlog_revision_revert'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enforce users to enter a log message when reverting a revision'),
    '#default_value' => variable_get('enforce_revlog_revision_revert', 0),
  );
  $form['types'] = array(
    '#type' => 'fieldset',
    '#title' => t('Enforce users to enter a log message for every revision of these content types'),
    '#description' => t('Each selected content type must have revisions enabled for this module to work'),
  );

  // Generate per content-type settings
  foreach (node_get_types() as $type => $name) {
    $form['types']['enforce_revlog_node_type_' . $type] = array(
      '#type' => 'checkbox',
      '#title' => $type,
      '#default_value' => variable_get('enforce_revlog_node_type_' . $type, 0),
    );
  }
  return system_settings_form($form);
}