プロジェクト

全般

プロフィール

Backport(バックポート) #3215

管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない

Yuya Watanabe11年以上前に追加. ほぼ11年前に更新.

ステータス:
Fixed(完了)
優先度:
Low(低め)
担当者:
対象バージョン:
開始日:
2012-07-24
期日:
進捗率:

100%


説明

概要

管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない.

具体的には下記ファイルの 173 行目および 160 行目 を変更しても pc_frontend 側で設定が反映されていない.

lib/config/config/sns_config.yml
166   is_allow_web_public_flag_age:
167     Name:       "is_allow_web_public_flag_age" 
168     Caption:    "Web 全体への年齢公開許可設定" 
169     Help:       "メンバーが年齢を Web 全体に公開できるようにするかどうかを設定します" 
170     FormType:   "radio" 
171     ValueType:  "text" 
172     IsRequired: true
173     Default:    0
174     Choices:
175       0: "メンバーの設定を許可しない" 
176       1: "メンバーの設定を許可する" 
lib/config/config/sns_config.yml
153   is_allow_config_public_flag_profile_page:
154     Name:       "is_allow_config_public_flag_profile_page" 
155     Caption:    "メンバーのプロフィールページ公開範囲設定" 
156     Help:       "メンバーがプロフィールページの公開範囲を変更できるようにするどうかを設定します" 
157     FormType:   "radio" 
158     ValueType:  "text" 
159     IsRequired: true
160     Default:    1
161     Choices:
162       0: "メンバーの設定を許可する" 
163       1: "メンバーの設定を許可しない(全員に公開)" 
164       4: "メンバーの設定を許可しない(Web全体に公開)" 

確認バージョン

OpenPNE 3.8.0
OpenPNE 3.6.4

原因

年齢を得るメソッドで設定ファイルが考慮されていない.

lib/model/doctrine/Member.class.php

 56   public function getAge($viewableCheck = false, $myMemberId = null)
 57   {
...
 82     if (ProfileTable::PUBLIC_FLAG_WEB == $publicFlag && Doctrine::getTable('SnsConfig')->get('is_allow_web_public_flag_age'))
 83     {
 84       return $age;
 85     }

修正案

デフォルト値を考慮した実装に変更する.

diff --git a/lib/model/doctrine/Member.class.php b/lib/model/doctrine/Member.class.php
index 5dd0d1a..b1a7d5f 100644
--- a/lib/model/doctrine/Member.class.php
+++ b/lib/model/doctrine/Member.class.php
@@ -79,7 +79,7 @@ class Member extends BaseMember implements opAccessControlRecordInterface
       return $age;
     }

-    if (ProfileTable::PUBLIC_FLAG_WEB == $publicFlag && Doctrine::getTable('SnsConfig')->get('is_allow_web_public_flag_age'))
+    if (ProfileTable::PUBLIC_FLAG_WEB == $publicFlag && opConfig::get('is_allow_web_public_flag_age'))
     {
       return $age;
     }
diff --git a/lib/form/MemberConfigForm/MemberConfigPublicFlagForm.class.php b/lib/form/MemberConfigForm/MemberConfigPublicFlagForm.class.php
index 69fd9d9..9047bae 100644
--- a/lib/form/MemberConfigForm/MemberConfigPublicFlagForm.class.php
+++ b/lib/form/MemberConfigForm/MemberConfigPublicFlagForm.class.php
@@ -23,12 +23,12 @@ class MemberConfigPublicFlagForm extends MemberConfigForm
   {
     parent::__construct($member, $options, $CSRFSecret);

-    if (Doctrine::getTable('SnsConfig')->get('is_allow_config_public_flag_profile_page'))
+    if (opConfig::get('is_allow_config_public_flag_profile_page'))
     {
       unset($this['profile_page_public_flag']);
     }

-    if (!Doctrine::getTable('SnsConfig')->get('is_allow_web_public_flag_age'))
+    if (!opConfig::get('is_allow_web_public_flag_age'))
     {
       $widget = $this->widgetSchema['age_public_flag'];

diff --git a/lib/model/doctrine/MemberTable.class.php b/lib/model/doctrine/MemberTable.class.php
index 8ad8a28..0c995a9 100644
--- a/lib/model/doctrine/MemberTable.class.php
+++ b/lib/model/doctrine/MemberTable.class.php
@@ -116,9 +116,9 @@ class MemberTable extends opAccessControlDoctrineTable
       ->allow('self', $resource, 'edit')
       ->deny('blocked');

-    if (Doctrine::getTable('SnsConfig')->get('is_allow_config_public_flag_profile_page'))
+    if (opConfig::get('is_allow_config_public_flag_profile_page'))
     {
-      $config = Doctrine::getTable('SnsConfig')->get('is_allow_config_public_flag_profile_page');
+      $config = opConfig::get('is_allow_config_public_flag_profile_page');
     }
     elseif ($resource)
     {


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #3130: 管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない Won't fix(対応せず) 2012-07-24

関係しているリビジョン

リビジョン 597bf77c (差分)
Yuya Watanabe約11年前に追加

(fixes #3215, BP from #3130) fixed to use config file setting for is_allow_web_public_flag_age

リビジョン e32f43b2 (差分)
Yuya Watanabe約11年前に追加

fixed to use config file setting for sns_config.yml setings (fixes #3215, BP from #3130)

履歴

#1 Yuma Sakata11年以上前に更新

  • 優先度Normal(通常) から Low(低め) に変更

#2 Chiharu Nakajima約11年前に更新

  • 対象バージョンOpenPNE 3.8.x から OpenPNE 3.8.6 に変更

#3 Yuya Watanabe約11年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Yuya Watanabe にセット

#4 Yuya Watanabe約11年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 597bf77c95e2c76d5fdcce4d3b91d53a7be7354c で適用されました。

#5 Rimpei Ogawa約11年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

親チケットを差し戻しました。
https://redmine.openpne.jp/issues/3130#note-6

#6 Yuya Watanabe約11年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

更新履歴 e32f43b25f2badc7e67c1d6d5bdd46c41f80de61 で適用されました。

#7 Rimpei Ogawa約11年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#8 Yuya Watanabe約11年前に更新

  • 説明 を更新 (diff)

#9 Yuya Watanabe約11年前に更新

  • 題名管理画面「Web 全体への年齢公開許可設定」のデフォルト値を変更しても設定に反映されない から 管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない に変更

#10 Chiharu Nakajimaほぼ11年前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

動作確認しました。
問題ありません。

他の形式にエクスポート: Atom PDF