The profile page was not showing the user_profile data for users. There was also a php notice with that page.
The php notice can be fixed by putting user_name in quotes on one line:
Find this line in profile.php (near 379):
$result = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_name = '".addslashes($user_data[user_name])."'");
and add the quotes around 'user_name':
$result = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_name = '".addslashes($user_data['user_name'])."'");
[Edit - NOTE: the following modification is overkill and obsoleted by a fix to udb_base.inc.php somewhere between 1.4.2 and 1.4.5 to add a "*" to the SQL query in the default implementation of get_user_infos (read later posts for more info)]
The problem with user_profile data not being added to the web page is due to the fact that the user data query is done via the bridging code and the coppermine default bridge relies on the generic code in the base class that only fetches some of the fields. I copied the get_user_infos function from the udb_base code to the coppermine file and enhanced its sql query to match the query in the old pre-bridge code in profile.php as follows:
Add the following function to bridge/coppermine.inc.php (I chose to add it just after the edit_profile function - circa line 360 or so):
// Get user information
function get_user_infos($uid)
{
global $lang_register_php, $CONFIG;
$sql = "SELECT user_name, user_email, user_group, UNIX_TIMESTAMP(user_regdate) as user_regdate, group_name, "
. "user_profile1, user_profile2, user_profile3, user_profile4, user_profile5, user_profile6 "
. "FROM {$CONFIG['TABLE_USERS']} AS u "
. "INNER JOIN {$CONFIG['TABLE_USERGROUPS']} AS g ON user_group = group_id "
. "WHERE user_id ='$uid'";
$result = cpg_db_query($sql, $this->link_id);
if (!mysql_num_rows($result)) cpg_die(ERROR, $lang_register_php['err_unk_user'], __FILE__, __LINE__);
$user_data = mysql_fetch_array($result);
mysql_free_result($result);
return $user_data;
}