You are here

function render_brilliant_gallery_manage in Brilliant Gallery 5.4

Same name and namespace in other branches
  1. 5.3 brilliant_gallery.module \render_brilliant_gallery_manage()
  2. 6.4 gallery_manage.inc \render_brilliant_gallery_manage()
  3. 6 brilliant_gallery.module \render_brilliant_gallery_manage()
  4. 6.2 brilliant_gallery.module \render_brilliant_gallery_manage()
  5. 6.3 brilliant_gallery.module \render_brilliant_gallery_manage()
  6. 7 brilliant_gallery_manage.inc \render_brilliant_gallery_manage()
1 string reference to 'render_brilliant_gallery_manage'
brilliant_gallery_menu in ./brilliant_gallery.module

File

./brilliant_gallery.module, line 332

Code

function render_brilliant_gallery_manage() {
  $result = '';

  # Beginning of brilliant_gallery_checklist form.

  # Removed action "/node/$nid"

  # Hacked $nid ... 9999999 - cannot be empty!!
  $ac_header = <<<HEADER
      <form action="" method="post" id="bgchecklist">
      <div>
      <div id="nodeid">
      <input name="nid" id="edit-nid" value="9999999" type="hidden">
      </div>
HEADER;
  $result .= $ac_header;
  $overbrowser = variable_get('brilliant_gallery_overbrowser', 'thickbox');
  $setname = mt_rand(1, 9999999);
  $galleryfolder = variable_get('brilliant_gallery_folder', '');
  $path = url(file_directory_path() . '/' . $galleryfolder, NULL, NULL, TRUE);

  # url() ads i18n codes to the URL ... we need to remove them here...
  if ($langcode != '') {
    $path = str_replace('/' . $langcode . '/', '/', $path);
  }

  # Non-clean URLs need removing ?q=
  $path = str_replace("?q=", "", $path);
  $absolpath = realpath(file_directory_path() . '/' . $galleryfolder);
  $result .= '<p>';
  $result .= '<p>This page allows you to set or unset visibility of each image (data item) in all Brilliant galleries there are on this website.';

  #$result .= '<p><b>Files folder:</b> ' . file_directory_path() . '/';
  ob_start();
  $recurs = bg_iterative_recurse_dir($absolpath);

  #echo '<pre>'; print_r( $recurs ); echo '</pre>';

  #echo '<pre>'; print_r( $retval_dimensions ); echo '</pre>';
  $result .= ob_get_contents();
  $dirshavefiles = array();
  foreach ($recurs as $key => $val) {
    $temp = explode('/', $val);
    $tempf = $temp[sizeof($temp) - 1];
    unset($temp[sizeof($temp) - 1]);
    $tempd = implode('/', $temp);
    $dirshavefiles[$tempd][] = $tempf;
  }
  ksort($dirshavefiles);
  $result .= '<p><b>Select an image folder:</b><ol>';
  foreach ($dirshavefiles as $key => $val) {

    # Get just the folder name in the main gallery folder.
    $path_middle = str_replace($absolpath, '', $key);
    $result .= '<li><a href="?fld=' . $galleryfolder . $path_middle . '">' . $galleryfolder . $path_middle . '</a></li>';
    if ($galleryfolder . $path_middle == $_GET['fld']) {

      # User has asked to manage images in this folder.
      $tablerows = array();
      $temp = load_dir_to_array($key, variable_get('brilliant_gallery_maximagewidth', 150), variable_get('brilliant_gallery_maxwidth', '1000'), 1);
      $retval_dimensions = $temp[0];
      $imagemaxh = $temp[1];
      $maxpoct = count($retval_dimensions);

      #echo '<p>max: ' . $maxpoct;

      #ob_start(); echo '<pre>'; print_r( $retval_dimensions ); echo '</pre>'; $result .= ob_get_contents();

      
      $retval = array();
      $cnt = 0;

      #$path = url($key, NULL, NULL, TRUE);
      for ($poct = 1; $poct <= $maxpoct; $poct++) {
        $cnt += 1;
        $retval[$poct - 1] = $retval_dimensions[$poct - 1]['file'];
        $fullimgpath = $path . $path_middle . '/' . $retval[$poct - 1];
        if (testext($retval[$poct - 1])) {
          $caption = str_replace(array(
            '.',
            '_',
          ), ' ', basename($retval[$poct - 1], strrchr($retval[$poct - 1], '.')));

          #$smallenough = false;
          $imgw = $retval_dimensions[$poct - 1]['imgw'];
          $imgh = $retval_dimensions[$poct - 1]['imgh'];
          $imgwbig = $retval_dimensions[$poct - 1]['imgwbig'];
          $imghbig = $retval_dimensions[$poct - 1]['imghbig'];
          $smallenough = $retval_dimensions[$poct - 1]['smallenough'];

          #$style_li = "float: left; width: " . $imagewidth . "px; list-style: none; background: " . $bgcolour . "; height: " . $imagemaxh . "px; padding: " . $padding . "px; text-align: center; margin: 0; border: none;"; #$style_li = "float: left; list-style: none; background: #000; width: 44px; height: 33px; padding: 4px; text-align: center; margin: 0; border: none;";

          #$result .= ('<li style="' . $style_li . '">' . "\n");

          # Get this module's path:
          $modulepath = url(drupal_get_path('module', 'brilliant_gallery'), NULL, NULL, TRUE);

          # url() ads i18n codes to the URL ... we need to remove them here...
          if ($langcode != '') {
            $modulepath = str_replace('/' . $langcode . '/', '/', $modulepath);
          }

          # Non-clean URLs need removing ?q=
          $modulepath = str_replace("?q=", "", $modulepath);
          $displayimage = '';
          if ($smallenough === true) {
            $displayimage .= '<br><a href="' . $fullimgpath . '"';
          }
          else {

            # Important to begin with the "/" otherwise thumbnails in non-root folders fail. See http://drupal.org/node/175292

            #&dummy=.jpg
            $displayimage .= '<a href="' . $modulepath . '/image.php?imgp=' . base64_encode($absolpath . $path_middle . '/' . $retval[$poct - 1]) . '&amp;imgw=' . $imgwbig . '&amp;imgh=' . $imghbig . '"';
          }
          switch ($overbrowser) {
            case 'thickbox':
              $displayimage .= ' class="thickbox"';
              $displayimage .= ' rel="img_' . $setname . '"';

              #$attributes['class'] = $link_class;

              #$attributes['rel'] = 'img_' . ($node->nid? $node->nid: time()); // 'insert' has no $node->nid
              break;
            case 'lightbox':
              $displayimage .= ' rel="lightbox[' . $setname . ']"';

              #$attributes['rel'] = 'lightbox[' . ($node->nid? $node->nid: time()) . ']'; // 'insert' has no $node->nid
              break;
            case 'greyboxr':
              $displayimage .= ' class="greybox"';

              #$result .= ' rel="gb_imageset[' . $setname . ']"';
              break;
            default:
              break;
          }
          if ($showcaption != '') {
            if ($showcaption != 'filename') {
              $caption = $showcaption;
            }
            $displayimage .= ' title="' . $caption . '"';
          }
          $displayimage .= '>';

          # width="' . $imgw . '"
          $displayimage .= '<img style="border: 0; margin:0px; padding:0px;" alt="" src="' . $modulepath . '/image.php?imgp=' . base64_encode($absolpath . $path_middle . '/' . $retval[$poct - 1]) . '&amp;imgw=' . $imgw . '&amp;imgh=' . $imgh . '" />';
          $displayimage .= '</a>';
        }
        else {
          $displayimage .= '<a href="' . $fullimgpath . '">';

          #$result .= '<center>' . $retval[$poct-1] . '</center>';
          $displayimage .= $retval[$poct - 1];

          #brokenimage("Error loading PNG");

          #$result .= '</a>';
          $displayimage .= '</a>';
        }

        #$result .= '<br><font size="-1">'. $retval[$poct-1] . '</font>'; # $fullimgpath
        $tablerows[$cnt][0] = $displayimage;
        $tablerows[$cnt][1] = '<font size="-1">' . $retval[$poct - 1] . '</font>';

        # We need some code for brilliant_gallery_checklist
        $tmp = '';

        # E.g. albums/2008/20080321-25_belgicko_zasypane_snehom/dsc02784_w1000.jpg
        $tmp .= '<div class="bgchecklist"> <div class="form-item"> <input name="' . 'user-' . md5($_GET['fld'] . '/' . $retval[$poct - 1]) . '" id="' . 'user-' . md5($_GET['fld'] . '/' . $retval[$poct - 1]) . '" value="1" class="form-brilliant_gallery_checklist-checkbox" type="checkbox"> <label class="option"> <font color=green>visible</font> </label> </div></div>';
        $tablerows[$cnt][2] = $tmp;
      }
      $header = array(
        'File name',
        'Thumbnail',
        'Gallery display',
      );
      $data = array();
      foreach ($tablerows as $x => $val) {
        $data[] = array(
          'data' => array(
            $tablerows[$x][0],
            $tablerows[$x][1],
            $tablerows[$x][2],
          ),
        );
      }
      $result .= theme_table($header, $data);
      $result .= '<p>';
    }
  }
  $result .= '</ol>';

  # End of brilliant_gallery_checklist form.
  $result .= "</div></form>";
  return $result;
}