You are here

function asset_generate_assets_form in Asset 7

Form callback for asset generation

Return value

null|array

1 string reference to 'asset_generate_assets_form'
asset_generate_menu in modules/asset_generate/asset_generate.module
Implements hook_menu().

File

modules/asset_generate/asset_generate.module, line 28
Asset generate hooks and general functions.

Code

function asset_generate_assets_form() {
  $options = array();
  $types = asset_type_get_names();
  foreach ($types as $type => $name) {
    $options[$type] = array(
      'type' => $name,
    );
  }
  if (empty($options)) {
    drupal_set_message(t('You do not have any asset type that can be generated. Enable a module that provides an asset type'), 'error');
    return NULL;
  }
  $header = array(
    'type' => t('Asset type'),
  );
  $form['asset_types'] = array(
    '#type' => 'tableselect',
    '#header' => $header,
    '#options' => $options,
    '#required' => TRUE,
  );
  if (module_exists('checkall')) {
    $form['asset_types']['#checkall'] = TRUE;
  }
  $form['kill_assets'] = array(
    '#type' => 'checkbox',
    '#title' => t('<strong>Delete all assets</strong> in these asset types before generating new assets.'),
    '#default_value' => FALSE,
  );
  $form['num_assets'] = array(
    '#type' => 'textfield',
    '#title' => t('How many assets 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 assets be dated?'),
    '#description' => t('Asset creation dates will be distributed randomly from the current time, back to the selected time.'),
    '#options' => $options,
    '#default_value' => 604800,
  );
  $form['title_length'] = array(
    '#type' => 'textfield',
    '#title' => t('Maximum number of words in titles'),
    '#default_value' => 4,
    '#size' => 10,
  );
  unset($options);
  $options[LANGUAGE_NONE] = t('Language neutral');
  if (module_exists('locale')) {
    $options += locale_language_list();
  }
  $form['add_language'] = array(
    '#type' => 'select',
    '#title' => t('Set language on assets'),
    '#multiple' => TRUE,
    '#disabled' => !module_exists('locale'),
    '#description' => t('Requires locale.module'),
    '#options' => $options,
    '#default_value' => array(
      LANGUAGE_NONE,
    ),
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Generate'),
  );
  $form['#redirect'] = FALSE;
  return $form;
}