-
Notifications
You must be signed in to change notification settings - Fork 1
/
seed.module
119 lines (105 loc) · 2.61 KB
/
seed.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
/**
* @file
* Provides seeding functionality for modules.
*/
require_once dirname(__FILE__) . '/seed.inc';
/**
* Default seed category name.
*/
define('SEED_CATEGORY_NAME', 'Seeds');
/**
* Default seed category vocabulary id.
*/
define('SEED_CATEGORY_DEFAULT_VID', 'seed_category_default_vid');
/**
* Implements hook_menu().
*/
function seed_menu() {
return array(
'admin/config/people/seed' => array(
'title' => 'Seeds',
'description' => 'Configure seed settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array('seed_admin_settings'),
'access arguments' => array('administer seeds'),
'file' => 'seed.admin.inc',
'type' => MENU_NORMAL_ITEM,
),
);
}
/**
* Implements hook_permission().
*/
function seed_permission() {
return array(
'administer seeds' => array(
'title' => t('Administer Seeds'),
'description' => t('Allows to create, read, update and destroy seeds.'),
),
'use seeds' => array(
'title' => t('Use seeds'),
'description' => t('Allows to find and use seeds.'),
),
'use seed test block' => array(
'title' => t('Use seed test block'),
'description' => t('View the seed testing block'),
),
'view seed reports' => array(
'title' => t('View seed reports'),
),
);
}
/**
* Implements hook_block_info().
*/
function seed_block_info() {
return array(
'seed_test' => array(
'info' => t('Seed Tester'),
'cache' => DRUPAL_NO_CACHE,
),
);
}
/**
* Implements hook_block_view().
*/
function seed_block_view($delta = '') {
if ( $delta == 'seed_test' && user_access('use seed test block') ) {
return array(
'subject' => t('Seed Tester'),
'content' => drupal_get_form('seed_test_form'),
);
}
}
/**
* Implements hook_views_api().
*/
function seed_views_api() {
return array('api' => 3.0);
}
/**
* Seed testing form.
*/
function seed_test_form($form, &$form_state) {
$seed = seed_find();
$form['sid'] = array(
'#type' => 'hidden',
'#value' => isset($seed->sid) ? $seed->sid : 0,
);
$form['submit'] = array(
'#disabled' => !isset($seed->sid),
'#type' => 'submit',
'#value' => isset($seed->sid) ? t('Seed @seedname Available', array('@seedname' => $seed->name)) : t('No seed available'),
);
return $form;
}
/**
* Seed testing form submit callback.
*/
function seed_test_form_submit(&$form, &$form_state) {
if ( $form_state['values']['sid'] !== 0 ) {
$seed = seed_use($form_state['values']['sid']);
drupal_set_message(t('Successfully used seed @seedname', array('@seedname' => $seed->name)));
}
}