フォームの不具合

2014年11月9日 at 10:59

いつもお世話になっています。
昨日の勉強会で、フォームブロックを配置し、ファイル添付をすると
Class 'Concrete\Block\Form\FileImporter' not found
というエラーが出ました。
また、勉強会に参加した私の友人のところでも同じエラーが出ているようです。

私のところはエラーは出ないのですが、レポートに質問の内容全てが反映されていません。
名前:テキスト1行
メールアドレス:メールアドレス
添付:ファイル添付
として作成しましたが、この内容全てがレポートに表示されていません。
※ファイルマネージャではゲストに書き込み権限を与えました。

また、別の参加者の方が調べてくれて

/concrete/config/app.php
このフィアルで、aliasesという配列に
"'FileImporter' => '\Concrete\Core\File\Importer'"

concrete/bootstrap/start.php
の105行目で
$list->registerMultiple($config->get('app.aliases'));
として、設定されているaliases情報を読み込んでいます。

ただし、少なくとも、私の環境には、”\Concrete\Core\”ディレクトリがインストールされていませんでした。
その為、同様にCoreディレクトリ配下を参照(?)するように宣言されている部分は、一律エラーになるような気がします。


とおっしゃっています。

私のところのサーバ環境は
# Server Software
Apache/2.2.15 (CentOS)

# Server API
apache2handler

# PHP Version
5.4.27

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, json, libxml, mbstring, mcrypt, mhash, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, recode, Reflection, session, shmop, SimpleXML, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, zip, zlib.

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 10
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 30M
sql.safe_mode - Off
upload_max_filesize - 30M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 1440
です。

よろしくお願いします。

タグ: form

Re: フォームの不具合

2014年11月9日 at 11:06
上記の”別の参加者”です。

私の環境(ローカルMac)は、以下の通りです。

# concrete5 Version
5.7.1

# concrete5 Packages
None

# concrete5 Overrides
languages/da_DK, languages/de_DE, languages/el_GR, languages/fi_FI, languages/fr_FR, languages/it_IT, languages/ja_JP, languages/nl_NL, languages/ru_RU, languages/sl_SI, languages/sv_SE, languages/tr_TR

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2.4.10 (Unix) OpenSSL/1.0.1i PHP/5.4.31 mod_perl/2.0.8-dev Perl/v5.16.3

# Server API
apache2handler

# PHP Version
5.4.31

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, json, ldap, libxml, mbstring, mcrypt, mhash, mssql, mysql, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, Phar, posix, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sybase_ct, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, zip, zlib.

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 128M
sql.safe_mode - Off
upload_max_filesize - 128M
ldap.max_links - Unlimited
mssql.max_links - Unlimited
mssql.max_persistent - Unlimited
mssql.max_procs - Unlimited
mssql.textlimit - Server default
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 1440
soap.wsdl_cache_limit - 5
sybct.max_links - Unlimited
sybct.max_persistent - Unlimited


以上、宜しくお願いします。
 

Re: フォームの不具合

2014年11月9日 at 19:46
遠藤です。
今度は、version5.7.2でソースを追っています。

実際にエラーが発生しているのは、
/concrete/blocks/Form/Controller.php
の320行目です。
この、phpプログラム(コントローラー)の最初で、
namespace Concrete\Block\Form;
と、namespaceの宣言をした上で、320行目で、
$fi = new FileImporter();
としている為、
use宣言が足りてませんね?
3行目から8行目位にuse宣言があるので、
ここに、
use FileImporter;
を追加してあげると、
Class 'Concrete\Block\Form\FileImporter' not found
のエラーは出なく成りますね。

ただ、自分の場合、それでも、

以下のエラーを修正してください。
無効なファイル拡張子です。

といった、次のエラーが発生します。
 

Re: フォームの不具合

2014年11月20日 at 22:46
修正されました
http://github.com/concrete5/concrete5-5.7.0/commit/3c84a9fe08084c14c7f0210864f52140ebd3bc5d
 

Re: フォームの不具合

2014年11月21日 at 2:19
いつもお世話になります。
5.7.2.1で該当部分を修正したところ、エラーは無く、レポートでもファイルが見れるようになりました。
ありがとうございました。
 

Re: フォームの不具合

2014年11月21日 at 8:02
hissyさん

自分の方でも、
・フォームの登録時のエラー
・レポート表示時のエラー
どちらも、修正された事を確認致しました。

有り難う御座います!
 

Re: フォームの不具合

2014年11月16日 at 19:01
5.7.2.1でテストしてみました。
無事にレポートにデータも入るようになったのですが、ファイル添付を利用すると
Concrete\Block\Form\FileImporter' not found

というエラーが出ます。

ちょっと調べる時間がないので、現象だけお伝えします。