This might do what you want. It's a theme customization.
In themes/yourtheme/theme.php, you need to modify the function theme_display_cat_list. If you don't have this function in there yet, copy it from the sample theme.
You only need to add a few lines (well 15 lines the way I spaced it out to make it clear), but I wanted to make it clear where to add these lines, so I've copied
a part of the function below. You need to add in the lines shown below that are bracketted by
// MOD and
// MOD - END, as shown:
function theme_display_cat_list($breadcrumb, &$cat_data, $statistics)
{
global $template_cat_list, $lang_cat_list;
if (count($cat_data) > 0) {
starttable('100%');
$template = template_extract_block($template_cat_list, 'header');
$params = array('{CATEGORY}' => $lang_cat_list['category'],
'{ALBUMS}' => $lang_cat_list['albums'],
'{PICTURES}' => $lang_cat_list['pictures'],
);
echo template_eval($template, $params);
}
$template_noabl = template_extract_block($template_cat_list, 'catrow_noalb');
$template = template_extract_block($template_cat_list, 'catrow');
foreach($cat_data as $category) {
if (!isset($category['cat_thumb'])) { $category['cat_thumb'] = ''; }
if (count($category) == 3) {
$params = array('{CAT_TITLE}' => $category[0],
'{CAT_THUMB}' => $category['cat_thumb'],
'{CAT_DESC}' => $category[1]
);
echo template_eval($template_noabl, $params);
} elseif (isset($category['cat_albums']) && ($category['cat_albums'] != '')) {
$params = array('{CAT_TITLE}' => $category[0],
'{CAT_THUMB}' => $category['cat_thumb'],
'{CAT_DESC}' => $category[1],
'{CAT_ALBUMS}' => $category['cat_albums'],
'{ALB_COUNT}' => $category[2],
'{PIC_COUNT}' => $category[3],
);
echo template_eval($template, $params);
} else {
$params = array('{CAT_TITLE}' => $category[0],
'{CAT_THUMB}' => $category['cat_thumb'],
'{CAT_DESC}' => $category[1],
'{CAT_ALBUMS}' => '',
'{ALB_COUNT}' => $category[2],
'{PIC_COUNT}' => $category[3],
);
echo template_eval($template, $params);
}
// MOD - Show user albums under category
if (is_numeric(strpos($category[0],'User galleries')) && (function_exists(list_users))) {
echo <<< EOT
<tr>
<td class="tableb" colspan="3">
EOT;
list_users();
echo <<< EOT
</td>
</tr>
EOT;
}
// MOD - END
}
if ($statistics && count($cat_data) > 0) {
$template = template_extract_block($template_cat_list, 'footer');
$params = array('{STATISTICS}' => $statistics);
echo template_eval($template, $params);
}
if (count($cat_data) > 0)
endtable();
echo template_extract_block($template_cat_list, 'spacer');
}
Note that if you have renamed your "User galleries" title to something else, you need to modify the line with this string. "User galleries" is not set anywhere in the language files; it's set in the categories database table when you first install Coppermine. So that's why I had to hard-code the string. (Read edit #2 below for a way to avoid using this hard-coded string.)
Also, you'll have to modify the HTML lines in the mod if they don't look the way you want. Those lines come from $template_cat_list from the sample theme. Look at your theme's $template_cat_list and copy the lines to the mod. You can look at how I copied them from the sample theme if you have questions. (It's the part in $template_cat_list that surround the tag {CAT_ALBUMS}.)
edit: I modified the code above to show the whole function. Copy this into themes/yourtheme/theme.php. Make sure you don't copy it inside another function. The easiest thing is to copy it at the end, before the very last line:
?>. Of course, if you have this function already, you need to replace it.
edit #2: As noted by Nibbler in a
later post in this thread, you can avoid using the hard-coded string "User Galleries" in the mod above by replacing that line above with this line:
if (is_numeric(strpos($category[0],'cat='.USER_GAL_CAT.'"')) && (function_exists(list_users))) {