Ticket #3678 (closed enhancement: fixed)

Opened 8 years ago

Last modified 8 years ago

マイフレンド最新書き込み表示設定機能

Reported by: toraneko Assigned to: toraneko
Priority: minor Milestone: OpenPNE2.13.7
Component: 指定しない Version:
Keywords: Cc:

Description (Last modified by kiwa)

■概要

マイフレンドごとに、ホームのマイフレンド新着書き込みに表示するかどうかを設定できるようにする

■仕様

マイフレンド管理ページ内で、ホームのマイフレンド新着書き込みに表示するかどうかを設定できるようにする

DB変更

フレンドリンクテーブル[c_friend]に、以下のフィールドを追加する

    is_display_friend_home = 1 : ホームに新着を表示する
                             0 : ホームには新着を表示しない

デフォルト      ・・・ 1:表示
新規インストール時    ・・・ 1:表示
新規コミュニティ作成時・・・ 1:表示
従来からのアップグレード・・ 1:表示

(2) SQL文

// upgrade
ALTER TABLE c_friend ADD COLUMN is_display_friend_home tinyint(1) NOT NULL DEFAULT 1;
CREATE INDEX c_member_id_to_is_display_friend_home_c_friend_id ON c_friend (c_member_id_from,is_display_friend_home,c_friend_id)

コード変更

  • マイフレンド管理ページに、「マイフレンド新着を表示する/表示しない」のリンクを追加
  • [webapp/lib/db/diary.php]
    [p_h_home_c_diary_friend_list4c_member_id]に第3パラメタ追加
          第3パラメタ : 指定可能値 = true / false
                        省略時 = false
          true が指定された場合、新着表示対象のマイフレンドのみの新着日記一覧とする
          false が指定された場合、従来どおりの処理とする
    

ソース提供リビジョン

r10894 toとfromが逆

r10898 機能コミット

■関連情報

  • #3812:フレンド管理ページのフレンド一覧表示用関数でc_member_id_fromとc_member_id_toが逆に指定されている
  • #3814:マイフレンド最新書き込み表示設定機能のコード改善

Change History

02/27/09 12:52:39 changed by toraneko

開発の途中で、この開発に影響するバグが見つかりましたので別にコミットしました [10894]c_member_id_fromとc_member_id_toが逆に指定されている

02/27/09 13:16:01 changed by toraneko

  • description changed.

02/27/09 13:18:19 changed by toraneko

  • description changed.

02/27/09 14:47:43 changed by kiwa

  • milestone set to OpenPNE2.13.7.

2.13.7で取り込みます。

03/11/09 15:00:06 changed by nakasone

  • keywords set to 確認中.

以下のリビジョンで対応しました。

  • 指定が間違っていた箇所の修正 - r10990
  • マージ - r10991

03/12/09 16:29:05 changed by kiwa

r11006 にてupdate sqlの連番を変更しました。

(follow-up: ↓ 8 ) 04/13/09 19:21:39 changed by shingo

  • keywords changed from 確認中 to 差し戻し.
  • pc_page_h_manage_friend
    • フレンドがいても「マイフレンド登録がありません。」となる

(in reply to: ↑ 7 ) 04/13/09 21:31:47 changed by shingo

Replying to shingo:

* pc_page_h_manage_friend * フレンドがいても「マイフレンド登録がありません。」となる

上記の件、取り消します。

(follow-up: ↓ 10 ) 04/13/09 21:42:27 changed by shingo

今回見つかった既存の不具合ですが、 r10990 の変更を取り消し、 #3812 でまとめて修正することとしました。

(in reply to: ↑ 9 ) 04/13/09 21:43:43 changed by shingo

comment:9 について、 r11287 で対応しました

