Projet

Général

Profil

Paste
Télécharger (4,48 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / feeds / feeds_ui / feeds_ui.module @ 41cc1b08

1
<?php
2
/**
3
 * @file
4
 */
5

    
6
/**
7
 * Implements hook_help().
8
 */
9
function feeds_ui_help($path, $arg) {
10
  switch ($path) {
11
    case 'admin/structure/feeds':
12
      $output = '<p>' . t('Create one or more Feed importers for pulling content into Drupal. You can use these importers from the <a href="@import">Import</a> page or - if you attach them to a content type - simply by creating a node from that content type.', array('@import' => url('import'))) . '</p>';
13
      return $output;
14
  }
15
}
16

    
17
/**
18
 * Implements hook_menu().
19
 */
20
function feeds_ui_menu() {
21
  $items = array();
22
  $items['admin/structure/feeds'] = array(
23
    'title' => 'Feeds importers',
24
    'description' => 'Configure one or more Feeds importers to aggregate RSS and Atom feeds, import CSV files or more.',
25
    'page callback' => 'drupal_get_form',
26
    'page arguments' => array('feeds_ui_overview_form'),
27
    'access arguments' => array('administer feeds'),
28
    'file' => 'feeds_ui.admin.inc',
29
  );
30
  $items['admin/structure/feeds/create'] = array(
31
    'title' => 'Add importer',
32
    'page callback' => 'drupal_get_form',
33
    'page arguments' => array('feeds_ui_create_form'),
34
    'access arguments' => array('administer feeds'),
35
    'file' => 'feeds_ui.admin.inc',
36
    'type' => MENU_LOCAL_ACTION,
37
  );
38
  $items['admin/structure/feeds/import'] = array(
39
    'title' => 'Import importer',
40
    'page callback' => 'drupal_get_form',
41
    'page arguments' => array('feeds_ui_importer_import'),
42
    'access callback' => 'feeds_importer_import_access',
43
    'file' => 'feeds_ui.admin.inc',
44
    'type' => MENU_LOCAL_ACTION,
45
  );
46
  $items['admin/structure/feeds/%feeds_importer'] = array(
47
    'title callback' => 'feeds_ui_importer_title',
48
    'title arguments' => array(3),
49
    'page callback' => 'feeds_ui_edit_page',
50
    'page arguments' => array(3),
51
    'access arguments' => array('administer feeds'),
52
    'file' => 'feeds_ui.admin.inc',
53
  );
54
  $items['admin/structure/feeds/%feeds_importer/edit'] = array(
55
    'title' => 'Edit',
56
    'page callback' => 'feeds_ui_edit_page',
57
    'page arguments' => array(3),
58
    'access arguments' => array('administer feeds'),
59
    'file' => 'feeds_ui.admin.inc',
60
    'type' => MENU_DEFAULT_LOCAL_TASK,
61
    'weight' => 1,
62
  );
63
  $items['admin/structure/feeds/%feeds_importer/export'] = array(
64
    'title' => 'Export',
65
    'page callback' => 'drupal_get_form',
66
    'page arguments' => array('feeds_ui_export_form', 3),
67
    'access arguments' => array('administer feeds'),
68
    'file' => 'feeds_ui.admin.inc',
69
    'type' => MENU_LOCAL_TASK,
70
    'weight' => 2,
71
  );
72
  $items['admin/structure/feeds/%feeds_importer/clone'] = array(
73
    'title' => 'Clone',
74
    'page callback' => 'drupal_get_form',
75
    'page arguments' => array('feeds_ui_create_form', 3),
76
    'access arguments' => array('administer feeds'),
77
    'file' => 'feeds_ui.admin.inc',
78
    'type' => MENU_LOCAL_TASK,
79
    'weight' => 3,
80
  );
81
  $items['admin/structure/feeds/%feeds_importer/delete'] = array(
82
    'title' => 'Delete',
83
    'page callback' => 'drupal_get_form',
84
    'page arguments' => array('feeds_ui_delete_form', 3),
85
    'access arguments' => array('administer feeds'),
86
    'file' => 'feeds_ui.admin.inc',
87
    'type' => MENU_LOCAL_TASK,
88
    'weight' => 4,
89
  );
90
  return $items;
91
}
92

    
93
/**
94
 * Implements hook_theme().
95
 */
96
function feeds_ui_theme() {
97
  return array(
98
    'feeds_ui_overview_form' => array(
99
      'render element' => 'form',
100
      'file' => 'feeds_ui.admin.inc',
101
    ),
102
    'feeds_ui_mapping_form' => array(
103
      'render element' => 'form',
104
      'file' => 'feeds_ui.admin.inc',
105
    ),
106
    'feeds_ui_edit_page' => array(
107
      'variables' => array('info' => NULL, 'active' => NULL),
108
      'file' => 'feeds_ui.admin.inc',
109
    ),
110
    'feeds_ui_plugin_form' => array(
111
      'render element' => 'form',
112
      'file' => 'feeds_ui.admin.inc',
113
    ),
114
    'feeds_ui_container' => array(
115
      'variables' => array('container' => NULL),
116
      'file' => 'feeds_ui.admin.inc',
117
    ),
118
  );
119
}
120

    
121
/**
122
 * Implements hook_admin_menu_map().
123
 */
124
function feeds_ui_admin_menu_map() {
125
  // Add awareness to the administration menu of the various importers so they
126
  // are included in the dropdown menu.
127
  if (!user_access('administer feeds')) {
128
    return;
129
  }
130
  $map['admin/structure/feeds/%feeds_importer'] = array(
131
    'parent' => 'admin/structure/feeds',
132
    'arguments' => array(
133
      array('%feeds_importer' => feeds_enabled_importers()),
134
    ),
135
  );
136

    
137
  return $map;
138
}
139

    
140
/**
141
 * Title callback for importers.
142
 */
143
function feeds_ui_importer_title($importer) {
144
  return t('@importer', array('@importer' => $importer->config['name']));
145
}