'. t('The Pager module provides a quick and easy way to set pager limits.') .'

'; } return $output; } function pager_menu() { $items['admin/settings/pager'] = array( 'title' => 'Pager Settings', 'description' => t('Provides a quick and easy way to set pager limits.'), 'page callback' => 'drupal_get_form', 'page arguments' => array('pager_admin_form'), 'access arguments' => array('administer site configuration'), 'type' => MENU_NORMAL_ITEM, ); return $items; } function pager_admin_form() { $form['settings'] = array( '#type' => 'markup', '#theme' => 'pager_settings', ); // Retrieve pager settings $delta = 0; $pager_settings = variable_get('pager_settings', array()); uksort($pager_settings, 'strcasecmp'); foreach ($pager_settings as $pager => $limit) { $form['settings'][$delta] = pager_setting_row($delta, $pager, $limit); $delta++; } $form['submit'] = array( '#type' => 'submit', '#value' => t('Save pager limits'), ); return $form; } function pager_setting_row($delta, $pager, $limit) { $form = array( '#tree' => TRUE, ); $form['pager'] = array( '#type' => 'textfield', '#value' => check_plain($pager), '#size' => 50, '#parents' => array('settings', $delta, 'pager'), '#attributes' => array('disabled' => 'disabled'), ); $form['limit'] = array( '#type' => 'textfield', '#default_value' => check_plain($limit), '#size' => 10, '#parents' => array('settings', $delta, 'limit'), ); return $form; } function pager_admin_form_validate($form, &$form_state) { foreach ($form_state['values']['settings'] as $index => $value) { if (empty($value['limit']) || !is_numeric($value['limit'])) { form_set_error('limit', t('Limit must be a number.')); } } } function pager_admin_form_submit($form, &$form_state) { $settings = array(); foreach ($form_state['values']['settings'] as $index => $value) { $settings[$value['pager']] = intval($value['limit']); } variable_set('pager_settings', $settings); // Output a message to the user drupal_set_message('Your changes have been saved.'); } function pager_theme() { return array( 'pager_settings' => array( 'arguments' => array('form' => NULL), ), ); } function theme_pager_settings($form) { $headers = array( t('Pager'), t('Limit'), ); $rows = array(); foreach (element_children($form) as $key) { // Build the table row. $rows[] = array( 'data' => array( array('data' => drupal_render($form[$key]['pager']), 'class' => 'pagersettings-pager'), array('data' => drupal_render($form[$key]['limit']), 'class' => 'pagersettings-limit'), ), ); } $output = theme('table', $headers, $rows); $output .= drupal_render($form); return $output; }