You are here

function rules_action_create_domain in Domain Rules 6

File

./domain_rules.rules.inc, line 60
The rules hook and action

Code

function rules_action_create_domain($settings) {

  // Get form value
  $form_state['values']['sitename'] = $settings['sitename'];
  $form_state['values']['subdomain'] = $settings['subdomain'];
  $form_state['values']['valid'] = $settings['valid'];
  $form_state['values']['domain_scheme'] = $settings['domain_scheme'];
  $form_state['values']['user_submitted'] = TRUE;
  $arguments = array(
    'user_submitted' => TRUE,
    'ignore_domain_status_check' => TRUE,
  );
  $domain = domain_lookup(NULL, $form_state['values']['subdomain'], TRUE);

  // In case the domain already exist
  if (isset($domain['domain_id'])) {
    drupal_set_message(t('The domain @domain already exists.', array(
      '@domain' => $form_state['values']['subdomain'],
    )), 'error');
  }
  else {

    // Include the form file.
    module_load_include('inc', 'domain', 'domain.admin');
    drupal_execute('domain_form', $form_state, array(), $arguments);
    $domain = domain_lookup(NULL, $form_state['values']['subdomain'], TRUE);
    if (isset($domain['domain_id'])) {
      drupal_set_message(t('The domain @domain created successfully.', array(
        '@domain' => $form_state['values']['subdomain'],
      )));
    }
    else {
      drupal_set_message(t('Failed to create the domain @domain.', array(
        '@domain' => $form_state['values']['subdomain'],
      )), 'error');
    }
  }
}