/** * Returns list of users' avatars * * @param array $userIds * @param int $size * @return array */ public function getAvatarsUrlList(array $userIds, $size = 1) { if (empty($userIds)) { return array(); } $urlsList = array(); if (is_array($userIds)) { $avatars = array(); $prefix = OW::getPluginManager()->getPlugin('base')->getUserFilesDir() . 'avatars' . DS . ($size == 1 ? self::AVATAR_PREFIX : self::AVATAR_BIG_PREFIX); $defAvatarUrl = $this->getDefaultAvatarUrl($size); $objList = $this->avatarDao->getAvatarsList($userIds); foreach ($objList as $avatar) { $avatars[$avatar->userId] = $avatar; } foreach ($userIds as $userId) { if (array_key_exists($userId, $avatars)) { $urlsList[$userId] = OW::getStorage()->getFileUrl($prefix . $userId . '_' . $avatars[$userId]->hash . '.jpg'); if ($avatars[$userId]->status != BOL_ContentService::STATUS_ACTIVE) { $urlsList[$userId] = $defAvatarUrl; } } else { $urlsList[$userId] = $defAvatarUrl; } } } return $urlsList; }
/** * Returns list of users' avatars * * @param array $userIds * @param int $size * @return array */ public function getAvatarsUrlList(array $userIds, $size = 1) { if (empty($userIds) || !is_array($userIds)) { return array(); } $event = new OW_Event("base.avatars.get_list", array("userIds" => $userIds, "size" => $size, "checkModerationStatus" => true)); $eventAvatars = OW::getEventManager()->trigger($event)->getData(); if (!empty($eventAvatars)) { return $eventAvatars; } $urlsList = array_fill(0, count($userIds), $this->getDefaultAvatarUrl($size)); $urlsList = array_combine($userIds, $urlsList); $avatars = $this->avatarDao->getAvatarsList($userIds); foreach ($avatars as $avatar) { $urlsList[$avatar->userId] = $this->getAvatarUrlByAvatarDto($avatar, $size); } return $urlsList; }