Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 11:14

Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

お世話様です。助けて戴きたいのですが、

環境は、XSERVER
concrete5 バージョン 8.4.4
MySQL 5.7 
php 7.2.17 です。

サイトマップ > 訪問 >このページを編集で、

予期せぬエラーが発生しました。
Namespace declaration statement has to be the very first statement or after any declare call in the script

 ログは、
レベル:緊急
チャンネル:例外

メッセージ:Exception Occurred: /path/to/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php:4 Namespace declaration statement has to be the very first statement or after any declare call in the script (64)
これが続けて2回でます。

キャッシュをクリアしても、繰り返します。(複数のページの編集も同じ状態です。ので、編集ができない状態です)

controller.phpの64Step付近のコードは、以下の様になっています。

53 public function getJavaScriptStrings()
54  {
55  return [
56  'delete-question' => t('Are you sure you want to delete this question?'),
57  'form-name' => t('Your form must have a name.'),
58  'complete-required' => t('Please complete all required fields.'),
59  'ajax-error' => t('AJAX Error.'),
60  'form-min-1' => t('Please add at least one question to your form.'),
61  ];
62  }
63
64  protected function importAdditionalData($b, $blockNode)
65  {
66  if (isset($blockNode->data)) {
67  foreach ($blockNode->data as $data) {
68  if ($data['table'] != $this->getBlockTypeDatabaseTable()) {
69  $table = (string) $data['table'];
70  if (isset($data->record)) {
71  foreach ($data->record as $record) {
72  $aar = new \Concrete\Core\Legacy\BlockRecord($table);
73  $aar->bID = $b->getBlockID();
74  foreach ($record->children() as $node) {
75  $nodeName = $node->getName();
76  $aar->{$nodeName} = (string) $node;
77  }
78  if ($table == 'btFormQuestions') {
79  $db = Database::connection();
80  $aar->questionSetId = $db->GetOne('select questionSetId from btForm where bID = ?', [$b->getBlockID()]);
81  }
82  $aar->Replace();
83  }
84  }
85  }
86  }
87  }
88  }
89 



先日来質問させていただいている、「controller.phpでの緊急・例外エラー発生について」もcontroller.phpのエラーの様です。

バージョン8.4.4の問題でしょうか?

バージョンアップして、8.5.1にすべきでしょうか?

添付:error20190926.pdf

よろしくお願いいたします。

タグ:

Re: Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 11:22
こちらのファイルの4行目付近でエラーが出ていますので、1行目から10行目くらいまでを確認して返信に貼り付けてください。
updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/controller.php
 

Re: Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 11:32
菱川さん
早速のお返事ありがとうございます。

コードを貼り付けます。/a-itc.info/public_html/updates/concrete5-8.4.4_remote_updater/concrete/blocks/form/


<?php
namespace Concrete\Block\Form;

use Concrete\Core\Block\BlockController;
use Concrete\Core\Entity\File\Version;
use Config;
use Core;
use Database;
use Events;
use Exception;
use File;
use FileImporter;
use FileSet;
use Page;
use User;
use UserInfo;
use Concrete\Core\Validator\String\EmailValidator;

class Controller extends BlockController
{
public $btTable = 'btForm';
public $btQuestionsTablename = 'btFormQuestions';
public $btAnswerSetTablename = 'btFormAnswerSet';
public $btAnswersTablename = 'btFormAnswers';
public $btInterfaceWidth = '420';
public $btInterfaceHeight = '430';
public $thankyouMsg = '';
public $submitText = '';
public $noSubmitFormRedirect = 0;
protected $btCacheBlockRecord = false;
protected $btExportTables = ['btForm', 'btFormQuestions'];
protected $btExportPageColumns = ['redirectCID'];
protected $lastAnswerSetId = 0;
protected $btCopyWhenPropagate = true;

/**
* Used for localization. If we want to localize the name/description we have to include this.
*
* @return string
*/

1つ気になるところですが、XSERVERで開くと保存文字コード: Shift_JISになっていました。UTF-8を指定していますし、以前は(記憶が定かではないですが)UTF-8だったと思います。

よろしくお願いいたします。
 

Re: Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 11:40
怪しいところはないので、文字コードの問題かもしれませんね。UTF8にしてみてください
 

Re: Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 12:05
菱川さん
お世話様です。

UTF-8にして「保存」ボタンで、記事編集が出来ました。

「なんなんでしょうかね?」

ついででもうしわけないのですが、


ひとつ、お聞きしたいのです。


これを機に、バージョンアップしたいのですが、8.4.4から、以前の様に手軽にできません。


8.3.2から利用しているのですが、8.4.3までは、

concrete5をアップデートでアップデートをチェックすると、新しいバージョンが表示されたのですが、

現在は、「インストール可能な更新はありません。」となります。

方法が変わったのでしょうか?
 

Re: Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 14:11
確かに、なぜか、出ませんね。Slackで質問しています。
http://concrete5.slack.com/archives/C2N3FLUBW/p1569474414201500
 

Re: Help:サイトマップから訪問して記事を編集でエラーとなります(複数のページの編集も同じ状態です。ので、編集ができない状態です)

2019年9月26日 at 14:13
よろしくお願いいたします。