You are here

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;
}