User25770

FileMakerPHPのgetValueListの不具合

Discussion created by User25770 on Jun 16, 2016
Latest reply on Jun 17, 2016 by User25770

FileMakerServer14のFileMakerPHPを使用しています。

getValueListで値一覧を取得した時に、{半角英数字+全角日本語}の順で設定した値の時だけ、半角英数字の部分だけ繰り返されて表示されます。

 

例)

○FileMakerで登録している値一覧

  • Japan日本語
  • 日本語
  • 英語English
  • --Asia--

WEBで表示されるとき

  • JapanJapan日本語
  • 日本語
  • 英語English
  • --Asia--

と「Japan日本語」が「JapanJapan日本語」2回繰り返されてしまう。

 

 

下記の場所を($this->associative_array_push・・・)の行をコメントアウトすると、その現象はおさまるのですが、この修正方法で大丈夫でしょうか。

\FileMaker\Implementation\Parser\FMPXMLLAYOUT.php

 

function _cdata($V3643b863, $V8d777f38)

{

if ($this->V32e51cce!== null && preg_match('|\S|', $V8d777f38)) {

 

if($this->inside_data){

$V78656626 = $this->V6a45a325[$this->V32e51cce][$this->V582ddd29];

$V8d777f38 = $V78656626 . $V8d777f38;

}

$V83ee0926 = array( $this->V582ddd29=> $this->_fm->toOutputCharset($V8d777f38));

 //$this->associative_array_push($this->V6a45a325[$this->V32e51cce], $V83ee0926);

$this->Ve3ad9440[$this->V32e51cce][count($this->Ve3ad9440[$this->V32e51cce]) - 1] .= $this->_fm->toOutputCharset($V8d777f38);

$this->inside_data = true;

}

}

 

.fp7時代の\FileMaker\Implementation\Parser\FMPXMLLAYOUT.phpの中では上記の処理はなく下記のようにシンプルでした。

function _cdata($V3643b863, $V8d777f38)

{

if ($this->V32e51cce!== null && preg_match('|\S|', $V8d777f38)) {

$this->Ve3ad9440[$this->V32e51cce][count($this->Ve3ad9440[$this->V32e51cce]) - 1] .= $this->_fm->toOutputCharset($V8d777f38);

}

Outcomes