devel_generate.module

  1. devel
    1. 5 devel_generate.module
    2. 6 devel_generate.module
    3. 7 devel_generate/devel_generate.module
    4. 8 devel_generate/devel_generate.module

Functions & methods

NameDescription
devel_generate_content_form
devel_generate_content_form_submit
devel_generate_menuImplementation of hook_menu().
devel_generate_overviewOverview page for admin/generate page
devel_generate_taxonomy_form
devel_generate_taxonomy_form_submit
devel_generate_users_form
devel_generate_users_form_submit

File

devel_generate.module
View source
  1. <?php
  2. /**
  3. * Implementation of hook_menu().
  4. */
  5. function devel_generate_menu($may_cache) {
  6. $items = array();
  7. if ($may_cache) {
  8. $items[] = array(
  9. 'path' => 'admin/user/generate',
  10. 'title' => t('Generate users'),
  11. 'callback' => 'drupal_get_form',
  12. 'description' => t('Generate a given number of users. Optionally delete current users.'),
  13. 'callback arguments' => array('devel_generate_users_form'),
  14. 'access' => user_access('administer users'),
  15. 'type' => MENU_NORMAL_ITEM
  16. );
  17. $items[] = array(
  18. 'path' => 'admin/content/generate',
  19. 'title' => t('Generate content'),
  20. 'description' => t('Generate a given number of nodes and comments. Optionally delete current items.'),
  21. 'callback' => 'drupal_get_form',
  22. 'callback arguments' => array('devel_generate_content_form'),
  23. 'access' => user_access('administer nodes'),
  24. 'type' => MENU_NORMAL_ITEM
  25. );
  26. $items[] = array(
  27. 'path' => 'admin/content/generate_taxonomy',
  28. 'title' => t('Generate categories'),
  29. 'description' => t('Generate a given number of vocabularies and terms. Optionally delete current categories.'),
  30. 'callback' => 'drupal_get_form',
  31. 'callback arguments' => array('devel_generate_taxonomy_form'),
  32. 'access' => user_access('administer nodes'),
  33. 'type' => MENU_NORMAL_ITEM
  34. );
  35. }
  36. return $items;
  37. }
  38. /**
  39. * Overview page for admin/generate page
  40. */
  41. function devel_generate_overview() {
  42. $menu = menu_get_item(NULL, 'admin/generate');
  43. $content = system_admin_menu_block($menu);
  44. $output = theme('admin_block_content', $content);
  45. return $output;
  46. }
  47. function devel_generate_users_form() {
  48. $form['num'] = array(
  49. '#type' => 'textfield',
  50. '#title' => t('How many users would you like to generate?'),
  51. '#default_value' => 50,
  52. '#size' => 10,
  53. );
  54. $form['kill_users'] = array(
  55. '#type' => 'checkbox',
  56. '#title' => t('Delete all users but user 1 before generating new users.'),
  57. '#default_value' => FALSE,
  58. );
  59. $form['submit'] = array(
  60. '#type' => 'submit',
  61. '#value' => t('Do it!'),
  62. );
  63. return $form;
  64. }
  65. function devel_generate_users_form_submit($form_id, $form_values) {
  66. require_once('devel_generate.inc');
  67. devel_create_users($form_values['num'], $form_values['kill_users']);
  68. }
  69. function devel_generate_content_form() {
  70. if (module_exists('content')) {
  71. $types = content_types();
  72. $warn = '';
  73. foreach ($types as $type) {
  74. if (count($type['fields'])) {
  75. $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')));
  76. }
  77. $options[$type['type']] = t($type['name']). $warn;
  78. unset($warn);
  79. }
  80. }
  81. else {
  82. $types = node_get_types();
  83. foreach ($types as $type) {
  84. $options[$type->type] = t($type->name);
  85. }
  86. }
  87. // we cannot currently generate valid polls.
  88. unset($options['poll']);
  89. $form['node_types'] = array(
  90. '#type' => 'checkboxes',
  91. '#title' => t('Which node types do you want to create?'),
  92. '#options' => $options,
  93. '#default_value' => array_keys($options),
  94. );
  95. $form['kill_content'] = array(
  96. '#type' => 'checkbox',
  97. '#title' => t('<strong>Delete existing content</strong> before generating new content.'),
  98. '#default_value' => FALSE,
  99. );
  100. $form['num_nodes'] = array(
  101. '#type' => 'textfield',
  102. '#title' => t('How many nodes would you like to generate?'),
  103. '#default_value' => 50,
  104. '#size' => 10,
  105. );
  106. $form['num_comments'] = array(
  107. '#type' => 'textfield',
  108. '#title' => t('How many comments would you like to generate?'),
  109. '#default_value' => 0,
  110. '#size' => 10,
  111. );
  112. $form['title_length'] = array(
  113. '#type' => 'textfield',
  114. '#title' => t('Max word length of titles'),
  115. '#default_value' => 8,
  116. '#size' => 10,
  117. );
  118. $form['submit'] = array(
  119. '#type' => 'submit',
  120. '#value' => t('Do it!'),
  121. );
  122. return $form;
  123. }
  124. function devel_generate_content_form_submit($form_id, $form_values) {
  125. require_once('devel_generate.inc');
  126. 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']));
  127. }
  128. function devel_generate_taxonomy_form() {
  129. $form['num_vocab'] = array(
  130. '#type' => 'textfield',
  131. '#title' => t('How many vocabularies would you like to generate?'),
  132. '#default_value' => 3,
  133. '#size' => 10,
  134. );
  135. $form['num_terms'] = array(
  136. '#type' => 'textfield',
  137. '#title' => t('How many terms would you like to generate?'),
  138. '#default_value' => 50,
  139. '#size' => 10,
  140. );
  141. $form['title_length'] = array(
  142. '#type' => 'textfield',
  143. '#title' => t('Max word length of term/vocab names'),
  144. '#default_value' => 12,
  145. '#size' => 10,
  146. );
  147. $form['kill_taxonomy'] = array(
  148. '#type' => 'checkbox',
  149. '#title' => t('Delete existing terms and vocabularies before generating new content.'),
  150. '#default_value' => FALSE,
  151. );
  152. $form['submit'] = array(
  153. '#type' => 'submit',
  154. '#value' => t('Do it!'),
  155. );
  156. return $form;
  157. }
  158. function devel_generate_taxonomy_form_submit($form_id, $form_values) {
  159. require_once('devel_generate.inc');
  160. devel_generate_taxonomy_data($form_values['num_vocab'], $form_values['num_terms'], $form_values['title_length'], $form_values['kill_taxonomy']);
  161. }
Login or register to post comments

API Navigation