function ds_ctools_content_select in Display Suite 7
Same name and namespace in other branches
- 7.2 includes/ds.field_ui.inc \ds_ctools_content_select()
Select content.
Parameters
$contexts: A collection of contexts, usually the entity.
$field_name: The name of the field.
$action: The name of the action.
$entity_type: The name of the entity type.
1 call to ds_ctools_content_select()
- ds_ctools_content in ./
ds.field_ui.inc - Return the configuration settings for the CTools field.
File
- ./
ds.field_ui.inc, line 1047 - Field UI functions for Display Suite.
Code
function ds_ctools_content_select($contexts, $field_name, $action, $entity_type) {
// Get content types.
$content_types = ctools_content_get_available_types($contexts);
$categories = $category_names = $ordered = array();
foreach ($content_types as $type_name => $subtypes) {
foreach ($subtypes as $subtype_name => $content_type) {
list($category_key, $category) = ds_ctools_get_category($content_type);
if (empty($categories[$category_key])) {
$categories[$category_key] = array(
'title' => $category,
'content' => array(),
);
$category_names[$category_key] = $category;
}
$content_title = filter_xss_admin($content_type['title']);
// Ensure content with the same title doesn't overwrite each other.
while (isset($categories[$category_key]['content'][$content_title])) {
$content_title .= '-';
}
$categories[$category_key]['content'][$content_title] = $content_type;
$categories[$category_key]['content'][$content_title]['type_name'] = $type_name;
$categories[$category_key]['content'][$content_title]['subtype_name'] = $subtype_name;
}
}
// Now sort
natcasesort($category_names);
foreach ($category_names as $category => $name) {
$ordered[$category] = $categories[$category];
}
$left = '';
$right = '<div class="content">' . t('Content options are divided by category. Please select a category from the left to proceed.') . '</div>';
foreach ($ordered as $section => $section_content) {
// Section.
if ($section == 'root') {
$section_content['title'] = t('Content');
}
$left .= '<div class="section"><a href="" id="' . $section . '" class="section-link">' . $section_content['title'] . '</a></div>';
// Content.
$right .= '<div id="' . $section . '-container" class="selection-hide content">';
$right .= '<h2>' . $section_content['title'] . '</h2>';
foreach ($section_content['content'] as $key => $value) {
$right .= '<div class="content-item">';
$variables = array(
'path' => ctools_content_admin_icon($value),
);
$right .= theme('image', $variables) . ' ';
$right .= ctools_ajax_text_button($key, 'admin/structure/ds/fields/manage_ctools/content/' . $action . '/' . $entity_type . '/' . $field_name . '/' . $value['type_name'] . '/' . $value['subtype_name'], $key);
$right .= '</div>';
}
$right .= '</div>';
}
// Create output.
$output = '<div id="ctools-content-selection">';
$output .= '<div id="ds-left">' . $left . '</div>';
$output .= '<div id="ds-right">' . $right . '</div>';
$output .= '</div>';
return ctools_modal_command_display(t('Select content'), $output);
}