プロジェクト

全般

プロフィール

Bug(バグ) #4513

完了

PHP 7.3 環境にてタイムライン投稿時にサーバエラーが発生する

kaoru n さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2021-07-08
期日:
進捗率:

100%

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

説明

Overview (現象)

PHP 7.3.4-2 (cli) 環境にてタイムライン投稿時に下記のエラーが発生する

PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function opTimeline::convCmd(), 2 passed in {snip}/plugins/opTimelinePlugin/apps/api/modules/activity/actions/actions.class.php on line 129 and exactly 3 expected in {snip}/plugins/opTimelinePlugin/lib/model/opTimeline.class.php:188
Stack trace:
#0 {snip}/plugins/opTimelinePlugin/apps/api/modules/activity/actions/actions.class.php(129): opTimeline->convCmd('', false)
#1 {snip}/cache/www-data/api/prod/config/config_core_compile.yml.php(484): activityActions->executePost(Object(opWebRequest))
#2 {snip}/lib/action/opJsonApiActions.class.php(39): sfActions->execute(Object(opWebRequest))
#3 {snip}/cache/www-data/api/prod/config/config_core_compile.yml.php(971): opJsonApiActions->execute(Object(opWebRequest))
#4 {snip}/cache/www-data/api/prod/config/config_cor in {snip}/plugins/opTimelinePlugin/lib/model/opTimeline.class.php on line 188

Causes (原因)

https://github.com/tejimaya/opTimelinePlugin/blob/master/lib/model/opTimeline.class.php#L188

  public function convCmd($_body, $_isMini, $_isSmartPhone)

にて第3引数に「$_isSmartPhone」が要求されているが、下記使用箇所にて設定されていない

https://github.com/tejimaya/opTimelinePlugin/blob/master/apps/api/modules/activity/actions/actions.class.php#L129

      $responseData['body_html'] = $this->timeline->convCmd(nl2br(op_api_force_escape($responseData['body'])), false);

https://github.com/tejimaya/opTimelinePlugin/blob/master/apps/api/modules/activity/actions/actions.class.php#L133

      $responseData['body_html'] = $this->timeline->convCmd(nl2br($responseData['body']), true);

Way to fix (修正内容)

使用箇所にて第3引数を設定する

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