function omega_tools_subtheme_add in Omega Tools 7.3
@todo
1 string reference to 'omega_tools_subtheme_add'
- omega_tools_menu in ./
omega_tools.module - Implements hook_menu().
File
- includes/
omega_tools.admin.inc, line 103
Code
function omega_tools_subtheme_add($form, &$form_state) {
system_rebuild_theme_data();
$themes = omega_tools_base_themes();
$starterkits = array();
if (!empty($themes)) {
$base = isset($form_state['values']['base']) ? $form_state['values']['base'] : 'omega';
$starterkits = omega_tools_starterkits($base);
$starter = isset($form_state['values']['starterkit']) ? $form_state['values']['starterkit'] : key($starterkits);
$starter = !empty($starter) ? $starter : '_none';
}
$form['info'] = array(
'#type' => 'fieldset',
'#title' => t('Theme information'),
);
$form['info']['name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#description' => t('The human-readable name for this theme.'),
'#default_value' => isset($form_state['values']['name']) ? $form_state['values']['name'] : '',
'#size' => 30,
'#required' => TRUE,
);
$form['info']['machine_name'] = array(
'#type' => 'machine_name',
'#default_value' => isset($form_state['values']['machine_name']) ? $form_state['values']['machine_name'] : '',
'#maxlength' => 30,
'#machine_name' => array(
'source' => array(
'info',
'name',
),
),
'#element_validate' => array(
'_omega_tools_validate_theme_name',
),
);
$form['info']['automated'] = array(
'#type' => 'checkbox',
'#title' => t('Install automatically'),
'#description' => t('Please select wether you want to install this theme manually or if it should be automatically placed in the selected destination. This feature requires you to have write permission for the selected destination.'),
'#default_value' => TRUE,
'#element_validate' => array(
'omega_tools_subtheme_validate_automation',
),
);
$form['info']['destination'] = array(
'#type' => 'select',
'#title' => t('Destination'),
'#description' => t('The theme will be place in the path selected here.'),
'#options' => omega_tools_sites_options(),
'#default_value' => 'all',
'#states' => array(
'visible' => array(
':input[name="automated"]' => array(
'checked' => TRUE,
),
),
),
);
$form['info']['base'] = array(
'#type' => 'select',
'#title' => t('Base theme'),
'#description' => t('The base theme for this theme.'),
'#options' => $themes,
'#default_value' => $base,
'#ajax' => array(
'callback' => '_omega_tools_starterkit_options_callback',
'wrapper' => 'starterkit-options-wrapper',
'method' => 'replace',
'effect' => 'fade',
),
);
$form['info']['starterkit_wrapper'] = array(
'#prefix' => '<div id="starterkit-options-wrapper">',
'#suffix' => '</div>',
);
$form['info']['starterkit_wrapper']['starterkit'] = array(
'#type' => 'radios',
'#title' => t('Starterkit'),
'#options' => array(
'_none' => t('Proceed without using a starterkit') . '<div class="description">' . t('This is not recommended.') . '</div>',
) + $starterkits,
'#description' => t('Starterkits simplify the process of creating new subthemes by providing a set of pre-defined files and settings. Choose wisely!'),
'#default_value' => $starter,
'#access' => !empty($starterkits),
);
$form['actions']['#type'] = 'actions';
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save and continue'),
);
return $form;
}