session->albumName) || !$gallery->user->canReadAlbum($gallery->album) || !$gallery->album->isLoaded()) { $gallery->session->gRedirDone = false; header('Location: ' . makeAlbumHeaderUrl('', '', array('gRedir' => 1))); return; } $gallery->session->offlineAlbums[$gallery->album->fields['name']] = true; $page = intval($page); if (empty($page) || $page < 0) { if (isset($gallery->session->albumPage[$gallery->album->fields['name']])) { $page = $gallery->session->albumPage[$gallery->album->fields['name']]; } else { $page = 1; } } else { $gallery->session->albumPage[$gallery->album->fields['name']] = $page; } $albumName = $gallery->session->albumName; $noCount = getRequestVar('noCount'); if ($noCount != 1 && !isset($gallery->session->viewedAlbum[$albumName]) && !$gallery->session->offline) { $gallery->session->viewedAlbum[$albumName] = 1; $gallery->album->incrementClicks(); } $rows = $gallery->album->fields['rows']; $cols = $gallery->album->fields['cols']; list ($numPhotos, $numAlbums, $visibleItems) = $gallery->album->numVisibleItems($gallery->user, 1); $numVisibleItems = $numPhotos + $numAlbums; $perPage = $rows * $cols; $maxPages = max(ceil(($numPhotos + $numAlbums) / $perPage), 1); if ($page > $maxPages) { $page = $maxPages; } $currentUrl = makeAlbumHeaderUrl($gallery->session->albumName,'', array('page' => $page)); $start = ($page - 1) * $perPage + 1; $end = $start + $perPage; $nextPage = $page + 1; if ($nextPage > $maxPages) { $nextPage = 1; $last = 1; } $previousPage = $page - 1; if ($previousPage == 0) { $previousPage = $maxPages; $first = 1; } if (!empty($Vote) && canVote()) { if ($gallery->album->getPollScale() == 1 && $gallery->album->getPollType() != "rank") { for ($index = $start; $index < $start+$perPage; $index ++) { $id = $gallery->album->getPhotoId($index); if (!$votes[$id]) { $votes[$id] = null; } } } saveResults($votes); } $bordercolor = $gallery->album->fields['bordercolor']; $imageCellWidth = floor(100 / $cols) . '%'; $navigator['page'] = $page; $navigator['pageVar'] = 'page'; $navigator['maxPages'] = $maxPages; $navigator['fullWidth'] = '100'; $navigator['widthUnits'] = '%'; $navigator['url'] = makeAlbumUrl($gallery->session->albumName); $navigator['spread'] = 5; $navigator['bordercolor'] = $bordercolor; $fullWidth = $navigator['fullWidth'] . $navigator['widthUnits']; $breadcrumb['text'] = returnToPathArray($gallery->album, false); $breadcrumb['bordercolor'] = $bordercolor; global $GALLERY_EMBEDDED_INSIDE; if (!$GALLERY_EMBEDDED_INSIDE) { $title = sprintf( htmlspecialchars($gallery->app->galleryTitle) . ' :: ' . htmlspecialchars($gallery->album->fields['title']) ); doctype(); ?> <?php echo $title ?> app->rssEnabled == "yes" && !$gallery->session->offline) { $rssTitle = sprintf(gTranslate('core', "%s RSS"), $title); $rssHref = $gallery->app->photoAlbumURL . "/rss.php?set_albumName=" . $gallery->album->fields["name"]; echo ""; } /* prefetching/navigation */ $firstUrl = makeAlbumUrl($gallery->session->albumName, '', array('page' => 1, 'noCount' => 1)); $prevUrl = makeAlbumUrl($gallery->session->albumName, '', array('page' => $previousPage, 'noCount' => 1)); $nextUrl = makeAlbumUrl($gallery->session->albumName, '', array('page' => $nextPage, 'noCount' => 1)); $lastUrl = makeAlbumUrl($gallery->session->albumName, '', array('page' => $maxPages, 'noCount' => 1)); $upUrl = makeAlbumUrl($gallery->album->fields['parentAlbumName'], '', array('page' => $maxPages, 'noCount' => 1)); if (!isset($first)) { ?> album->isRoot() && (!$gallery->session->offline || isset($gallery->session->offlineAlbums["albums.php"]))) { ?> session->offline || isset($gallery->session->offlineAlbums[$pAlbum->fields['parentAlbumName']])) { ?> session->offline || isset($gallery->session->offlineAlbums["albums.php"])) { ?> album->fields["linkcolor"]) || !empty($gallery->album->fields["bgcolor"]) || !empty($gallery->album->fields['background']) || !empty($gallery->album->fields["textcolor"])) { ?> session->offline) { ?> 1) { $adminText .= sprintf(gTranslate('core', "%s and %s in this album on %s."), $albums_str, $imags_str, $pages_str); } else if ($numAlbums) { $adminText .= sprintf(gTranslate('core', "%s and %s in this album."), $albums_str, $imags_str); } else if ($maxPages > 1) { $adminText .= sprintf(gTranslate('core', "%s in this album on %s."), $imags_str, $pages_str); } else { $adminText .= sprintf(gTranslate('core', "%s in this album."), $imags_str); } if ($gallery->user->canWriteToAlbum($gallery->album) && !$gallery->session->offline) { $numHidden = $gallery->album->numHidden(); if ($numHidden > 0) { $adminText .= ' '. gTranslate('core', "%d element is hidden.", "%d elements are hidden.", $numHidden, '', true); } } $iconElements = array(); $adminCommands = getAlbumCommands($gallery->album, true, false); /* build up drop-down menu and related javascript */ if (!empty($adminCommands)) { $iconElements[] = makeFormIntro( 'view_album.php', array('name' => 'admin_options_form', 'class' => 'right', 'style' => 'margin: 0 10px;')) . drawSelect2( 'admin_select', $adminCommands, array('class' => 'g-admin', 'onChange' => 'jopen(this)')) . ''; } if ($gallery->album->fields["slideshow_type"] != "off" && ($numPhotos != 0 || ($numVisibleItems != 0 && $gallery->album->fields['slideshow_recursive'] == "yes"))) { $iconText = getIconText('monitor.png', gTranslate('core', "Slideshow")); $iconElements[] = ' $albumName)) .'">'. $iconText .''; } /* User is allowed to view ALL comments */ if (checkRequirements('comments_enabled', 'hasComments', 'comments_overview_for_all')) { $iconElements[] = galleryLink( makeGalleryUrl("view_comments.php", array("set_albumName" => $gallery->session->albumName)), gTranslate('core', "View comments"), array(), 'comments.png', true ); } $iconElements[] = LoginLogoutButton($currentUrl); $adminbox['text'] = $adminText; $adminbox['commands'] = makeIconMenu($iconElements, 'right'); $adminbox['bordercolor'] = $bordercolor; includeLayout('navtablebegin.inc'); includeLayout('adminbox.inc'); ?> user->isLoggedIn()) { includeLayout('navtablemiddle.inc'); includeLayout('breadcrumb.inc'); } if ($navigator["maxPages"] > 1) { includeLayout('navtablemiddle.inc'); includeLayout('navigator.inc'); } includeLayout('navtableend.inc'); #-- if borders are off, just make them the bgcolor ---- $borderwidth = $gallery->album->fields["border"]; if ($borderwidth == 0) { $bordercolor = $gallery->album->fields["bgcolor"]; $borderwidth = 1; } if ($page == 1 && !empty($gallery->album->fields["summary"])) { echo '

'. $gallery->album->fields["summary"] . '

'; } if (($gallery->album->getPollType() == 'rank') && canVote()) { $my_choices = array(); if ( $gallery->album->fields['votes']) { foreach ($gallery->album->fields['votes'] as $id => $image_votes) { $index = $gallery->album->getIndexByVotingId($id); if ($index < 0) { // image has been deleted! unset($gallery->album->fields['votes'][$id]); continue; } if (isset($image_votes[getVotingID()])) { $my_choices[$image_votes[getVotingID()]] = $id; } } } if (sizeof($my_choices) > 0) { ksort($my_choices); $nv_pairs = $gallery->album->getVoteNVPairs(); $va_poll_box1 = gTranslate('core', "Your votes are:"); $pollInfoTable = new galleryTable(); foreach ($my_choices as $key => $id) { $index = $gallery->album->getIndexByVotingId($id); $pollInfoTable->addElement(array('content' => "- ". $nv_pairs[$key]["name"])); $pollInfoTable->addElement(array('content' => ':')); if ($gallery->album->isAlbum($index)) { $albumName = $gallery->album->getAlbumName($index); $myAlbum = new Album(); $myAlbum->load($albumName); $pollInfoTable->addElement(array('content' => galleryLink( makeAlbumUrl($albumName), sprintf(gTranslate('core', "Album: %s"), $myAlbum->fields['title'])) ) ); } else { $desc = $gallery->album->getCaption($index); if (trim($desc) == '') { $desc = $gallery->album->getPhotoId($index); } $photoId = str_replace('item.', '', $id); $pollInfoTable->addElement(array('content' => galleryLink(makeAlbumUrl($gallery->session->albumName, $photoId), $desc) )); } } $va_poll_box1 .= $pollInfoTable->render(); echo "\n
\n"; echo $va_poll_box1; echo "\n
\n"; } } list($va_poll_result, $results) = showResultsGraph( $gallery->album->getPollNumResults()); if ($gallery->album->getPollShowResults()) { echo $va_poll_result; } ?> 'vote_form', 'style' => 'margin-bottom: 0px;') ); if (canVote()) { $nv_pairs = $gallery->album->getVoteNVPairs(); if ($gallery->album->getPollScale() == 1) { $options = $nv_pairs[0]['name']; } else { /** note to translators: * This produces (in English) a list of the form: "a, b, c or d". Correct translation * of ", " and " or " should produce a version that makes sense in your language. */ $options = ''; for ($count=0; $count < $gallery->album->getPollScale()-2 ; $count++) { $options .= $nv_pairs[$count]['name'] .gTranslate('core', ", "); } $options .= $nv_pairs[$count++]['name'] .gTranslate('core', " or "); $options .= $nv_pairs[$count]['name']; } $va_poll_box3 = sprintf(gTranslate('core', "To vote for an image, click on %s."), $options); $va_poll_box3 .= ' '; $va_poll_box3 .= sprintf(gTranslate('core', "You MUST click on %s for your vote to be recorded."), "".gTranslate('core', "Vote").""); $va_poll_box3 .= ' '; if ($gallery->album->getPollType() == 'rank') { $voteCount = $gallery->album->getPollScale(); $va_poll_box3 .= gTranslate('core', "You have a total of %d vote and can change it later if you wish.", "You have a total of %d votes and can change them later if you wish.", $voteCount, '', true); } else { $va_poll_box3 .= gTranslate('core', "You can change your votes later, if you wish."); } echo "\n
\n"; echo $va_poll_box3; echo "\n
\n"; ?>
">
album->numPhotos(1); $displayCommentLegend = 0; // this determines if we display "* Item contains a comment" at end of page if ($numPhotos) { $rowCount = 0; // Find the correct starting point, accounting for hidden photos $rowStart = 0; $cnt = 0; $form_pos = 0; // counts number of images that have votes below, ie without albums; $rowStart = $start; while ($rowCount < $rows) { /* Do the inline_albumthumb header row */ $visibleItemIndex = $rowStart; $i = $visibleItemIndex<=$numVisibleItems ? $visibleItems[$visibleItemIndex] : $numPhotos+1; $j = 1; $printTableRow = false; if ($j <= $cols && $i <= $numPhotos) { $printTableRow = true; } while ($j <= $cols && $i <= $numPhotos) { $j++; $visibleItemIndex++; $i = $visibleItemIndex <= $numVisibleItems ? $visibleItems[$visibleItemIndex] : $numPhotos+1; } /* Do the picture row */ $visibleItemIndex = $rowStart; $i = $visibleItemIndex <= $numVisibleItems ? $visibleItems[$visibleItemIndex] : $numPhotos+1; $j = 1; if ($printTableRow) { echo(''); } while ($j <= $cols && $i <= $numPhotos) { echo("\n"; $j++; $visibleItemIndex++; $i = $visibleItemIndex<=$numVisibleItems ? $visibleItems[$visibleItemIndex] : $numPhotos+1; } if ($printTableRow) { echo "\n"; } /* Now do the inline_albumthumb footer row */ $visibleItemIndex = $rowStart; $i = $visibleItemIndex <= $numVisibleItems ? $visibleItems[$visibleItemIndex] : $numPhotos+1; $j = 1; while ($j <= $cols && $i <= $numPhotos) { $j++; $visibleItemIndex++; $i = $visibleItemIndex<=$numVisibleItems ? $visibleItems[$visibleItemIndex] : $numPhotos+1; } $rowCount++; $rowStart = $visibleItemIndex; } } else { ?>
\n"); //-- put some parameters for the wrap files in the global object --- $gallery->html_wrap['borderColor'] = $bordercolor; $borderwidth= $gallery->html_wrap['borderWidth'] = $borderwidth; $gallery->html_wrap['pixelImage'] = getImagePath('pixel_trans.gif'); if ($gallery->album->isAlbum($i)) { $scaleTo = 0; //$gallery->album->fields["thumb_size"]; $myAlbum = $gallery->album->getNestedAlbum($i); list($iWidth, $iHeight) = $myAlbum->getHighlightDimensions($scaleTo); } else { unset($myAlbum); $scaleTo = 0; // thumbs already the right // size for this album list($iWidth, $iHeight) = $gallery->album->getThumbDimensions($i, $scaleTo); } if ($iWidth == 0) { $iWidth = $gallery->album->fields['thumb_size']; } if ($iHeight == 0) { $iHeight = 100; } $gallery->html_wrap['imageWidth'] = $iWidth; $gallery->html_wrap['imageHeight'] = $iHeight; $id = $gallery->album->getPhotoId($i); if ($gallery->album->isMovieByIndex($i)) { $gallery->html_wrap['imageTag'] = $gallery->album->getThumbnailTag($i); $gallery->html_wrap['imageHref'] = makeAlbumUrl($gallery->session->albumName, $id); $frame= $gallery->html_wrap['frame'] = $gallery->album->fields['thumb_frame']; /*begin backwards compatibility */ $gallery->html_wrap['thumbTag'] = $gallery->html_wrap['imageTag']; $gallery->html_wrap['thumbHref'] = $gallery->html_wrap['imageHref']; /*end backwards compatibility*/ list($divCellWidth, $divCellHeight, $padding) = calcVAdivDimension($frame, $iHeight, $iWidth, $borderwidth); // If there is only one column, we don't need to try and match row heights if ($cols == 1) { $padding = 0; } echo "
\n"; includeHtmlWrap('inline_moviethumb.frame'); } elseif (isset($myAlbum)) { // We already loaded this album - don't do it again, for performance reasons. $gallery->html_wrap['imageTag'] = $myAlbum->getHighlightTag($scaleTo, array('alt' => gTranslate('core', "Highlight for Album:"). " ". gallery_htmlentities(strip_tags($myAlbum->fields['title'])))); $gallery->html_wrap['imageHref'] = makeAlbumUrl($gallery->album->getAlbumName($i)); $frame= $gallery->html_wrap['frame'] = $gallery->album->fields['album_frame']; /*begin backwards compatibility */ $gallery->html_wrap['thumbWidth'] = $gallery->html_wrap['imageWidth']; $gallery->html_wrap['thumbHeight'] = $gallery->html_wrap['imageHeight']; $gallery->html_wrap['thumbTag'] = $gallery->html_wrap['imageTag']; $gallery->html_wrap['thumbHref'] = $gallery->html_wrap['imageHref']; /*end backwards compatibility*/ list($divCellWidth,$divCellHeight, $padding) = calcVAdivDimension($frame, $iHeight, $iWidth, $borderwidth); echo "
\n"; includeHtmlWrap('inline_albumthumb.frame'); } else { $gallery->html_wrap['imageTag'] = $gallery->album->getThumbnailTag($i); $gallery->html_wrap['imageHref'] = makeAlbumUrl($gallery->session->albumName, $id); $frame= $gallery->html_wrap['frame'] = $gallery->album->fields['thumb_frame']; /*begin backwards compatibility */ $gallery->html_wrap['thumbTag'] = $gallery->html_wrap['imageTag']; $gallery->html_wrap['thumbHref'] = $gallery->html_wrap['imageHref']; /*end backwards compatibility*/ list($divCellWidth,$divCellHeight, $padding) = calcVAdivDimension($frame, $iHeight, $iWidth, $borderwidth); echo "
\n"; includeHtmlWrap('inline_photothumb.frame'); } echo "\n"; echo "
\n"; if (canVote()){ if ($gallery->album->fields["poll_type"] == 'rank' && $divCellWidth < 200) { $divCellWidth=200; } } echo "
\n"; /* Do the clickable-dimensions row */ if (!strcmp($gallery->album->fields['showDimensions'], 'yes')) { echo ''; $photo = $gallery->album->getPhoto($i); $image = $photo->image; if (!empty($image) && !$photo->isMovie()) { $viewFull = $gallery->user->canViewFullImages($gallery->album); $fullOnly = (isset($gallery->session->fullOnly) && !strcmp($gallery->session->fullOnly, 'on') && !strcmp($gallery->album->fields['use_fullOnly'], 'yes')); list($wr, $hr) = $image->getDimensions(); list($wf, $hf) = $image->getRawDimensions(); /* display file sizes if dimensions are identical */ if ($wr == $wf && $hr == $hf && $viewFull && $photo->isResized()) { $fsr = ' ' . sprintf(gTranslate('core', '%dkB'), (int) $photo->getFileSize(0) >> 10); $fsf = ' ' . sprintf(gTranslate('core', '%dkB'), (int) $photo->getFileSize(1) >> 10); } else { $fsr = ''; $fsf = ''; } if (($photo->isResized() && !$fullOnly) || !$viewFull) { echo '[${wr}x{$hr}${fsr}] "; } if ($viewFull) { echo '[${wf}x${hf}${fsf}]"; } } else { echo " "; } echo ''; } /* Now do the caption row */ if ($gallery->album->isAlbum($i)) { $myAlbum = new Album; $myAlbum->load($gallery->album->getAlbumName($i)); } else { $myAlbum = NULL; } if ($gallery->album->isAlbum($i)) { $iWidth = $gallery->album->fields['thumb_size']; } else { list($iWidth, $iHeight) = $gallery->album->getThumbDimensions($i); } // Caption itself echo "\n
\n"; $id = $gallery->album->getPhotoId($i); if ($gallery->album->isHidden($i) && !$gallery->session->offline) { echo "(" . gTranslate('core', "hidden") .")
"; } $photo = $gallery->album->getPhoto($i); if ($gallery->user->canWriteToAlbum($gallery->album) && $photo->isHighlight() && !$gallery->session->offline) { echo "(" . gTranslate('core', "highlight") .")
"; } if (isset($myAlbum)) { $myDescription = $myAlbum->fields['description']; $buf = ''; $link = ''; if ($gallery->user->canDownloadAlbum($myAlbum) && $myAlbum->numPhotos(1)) { $iconText = getIconText('compressed.gif', gTranslate('core', "Download entire album as archive"), 'yes'); $link = popup_link($iconText, 'download.php?set_albumName='. $gallery->album->getAlbumName($i),false,false,550, 600, '', '', '', false); } $buf .="
"; $buf .= sprintf(gTranslate('core', "Album: %s"), ''. $myAlbum->fields['title'] .''); $buf .= " $link
"; if ($myDescription != gTranslate('core', "No description") && $myDescription != "No description" && $myDescription != "") { $buf = $buf."
".$myDescription.""; } echo $buf; echo '
'; printf (gTranslate('core', "Last change: %s"), $myAlbum->getLastModificationDate()); echo "\n
"; $visItems = array_sum($myAlbum->numVisibleItems($gallery->user)); printf(gTranslate('core', "Contains: %s."), gTranslate('core', "1 item", "%d items", $visItems, '', true)); // If comments indication for either albums or both switch ($gallery->app->comments_indication) { case "albums": case "both": $lastCommentDate = $myAlbum->lastCommentDate( $gallery->app->comments_indication_verbose); if ($lastCommentDate > 0) { print lastCommentString($lastCommentDate, $displayCommentLegend); } break; } echo '
'; if (!(strcmp($gallery->album->fields["display_clicks"] , "yes")) && !$gallery->session->offline && ($myAlbum->getClicks() > 0)) { echo '
'; printf (gTranslate('core', "Viewed: %s"), gTranslate('core', "1 time.", "%d times.", $myAlbum->getClicks(), '', true)); echo "
"; } } /* Photo or Movie */ else { echo "
\n"; echo nl2br($gallery->album->getCaption($i)); echo $gallery->album->getCaptionName($i) . ' '; // indicate with * if we have a comment for a given photo if ($gallery->user->canViewComments($gallery->album) && $gallery->app->comments_enabled == 'yes') { // If comments indication for either photos or both switch ($gallery->app->comments_indication) { case "photos": case "both": $lastCommentDate = $gallery->album->itemLastCommentDate($i); print lastCommentString($lastCommentDate, $displayCommentLegend); break; } } echo "
\n"; if (!(strcmp($gallery->album->fields["display_clicks"] , "yes")) && !$gallery->session->offline && ($gallery->album->getItemClicks($i) > 0)) { echo '
'; echo gTranslate('core', "Viewed: 1 time.", "Viewed: %d times.", $gallery->album->getItemClicks($i), '', true); echo "
\n"; } } echo "
\n"; // End Caption if (canVote()) { echo("
\n"); addPolling($gallery->album->getVotingIdByIndex($i), $form_pos, false); $form_pos++; } $albumItemOptions = getItemActions($i, true, true, true); if (sizeof($albumItemOptions) > 3) { echo drawSelect2( "s$i", $albumItemOptions, array( 'onChange' => "jopen(this)", 'class' => 'g-admin') ); } /* * uncomment this part if you want tiny icons * for photo properties and ecards in the thumbs view. else { $specialIconMode = "yes"; $optionsHTML = ''; // Show item options. Such as eCard or photo properties link. foreach ($albumItemOptions as $key => $option) { if (!isset($option['separate'])) continue; if(!empty($option['value'])) { if (stristr($option['value'], 'popup')) { $content = popup_link( $option['text'], $option['value'], true, false, 550, 600, '', '', $option['icon'], true, false ); } else { $content = galleryIconLink( $option['value'], $option['icon'], $option['text'] ); } $optionsHTML .= $content . " \n"; } } echo $optionsHTML; } */ if (canVote()) { print '
'; } echo "
\n"; echo "
user->canAddToAlbum($gallery->album) && !$gallery->session->offline) { $url = makeGalleryUrl('add_photos_frame.php', array('set_albumName' => $gallery->session->albumName, 'type' => 'popup')); echo popup_link(gTranslate('core', "Hey! Add some photos."), $url, 1, true, 500, 600, 'admin'); } else { echo gTranslate('core', "This album is empty."); } ?>
*

