query(" SELECT m.Username, m.TwoFactor, m.PublicKey, m.Email, m.IRCKey, m.Paranoia, i.Info, i.Avatar, i.StyleID, i.StyleURL, i.SiteOptions, i.UnseededAlerts, p.Level AS Class, i.InfoTitle FROM users_main AS m JOIN users_info AS i ON i.UserID = m.ID LEFT JOIN permissions AS p ON p.ID = m.PermissionID WHERE m.ID = ?", $UserID); list($Username, $TwoFactor, $PublicKey, $Email, $IRCKey, $Paranoia, $Info, $Avatar, $StyleID, $StyleURL, $SiteOptions, $UnseededAlerts, $Class, $InfoTitle) = $DB->next_record(MYSQLI_NUM, [5, 10]); $TwoFA = new TwoFactorAuth(); $Email = apcu_exists('DBKEY') ? Crypto::decrypt($Email) : '[Encrypted]'; if ((int) $UserID !== $LoggedUser['ID'] && !check_perms('users_edit_profiles', $Class)) { error(403); } $Paranoia = json_decode($Paranoia, true); if (!is_array($Paranoia)) { $Paranoia = []; } function paranoia_level($Setting) { global $Paranoia; // 0: very paranoid; 1: stats allowed, list disallowed; 2: not paranoid return (in_array($Setting . '+', $Paranoia)) ? 0 : (in_array($Setting, $Paranoia) ? 1 : 2); } function display_paranoia($FieldName) { $Level = paranoia_level($FieldName); echo " "; echo " "; } function checked($Checked) { return ($Checked ? ' checked="checked"' : ''); } if ($SiteOptions) { $SiteOptions = json_decode($SiteOptions, true) ?? []; } else { $SiteOptions = []; } /** * Show header */ View::show_header( "$Username $ENV->CRUMB Settings", 'user,password_validate,validate,cssgallery,preview_paranoia,bbcode,user_settings,donor_titles,vendor/easymde.min', 'vendor/easymde.min' ); $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); ?>

CRUMB?> Settings

Site Appearance
Stylesheet Show gallery
Stylesheet additions '; $Checked = (in_array('default_font', $SiteOptions['StyleAdditions'] ?? []) ? 'checked' : ''); echo << HTML; # For each style addition foreach ($StyleAdditions as $i => $Addition) { # Radio options, e.g., fonts if (preg_match('/radio/', $Addition)) { $Addition = explode('=', $Addition)[1]; $Checked = (in_array($Addition, $SiteOptions['StyleAdditions'] ?? []) ? 'checked' : ''); echo << HTML; } # Checkbox options, e.g., pink and haze if (preg_match('/checkbox/', $Addition)) { $Addition = explode('=', $Addition)[1]; $Checked = (in_array($Addition, $SiteOptions['StyleAdditions'] ?? []) ? 'checked' : ''); echo << HTML; } } echo ''; } ?>
External stylesheet URL
Profile stats
Torrents
Default search type
  • />
  • />
Torrent grouping
/>
Torrent group display
  • />
  • />
Snatched torrents indicator />
Cover art (torrents)
  • />
  • />
Cover art (collections) covers per page
Torrent search filters
  • />
  • />
Autocompletion
Community
Posts per page (forums) posts per page
Inbox sorting />
Emoticons />
Avatar display (posts)
Auto-save reply text />
Displayed badges You have no badges :( $Displayed) { ?> /> '; } } ?>
Notifications
Automatic thread subscriptions />
Unseeded torrent alerts />
Profile
Avatar URL
Second avatar URL
Avatar mouseover text
Donor icon mouseover text
Custom donor icon URL
Donor forum honorific
Preview ,
Profile title 1
Profile info 1
Profile title 2
Profile info 2
Profile title 3
Profile info 3
Profile title 4
Profile info 4
Profile title 5
Profile info 5
query(" SELECT COUNT(UserID) FROM users_info WHERE Inviter = ?", $UserID); list($Invited) = $DB->next_record(); ?> query(" SELECT COUNT(ArtistID) FROM torrents_artists WHERE UserID = ?", $UserID); list($ArtistsAdded) = $DB->next_record(); ?>
Paranoia
 

Select the profile elements you wish to display to other users.

For example, if you select "Show count" for "Requests (filled)," the number of requests you have filled will be visible. If you select "Show bounty," the amount of request bounty you have received will be visible. If you select "Show list," the full list of requests you have filled will be visible.

Note: Paranoia has nothing to do with your security on this site. These settings only determine if others can view your site activity. Some information will remain available in the site log.

Recent activity
Presets
Donations /> />
Statistics
Required Ratio
Comments (torrents)
Collections (started)
Collections (contributed to)
Requests (filled)    
Requests (voted for)    
Uploaded torrents
Uploaded torrents (unique groups)
Torrents (seeding)
Torrents (leeching)
Torrents (snatched)
Torrents (upload subscriptions)
Invitees
Artists added
Preview paranoia
Security
2FA, U2F, and PGP Click here to view additional account security options
Current password
When changing any of the settings below, you must enter your current password here
Reset passkey

Any active torrents must be downloaded again to continue leeching/seeding

IRC key

This key will be used when authenticating with on the IRC network.

  • This value is stored in plaintext and should not be your password
  • IRC keys must be between 6 and 32 characters
API Keys

API keys can be generated to access our JSON API. Please rememeber to revoke tokens you no longer use.

Treat your tokens like passwords and keep them secret.

query(" SELECT `ID`, `Name`, `Token`, `Created` FROM `api_user_tokens` WHERE `UserID` = '$UserID' AND `Revoked` = '0' ORDER BY `Created` DESC "); foreach ($DB->to_array(false, MYSQLI_ASSOC, false) as $row) { ?>
Name Created Revoke
&token_id='>Revoke

'>Click here to create a new token

Email address
Password

PASSWORD_ADVICE ?>