Project

General

Profile

Actions

Backport(バックポート) #3725

open

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

Added by isao sano about 10 years ago. Updated about 10 years ago.

Status:
New(新規)
Priority:
Normal(通常)
Assignee:
Target version:
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 に修正
        }
      }
    }
  }

Related issues 1 (1 open0 closed)

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

Actions
Actions #1

Updated by isao sano about 10 years ago

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

Updated by isao sano about 10 years ago

  • Assignee set to isao sano
Actions #3

Updated by isao sano about 10 years ago

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

Also available in: Atom PDF