brilliant_gallery_formatters.inc in Brilliant Gallery 7.2
File
brilliant_gallery_formatters.inc
View source
<?php
function brilliant_gallery_field_formatter_info() {
return array(
'brilliant_gallery_render' => array(
'label' => t('Brilliant Gallery from a local folder'),
'field types' => array(
'text',
),
),
'brilliant_gallery_single' => array(
'label' => t('A random image from a local Brilliant Gallery folder'),
'field types' => array(
'text',
),
),
);
}
function brilliant_gallery_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
switch ($display['type']) {
case 'brilliant_gallery_render':
foreach ($items as $delta => $item) {
$pathurl = trim($item['value']);
if ($pathurl != '') {
$result = '';
$result .= views_embed_view('brilliant_gallery_default_view', 'page', $pathurl);
$element[$delta] = array(
'#markup' => $result,
);
}
}
break;
case 'brilliant_gallery_single':
foreach ($items as $delta => $item) {
$pathurl = trim($item['value']);
if ($pathurl != '') {
$result = '';
$args = array(
$pathurl,
);
$view = views_get_view('brilliant_gallery_default_view') or die('No such view!');
$view
->set_display('page');
$view
->set_arguments($args);
$view->is_cacheable = FALSE;
$pager['type'] = 'some';
$pager['options'] = array();
$view->display_handler
->set_option('pager', $pager);
$view
->set_items_per_page(1);
$sorts['random']['id'] = 'random';
$sorts['random']['table'] = 'views';
$sorts['random']['field'] = 'random';
$view->display_handler
->set_option('sorts', $sorts);
$view
->execute();
$result .= $view
->preview();
$element[$delta] = array(
'#markup' => $result,
);
}
}
break;
}
return $element;
}