function devel_generate_content_form

Same name in other branches
  1. 7.x-1.x devel_generate/devel_generate.module \devel_generate_content_form()

Generates nodes using FormAPI.

1 string reference to 'devel_generate_content_form'
devel_generate_menu in ./devel_generate.module
Implementation of hook_menu().

File

./devel_generate.module, line 94

Code

function devel_generate_content_form() {
    require_once 'devel_generate.inc';
    $options = devel_generate_content_types();
    if (empty($options)) {
        drupal_set_message(t('You do not have any content types that can be generated. <a href="@create-type">Go create a new content type</a> already!</a>', array(
            '@create-type' => url('admin/content/types/add'),
        )), 'error', FALSE);
        return;
    }
    $form['node_types'] = array(
        '#type' => 'checkboxes',
        '#title' => t('Which node types do you want to create?'),
        '#options' => $options,
        '#default_value' => array_keys($options),
    );
    if (module_exists('checkall')) {
        $form['node_types']['#checkall'] = TRUE;
    }
    $form['kill_content'] = array(
        '#type' => 'checkbox',
        '#title' => t('<strong>Delete all content</strong> in these node types before generating new content.'),
        '#default_value' => FALSE,
    );
    $form['num_nodes'] = array(
        '#type' => 'textfield',
        '#title' => t('How many nodes would you like to generate?'),
        '#default_value' => 50,
        '#size' => 10,
    );
    $options = array(
        1 => t('Now'),
    );
    foreach (array(
        3600,
        86400,
        604800,
        2592000,
        31536000,
    ) as $interval) {
        $options[$interval] = format_interval($interval, 1) . ' ' . t('ago');
    }
    $form['time_range'] = array(
        '#type' => 'select',
        '#title' => t('How far back in time should the nodes be dated?'),
        '#description' => t('Node creation dates will be distributed randomly from the current time, back to the selected time.'),
        '#options' => $options,
        '#default_value' => 604800,
    );
    $form['max_comments'] = array(
        '#type' => 'textfield',
        '#title' => t('Maximum number of generated comments per node'),
        '#description' => t('You must also enable comments for the node types you are generating.'),
        '#default_value' => 0,
        '#size' => 3,
        '#access' => module_exists('comment'),
    );
    $form['title_length'] = array(
        '#type' => 'textfield',
        '#title' => t('Max word length of titles'),
        '#default_value' => 8,
        '#size' => 10,
    );
    $form['add_upload'] = array(
        '#type' => 'checkbox',
        '#disabled' => !module_exists('upload'),
        '#description' => t('Requires upload.module'),
        '#title' => t('Add an upload to each node'),
        '#default_value' => FALSE,
    );
    $form['add_terms'] = array(
        '#disabled' => !module_exists('taxonomy'),
        '#description' => t('Requires taxonomy.module'),
        '#type' => 'checkbox',
        '#title' => t('Add taxonomy terms to each node.'),
        '#default_value' => FALSE,
    );
    $form['add_alias'] = array(
        '#type' => 'checkbox',
        '#disabled' => !module_exists('path'),
        '#description' => t('Requires path.module'),
        '#title' => t('Add an url alias for each node.'),
        '#default_value' => FALSE,
    );
    $form['add_statistics'] = array(
        '#type' => 'checkbox',
        '#title' => t('Generate node view statistics (node_counter table).'),
        '#default_value' => TRUE,
        '#access' => module_exists('statistics'),
    );
    if (module_exists('locale')) {
        $form['add_language'] = array(
            '#type' => 'select',
            '#title' => t('Set language on nodes'),
            '#multiple' => TRUE,
            '#description' => t('Requires locale.module'),
            '#options' => array_merge(array(
                '' => t('Language neutral'),
            ), locale_language_list()),
            '#default_value' => '',
        );
    }
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => t('Do it!'),
    );
    $form['#redirect'] = FALSE;
    return $form;
}