function panelizer_set_status_action_form in Panelizer 7.3
Same name and namespace in other branches
- 7.2 panelizer.module \panelizer_set_status_action_form()
Provides the panelizer_set_status_action form.
File
- ./
panelizer.module, line 1592 - The Panelizer module attaches panels to entities, providing default panels and allowing each panel to be configured independently by privileged users.
Code
function panelizer_set_status_action_form($context, &$form_state) {
$form = array();
$entity_info = entity_get_info($context['entity_type']);
$entities = entity_load($context['entity_type'], $form_state['selection']);
$bundles = array();
$handler = panelizer_entity_plugin_get_handler($context['entity_type']);
// Collect our list of bundles.
foreach ($entities as $entity) {
list($entity_id, $revision_id, $bundle) = entity_extract_ids($context['entity_type'], $entity);
$bundles[$bundle] = $bundle;
}
$conditions = array(
'panelizer_type' => $context['entity_type'],
'panelizer_key' => $bundles,
);
ctools_include('export');
$defaults = ctools_export_load_object('panelizer_defaults', 'conditions', $conditions);
foreach ($defaults as $name => $default) {
if (empty($default->title)) {
$default->title = t('Default');
}
$options[$default->view_mode][$name] = t('@bundle: @title', array(
'@bundle' => $entity_info['bundles'][$default->panelizer_key]['label'],
'@title' => $default->title,
));
}
$view_modes = array();
foreach ($handler->plugin['view modes'] as $view_mode => $view_mode_info) {
$view_modes[$view_mode] = $view_mode_info['label'];
}
$form['panelizer']['#tree'] = TRUE;
foreach ($view_modes as $view_mode => $label) {
if (empty($options[$view_mode])) {
unset($view_modes[$view_mode]);
continue;
}
natcasesort($options[$view_mode]);
$panelizers = array(
'not' => t('Not panelized'),
) + $options[$view_mode];
$form['panelizer'][$view_mode] = array(
'#type' => 'select',
'#title' => t('Panelizer status'),
'#options' => $panelizers,
'#states' => array(
'visible' => array(
'#panelizer-view-mode' => array(
'value' => $view_mode,
),
),
),
);
}
$form['view_mode'] = array(
'#type' => 'select',
'#title' => t('View mode'),
'#options' => $view_modes,
'#id' => 'panelizer-view-mode',
'#weight' => -10,
);
$form['#panelizer_defaults'] = $defaults;
return $form;
}