/** * Create a profile link for the user with his own color */ function colorize_username($user_id, $username = '', $user_color = '', $user_active = true, $no_profile = false, $get_only_color_style = false, $from_db = false, $force_cache = false, $alt_link_url = '') { global $db, $config, $lang; $user_id = empty($user_id) ? ANONYMOUS : $user_id; $is_guest = $user_id == ANONYMOUS ? true : false; if (!$is_guest && $from_db || !$is_guest && empty($username) && empty($user_color)) { // Get the user info and see if they are assigned a color_group $sql = user_color_sql($user_id); $cache_cleared = CACHE_COLORIZE && defined('IN_ADMIN') ? clear_user_color_cache($user_id) : false; $result = (CACHE_COLORIZE || $force_cache) && !defined('IN_ADMIN') ? $db->sql_query($sql, 0, POST_USERS_URL . '_', USERS_CACHE_FOLDER) : $db->sql_query($sql); $sql_row = array(); $row = array(); while ($sql_row = $db->sql_fetchrow($result)) { $row = $sql_row; } $db->sql_freeresult($result); $username = $row['username']; $user_color = $row['user_color']; $user_active = $row['user_active']; } $username = $user_id == ANONYMOUS || empty($username) ? $lang['Guest'] : str_replace('&amp;', '&', htmlspecialchars($username)); $user_link_url = !empty($alt_link_url) ? str_replace('$USER_ID', $user_id, $alt_link_url) : (defined('USER_LINK_URL_OVERRIDE') ? str_replace('$USER_ID', $user_id, USER_LINK_URL_OVERRIDE) : CMS_PAGE_PROFILE . '?mode=viewprofile&' . POST_USERS_URL . '=' . $user_id); $user_link_style = ''; $user_link_begin = '<a href="' . append_sid(IP_ROOT_PATH . $user_link_url) . '"'; $user_link_end = '>' . $username . '</a>'; if (!$user_active || $is_guest) { $user_link = $user_link_begin . $user_link_style . $user_link_end; $user_link = $no_profile || $is_guest ? $username : $user_link; $user_link = $get_only_color_style ? '' : $user_link; } else { $user_color = check_valid_color($user_color); $user_color = $user_color != false ? $user_color : $config['active_users_color']; $user_link_style = ' style="font-weight: bold; text-decoration: none; color: ' . $user_color . ';"'; if ($no_profile) { $user_link = '<span' . $user_link_style . '>' . $username . '</span>'; } else { $user_link = $user_link_begin . $user_link_style . $user_link_end; } $user_link = $get_only_color_style ? $user_link_style : $user_link; } return $user_link; }
/** * Update user posts details * * @param => user_id * @return => true on success */ function update_user_posts_details($user_id, $color = '', $username = '', $update_color = false, $update_username = false) { global $db; if ($update_color || $update_username) { $sql = user_color_sql($user_id); $result = $db->sql_query($sql); $sql_row = array(); $row = array(); while ($sql_row = $db->sql_fetchrow($result)) { $row = $sql_row; } $db->sql_freeresult($result); $username = $update_username || empty($username) ? $row['username'] : $username; $color = $update_color ? $row['user_color'] : $color; $sql_topic_first_poster_set = "topic_first_poster_name = '" . $db->sql_escape($username) . "', "; $sql_topic_last_poster_set = "topic_last_poster_name = '" . $db->sql_escape($username) . "', "; $sql_forum_last_poster_set = "forum_last_poster_name = '" . $db->sql_escape($username) . "', "; } $sql = "UPDATE " . TOPICS_TABLE . " SET " . $sql_topic_first_poster_set . "topic_first_poster_color = '" . $db->sql_escape($color) . "' WHERE topic_first_poster_id = " . $user_id; $result = $db->sql_query($sql); $sql = "UPDATE " . TOPICS_TABLE . " SET " . $sql_topic_last_poster_set . "topic_last_poster_color = '" . $db->sql_escape($color) . "' WHERE topic_last_poster_id = " . $user_id; $result = $db->sql_query($sql); $sql = "UPDATE " . FORUMS_TABLE . " SET " . $sql_forum_last_poster_set . "forum_last_poster_color = '" . $db->sql_escape($color) . "' WHERE forum_last_poster_id = " . $user_id; $result = $db->sql_query($sql); return true; }