プロジェクト

全般

プロフィール

Bug(バグ) #3587

未完了

opMemberProfileSearchForm に 未定義の変数が使用されている

Maki Takahashi さんが10年以上前に追加. ほぼ5年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2014-04-08
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

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 に修正
        }
      }
    }
  }

関連するチケット 2 (2件未完了0件完了)

コピー先 OpenPNE 3 - Backport(バックポート) #3725: opMemberProfileSearchForm に 未定義の変数が使用されているNew(新規)isao sano2014-04-08

操作
コピー先 OpenPNE 3 - Backport(バックポート) #3726: opMemberProfileSearchForm に 未定義の変数が使用されているNew(新規)isao sano2014-04-08

操作

isao sano さんが約10年前に更新

isao sano さんが約10年前に更新

kaoru n さんがほぼ5年前に更新

  • 対象バージョンOpenPNE 3.10.x にセット

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