CNason
Member
I have seen many threads on this topic from the past (Specifically on 1.3.x and 1.4.x) there was previously a php file (UserProfile.php) that has a block of code, that if commented out anyone could view a banned members profile however I do not have sed file on 1.5.x and am curious if there is a new method to viewing banned users profiles (for every member, not for those with the permission) or do I simply need to create the missing file?
This was the previous solution:
library/XenForo/Model/UserProfile.php
Remove (or comment) the bold code:
This was the previous solution:
library/XenForo/Model/UserProfile.php
Remove (or comment) the bold code:
Rich (BB code):
public function canViewFullUserProfile(array $user, &$errorPhraseKey = '', array $viewingUser = null)
{
$this->standardizeViewingUserReference($viewingUser);
if ($viewingUser['user_id'] == $user['user_id'])
{
return true; // always let a user view their own profile
}
if (!XenForo_Permission::hasPermission($viewingUser['permissions'], 'general', 'viewProfile'))
{
return false;
}
$userModel = $this->_getUserModel();
if (!$userModel->passesPrivacyCheck($user['allow_view_profile'], $user, $viewingUser))
{
$errorPhraseKey = 'member_limits_viewing_profile';
return false;
// TODO: we should do a limited profile at some point
}
// don't display the profiles of unconfirmed users
if ($user['user_state'] != 'valid' & $user['user_state'] != 'email_confirm_edit' && !$userModel->canByPassUserPrivacy($user['user_id']))
{
$errorPhraseKey = 'this_users_profile_is_not_available';
return false;
}
// user profiles of permanently-banned users should be unavailable to all but privacy-bypassing users
if ($user['is_banned'])
{
$ban = $this->getModelFromCache('XenForo_Model_Banning')->getBannedUserById($user['user_id']);
if ($ban && $ban['end_date'] == 0 && !$userModel->canBypassUserPrivacy($null, $viewingUser))
{
$errorPhraseKey = 'this_users_profile_is_not_available';
return false;
}
}
return true;
}