Your subject is wrong: you don't replace the IPTC title, but the regular thumbnail title, because that's what actually shows as far as I can see.
Is this something that can be done by a user, or should it more properly be viewed as a feature request?
That's not a feature request, but clearly a matter of custom theme modification, so I'm moving this thread accordingly. A feature request is a request for a feature in a future coppermine release. Your request clearly won't go into a future version; you want a solution now and not in the distant future.
Using 1.5 RC
It's actually cpg1.5.3 RC - that's the official version number.
I would prefer to have thumbnails and files displayed with something other than the image title below the image. Due to the nature of the project, the IPTC Copyright field would be more appropriate.
This is a request that is very similar to your other thread
replace Title with Copyright. All you need to do is take a look at
Documentation -> Creating your custom theme ff.
In the first place you need to do as suggested in
Rename your theme first. Next, I want you to read
Editing theme.php, because that's what we need to do.We'll need to edit the function definition for
theme_display_thumbnails, so you'll have to
copy that section from the sample theme first into your custom theme, i.e. you copy from themes/sample/theme.php
/******************************************************************************
** Section <<<theme_display_thumbnails>>> - START
******************************************************************************/
function theme_display_thumbnails(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $page, $total_pages, $sort_options, $display_tabs, $mode = 'thumb', $date='')
{
global $CONFIG, $CURRENT_ALBUM_DATA;
global $template_thumb_view_title_row,$template_fav_thumb_view_title_row, $lang_thumb_view, $lang_common, $template_tab_display, $template_thumbnail_view, $lang_album_list, $lang_errors;
$superCage = Inspekt::makeSuperCage();
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;
$date_link = $date=='' ? '' : '&date=' . $date;
if ($superCage->get->getInt('uid')) {
$uid_link = '&uid=' . $superCage->get->getInt('uid');
} else {
$uid_link = '';
}
$album_types = array(
'albums' => array('lastalb')
);
$album_types = CPGPluginAPI::filter('theme_thumbnails_album_types', $album_types);
$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}' => in_array($aid, $album_types['albums']) ? $lang_album_list['album_on_page'] : $lang_thumb_view['pic_on_page']));
$theme_thumb_tab_tmpl['page_link'] = strtr($theme_thumb_tab_tmpl['page_link'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $date_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['page_link'] = strtr($theme_thumb_tab_tmpl['page_link'], 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) : '';
if (!GALLERY_ADMIN_MODE && stripos($template_thumb_view_title_row, 'admin_buttons') !== false) {
template_extract_block($template_thumb_view_title_row, 'admin_buttons');
}
// The sort order options are not available for meta albums
if ($sort_options) {
if (GALLERY_ADMIN_MODE) {
$param = array(
'{ALBUM_ID}' => $aid,
'{CAT_ID}' => ($cat > 0 ? $cat : $CURRENT_ALBUM_DATA['category']),
'{MODIFY_LNK}' => $lang_common['album_properties'],
'{MODIFY_ICO}' => cpg_fetch_icon('modifyalb', 1),
'{PARENT_CAT_LNK}' => $lang_common['parent_category'],
'{PARENT_CAT_ICO}' => cpg_fetch_icon('category', 1),
'{EDIT_PICS_LNK}' => $lang_common['edit_files'],
'{EDIT_PICS_ICO}' => cpg_fetch_icon('edit', 1),
'{ALBUM_MGR_LNK}' => $lang_common['album_manager'],
'{ALBUM_MGR_ICO}' => cpg_fetch_icon('alb_mgr', 1),
);
} else {
$param = array();
}
$param['{ALBUM_NAME}'] = $album_name;
// Plugin Filter: allow plugin to modify or add tags to process
$param = CPGPluginAPI::filter('theme_thumbnails_title', $param);
$title = template_eval($template_thumb_view_title_row, $param);
} elseif ($aid == 'favpics' && $CONFIG['enable_zipdownload'] > 0) { //Lots of stuff can be added here later
$param = array(
'{ALBUM_ID}' => $aid,
'{ALBUM_NAME}' => $album_name,
'{DOWNLOAD_ZIP}' => cpg_fetch_icon ('zip', 2) . $lang_thumb_view['download_zip'],
);
// Plugin Filter: allow plugin to modify or add tags to process
$param = CPGPluginAPI::filter('theme_thumbnails_title', $param);
$title = template_eval($template_fav_thumb_view_title_row, $param);
} else {
$title = $album_name;
}
$wrapper_start = CPGPluginAPI::filter('theme_thumbnails_wrapper_start');
echo $wrapper_start;
if ($mode == 'thumb') {
starttable('100%', $title, $thumbcols);
} else {
starttable('100%');
}
echo $header;
$i = 0;
global $thumb; // make $thumb accessible to plugins
foreach($thumb_list as $thumb) {
$i++;
if ($mode == 'thumb') {
if (in_array($aid, $album_types['albums'])) {
$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 {
// determine if thumbnail link targets should open in a pop-up
if ($CONFIG['thumbnail_to_fullsize'] == 1) { // code for full-size pop-up
if (!USER_ID && $CONFIG['allow_unlogged_access'] <= 2) {
$target = 'javascript:;" onclick="alert(\''.sprintf($lang_errors['login_needed'],'','','','').'\');';
} elseif (USER_ID && USER_ACCESS_LEVEL <= 2) {
$target = 'javascript:;" onclick="alert(\''.sprintf($lang_errors['access_intermediate_only'],'','','','').'\');';
} else {
$target = 'javascript:;" onclick="MM_openBrWindow(\'displayimage.php?pid=' . $thumb['pid'] . '&fullsize=1\',\'' . uniqid(rand()) . '\',\'scrollbars=yes,toolbar=no,status=no,resizable=yes,width=' . ((int)$thumb['pwidth']+(int)$CONFIG['fullsize_padding_x']) . ',height=' . ((int)$thumb['pheight']+(int)$CONFIG['fullsize_padding_y']). '\');';
}
} elseif ($aid == 'random') {
$target = "displayimage.php?pid={$thumb['pid']}$uid_link#top_display_media";
} elseif ($aid == 'lastcom' || $aid == 'lastcomby') {
$page = cpg_get_comment_page_number($thumb['msg_id']);
$page = (is_numeric($page)) ? "&page=$page" : '';
$target = "displayimage.php?album=$aid$cat_link$date_link&pid={$thumb['pid']}$uid_link&msg_id={$thumb['msg_id']}$page#comment{$thumb['msg_id']}";
} else {
$target = "displayimage.php?album=$aid$cat_link$date_link&pid={$thumb['pid']}$uid_link#top_display_media";
}
$params = array(
'{CELL_WIDTH}' => $cell_width,
'{LINK_TGT}' => $target,
'{THUMB}' => $thumb['image'],
'{CAPTION}' => $thumb['caption'],
'{ADMIN_MENU}' => $thumb['admin_menu'],
);
}
} else { // mode != 'thumb'
// Used for mode = 'user' from list_users() in index.php
$params = array(
'{CELL_WIDTH}' => $cell_width,
'{LINK_TGT}' => "index.php?cat={$thumb['cat']}",
'{THUMB}' => $thumb['image'],
'{CAPTION}' => $thumb['caption'],
'{ADMIN_MENU}' => '',
);
}
// Plugin Filter: allow plugin to modify or add tags to process
$params = CPGPluginAPI::filter('theme_display_thumbnails_params', $params);
echo template_eval($thumb_cell, $params);
if ((($i % $thumbcols) == 0) && ($i < count($thumb_list))) {
echo $row_separator;
}
} // foreach $thumb
unset($thumb); // unset $thumb to avoid conflicting with global
for (;($i % $thumbcols); $i++) {
echo $empty_cell;
}
$footer = CPGPluginAPI::filter('theme_thumbnails_footer', $footer);
echo $footer;
if ($display_tabs) {
$params = array(
'{THUMB_COLS}' => $thumbcols,
'{TABS}' => $tabs_html,
);
echo template_eval($tabs, $params);
}
endtable();
$wrapper_end = CPGPluginAPI::filter('theme_thumbnails_wrapper_end');
echo $wrapper_end;
echo $spacer;
}
/******************************************************************************
** Section <<<theme_display_thumbnails>>> - END
******************************************************************************/
and paste that into a new line before
?>
into the file themes/yourtheme/theme.php
Finally you need to populate the title accordingly: find
$wrapper_start = CPGPluginAPI::filter('theme_thumbnails_wrapper_start');
in the code you just added and add before that into a new line something like
if ($iptc['Copyright'] != '') {
$title = $iptc['Copyright'];
}
We're not done yet - the variable we pasted in doesn't reside inside the scope of the function that we're modifying. So, find
global $CONFIG, $CURRENT_ALBUM_DATA;
global $template_thumb_view_title_row,$template_fav_thumb_view_title_row, $lang_thumb_view, $lang_common, $template_tab_display, $template_thumbnail_view, $lang_album_list, $lang_errors;
in the code you inserted and add underneath it (into a new line of it's own)
global $iptc;
Please report back if this works as expected, as I haven't actually tried my suggestions, but coded it from the back of my head.
I'd really like to see you try a little harder before you ask a question: please give the documentation a try.