">

"; if ($gallery->user->isLoggedIn() && $gallery->user->getEmail() && !$gallery->session->offline && $gallery->app->emailOn == "yes") { if (getRequestVar('submitEmailMe')) { if (getRequestVar('comments')) { $gallery->album->setEmailMe('comments', $gallery->user, null, getRequestVar('recursive')); } else { $gallery->album->unsetEmailMe('comments', $gallery->user, null, getRequestVar('recursive')); } if (getRequestVar('other')) { $gallery->album->setEmailMe('other', $gallery->user, null, getRequestVar('recursive')); } else { $gallery->album->unsetEmailMe('other', $gallery->user, null, getRequestVar('recursive')); } } ?>
"email_me", "style" => "margin-bottom: 0px;")); $checked_com = ($gallery->album->getEmailMe('comments', $gallery->user)) ? "checked" : "" ; $checked_other = ($gallery->album->getEmailMe('other', $gallery->user)) ? "checked" : ""; ?> onclick="document.email_me.submit()">
onclick="document.email_me.submit()">
1) { includeLayout('navigator.inc'); includeLayout('navtablemiddle.inc'); } includeLayout('breadcrumb.inc'); includeLayout('navtableend.inc'); } echo languageSelector(); includeHtmlWrap("album.footer"); if (!$GALLERY_EMBEDDED_INSIDE) { ?>