ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 9 years ago

Closed 8 years ago

#3176 closed defect (fixed)

画像DBオプションが有効かつ、一時画像をDB保存すると本投稿時に画像用DBに保存されない

Reported by: imamura623 Owned by: ogawa
Priority: minor Milestone: OpenPNE2.14.3
Component: 指定しない Version: 2.12.x & 2.14.x
Keywords: OpenPNE2.12.16 Cc:

Description (last modified by imamura623)

■現象

画像の保存先を通常のデータとは別DBに設定している($GLOBALS['_OPENPNE_DSN_LIST']['image'] を設定している)環境下で、一時画像の保存先をDBに設定している(OPENPNE_TMP_IMAGE_DB を true に設定している)場合、画像のデータが画像用のDBに保存されない。

■原因

OPENPNE_TMP_IMAGE_DB が true の場合、画像保存先を指定せずにDB保存処理を呼び出しているのが原因。

■修正内容

OPENPNE_TMP_IMAGE_DB が true の場合にも、画像追加の共通関数を使用するよう変更し、画像用DB設定が適用されるよう修正した。

■関連チケット

  • #4372:一時画像をDBに保存する機能で一時保存した画像が削除されない

■関連情報

http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=19681より転記

config.phpでOPENPNE_TMP_IMAGE_DBをtrueにし、
かつ、画像データ保存用DBの設定を有効にしている場合、
アップロードされた画像が本来であれば画像データ保存用DBに登録されるはずだが、通常のDBに保存される。

ちなみに改造作業中にソースコードレベルで発見し、検証の結果再現を確認。
おそらく、webapp/lib/util/image.php の image_insert_c_image4tmpで、
if(!OPENPNE_TMP_IMAGE_DB)のelseの処理にて
db_insert("c_image", $params)に投げているのが原因。
$db->insert(...) といった形にする必要がありそう。

環境:OpenPNE 2.12.5 

Change History (15)

comment:1 Changed 8 years ago by kiwa

Keywords: 再現待ち removed
Version: 2.12.x & 2.13.x

検証もあるのでキーワード外します。

comment:2 Changed 8 years ago by ogawa

Owner: changed from nobody to ogawa
Status: newassigned

comment:3 Changed 8 years ago by ogawa

以下のリビジョンで修正しました。

comment:4 Changed 8 years ago by ogawa

Description: modified (diff)
Keywords: OpenPNE2.12.16 確認中 added
Milestone: OpenPNE2.14.3

comment:5 Changed 8 years ago by ogawa

2.14で画像サイズを追加する処理が動作していなかったのを修正しました。

comment:6 Changed 8 years ago by imamura623

Keywords: 差し戻し added; 確認中 removed

動作テストしました。

  • 確認画像用の一時ファイルが削除されない時があるようです
    • アルバム画像の追加確認画面からログアウトした場合
    • アルバム画像の追加確認画面からマイホーム等のリンクをクリックした場合(これは次回アルバム写真追加実行時に削除される様子)

comment:7 in reply to:  6 Changed 8 years ago by imamura623

Description: modified (diff)
Keywords: 確認中 added; 差し戻し removed

Replying to imamura623:

動作テストしました。

  • 確認画像用の一時ファイルが削除されない時があるようです
    • アルバム画像の追加確認画面からログアウトした場合
    • アルバム画像の追加確認画面からマイホーム等のリンクをクリックした場合(これは次回アルバム写真追加実行時に削除される様子)

上記の指摘は今回の修正と関係性が低いバグと判断し別チケットで対応します。

  • #4372:一時画像をDBに保存する機能で一時保存した画像が削除されない

comment:8 Changed 8 years ago by imamura623

Keywords: 差し戻し added; 確認中 removed

動作テストしました。

  • 一時画像をDBに保存するを使用するとアップロードした写真が表示されません(画像保存用DBのc_imageには保存されている)

アルバム写真、プロフィール画像、メッセージ送信、日記作成で確認しましたが表示されませんでした。

comment:9 in reply to:  8 Changed 8 years ago by ogawa

Keywords: 確認中 added; 差し戻し removed

Replying to comment:8:

二重エスケープされているのが原因でした。以下のリビジョンで修正しました。

comment:10 Changed 8 years ago by imamura623

Keywords: 差し戻し added; 確認中 removed

動作テストしました。
まだ画像DBオプションと一時画像をDBに保存するが有効のときにアップロードした画像が表示されない箇所があります。

2.14.xの結果

  • プロフィール画像
  • メッセージに添付した画像
  • 写真付きの日記
  • 写真付きのトピックとイベント
  • アルバム写真挿入ダイアログ画面(mainのDBにアルバム画像が保存されているアルバムの場合)

2.12.xの結果

  • アルバム写真挿入ダイアログ画面(mainのDBにアルバム画像が保存されているアルバム場合)

comment:11 in reply to:  10 Changed 8 years ago by imamura623

Replying to imamura623:

  • アルバム写真挿入ダイアログ画面(mainのDBにアルバム画像が保存されているアルバム場合)

image用のDB利用時にmainのDBに保存されている画像は本来表示されないので、この指摘は無視してください。
mainのDBに保存されている画像がimage用DB使用時に表示されるのは画像キャッシュによるものであると思われます。

comment:12 in reply to:  10 Changed 8 years ago by ogawa

Keywords: 確認中 added; 差し戻し removed

Replying to comment:10:

2.14.x の問題を修正しました。

画像が表示されないだけでなく、2.14 で追加された画像ファイルサイズ記録用の c_image_size テーブルへのデータ登録も正常に動作していない状態でした。

comment:13 Changed 8 years ago by imamura623

動作確認しました。

  • 画像が表示されることを確認
  • 画像サイズが登録されることを確認

問題ありません。

comment:14 Changed 8 years ago by shingo

Keywords: テスト待ち added; 確認中 removed

確認しました。

comment:15 Changed 8 years ago by shingo

Keywords: テスト待ち removed
Resolution: fixed
Status: assignedclosed

閉じます

Note: See TracTickets for help on using tickets.