function fusion_apply_ui_admin_skin_info_settings in Fusion Accelerator 7
Same name and namespace in other branches
- 7.2 fusion_apply/fusion_apply_ui.admin.inc \fusion_apply_ui_admin_skin_info_settings()
Menu callback; displays a listing of all skins in a skinset, allowing you to enable or disable them individually for each theme.
See also
fusion_apply_ui_admin_skin_info_settings_validate()
fusion_apply_ui_admin_skin_info_settings_submit()
fusion_apply_ui_admin_skin_info_settings_reset()
1 string reference to 'fusion_apply_ui_admin_skin_info_settings'
- fusion_apply_ui_menu in fusion_apply/
fusion_apply_ui.module - Implements hook_menu().
File
- fusion_apply/
fusion_apply_ui.admin.inc, line 781 - Admin page callbacks for the Fusion Apply module.
Code
function fusion_apply_ui_admin_skin_info_settings($form, &$form_state, $skin_info) {
$themes = list_themes();
if (isset($form_state['storage']['disable_sids'])) {
foreach ($form_state['storage']['themes'] as $theme) {
$items[] = $themes[$theme]->info['name'];
}
$message = t('Would you like to disable the skin configurations for the selected themes?') . theme('item_list', array(
'items' => $items,
));
// Insert a confirmation form.
return confirm_form($form, t('Disable all skin configurations for selected themes?'), 'admin/appearance/fusion/skins', $message, t('Yes'), t('No'));
}
// Output skin details.
$form['title'] = array(
'#markup' => '<h2>' . $skin_info['title'] . '</h2>',
);
$form['description'] = array(
'#markup' => '<div class="description">' . $skin_info['description'] . '</div>',
);
$theme_hooks = array();
foreach ($skin_info['theme hooks'] as $theme_hook) {
$theme_hooks[] = $theme_hook == '*' ? t('all hooks') : $theme_hook;
}
$modules = system_rebuild_module_data();
$source = !empty($modules[$skin_info['source']['name']]->info['name']) ? $modules[$skin_info['source']['name']]->info['name'] : $skin_info['source']['name'];
$groups = fusion_apply_get_group_info();
$group = !empty($groups[$skin_info['group']]['title']) ? $groups[$skin_info['group']]['title'] : $skin_info['group'];
$details = array(
t('Source') => t('%source !type', array(
'%source' => $source,
'!type' => $skin_info['source']['type'] == 'module' ? t('module') : t('theme'),
)),
t('Theme hooks') => implode(', ', $theme_hooks),
t('Group') => $group,
);
$form['details'] = array(
'#markup' => theme('fusion_apply_ui_admin_dl', array(
'definitions' => $details,
'attributes' => array(
'class' => 'details',
),
)),
);
$form['status'] = array(
'#type' => 'checkboxes',
'#title' => t('Themes'),
'#description' => t('This skin will be availble as an option for the selected themes.'),
);
$options = array();
$default_value = array();
$status = fusion_apply_skin_info_status_get($skin_info);
ksort($status);
foreach ($status as $theme => $enabled) {
if (isset($themes[$theme]) && $themes[$theme]->status) {
$options[$theme] = $themes[$theme]->info['name'];
}
else {
// Hidden field to keep contents of themes that aren't enabled, or that
// don't exist on this site but are set by the skin plugin.
$form['status'][$theme] = array(
'#type' => 'value',
'#value' => $theme,
);
}
if ($enabled) {
$default_value[] = $theme;
}
}
$form['status']['#options'] = $options;
$form['status']['#default_value'] = $default_value;
$form['skin'] = array(
'#type' => 'hidden',
'#value' => $skin_info['name'],
);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['save'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
);
$form['actions']['reset'] = array(
'#type' => 'submit',
'#value' => t('Reset to defaults'),
'#submit' => array(
'fusion_apply_ui_admin_skin_info_settings_reset',
),
);
// Store $skin_info for use in submit function.
$form_state['#skin_info'] = $skin_info;
return $form;
}