プロジェクト

全般

プロフィール

Bug(バグ) #3130

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

Yuya Watanabeほぼ12年前に追加. 約7年前に更新.

ステータス:
Won't fix(対応せず)
優先度:
Low(低め)
担当者:
対象バージョン:
開始日:
2012-07-24
期日:
進捗率:

0%

3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Yes (はい)

説明

概要

管理画面「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 - Backport(バックポート) #3215: 管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない Fixed(完了) 2012-07-24
関連している OpenPNE 3 - Backport(バックポート) #3216: 管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない Fixed(完了) 2012-07-24
関連している OpenPNE 3 - Bug(バグ) #3453: 管理画面で「Web 全体への年齢公開許可設定」を「メンバーの設定を許可しない」に設定しても新規登録時には選択できてしまう Won't fix(対応せず) 2013-10-17

関係しているリビジョン

リビジョン ec72986b (差分)
Yuya Watanabe11年以上前に追加

(fixes #3130) fixed to use config file setting for is_allow_web_public_flag_age

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

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

履歴

#1 Kousuke Ebihara11年以上前に更新

  • 3.8 で発生するかYes (はい) にセット

#2 Yuya Watanabe11年以上前に更新

  • 対象バージョンOpenPNE 3.9.0-old にセット

#3 Yuya Watanabe11年以上前に更新

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

#4 Yuya Watanabe11年以上前に更新

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

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

#5 Yuma Sakata11年以上前に更新

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

#6 Rimpei Ogawa約11年前に更新

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

MemberConfigPublicFlagForm にも同様の問題があります。 /member/config?category=publicFlag のフォームに反映されていません。

#7 Yuya Watanabe約11年前に更新

追加

lib/model/doctrine/MemberTable.class.php
119:    if (Doctrine::getTable('SnsConfig')->get('is_allow_config_public_flag_profile_page'))
121:      $config = Doctrine::getTable('SnsConfig')->get('is_allow_config_public_flag_profile_page');
lib/config/config/sns_config.yml
153:  is_allow_config_public_flag_profile_page:
154:    Name:       "is_allow_config_public_flag_profile_page" 

#8 Yuya Watanabe約11年前に更新

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

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

#9 Rimpei Ogawa約11年前に更新

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

#10 Yuya Watanabe約11年前に更新

  • 説明 を更新 (diff)

#11 Yuya Watanabe約11年前に更新

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

#12 Akihiro KOBAYASHI9年以上前に更新

  • 関連している Bug(バグ) #3453: 管理画面で「Web 全体への年齢公開許可設定」を「メンバーの設定を許可しない」に設定しても新規登録時には選択できてしまう を追加

#14 isao sano約7年前に更新

  • ステータスPending Testing(テスト待ち) から Won't fix(対応せず) に変更
  • 進捗率70 から 0 に変更

OpenPNE 3.8.6 にて対応済みであったため、対応せずとします。

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