操作
Bug(バグ) #4513
完了PHP 7.3 環境にてタイムライン投稿時にサーバエラーが発生する
開始日:
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」が要求されているが、下記使用箇所にて設定されていない
$responseData['body_html'] = $this->timeline->convCmd(nl2br(op_api_force_escape($responseData['body'])), false);
$responseData['body_html'] = $this->timeline->convCmd(nl2br($responseData['body']), true);
Way to fix (修正内容)¶
使用箇所にて第3引数を設定する
操作