#1113 の変更によってコンフリクトが発生する部分について¶
9f3f558e9c6075454cbcc095f110bf7eaf9c5e73 の変更によってgetMobileUID()に引数を付与することができるようになった.
また 89da5b0c6632cfac9c668df9da331aca3a037332 の変更によってgetMobileUID()を用いる部分で必要な箇所について適宜引数が与えれるように変更された.
3.4 では 89da5b0c6632cfac9c668df9da331aca3a037332 の対応部分においてコンフリクトが発生する.具体的には以下の部分である.
apps/mobile_frontend/modules/member/actions/actions.class.php
3.4
106 if ($request->hasParameter('update'))
107 {
108 if (!$request->getMobileUID())
109 {
110 $this->getUser()->setFlash('error', 'Your mobile UID was not registered.');
111 $this->redirect('member/configUID');
112 }
113
114 $memberConfig = Doctrine::getTable('MemberConfig')->retrieveByNameAndMemberId('mobile_uid', $this->getUser()->getMemberId());
115 if (!$memberConfig)
116 {
117 $memberConfig = new MemberConfig();
118 $memberConfig->setMember($this->getUser()->getMember());
119 $memberConfig->setName('mobile_uid');
120 }
121 $memberConfig->setValue($request->getMobileUID());
122 $memberConfig->save();
123 $this->getUser()->setFlash('notice', 'Your mobile UID was set successfully.');
124 $this->redirect('member/configUID');
125 }
126 elseif ($request->hasParameter('delete') && $this->isDeletableUid)
127 {
128 $mobileUid->delete();
129 $this->getUser()->setFlash('notice', 'Your mobile UID was deleted successfully.');
130 $this->redirect('member/configUID');
131 }
3.7
82 if ($request->hasParameter('update'))
83 {
84 $cookieUid = sfContext::getInstance()->getResponse()->generateMobileUidCookie();
85
86 if (!$request->getMobileUID(false) && !$cookieUid)
87 {
88 $this->getUser()->setFlash('error', 'Your mobile UID was not registered.');
89 $this->redirect('member/configUID');
90 }
91
92 $member = $this->getUser()->getMember();
93 $member->setConfig('mobile_uid', $request->getMobileUID(false));
94 if ($cookieUid)
95 {
96 $member->setConfig('mobile_cookie_uid', $cookieUid);
97 }
98
99 $this->getUser()->setFlash('notice', 'Your mobile UID was set successfully.');
100 $this->redirect('member/configUID');
101 }
102 elseif ($request->hasParameter('delete') && $this->isDeletableUid)
103 {
104 $mobileUid->delete();
105 sfContext::getInstance()->getResponse()->deleteMobileUidCookie();
106 $this->getUser()->setFlash('notice', 'Your mobile UID was deleted successfully.');
107 $this->redirect('member/configUID');
108 }
109 }
#1113 は 3.4 では対応されていないため 3.4 の121行目と 3.7 の93行目について比較を行い, 3.4 の121行目のgetMobileUID()の引数にfalseが必要であるかどうかを検討したところ 内容的には 3.4 の内容とほぼ一致したことを確認したため必要であると判断した.
比較用コード断片¶
3.7 lib/model/doctrine/Member.class.php
97 public function setConfig($configName, $value, $isDateTime = false)
98 {
99 Doctrine::getTable('MemberConfig')->setValue($this->getId(), $configName, $value, $isDateTime);
100 }
3.7 lib/model/doctrine/MemberConfigTable.class.php
93 public function setValue($memberId, $name, $value, $isDateTime = false)
94 {
95 $config = $this->retrieveByNameAndMemberId($name, $memberId);
96 if (!$config)
97 {
98 $config = new memberConfig();
99 $config->setMemberId($memberId);
100 $config->setName($name);
101 }
102 if ($isDateTime)
103 {
104 $config->setValueDatetime($value);
105 }
106 $config->setValue($value);
107 $config->save();
108 $this->results[$memberId][$name] = $config;
109 }