function checked($Checked) { return $Checked ? ' checked="checked"' : ''; } if ($SiteOptions) { $SiteOptions = unserialize($SiteOptions); } else { $SiteOptions = array(); } View::show_header("{$Username} > Settings", 'user,jquery-ui,release_sort,password_validate,validate,cssgallery,preview_paranoia,bbcode,user_settings,donor_titles'); $DonorRank = Donations::get_rank($UserID); $DonorIsVisible = Donations::is_visible($UserID); if ($DonorIsVisible === null) { $DonorIsVisible = true; } extract(Donations::get_enabled_rewards($UserID)); $Rewards = Donations::get_rewards($UserID); $ProfileRewards = Donations::get_profile_rewards($UserID); $DonorTitles = Donations::get_titles($UserID); $DB->query("\n\tSELECT username\n\tFROM lastfm_users\n\tWHERE ID = '{$UserID}'"); $LastFMUsername = ''; list($LastFMUsername) = $DB->next_record(); echo $Val->GenerateJS('userform'); ?> <div class="thin"> <div class="header"> <h2><?php echo Users::format_username($UserID, false, false, false); ?> > Settings</h2> </div>
} $UserID = (int) $_GET['id']; $Preview = isset($_GET['preview']) ? $_GET['preview'] : 0; if ($UserID == $LoggedUser['ID']) { $OwnProfile = true; if ($Preview == 1) { $OwnProfile = false; $ParanoiaString = $_GET['paranoia']; $CustomParanoia = explode(',', $ParanoiaString); } } else { $OwnProfile = false; //Don't allow any kind of previewing on others' profiles $Preview = 0; } $EnabledRewards = Donations::get_enabled_rewards($UserID); $ProfileRewards = Donations::get_profile_rewards($UserID); if (check_perms('users_mod')) { // Person viewing is a staff member $DB->query("\n\t\tSELECT\n\t\t\tm.Username,\n\t\t\tm.Email,\n\t\t\tm.LastAccess,\n\t\t\tm.IP,\n\t\t\tp.Level AS Class,\n\t\t\tm.Uploaded,\n\t\t\tm.Downloaded,\n\t\t\tm.RequiredRatio,\n\t\t\tm.Title,\n\t\t\tm.torrent_pass,\n\t\t\tm.Enabled,\n\t\t\tm.Paranoia,\n\t\t\tm.Invites,\n\t\t\tm.can_leech,\n\t\t\tm.Visible,\n\t\t\ti.JoinDate,\n\t\t\ti.Info,\n\t\t\ti.Avatar,\n\t\t\ti.AdminComment,\n\t\t\ti.Donor,\n\t\t\ti.Artist,\n\t\t\ti.Warned,\n\t\t\ti.SupportFor,\n\t\t\ti.RestrictedForums,\n\t\t\ti.PermittedForums,\n\t\t\ti.Inviter,\n\t\t\tinviter.Username,\n\t\t\tCOUNT(posts.id) AS ForumPosts,\n\t\t\ti.RatioWatchEnds,\n\t\t\ti.RatioWatchDownload,\n\t\t\ti.DisableAvatar,\n\t\t\ti.DisableInvites,\n\t\t\ti.DisablePosting,\n\t\t\ti.DisableForums,\n\t\t\ti.DisableTagging,\n\t\t\ti.DisableUpload,\n\t\t\ti.DisableWiki,\n\t\t\ti.DisablePM,\n\t\t\ti.DisableIRC,\n\t\t\ti.DisableRequests," . "\n\t\t\tm.FLTokens,\n\t\t\tSHA1(i.AdminComment),\n\t\t\ti.InfoTitle,\n\t\t\tla.Type AS LockedAccount\n\t\tFROM users_main AS m\n\t\t\tJOIN users_info AS i ON i.UserID = m.ID\n\t\t\tLEFT JOIN users_main AS inviter ON i.Inviter = inviter.ID\n\t\t\tLEFT JOIN permissions AS p ON p.ID = m.PermissionID\n\t\t\tLEFT JOIN forums_posts AS posts ON posts.AuthorID = m.ID\n\t\t\tLEFT JOIN locked_accounts AS la ON la.UserID = m.ID\n\t\tWHERE m.ID = '{$UserID}'\n\t\tGROUP BY AuthorID"); if (!$DB->has_results()) { // If user doesn't exist header("Location: log.php?search=User+{$UserID}"); } list($Username, $Email, $LastAccess, $IP, $Class, $Uploaded, $Downloaded, $RequiredRatio, $CustomTitle, $torrent_pass, $Enabled, $Paranoia, $Invites, $DisableLeech, $Visible, $JoinDate, $Info, $Avatar, $AdminComment, $Donor, $Artist, $Warned, $SupportFor, $RestrictedForums, $PermittedForums, $InviterID, $InviterName, $ForumPosts, $RatioWatchEnds, $RatioWatchDownload, $DisableAvatar, $DisableInvites, $DisablePosting, $DisableForums, $DisableTagging, $DisableUpload, $DisableWiki, $DisablePM, $DisableIRC, $DisableRequests, $FLTokens, $CommentHash, $InfoTitle, $LockedAccount) = $DB->next_record(MYSQLI_NUM, array(8, 11)); } else { // Person viewing is a normal user $DB->query("\n\t\tSELECT\n\t\t\tm.Username,\n\t\t\tm.Email,\n\t\t\tm.LastAccess,\n\t\t\tm.IP,\n\t\t\tp.Level AS Class,\n\t\t\tm.Uploaded,\n\t\t\tm.Downloaded,\n\t\t\tm.RequiredRatio,\n\t\t\tm.Enabled,\n\t\t\tm.Paranoia,\n\t\t\tm.Invites,\n\t\t\tm.Title,\n\t\t\tm.torrent_pass,\n\t\t\tm.can_leech,\n\t\t\ti.JoinDate,\n\t\t\ti.Info,\n\t\t\ti.Avatar,\n\t\t\tm.FLTokens,\n\t\t\ti.Donor,\n\t\t\ti.Warned,\n\t\t\tCOUNT(posts.id) AS ForumPosts,\n\t\t\ti.Inviter,\n\t\t\ti.DisableInvites,\n\t\t\tinviter.username,\n\t\t\ti.InfoTitle\n\t\tFROM users_main AS m\n\t\t\tJOIN users_info AS i ON i.UserID = m.ID\n\t\t\tLEFT JOIN permissions AS p ON p.ID = m.PermissionID\n\t\t\tLEFT JOIN users_main AS inviter ON i.Inviter = inviter.ID\n\t\t\tLEFT JOIN forums_posts AS posts ON posts.AuthorID = m.ID\n\t\tWHERE m.ID = {$UserID}\n\t\tGROUP BY AuthorID"); if (!$DB->has_results()) { // If user doesn't exist header("Location: log.php?search=User+{$UserID}");
/** * Generate HTML for a user's avatar or just return the avatar URL * @param unknown $Avatar * @param unknown $UserID * @param unknown $Username * @param unknown $Setting * @param number $Size * @param string $ReturnHTML * @return string */ public static function show_avatar($Avatar, $UserID, $Username, $Setting, $Size = 150, $ReturnHTML = True) { $Avatar = ImageTools::process($Avatar, false, 'avatar', $UserID); $Style = 'style="max-height: 400px;"'; $AvatarMouseOverText = ''; $SecondAvatar = ''; $Class = 'class="double_avatar"'; $EnabledRewards = Donations::get_enabled_rewards($UserID); if ($EnabledRewards['HasAvatarMouseOverText']) { $Rewards = Donations::get_rewards($UserID); $AvatarMouseOverText = $Rewards['AvatarMouseOverText']; } if (!empty($AvatarMouseOverText)) { $AvatarMouseOverText = "title=\"{$AvatarMouseOverText}\" alt=\"{$AvatarMouseOverText}\""; } else { $AvatarMouseOverText = "alt=\"{$Username}'s avatar\""; } if ($EnabledRewards['HasSecondAvatar'] && !empty($Rewards['SecondAvatar'])) { $SecondAvatar = ' data-gazelle-second-avatar="' . ImageTools::process($Rewards['SecondAvatar'], false, 'avatar2', $UserID) . '"'; } // case 1 is avatars disabled switch ($Setting) { case 0: if (!empty($Avatar)) { $ToReturn = $ReturnHTML ? "<div><img src=\"{$Avatar}\" width=\"{$Size}\" {$Style} {$AvatarMouseOverText}{$SecondAvatar} {$Class} /></div>" : $Avatar; } else { $URL = STATIC_SERVER . 'common/avatars/default.png'; $ToReturn = $ReturnHTML ? "<div><img src=\"{$URL}\" width=\"{$Size}\" {$Style} {$AvatarMouseOverText}{$SecondAvatar} /></div>" : $URL; } break; case 2: $ShowAvatar = true; // Fallthrough // Fallthrough case 3: switch (G::$LoggedUser['Identicons']) { case 0: $Type = 'identicon'; break; case 1: $Type = 'monsterid'; break; case 2: $Type = 'wavatar'; break; case 3: $Type = 'retro'; break; case 4: $Type = '1'; $Robot = true; break; case 5: $Type = '2'; $Robot = true; break; case 6: $Type = '3'; $Robot = true; break; default: $Type = 'identicon'; } $Rating = 'pg'; if (!$Robot) { $URL = 'https://secure.gravatar.com/avatar/' . md5(strtolower(trim($Username))) . "?s={$Size}&d={$Type}&r={$Rating}"; } else { $URL = 'https://robohash.org/' . md5($Username) . "?set=set{$Type}&size={$Size}x{$Size}"; } if ($ShowAvatar == true && !empty($Avatar)) { $ToReturn = $ReturnHTML ? "<div><img src=\"{$Avatar}\" width=\"{$Size}\" {$Style} {$AvatarMouseOverText}{$SecondAvatar} {$Class} /></div>" : $Avatar; } else { $ToReturn = $ReturnHTML ? "<div><img src=\"{$URL}\" width=\"{$Size}\" {$Style} {$AvatarMouseOverText}{$SecondAvatar} {$Class} /></div>" : $URL; } break; default: $URL = STATIC_SERVER . 'common/avatars/default.png'; $ToReturn = $ReturnHTML ? "<div><img src=\"{$URL}\" width=\"{$Size}\" {$Style} {$AvatarMouseOverText}{$SecondAvatar} {$Class}/></div>" : $URL; } return $ToReturn; }