function _gallery_assist_block_display_2 in Gallery Assist 6
Display the GA-Block Gallery Block (2).
1 call to _gallery_assist_block_display_2()
- gallery_assist_block in ./
gallery_assist.module - Implementation of hook_block().
File
- ./
gallery_assist.module, line 4786 - Drupal content type with gallery functionality.
Code
function _gallery_assist_block_display_2($delta, $conf = NULL) {
global $user, $language;
$data = variable_get('gallery_assist_block_data', FALSE);
$data[$delta]['thumbnail_size'] = $data[$delta]['item_size'];
$block_data[$delta]['bformat'] = 'pic';
$output = '';
$in = strlen($data[$delta]['galleries']) > 0 ? explode(' ', $data[$delta]['galleries']) : '';
$n = $in[rand(0, count($in) - 1)];
$gref = db_fetch_object(db_rewrite_sql(db_query("SELECT g.gref, g.ga_public_status, g.data, g.nid, n.type FROM {gallery_assist} g JOIN {node} n ON n.nid = g.nid WHERE g.nid = %d", $n)));
// $gref->data = unserialize($gref->data);
$gref->gallconf[$gref->type] = unserialize($gref->data);
$q = "SELECT p.pid, t.nid, p.tpath, p.opath, t.ptitle, f.timestamp, n.type\n FROM {gallery_assist_item} p\n JOIN {gallery_assist_translated} t ON t.pid = p.pid AND t.gref = p.gref\n JOIN {files} f ON f.fid = p.fid\n JOIN {node} n ON n.nid = t.nid\n WHERE p.gref = %d\n ORDER BY f.timestamp " . $data[$delta]['order'] . "\n LIMIT %d";
switch ($gref->ga_public_status) {
case 'ur':
$node = node_load($gref->nid);
$display = gallery_assist_check_ur($node, 'view');
break;
case 2:
$display = gallery_assist_check_public_status($gref, $user, 'block');
break;
case 1:
$display = gallery_assist_check_public_status($gref, $user, 'block');
break;
case 0:
$display = gallery_assist_check_public_status($gref, $user, 'block');
break;
}
if (!$display) {
return '';
}
$result = db_query(db_rewrite_sql($q), $gref->gref, $data[$delta]['visibles']);
//$language->language, $gref, $data[$delta]['visibles']
while ($r = db_fetch_object($result)) {
$c[$r->pid] = $r;
}
// 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) {
if (function_exists('imagecache_preset') && is_numeric($data[$delta]['preset_id'])) {
$path = preg_replace('/\\/thm\\//', '/', $r->opath);
$c[$r->pid]->imgPath = preg_replace('/\\/files\\//', '/files/imagecache/' . $data[$delta]['preset_name'] . '/', $path);
$c[$r->pid]->imgPath2 = preg_replace('/\\/thm\\//', '/img/', $r->tpath);
}
else {
$c[$r->pid]->imgPath = preg_replace('/\\/thm\\//', '/img/', $r->tpath);
}
if (file_exists($c[$r->pid]->imgPath)) {
$imgInfo = image_get_info($c[$r->pid]->imgPath);
$imgInfo += gallery_assist_image_more_info('ga-block-' . $delta, $imgInfo, $data[$delta], $imgInfo['height']);
}
else {
$imgInfo = image_get_info($c[$r->pid]->imgPath2);
$imgInfo += gallery_assist_image_more_info('ga-block-' . $delta, $imgInfo, $data[$delta]);
$imgInfo['pos'] = 'v';
}
$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']) {
$c[$r->pid]->img = theme('imagecache', $data[$delta]['preset_name'], $r->opath, $r->ptitle, $r->ptitle, $attr, $square);
}
else {
$c[$r->pid]->img = theme('image', file_create_url($c[$r->pid]->imgPath), $r->ptitle, $r->ptitle, $attr, $square);
}
$force_height = $data[$delta]['force_height'] == 1 ? $imgInfo['height'] : NULL;
$myLink[] = gallery_assist_build_block_item(l($c[$r->pid]->img, "node/{$r->nid}/{$r->pid}", array(
$attr,
'html' => TRUE,
)), 'pic', $data[$delta], $force_height);
unset($attr);
unset($imgInfo);
}
$output1 = implode('', $myLink);
$output = empty($output1) ? '' : '<div class="clear-block">' . $output1 . '</div>';
return $output;
}