(follow-up: ↓ 12 ) 04/13/09 22:28:52 changed by shingo

  • MySQLには不要
    update/update07-for2.13.7-alter-c_friend-add-column-is_display_friend_home.sql
    
    UPDATE c_friend SET is_display_friend_home = 1;
    
  • 「表示対象一覧を取得し、取得済みフレンド一覧とぶつける」処理をしていますが、直接目的のリストを得るSQLで取得しない理由が良くわかりません。
    webapp/lib/db/diary.php
    
     513         // 表示対象一覧を取得し、取得済みフレンド一覧とぶつける
     514         $friends = array_intersect($friends, db_friend_is_display_friend_home_list($c_member_id, $is_display_friend_home=1));
    
  • 「db_friend_update_c_friend_is_display_friend_home」に関数名を変更してください
    webapp/lib/db/friend.php
    
    864 function db_friend_update_is_display_friend_home
    
  • webapp/lib/db/friend.phpの876行目に空白を一行追加してください
  • 型キャストを統一してください
    webapp/lib/db/friend.php
    
    867         'is_display_friend_home' => (bool)$is_display_friend_home,
    
    890     $params = array(intval($c_member_id), intval($is_display_friend_home));
    
  • 不要な空白がある
    webapp/modules/pc/templates/h_manage_friend.tpl
    
     31 <br/> <br/>
    

(in reply to: ↑ 11 ) 04/14/09 10:49:46 changed by kiwa

Replying to shingo:

* MySQLには不要 {{{ update/update07-for2.13.7-alter-c_friend-add-column-is_display_friend_home.sql UPDATE c_friend SET is_display_friend_home = 1; }}}

以外は以下のチケットで対応します

#3814:マイフレンド最新書き込み表示設定機能のコード改善

04/14/09 11:13:56 changed by shingo

以下のレビジョンで上記の件(SQLの修正)に対応しました

*r11289

04/14/09 11:14:30 changed by shingo

  • keywords changed from 差し戻し to テスト待ち.

04/14/09 11:15:46 changed by kiwa

  • keywords changed from テスト待ち to 確認中.

一度コードチェックを経由してください。

04/14/09 11:30:42 changed by kawahara

  • description changed.

SQL修正の件でDescription修正しました

04/14/09 11:31:08 changed by kawahara

  • keywords changed from 確認中 to テスト待ち.

SQL修正の件のチェックをしました。

04/14/09 11:54:47 changed by kiwa

  • description changed.

Descriptionをフォーマットに沿わせました。

04/14/09 15:59:19 changed by kiwa

function cacheが有効の場合に設定が即反映されませんが、それは次のバージョンで対応しましょう。

#3816:function cacheが有効の場合、マイフレンド・コミュニティの最新情報表示設定が即反映されない

04/14/09 16:08:23 changed by kiwa

  • keywords changed from テスト待ち to 差し戻し.

pc_page_h_manage_friendにて、マイフレンド最新書き込みを表示しないメンバーに対しても「マイフレンド最新書き込みを表示しない」リンクが表示されます。

04/15/09 20:49:53 changed by kiwa

  • keywords changed from 差し戻し to 確認中.

r11316 にてPC版のマイフレンド最新書き込み設定が機能していなかったのを修正しました。

04/16/09 11:44:19 changed by kiwa

  • keywords deleted.
  • status changed from new to closed.
  • resolution set to fixed.
  • summary changed from マイフレンド最新書き込み表示設定 to マイフレンド最新書き込み表示設定機能.

#3830:マイフレンド最新書き込み表示設定機能 コードチェック

残りのコードチェックは上のチケットで行います。動作を確認したところ致命的な問題はなさそうなので、今回はこれで完了とします。

04/16/09 19:37:54 changed by kiwa

  • status changed from closed to reopened.
  • resolution deleted.

owner変更のためreopenします

04/16/09 19:38:02 changed by kiwa

  • owner changed from nobody to toraneko.
  • status changed from reopened to new.

04/16/09 19:38:08 changed by kiwa

  • status changed from new to closed.
  • resolution set to fixed.