function _gallery_assist_block_display_1 in Gallery Assist 6
Display the GA-Block My Galleries (1).
1 call to _gallery_assist_block_display_1()
- gallery_assist_block in ./
gallery_assist.module - Implementation of hook_block().
File
- ./
gallery_assist.module, line 4624 - Drupal content type with gallery functionality.
Code
function _gallery_assist_block_display_1($delta) {
global $user, $language;
$u = $user->uid;
// Avoid User-ID 0 because this block is only for the owner or editor.
if ($user->uid === 0) {
return;
}
$myLink = array();
$attr = array();
// 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'] + 1,
),
'lnk' => array(
$u,
$language->language,
$data[$delta]['visibles'] + 1,
),
);
}
else {
$tlang = '';
$arguments = array(
'pic' => array(
$u,
$data[$delta]['visibles'] + 1,
),
'lnk' => array(
$u,
$data[$delta]['visibles'] + 1,
),
);
}
// Get all nodes with gallery assigned functionality.
$q['all'] = "SELECT nid, title FROM {node} WHERE uid = %d AND language = '%s'";
$q['pic'] = "SELECT n.nid, n.title, 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.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, g.data\n FROM {node} n\n JOIN {gallery_assist} g ON g.nid = n.nid\n WHERE\n g.uid = %d\n {$tlang}\n ORDER BY n.created DESC\n LIMIT %d";
$q['lnk'] = "SELECT n.nid, n.title, 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.uid = %d\n {$tlang}\n AND p.cover = 1\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)) {
// $c[$r->nid] = $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) {
// 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;
}
}
$more_link = '';
if (count($myLink) - 1 >= $data[$delta]['visibles']) {
array_pop($myLink);
$more_link = l('more...', 'user/' . $u . '/user_galleries');
}
$output1 = $data[$delta]['bformat'] == 'pic' ? implode('', $myLink) : theme('item_list', $myLink, NULL, 'ul');
$output = empty($myLink) ? '' : '<div class="clear-block">' . $output1 . '</div>';
$output .= $more_link;
return $output;
}