coppermine-gallery.com/forum

Support => cpg1.4.x Support => Older/other versions => cpg1.4 themes/skins/templates => Topic started by: technozeus on June 08, 2008, 01:44:43 AM

Title: LightBox on thumbnails
Post by: technozeus on June 08, 2008, 01:44:43 AM
Hi to all, first sorry for my bad english :P
I would like to apply the LightBox effect directly on the thumbnails in the Thumbnails page.
I know that in this way I lost the comment ahd the count of viewing (this will be my next modify).
Here is what I've modified, I tested it under 1.4.18 version and I hope is a correct mod.
In the Theme.php I added this code before the ?>
function theme_display_thumbnails(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $page, $total_pages, $sort_options, $display_tabs, $mode = 'thumb')
{
    global $CONFIG;
    global $template_thumb_view_title_row,$template_fav_thumb_view_title_row, $lang_thumb_view, $template_tab_display, $template_thumbnail_view, $lang_album_list;

    static $header = '';
    static $thumb_cell = '';
    static $empty_cell = '';
    static $row_separator = '';
    static $footer = '';
    static $tabs = '';
    static $spacer = '';

    if ($header == '') {
        $thumb_cell = template_extract_block($template_thumbnail_view, 'thumb_cell');
        $tabs = template_extract_block($template_thumbnail_view, 'tabs');
        $header = template_extract_block($template_thumbnail_view, 'header');
        $empty_cell = template_extract_block($template_thumbnail_view, 'empty_cell');
        $row_separator = template_extract_block($template_thumbnail_view, 'row_separator');
        $footer = template_extract_block($template_thumbnail_view, 'footer');
        $spacer = template_extract_block($template_thumbnail_view, 'spacer');
    }

    $cat_link = is_numeric($aid) ? '' : '&cat=' . $cat;
    $uid_link = (isset($_GET['uid']) && is_numeric($_GET['uid'])) ? '&uid=' . $_GET['uid'] : '';

    $theme_thumb_tab_tmpl = $template_tab_display;

    if ($mode == 'thumb') {
        $theme_thumb_tab_tmpl['left_text'] = strtr($theme_thumb_tab_tmpl['left_text'], array('{LEFT_TEXT}' => $aid == 'lastalb' ? $lang_album_list['album_on_page'] : $lang_thumb_view['pic_on_page']));
        $theme_thumb_tab_tmpl['inactive_tab'] = strtr($theme_thumb_tab_tmpl['inactive_tab'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $uid_link . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_next_tab'] = strtr($theme_thumb_tab_tmpl['inactive_next_tab'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $uid_link . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_prev_tab'] = strtr($theme_thumb_tab_tmpl['inactive_prev_tab'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $uid_link . '&page=%d'));
    } else {
        $theme_thumb_tab_tmpl['left_text'] = strtr($theme_thumb_tab_tmpl['left_text'], array('{LEFT_TEXT}' => $lang_thumb_view['user_on_page']));
        $theme_thumb_tab_tmpl['inactive_tab'] = strtr($theme_thumb_tab_tmpl['inactive_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_next_tab'] = strtr($theme_thumb_tab_tmpl['inactive_next_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_prev_tab'] = strtr($theme_thumb_tab_tmpl['inactive_prev_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&page=%d'));
    }

    $thumbcols = $CONFIG['thumbcols'];
    $cell_width = ceil(100 / $CONFIG['thumbcols']) . '%';

    $tabs_html = $display_tabs ? create_tabs($nbThumb, $page, $total_pages, $theme_thumb_tab_tmpl) : '';
    // The sort order options are not available for meta albums
    if ($sort_options) {
        $param = array('{ALBUM_NAME}' => $album_name,
            '{AID}' => $aid,
            '{PAGE}' => $page,
            '{NAME}' => $lang_thumb_view['name'],
            '{TITLE}' => $lang_thumb_view['title'],
            '{DATE}' => $lang_thumb_view['date'],
            '{SORT_TA}' => $lang_thumb_view['sort_ta'],
            '{SORT_TD}' => $lang_thumb_view['sort_td'],
            '{SORT_NA}' => $lang_thumb_view['sort_na'],
            '{SORT_ND}' => $lang_thumb_view['sort_nd'],
            '{SORT_DA}' => $lang_thumb_view['sort_da'],
            '{SORT_DD}' => $lang_thumb_view['sort_dd'],
            '{POSITION}' => $lang_thumb_view['position'],
            '{SORT_PA}' => $lang_thumb_view['sort_pa'],
            '{SORT_PD}' => $lang_thumb_view['sort_pd'],
            );
        $title = template_eval($template_thumb_view_title_row, $param);
    } else if ($aid == 'favpics' && $CONFIG['enable_zipdownload'] == 1) { //Lots of stuff can be added here later
       $param = array('{ALBUM_NAME}' => $album_name,
                             '{DOWNLOAD_ZIP}'=>$lang_thumb_view['download_zip']
                               );
       $title = template_eval($template_fav_thumb_view_title_row, $param);
    }else{
        $title = $album_name;
    }


    if ($mode == 'thumb') {
        starttable('100%', $title, $thumbcols);
    } else {
        starttable('100%');
    }

    echo $header;

    $i = 0;
    foreach($thumb_list as $thumb) {
        $i++;
        if ($mode == 'thumb') {
            if ($aid == 'lastalb') {
                $params = array('{CELL_WIDTH}' => $cell_width,
                    '{LINK_TGT}' => "thumbnails.php?album={$thumb['aid']}",
                    '{THUMB}' => $thumb['image'],
                    '{CAPTION}' => $thumb['caption'],
                    '{ADMIN_MENU}' => $thumb['admin_menu']
                    );
            } else {
                $params = array('{CELL_WIDTH}' => $cell_width,
//                '{LINK_TGT}' => "displayimage.php?album=$aid$cat_link&pos={$thumb['pos']}$uid_link", // commented out for the mod 'from thumbnail to pop-up'
//                    '{LINK_TGT}' => "$thumb['pid'],
'{LINK_TGT}' => $thumb['picurl'] . "\" rel=\"lightbox[list]",
                    '{THUMB}' => $thumb['image'],
                    '{CAPTION}' => $thumb['caption'],
                    '{ADMIN_MENU}' => $thumb['admin_menu']
                    );
            }
        } else {
            $params = array('{CELL_WIDTH}' => $cell_width,
                '{LINK_TGT}' => "index.php?cat={$thumb['cat']}",
                '{THUMB}' => $thumb['image'],
                '{CAPTION}' => $thumb['caption'],
                '{ADMIN_MENU}' => ''
                );
        }
        echo template_eval($thumb_cell, $params);

        if ((($i % $thumbcols) == 0) && ($i < count($thumb_list))) {
            echo $row_separator;
        }
    }
    for (;($i % $thumbcols); $i++) {
        echo $empty_cell;
    }
    echo $footer;

    if ($display_tabs) {
        $params = array('{THUMB_COLS}' => $thumbcols,
            '{TABS}' => $tabs_html
            );
        echo template_eval($tabs, $params);
    }

    endtable();
    echo $spacer;
}


If the "theme_display_thumbnails" function exist in the theme.php replace only this row
'{LINK_TGT}' => "displayimage.php?album=$aid$cat_link&amp;pos={$thumb['pos']}$uid_link", // commented out for the mod 'from thumbnail to pop-up'
with this row
'{LINK_TGT}' => $thumb['picurl'] . "\" rel=\"lightbox[list]",

Now open the file function.inc.php and find in "display_thumbnails" function this row
$pic_url =  get_pic_url($row, 'thumb');
and after add
$pic_fullsize_url =  get_pic_url($row, 'fullsize');
find
$thumb_list[$i]['pos'] = $key < 0 ? $key : $i - 1 + $lower_limit;
                        $thumb_list[$i]['pid'] = $row['pid'];;
                        $thumb_list[$i]['image'] = "<img src=\"" . $pic_url . "\" class=\"image\" {$image_size['geom']} border=\"0\" alt=\"{$row['filename']}\" title=\"$pic_title\"/>";
                        $thumb_list[$i]['caption'] = bb_decode($row['caption_text']);
                        $thumb_list[$i]['admin_menu'] = '';
                        $thumb_list[$i]['aid'] = $row['aid'];

and after add
$thumb_list[$i]['picurl'] = $pic_fullsize_url;

If I correctly remember this is all.
Tell me if there is something wrong please.
I'm working to increment the number of view and to add a link under the thumb to go to the displayimage page.
Good Night.
Title: Re: LightBox on thumbnails
Post by: Fabricio Ferrero on June 08, 2008, 02:08:30 AM
I don't think there is need to post all that information in order to get what you're requesting.  ;)

Do yo already apply the effect? or not? Could you provide a link to your gallery?

None of us knows by heart how to apply the effect, if you did step by step like it's explaind in the thread you will achieve what you're looking for.  ;) If not, that's the time to post requesting help.

Don't get me wrong, I'm just trying to help. Post againg if you need with your specefic issue.
Title: Re: LightBox on thumbnails
Post by: technozeus on June 08, 2008, 02:16:00 AM
I test this mod on my test machine with the last stable version (1.4.18) and it works correctly.
I don't have an example online because I've not upgrade the system yet (I need a few days).
I've started this tread just to give my solution in case someone have the same problem ;) (and, why not, have some tips in case of mistake).
Bye, Francesco.
Title: Re: LightBox on thumbnails
Post by: technozeus on June 08, 2008, 08:19:58 PM
I've updates my gallery

for example: http://www.ilfra.it/photo/thumbnails.php?album=93

bye, Francesco.
Title: Re: LightBox on thumbnails
Post by: Fabricio Ferrero on June 08, 2008, 09:37:48 PM
QuoteI've started this tread just to give my solution in case someone have the same problem

So, this post is not requesting support.

[adm move accordly]
Title: Re: LightBox on thumbnails
Post by: technozeus on June 08, 2008, 09:42:48 PM
of course, I can't open new tread in Modifications/Add-Ons/Hacks forum and like wrote in that forum:
QuoteRegular users are not able to post new threads to prevent this board from being cluttered by requests. If you want to contribute and are unable to create a new thread here, please post your contribution in the support boards under the correct version. A moderator will move the thread if it is a valid contribution.
I wrote my hack here waiting for a mod to move topic...
Is not correct?
Title: Re: LightBox on thumbnails
Post by: Fabricio Ferrero on June 08, 2008, 09:47:47 PM
QuoteIs not correct?
Your're right. I just try to make easier the adms works. I post, they read the last mesagge and they move the thread.

bye.
Title: Re: LightBox on thumbnails
Post by: technozeus on June 08, 2008, 09:51:21 PM
ahhh ok, sorry!  ;D