Пример #1
0
/**
 * themes_content_list
 *
 * @param array $pContent
 * @param array $pListHash
 * @access public
 * @return void
 */
function themes_content_list($pContent, $pListHash)
{
    global $gBitSystem, $gBitSmarty, $gBitThemes, $gBitUser, $gQueryUser;
    // users_themes='u' is for all users content
    if ($gBitSystem->getConfig('users_themes') == 'u') {
        if ($gBitSystem->isFeatureActive('users_preferences') && !empty($pListHash['user_id'])) {
            if ($pListHash['user_id'] == $gBitUser->mUserId) {
                // small optimization to reduce checking when we are looking at our own content, which is frequent
                if ($userStyle = $gBitUser->getPreference('theme')) {
                    $theme = $userStyle;
                }
            } else {
                $theme = BitUser::getUserPreference('theme', NULL, $pListHash['user_id']);
            }
        }
    }
    if (!empty($theme) && $theme != DEFAULT_THEME) {
        $gBitThemes->setStyle($theme);
        if (!is_object($gQueryUser)) {
            $userClass = $gBitSystem->getConfig('user_class', 'BitPermUser');
            require_once USERS_PKG_PATH . $userClass . '.php';
            $gQueryUser = new $userClass($pListHash['user_id']);
            $gQueryUser->load();
            $gBitSmarty->assignByRef('gQueryUser', $gQueryUser);
        }
    }
}
Пример #2
0
 /**
  * isUserPublic Determine if an arbitrary user can be viewed by non-permissioned users.
  *
  * @param array $pUserId user_id of user to query visibility, if NULL will use this object
  * @access public
  * @return boolean if user is publically visible
  */
 function isUserPrivate($pUserId = NULL)
 {
     $infoPref = NULL;
     if (BitBase::verifyId($pUserId)) {
         $infoPref = BitUser::getUserPreference('users_information', NULL, $pUserId);
     } elseif (isset($this) && $this->isValid()) {
         $infoPref = $this->getPreference('users_information');
     }
     return $infoPref == 'private';
 }