Project

General

Profile

Backport(バックポート) #3725

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

Added by isao sano almost 5 years ago. Updated over 4 years ago.

Status:
New(新規)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2014-04-08
Due date:
% Done:

0%


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

Related issues

Copied from OpenPNE 3 - Bug(バグ) #3587: opMemberProfileSearchForm に 未定義の変数が使用されている New(新規) 2014-04-08

History

#1 Updated by isao sano almost 5 years ago

  • Copied from Bug(バグ) #3587: opMemberProfileSearchForm に 未定義の変数が使用されている added

#2 Updated by isao sano almost 5 years ago

  • Assignee set to isao sano

#3 Updated by isao sano over 4 years ago

  • Target version changed from OpenPNE 3.6.17 to OpenPNE 3.6.x

Also available in: Atom PDF