function _gallery_assist_block_display in Gallery Assist 6
Display the GA-Block Galleries (0).
1 call to _gallery_assist_block_display()
- gallery_assist_block in ./
gallery_assist.module - Implementation of hook_block().
File
- ./
gallery_assist.module, line 4475 - Drupal content type with gallery functionality.
Code
function _gallery_assist_block_display($delta) {
global $user, $language;
// Avoid User-ID 0.
//$u = 1;
if (arg(0) == 'node' && is_numeric(arg(1)) || arg(0) == 'node' && is_numeric(arg(1)) && is_numeric(arg(2))) {
$u = db_result(db_query("SELECT uid FROM {gallery_assist} WHERE ref = %d", arg(1)));
}
if (arg(0) == 'user' && is_numeric(arg(1))) {
$u = arg(1);
}
$myLink = array();
$attr = array();
//$u = 1;
// Get settings.
$data = variable_get('gallery_assist_block_data', FALSE);
$data[$delta]['thumbnail_size'] = $data[$delta]['item_size'];
$cover = $data[$delta]['bformat'] == 'pic' ? "AND p.cover = 1" : '';
$order = $data[$delta]['bformat'] == 'lnk' ? 'ORDER BY n.created DESC' : '';
$i18_n = variable_get('i18n_selection_mode', FALSE);
$i18_n = variable_get('i18n_selection_mode', FALSE);
if (module_exists('i18n') && $i18_n == 'strict') {
$tlang = "AND g.lang = '%s'";
$arguments = array(
'pic' => array(
$u,
$language->language,
$data[$delta]['visibles'],
),
'lnk' => array(
$u,
$language->language,
$data[$delta]['visibles'],
),
);
}
else {
$tlang = '';
$arguments = array(
'pic' => array(
$u,
$data[$delta]['visibles'],
),
'lnk' => array(
$u,
$data[$delta]['visibles'],
),
);
}
$q['pic'] = "SELECT n.nid, n.title, n.type, g.data, p.tpath, p.opath\n FROM {node} n\n JOIN {gallery_assist} g ON g.nid = n.nid\n JOIN {gallery_assist_item} p on p.gref = g.gref\n WHERE\n g.show_in_homepage_block = 1\n AND n.uid = %d\n {$tlang}\n AND p.cover = 1\n ORDER BY n.created DESC\n LIMIT %d";
$q['lnk'] = "SELECT n.nid, n.title, n.type, g.data\n FROM node n\n JOIN {gallery_assist} g ON g.nid = n.nid\n WHERE\n g.show_in_homepage_block = 1\n AND n.uid = %d\n {$tlang}\n ORDER BY n.created DESC\n LIMIT %d";
$resT = db_query($q[$data[$delta]['bformat']], $arguments[$data[$delta]['bformat']]);
while ($r = db_fetch_object($resT)) {
$n_settings = unserialize($r->data);
$r->gallconf[$r->type] = $n_settings;
if (gallery_assist_check_public_status($r, $user)) {
$c[$r->nid] = $r;
}
}
if (empty($c)) {
return '';
}
foreach ($c as $r) {
// Menu trail.
$lattr = array();
if (arg(0) == 'node' && is_numeric(arg(1)) && arg(1) == $r->nid || arg(0) == 'node' && arg(2) == 'edit' && is_numeric(arg(1)) && arg(1) == $r->nid || arg(1) == 'ga_edit_one' && is_numeric(arg(2)) && arg(2) == $r->nid || arg(1) == "ga_edit_one_{$r->type}" && is_numeric(arg(2)) && arg(2) == $r->nid || arg(1) == 'ga_del_one' && is_numeric(arg(2)) && arg(2) == $r->nid) {
// || (arg(3) == "edit" && is_numeric(arg(1)) && arg(1) == $r->nid)
$lattr['class'] = ' active';
}
else {
$lattr['class'] = '';
}
switch ($data[$delta]['bformat']) {
case 'pic':
if (function_exists('imagecache_preset') && is_numeric($data[$delta]['preset_id'])) {
$path = preg_replace('/\\/thm\\//', '/', $r->opath);
$c[$r->nid]->imgPath = preg_replace('/\\/files\\//', '/files/imagecache/' . $data[$delta]['preset_name'] . '/', $path);
$c[$r->nid]->imgPath2 = preg_replace('/\\/thm\\//', '/img/', $r->tpath);
}
else {
$c[$r->nid]->imgPath = preg_replace('/\\/thm\\//', '/img/', $r->tpath);
}
if (file_exists($c[$r->nid]->imgPath)) {
$imgInfo = image_get_info($c[$r->nid]->imgPath);
$imgInfo += gallery_assist_image_more_info('ga-block-' . $delta, $imgInfo, $data[$delta]);
}
else {
$imgInfo = image_get_info($c[$r->nid]->imgPath2);
$imgInfo += gallery_assist_image_more_info('ga-block-' . $delta, $imgInfo, $data[$delta]);
}
$dir = $imgInfo['pos'] == 'h' ? 'width' : 'height';
$attr[$dir] = $imgInfo["new_{$dir}"];
$attr['style'] = $imgInfo['pos'] == 'h' ? 'margin-top:' . $imgInfo['top'] . 'px;' : '';
if (function_exists('imagecache_preset') && is_numeric($data[$delta]['preset_id']) && $data[$delta]['preset_name']) {
if ($data[$delta]['disable_margin_top'] == 1) {
$attr['style'] = 'margin-top:0;';
}
$c[$r->nid]->img = theme('imagecache', $data[$delta]['preset_name'], $r->opath, $r->title, $r->title, $attr, $square);
}
else {
$c[$r->nid]->img = theme('image', file_create_url($c[$r->nid]->imgPath), $r->title, $r->title, $attr, $square);
}
$force_height = $data[$delta]['force_height'] == 1 ? $imgInfo['height'] : NULL;
$myLink[] = gallery_assist_build_block_item(l($c[$r->nid]->img, 'node/' . $r->nid, array(
'attributes' => $lattr,
'html' => TRUE,
)), 'lnk', $data[$delta], $force_height);
unset($attr);
unset($imgInfo);
break;
case 'lnk':
$myLink[] = l($c[$r->nid]->title, 'node/' . $r->nid, array(
'attributes' => $lattr,
));
break;
}
}
$output1 = $data[$delta]['bformat'] == 'pic' ? implode('', $myLink) : theme('item_list', $myLink, NULL, 'ul');
$output = empty($myLink) ? '' : '<div class="clear-block">' . $output1 . '</div>';
return array(
'subject' => $user->name . ' ' . gallery_assist_block_helper(0),
'content' => $output,
);
}