View source  
  <?php
function feeds_ui_help($path, $arg) {
  switch ($path) {
    case 'admin/build/feeds':
      $output = '<p>' . t('Create one or more Feed importers for pulling content into Drupal. You can use these importers from the !import page or - if you attach them to a content type - simply by creating a node from that content type.', array(
        '!import' => l(t('Import'), 'import'),
      )) . '</p>';
      return $output;
    case 'admin/content/feeds':
      $output = '<p>' . t('Import content into Drupal.') . '</p>';
      return $output;
  }
}
function feeds_ui_menu() {
  $items = array();
  $items['admin/build/feeds'] = array(
    'title' => 'Feed importers',
    'description' => 'Configure feeds to import or aggregate RSS and Atom feeds, import CSV files or more.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'feeds_ui_overview_form',
    ),
    'access arguments' => array(
      'administer feeds',
    ),
    'file' => 'feeds_ui.admin.inc',
  );
  $items['admin/build/feeds/list'] = array(
    'title' => t('List'),
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );
  $items['admin/build/feeds/create'] = array(
    'title' => t('New importer'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'feeds_ui_create_form',
    ),
    'access arguments' => array(
      'administer feeds',
    ),
    'file' => 'feeds_ui.admin.inc',
    'type' => MENU_LOCAL_TASK,
    'weight' => 1,
  );
  $items['admin/build/feeds/clone/%feeds_importer'] = array(
    'title callback' => 'feed_ui_clone_title',
    'title arguments' => array(
      4,
    ),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'feeds_ui_create_form',
      4,
    ),
    'access arguments' => array(
      'administer feeds',
    ),
    'file' => 'feeds_ui.admin.inc',
    'type' => MENU_CALLBACK,
  );
  $items['admin/build/feeds/export/%feeds_importer'] = array(
    'title callback' => 'feed_ui_title',
    'title arguments' => array(
      4,
    ),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'feeds_ui_export_form',
      4,
    ),
    'access arguments' => array(
      'administer feeds',
    ),
    'file' => 'feeds_ui.admin.inc',
    'type' => MENU_CALLBACK,
  );
  $items['admin/build/feeds/edit/%feeds_importer'] = array(
    'title callback' => 'feed_ui_title',
    'title arguments' => array(
      4,
    ),
    'page callback' => 'feeds_ui_edit_page',
    'page arguments' => array(
      4,
    ),
    'access arguments' => array(
      'administer feeds',
    ),
    'file' => 'feeds_ui.admin.inc',
    'type' => MENU_CALLBACK,
  );
  $items['admin/build/feeds/delete/%feeds_importer'] = array(
    'title' => t('Delete configuration'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'feeds_ui_delete_form',
      4,
    ),
    'access arguments' => array(
      'administer feeds',
    ),
    'file' => 'feeds_ui.admin.inc',
    'type' => MENU_CALLBACK,
  );
  return $items;
}
function feeds_ui_theme() {
  return array(
    'feeds_ui_overview_form' => array(
      'file' => 'feeds_ui.admin.inc',
    ),
    'feeds_ui_mapping_form' => array(
      'file' => 'feeds_ui.admin.inc',
    ),
    'feeds_ui_edit_page' => array(
      'file' => 'feeds_ui.admin.inc',
    ),
    'feeds_ui_plugin_form' => array(
      'file' => 'feeds_ui.admin.inc',
    ),
    'feeds_ui_container' => array(
      'file' => 'feeds_ui.admin.inc',
    ),
  );
}
function feed_ui_title($importer) {
  return t('Edit importer: @importer', array(
    '@importer' => $importer->config['name'],
  ));
}
function feed_ui_clone_title($importer) {
  return t('Clone importer: @importer', array(
    '@importer' => $importer->config['name'],
  ));
}