You are here

function path_redirect_admin_redirects in Path redirect 6

Render a list of redirects for the main admin page.

1 string reference to 'path_redirect_admin_redirects'
path_redirect_menu in ./path_redirect.module
Implements hook_menu().

File

./path_redirect.admin.inc, line 126
Administrative page callbacks for the path_redirect module.

Code

function path_redirect_admin_redirects(&$form_state) {
  if (isset($form_state['values']['operation']) && empty($form_state['values']['confirm'])) {
    return path_redirect_admin_redirects_update_confirm($form_state, $form_state['values']['operation'], array_filter($form_state['values']['rids']));
  }

  // Get filter key.
  $keys = func_get_args();
  array_shift($keys);

  // Offset the $form_state parameter.
  $keys = implode('/', $keys);

  // Add the local actions and filter form.
  $form['actions'] = array(
    '#type' => 'markup',
    '#value' => path_redirect_local_actions(),
  );
  $form['filter'] = path_redirect_filter_form($keys);

  // Build the 'Update options' form.
  $form['options'] = array(
    '#type' => 'fieldset',
    '#title' => t('Update options'),
    '#prefix' => '<div class="container-inline">',
    '#suffix' => '</div>',
    '#access' => user_access('administer redirects') && module_exists('elements'),
  );
  $options = array();
  foreach (module_invoke_all('path_redirect_operations') as $key => $operation) {
    $options[$key] = $operation['action'];
  }
  $form['options']['operation'] = array(
    '#type' => 'select',
    '#options' => $options,
    '#default_value' => 'delete',
  );
  $form['options']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Update'),
    '#validate' => array(
      'path_redirect_admin_redirects_update_validate',
    ),
    '#submit' => array(
      'path_redirect_admin_redirects_update_submit',
    ),
  );

  // Apply the filter conditions.
  $query = array(
    'conditions' => array(),
    'args' => array(),
    'limit' => 50,
  );
  path_redirect_filter_query($query, $keys);
  $form['rids'] = path_redirect_list_redirects($query, array(), TRUE);
  $form['pager'] = array(
    '#type' => 'markup',
    '#value' => theme('pager', NULL, 50, 0),
  );
  return $form;
}