function theme_filetree in File Tree 7.2
Same name and namespace in other branches
- 6.2 filetree.module \theme_filetree()
- 6 filetree.module \theme_filetree()
- 7 filetree.module \theme_filetree()
Renders filetree.
1 theme call to theme_filetree()
- _filetree_process in ./
filetree.module - Implements hook_filter_FILTER_process().
File
- ./
filetree.module, line 343
Code
function theme_filetree($variables) {
$files = $variables['files'];
$params = $variables['params'];
$output = '';
// Render controls (but only if multiple folders is enabled, and only if
// there is at least one folder to expand/collapse).
if ($params['multi'] && $params['controls']) {
$has_folder = FALSE;
foreach ($files as $file) {
if (isset($file['children'])) {
$has_folder = TRUE;
break;
}
}
if ($has_folder) {
$controls = array(
'<a href="#" class="expand">' . t('expand all') . '</a>',
'<a href="#" class="collapse">' . t('collapse all') . '</a>',
);
$output .= theme('item_list', array(
'items' => $controls,
'title' => NULL,
'type' => 'ul',
'attributes' => array(
'class' => 'controls',
),
));
}
}
// Render files.
$output .= theme('item_list', array(
'items' => $files,
'title' => NULL,
'type' => 'ul',
'attributes' => array(
'class' => 'files',
),
));
// Generate classes and unique ID for wrapper div.
$id = drupal_clean_css_identifier(uniqid('filetree-'));
$classes = array(
'filetree',
);
if ($params['multi']) {
$classes[] = 'multi';
}
// If using animation, add class.
if ($params['animation']) {
$classes[] = 'filetree-animation';
}
return '<div id="' . $id . '" class="' . implode(' ', $classes) . '">' . $output . '</div>';
}