Newer
Older
Jeff Robbins
committed
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
<?php
// $Id$
/**
* Implementation of hook_menu().
*/
function devel_generate_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array(
'path' => 'admin/user/generate',
'title' => t('Generate users'),
'callback' => 'drupal_get_form',
'description' => t('Generate a given number of users. Optionally delete current users.'),
'callback arguments' => array('devel_generate_users_form'),
'access' => user_access('administer users'),
'type' => MENU_NORMAL_ITEM
);
$items[] = array(
'path' => 'admin/content/generate',
'title' => t('Generate content'),
'description' => t('Generate a given number of nodes and comments. Optionally delete current items.'),
'callback' => 'drupal_get_form',
'callback arguments' => array('devel_generate_content_form'),
'access' => user_access('administer nodes'),
'type' => MENU_NORMAL_ITEM
);
$items[] = array(
'path' => 'admin/content/generate_taxonomy',
'title' => t('Generate categories'),
'description' => t('Generate a given number of vocabularies and terms. Optionally delete current categories.'),
'callback' => 'drupal_get_form',
'callback arguments' => array('devel_generate_taxonomy_form'),
'access' => user_access('administer nodes'),
'type' => MENU_NORMAL_ITEM
);
}
return $items;
}
/**
* Overview page for admin/generate page
*/
function devel_generate_overview() {
$menu = menu_get_item(NULL, 'admin/generate');
$content = system_admin_menu_block($menu);
$output = theme('admin_block_content', $content);
return $output;
}
function devel_generate_users_form() {
$form['num'] = array(
'#type' => 'textfield',
'#title' => t('How many users would you like to generate?'),
'#default_value' => 50,
'#size' => 10,
);
$form['kill_users'] = array(
'#type' => 'checkbox',
'#title' => t('Delete all users but user 1 before generating new users.'),
Chad Phillips
committed
'#default_value' => FALSE,
Jeff Robbins
committed
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Do it!'),
);
return $form;
}
function devel_generate_users_form_submit($form_id, $form_values) {
require_once('devel_generate.inc');
devel_create_users($form_values['num'], $form_values['kill_users']);
Jeff Robbins
committed
}
function devel_generate_content_form() {
Moshe Weitzman
committed
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
if (module_exists('content')) {
$types = content_types();
$warn = '';
foreach ($types as $type) {
if (count($type['fields'])) {
$warn = t('. <strong>Warning</strong>. This type contains CCK fields which won\'t be populated. See !url', array('!url' => l(t('this CCK issue.'), 'http://drupal.org/node/187599')));
}
$options[$type['type']] = t($type['name']). $warn;
unset($warn);
}
}
else {
$types = node_get_types();
foreach ($types as $type) {
$options[$type->type] = t($type->name);
}
}
$form['node_types'] = array(
'#type' => 'checkboxes',
'#title' => t('Which node types do you want to create?'),
'#options' => $options,
'#default_value' => array_keys($options),
);
$form['kill_content'] = array(
'#type' => 'checkbox',
'#title' => t('<strong>Delete existing content</strong> before generating new content.'),
'#default_value' => FALSE,
);
Jeff Robbins
committed
$form['num_nodes'] = array(
'#type' => 'textfield',
'#title' => t('How many nodes would you like to generate?'),
Moshe Weitzman
committed
'#default_value' => 50,
Jeff Robbins
committed
'#size' => 10,
);
$form['num_comments'] = array(
'#type' => 'textfield',
'#title' => t('How many comments would you like to generate?'),
Moshe Weitzman
committed
'#default_value' => 0,
Jeff Robbins
committed
'#size' => 10,
);
$form['title_length'] = array(
'#type' => 'textfield',
'#title' => t('Max word length of titles'),
'#default_value' => 8,
'#size' => 10,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Do it!'),
);
return $form;
}
function devel_generate_content_form_submit($form_id, $form_values) {
require_once('devel_generate.inc');
Moshe Weitzman
committed
devel_generate_content($form_values['num_nodes'], $form_values['num_comments'], $form_values['title_length'], $form_values['kill_content'], array_filter($form_values['node_types']));
Jeff Robbins
committed
}
function devel_generate_taxonomy_form() {
$form['num_vocab'] = array(
'#type' => 'textfield',
'#title' => t('How many vocabularies would you like to generate?'),
'#default_value' => 3,
'#size' => 10,
);
$form['num_terms'] = array(
'#type' => 'textfield',
'#title' => t('How many terms would you like to generate?'),
'#default_value' => 50,
'#size' => 10,
);
$form['title_length'] = array(
'#type' => 'textfield',
'#title' => t('Max word length of term/vocab names'),
'#default_value' => 12,
'#size' => 10,
);
Chad Phillips
committed
$form['kill_taxonomy'] = array(
'#type' => 'checkbox',
'#title' => t('Delete existing terms and vocabularies before generating new content.'),
'#default_value' => FALSE,
);
Jeff Robbins
committed
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Do it!'),
);
return $form;
}
function devel_generate_taxonomy_form_submit($form_id, $form_values) {
Chad Phillips
committed
require_once('devel_generate.inc');
devel_generate_taxonomy_data($form_values['num_vocab'], $form_values['num_terms'], $form_values['title_length'], $form_values['kill_taxonomy']);