Replacing in index.php solved the basic link for categories;
the problem is still present when clicking on the breadcrumb.
To solve I changed the breadcrumb function in /include/functions.inc.php:
function breadcrumb($cat, &$breadcrumb, &$BREADCRUMB_TEXT)
{
global $album, $lang_errors, $lang_list_categories, $lang_meta_album_names;
global $CONFIG, $CURRENT_ALBUM_DATA, $CURRENT_CAT_NAME, $CPG_URL, $CPG_M_URL;
if (($cat == 0) && $album != '') {
if (is_numeric($album)) {
$result = db_query("SELECT title FROM {$CONFIG['TABLE_ALBUMS']} WHERE aid = '" . $album . "'");
if (mysql_num_rows($result) == 0) cpg_die(CRITICAL_ERROR, $lang_errors['non_exist_cat'], __FILE__, __LINE__);
$row = mysql_fetch_array($result);
$breadcrumb = '<a class="statlink" href="' . $CPG_M_URL . '">' . _HOME . '</a> > ' . $row["title"] . ' ';
} else {
$breadcrumb = '<a class="statlink" href="' . $CPG_M_URL . '">' . _HOME . '</a>' . $breadcrumb . ' > ' . $BREADCRUMB_TEXT . ' ';
}
$BREADCRUMB_TEXT = _HOME;
} else if ($cat > 0) {
$breadcrumb_array = array();
if ($cat >= FIRST_USER_CAT) {
$user_name = get_username($cat - FIRST_USER_CAT);
$user_id = get_userid($user_name);
if ($user_id < 2) $user_name = 'Mr. X';
$breadcrumb_array[] = array($cat, $user_name); //$row['user_name']
$CURRENT_CAT_NAME = sprintf($lang_list_categories['xx_s_gallery'], $user_name);
$row['parent'] = 1;
} else {
$result = db_query("SELECT catname, parent FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '$cat'");
if (mysql_num_rows($result) == 0) cpg_die(CRITICAL_ERROR, $lang_errors['non_exist_cat'], __FILE__, __LINE__);
$row = mysql_fetch_array($result);
$breadcrumb_array[] = array($cat, $row['catname']);
$CURRENT_CAT_NAME = $row['catname'];
mysql_free_result($result);
} while ($row['parent'] != 0) {
$result = db_query("SELECT cid, catname, parent FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '{$row['parent']}'");
if (mysql_num_rows($result) == 0) cpg_die(CRITICAL_ERROR, $lang_errors['orphan_cat'], __FILE__, __LINE__);
$row = mysql_fetch_array($result);
$breadcrumb_array[] = array($row['cid'], $row['catname']);
mysql_free_result($result);
} // while
// if (($album!='')&&(!is_numeric($album)){
// $result = db_query("SELECT title FROM {$CONFIG['TABLE_ALBUMS']} WHERE aid = $album");
// $row = mysql_fetch_array($result);
// mysql_free_result($result);
// $breadcrumb_array[] = array('', $lang_meta_album_names[$album]);
// }
$breadcrumb_array = array_reverse($breadcrumb_array);
$breadcrumb = '<a class="statlink" href="' . $CPG_M_URL . '">' . _HOME . '</a>';
$BREADCRUMB_TEXT = _HOME;
foreach ($breadcrumb_array as $category) {
$link = '<a class="statlink" href="' . $CPG_M_URL . '&cat=' . $category[0] . '">' . $category[1] . '</a>';
$breadcrumb .= ' > ' . $link;
$BREADCRUMB_TEXT .= ' > ' . $category[1];
}
// Add Link for album if $album is set
if (is_numeric($album)) {
$link = '<a class="statlink" href="' . $CPG_URL . '&file=thumbnails&album=' . $album . '>' . $CURRENT_ALBUM_DATA["title"] . '</a>';
$breadcrumb .= ' > ' . $link;
$BREADCRUMB_TEXT .= ' > ' . $CURRENT_ALBUM_DATA['title'];
}
}
}
(just replacing $CPG_URL with $CPG_M_URL - except for the call to thumbnails) and adding it to GLOBALS