You are here

function revisioning_admin_configure in Revisioning 8

Same name and namespace in other branches
  1. 6.4 revisioning.admin.inc \revisioning_admin_configure()
  2. 6.3 revisioning.admin.inc \revisioning_admin_configure()
  3. 7 revisioning.admin.inc \revisioning_admin_configure()

Menu callback for admin configuration settings.

1 string reference to 'revisioning_admin_configure'
revisioning_menu in ./revisioning.module
Implements hook_menu().

File

./revisioning.admin.inc, line 11
Admin configuration settings for Revisioning.

Code

function revisioning_admin_configure() {
  $form['revisioning_view_and_edit_links'] = array(
    '#type' => 'fieldset',
    '#title' => t('Configure which revision is loaded when clicking on a view or edit link'),
    '#description' => t('This section allows you to configure which revision is loaded when clicking on links for viewing or editing moderated content, that is content for which the check-box <strong>New revision in draft, pending moderation</strong> is ticked on the %link page. If not ticked for this content type, current and latest revisions will be one and the same, so that the options behave identically.', array(
      '%link' => 'admin/structure/types/manage/<content-type>',
    )),
  );
  $form['revisioning_view_and_edit_links']['revisioning_view_callback'] = array(
    '#type' => 'radios',
    '#title' => t('Links to view content default to'),
    '#options' => array(
      REVISIONING_LOAD_CURRENT => t('displaying the current revision'),
      REVISIONING_LOAD_LATEST => t('displaying the latest revision (reverts to current revision, if the user is not permitted to view revisions of the content type in question)'),
    ),
    '#default_value' => variable_get('revisioning_view_callback', REVISIONING_LOAD_CURRENT),
    '#description' => t('The first option represents default core behaviour.'),
  );
  $form['revisioning_view_and_edit_links']['revisioning_edit_callback'] = array(
    '#type' => 'radios',
    '#title' => t('Links to edit content default to'),
    '#options' => array(
      REVISIONING_LOAD_CURRENT => t('editing the current revision'),
      REVISIONING_LOAD_LATEST => t('editing the latest revision (reverts to current revision, if the user is not permitted to view revisions of the content type in question)'),
    ),
    '#default_value' => variable_get('revisioning_edit_callback', REVISIONING_LOAD_CURRENT),
    '#description' => t('The first option represents default core behaviour.'),
  );
  $form['revisioning_publication_config'] = array(
    '#type' => 'fieldset',
    '#title' => t('Publication options'),
  );
  $form['revisioning_publication_config']['revisioning_require_update_to_publish'] = array(
    '#type' => 'checkbox',
    '#title' => t('Require update permission in order to publish or unpublish content.'),
    '#default_value' => variable_get('revisioning_require_update_to_publish', TRUE),
    '#description' => t('If you have enabled one or modules dealing with content access, then you would normally tick this box.'),
  );
  if (module_exists('taxonomy')) {
    $form['revisioning_display_options'] = array(
      '#type' => 'fieldset',
      '#title' => t('Display options'),
    );
    $form['revisioning_display_options']['revisioning_show_taxonomy_terms'] = array(
      '#type' => 'checkbox',
      '#title' => t('Where applicable add <strong>Tags</strong> and <strong>Terms</strong> columns to the content revisions summary (Revisions tab).'),
      '#default_value' => variable_get('revisioning_show_taxonomy_terms', TRUE),
      '#description' => t('These columns will only appear if some tags or terms have been assigned to the content shown.'),
    );
    $form['revisioning_display_options']['revisioning_in_views_show_unpublished_content_terms'] = array(
      '#type' => 'checkbox',
      '#title' => t('In feeds and Views, e.g. <em>/content-summary</em>, show <strong>Tags</strong> and <strong>Terms</strong> associated with unpublished content, subject to permissions'),
      '#default_value' => variable_get('revisioning_in_views_show_unpublished_content_terms', TRUE),
      '#description' => t('Core behaviour is to suppress the display of tags and terms on all unpublished content even if the user has the permission.'),
    );
  }
  $access_modules = module_implements('node_access');
  $grants_modules = module_implements('node_grants');
  $modules = array_merge($access_modules, $grants_modules);
  $form['revisioning_additional_info'] = array(
    '#type' => 'fieldset',
    '#title' => t('Additional info'),
    '#description' => t('The following content access modules are enabled and may affect whether users can view, edit, delete or publish content:<br/>%modules.', array(
      '%modules' => empty($modules) ? t('none') : implode(', ', $modules),
    )),
  );
  $form['actions']['#type'] = 'actions';
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save configuration'),
  );
  $form['#submit'][] = 'revisioning_admin_configure_form_submit';
  $form['#theme'] = 'system_settings_form';
  return $form;
}