/** * * @return array * (memberId => imagePath...) */ public function findImageFileUrlsByMemberIds($memberIds) { static $queryCacheHash; $q = Doctrine_Query::create(); if (!$queryCacheHash) { $q->from('MemberImage mi, mi.File f'); $q->select('mi.member_id, f.name'); $searchResult = $q->fetchArray(); $queryCacheHash = $q->calculateQueryCacheHash(); } else { $q->setCachedQueryCacheHash($queryCacheHash); $searchResult = $q->fetchArray(); } $imageUrls = array(); foreach ($searchResult as $row) { $image = sf_image_path($row['File']['name'], array('size' => '48x48'), true); $imageUrls[$row['member_id']] = $image; } //画像を設定していないユーザーはno_imageにする foreach ($memberIds as $id) { if (!isset($imageUrls[$id])) { $imageUrls[$id] = opTimelineImage::getNotImageUrl(); } } return $imageUrls; }
private function getImageUrlInfoByImageUrl($imageUrl) { if (is_null($imageUrl)) { return array('large' => null, 'small' => null); } $imagePath = $this->convertImageUrlToImagePath($imageUrl); if (!file_exists($imagePath)) { return array('large' => opTimelineImage::getNotImageUrl(), 'small' => opTimelineImage::getNotImageUrl()); } $minimumDirPath = opTimelineImage::findUploadDirPath($imagePath, self::MINIMUM_IMAGE_WIDTH); $imageName = pathinfo($imagePath, PATHINFO_BASENAME); $minimumImagePath = $minimumDirPath . '/' . $imageName; if (!file_exists($minimumImagePath)) { return array('large' => $imageUrl, 'small' => $imageUrl); } $minimumImageUrl = str_replace(sfConfig::get('sf_web_dir'), $this->baseUrl, $minimumImagePath); return array('large' => $imageUrl, 'small' => $minimumImageUrl); }