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 @ ed9a13f1

1
<?php
2

    
3
/**
4
 * @file
5
 */
6

    
7
/**
8
 * Implements hook_help().
9
 */
10
function feeds_ui_help($path, $arg) {
11
  switch ($path) {
12
    case 'admin/structure/feeds':
13
      $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>';
14
      return $output;
15
  }
16
}
17

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

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

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

    
138
  return $map;
139
}
140

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