Actions
Backport(バックポート) #3725
openopMemberProfileSearchForm に 未定義の変数が使用されている
Start date:
2014-04-08
Due date:
% Done:
0%
Estimated time:
Description
Overview (現象)¶
opMemberProfileSearchFormのconfigure()をカスタマイズし、
nameのValidatorをopValidatorSearchQueryStringから、sfValidatorPassなどValidator::doClean()の戻り値が配列ではないものを指定する。
(44行目)
$validators += array('name' => new opValidatorSearchQueryString(array('required' => false)));
↓
$validators += array('name' => new sfValidatorPass());
上記カスタマイズを施したformを利用して検索を行うとnameでの絞り込み検索が機能しなくなる。
また、以下の様なNoticeエラーが出る。
PHP Notice: Undefined variable: values in /XXX/lib/form/searchForm/opMemberProfileSearchForm.class.php on line 104
Causes (原因)¶
opMemberProfileSearchForm::addNameColumnQuery()において、未定義の $values が利用されているため。
protected function addNameColumnQuery(Doctrine_Query $query, $value) { if (!empty($value)) { if (is_array($value)) { foreach ($value as $v) { $query->andWhereLike('name', $v); } } else { if (!empty($value)) { $query->andWhereLike('name', $values); // ← 未定義 } } } }
h3. Way to fix (修正内容)
$values を正しい変数 $value に変更する
protected function addNameColumnQuery(Doctrine_Query $query, $value) { if (!empty($value)) { if (is_array($value)) { foreach ($value as $v) { $query->andWhereLike('name', $v); } } else { if (!empty($value)) { $query->andWhereLike('name', $value); // ← $value に修正 } } } }
Updated by isao sano about 10 years ago
- Copied from Bug(バグ) #3587: opMemberProfileSearchForm に 未定義の変数が使用されている added
Updated by isao sano about 10 years ago
- Target version changed from OpenPNE 3.6.17 to OpenPNE 3.6.x
Actions