操作
Bug(バグ) #2145
完了[api] /albums/@me/@self で取得したアルバムのサムネイルが未設定の場合 thumbnailUrl フィールドに間違った値が入る
開始日:
2011-06-03
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
[QA]バグ通知済:
いいえ
3.8 で発生するか:
説明
Overview (現象)¶
/albums/@me/@self
でアルバムのコレクションを取得すると、サムネイルが未設定のアルバムに http://sns.example.com/cache/img/jpg/w180_h180/.jpg
のようなURLが入ってしまう。
{
"entry": [
{
"id": "1",
"title": "test",
"description": "aaaaa",
"mediaItemCount": 2,
"ownerId": "3",
"thumbnailUrl": "http:\/\/sns.localhost\/sqlite\/cache\/img\/jpg\/w180_h180\/.jpg",
"mediaType": "IMAGE"
}
],
"startIndex":0,
"totalResults":1,
"itemsPerPage":10
}
Causes (原因)¶
lib/util/opJsonDbOpensocialService.class.php
で以下のようにサムネイルの有無をチェックしている箇所があるが、サムネイルが未設定の場合 (album.file_id = null) は $object->getFile()
メソッドの実行時に File オブジェクトのインスタンスが新規に生成されてしまうため条件式が偽にならずURLの生成が行われてしまう。
$result['thumbnailUrl'] = '';
if ($object->getFile())
{
sfContext::getInstance()->getConfiguration()->loadHelpers(array('Asset', 'sfImage'));
$result['thumbnailUrl'] = sf_image_path($object->getFile(), array('size' => '180x180'), true);
}
Way to fix (修正内容)¶
getFile()
メソッドではなく getFileId()
メソッドを使用してサムネイルの有無をチェックする。
Youichi Kimura さんが13年以上前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 bd8b4030b7382c45be62f4ff423be172c19bd14f で適用されました。
Youichi Kimura さんが13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Fixed(完了) に変更
- 進捗率 を 50 から 100 に変更
操作