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

Opened 9 years ago

Closed 8 years ago

#3678 closed enhancement (fixed)

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

Reported by: toraneko Owned by: 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 (25)

comment:1 Changed 9 years ago by toraneko

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

comment:2 Changed 9 years ago by toraneko

Description: modified (diff)

comment:3 Changed 9 years ago by toraneko

Description: modified (diff)

comment:4 Changed 9 years ago by kiwa

Milestone: OpenPNE2.13.7

2.13.7で取り込みます。

comment:5 Changed 9 years ago by nakasone

Keywords: 確認中 added

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

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

comment:6 Changed 9 years ago by kiwa

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

comment:7 Changed 8 years ago by shingo

Keywords: 差し戻し added; 確認中 removed
  • pc_page_h_manage_friend
    • フレンドがいても「マイフレンド登録がありません。」となる

comment:8 in reply to:  7 Changed 8 years ago by shingo

Replying to shingo:

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

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

comment:9 Changed 8 years ago by shingo

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

comment:10 in reply to:  9 Changed 8 years ago by shingo

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

comment:11 Changed 8 years ago 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/>
    

comment:12 in reply to:  11 Changed 8 years ago 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:マイフレンド最新書き込み表示設定機能のコード改善

comment:13 Changed 8 years ago by shingo

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

*r11289

comment:14 Changed 8 years ago by shingo

Keywords: テスト待ち added; 差し戻し removed

comment:15 Changed 8 years ago by kiwa

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

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

comment:16 Changed 8 years ago by ShogoKawahara

Description: modified (diff)

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

comment:17 Changed 8 years ago by ShogoKawahara

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

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

comment:18 Changed 8 years ago by kiwa

Description: modified (diff)

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

comment:19 Changed 8 years ago by kiwa

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

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

comment:20 Changed 8 years ago by kiwa

Keywords: 差し戻し added; テスト待ち removed

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

comment:21 Changed 8 years ago by kiwa

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

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

comment:22 Changed 8 years ago by kiwa

Keywords: 確認中 removed
Resolution: fixed
Status: newclosed
Summary: マイフレンド最新書き込み表示設定マイフレンド最新書き込み表示設定機能

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

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

comment:23 Changed 8 years ago by kiwa

Resolution: fixed
Status: closedreopened

owner変更のためreopenします

comment:24 Changed 8 years ago by kiwa

Owner: changed from nobody to toraneko
Status: reopenednew

comment:25 Changed 8 years ago by kiwa

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.