操作
Backport(バックポート) #3215
完了管理画面「Web 全体への年齢公開許可設定」および「メンバーのプロフィールページ公開範囲設定」のデフォルト値を変更しても設定に反映されない
開始日:
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) {
操作