function domain_prefix_configure_form in Domain Access 6.2
Same name and namespace in other branches
- 5 domain_prefix/domain_prefix.module \domain_prefix_configure_form()
FormsAPI for generating the configuration form
2 string references to 'domain_prefix_configure_form'
- domain_prefix_form in domain_prefix/
domain_prefix.admin.inc - The table prefixing page for a domain.
- domain_prefix_menu in domain_prefix/
domain_prefix.module - Implement hook_menu()
File
- domain_prefix/
domain_prefix.admin.inc, line 54 - Admin page functions for selective table prefixing for use with Domain Access.
Code
function domain_prefix_configure_form() {
// We must use the settings from the root domain.
$default = domain_default();
domain_set_domain($default['domain_id'], TRUE);
// Get the tables for the root installation.
$tables = domain_prefix_get_tables();
// Remove the disallowed tables.
$disallow = domain_prefix_disallow();
// Get the current settings.
$info = variable_get('domain_prefix', NULL);
$settings = $info['settings'];
$source_defaults = $info['sources'];
$form = array();
$form['domain'] = array(
'#type' => 'fieldset',
'#title' => t('Domain creation rules'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['domain']['domain_prefix_options'] = array(
'#type' => 'radios',
'#title' => t('Domain creation options'),
'#description' => t('Determines what actions to take when creating new domain records.'),
'#options' => array(
1 => t('Generate tables as defined below'),
0 => t('Do not generate any tables'),
),
'#default_value' => variable_get('domain_prefix_options', 1),
'#required' => TRUE,
);
$last = '';
// Flag for module grouping.
// Get the source table data.
$root = domain_default();
foreach ($tables as $table => $info) {
if (!in_array($table, $disallow) && substr($table, 0, 7) != 'domain_') {
if (empty($settings[$table])) {
$settings[$table] = DOMAIN_PREFIX_IGNORE;
$source_defaults['_source_' . $table] = 0;
}
$module = domain_prefix_get_name($info);
if ($last != $module) {
$last = $module;
}
else {
$module = '';
}
$options = array();
$options[DOMAIN_PREFIX_IGNORE] = t('ignore');
$options[DOMAIN_PREFIX_CREATE] = t('create');
$options[DOMAIN_PREFIX_COPY] = t('copy');
$form['domain_prefix'][$table] = array(
'#type' => 'radios',
'#title' => $table,
'#options' => $options,
'#default_value' => $settings[$table],
'#description' => $module,
);
// Get the table copying options for this entry.
// Can't pass a zero through FormAPI select.
$sources = array();
$sources[0] = $root['sitename'];
// Check to see if other table prefixes have been created.
$result = db_query("SELECT dp.domain_id, d.sitename FROM {domain_prefix} dp\n INNER JOIN {domain} d ON dp.domain_id = d.domain_id\n WHERE dp.tablename = '%s' AND dp.status > %d", $table, 1);
while ($data = db_fetch_array($result)) {
$sources[$data['domain_id']] = $data['sitename'];
}
$form['domain_source']['_source_' . $table] = array(
'#type' => 'select',
'#title' => '',
'#options' => $sources,
'#default_value' => $source_defaults['_source_' . $table],
);
}
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save prefix settings'),
);
$form['restore'] = array(
'#type' => 'submit',
'#value' => t('Restore defaults'),
);
// Reset the active domain.
domain_reset_domain(TRUE);
return $form;
}