eformのログについて  【解決済み】

質問全般・改善要望
返信する
tsune
メンバー
メンバー
記事: 11
登録日時: 2011年2月21日(月) 13:16

eformのログについて

投稿記事 by tsune »

eformを使ってお問い合わせフォームのページを作成しましたが、
フォームからお問い合わせがあった場合、その問い合わせ内容を
ログファイルなどに出力しておく機能はあるのでしょうか?

お問い合わせをしたのに、こちらに届いていないなどの場合に
そのログを見て確認、とできるようにしたいのですが。

どなたかご存知でしたらご教授いただきたくお願いいたします。
アバター
kmikage
管理人
記事: 396
登録日時: 2009年9月01日(火) 20:21

Re: eformのログについて

投稿記事 by kmikage »

kmikageです。
本日セミナーを観て頂いた方ですね。ありがとうございます。

eform自身にはそのような機能は無いのですが、普通のスニペットですのでログを出力するコードを付け加えれば問題無いと思います。
今コードを読む時間が無いのですが、おそらく特定の配列か何かにメールに流し込む内容が入っているので、
公開されていない領域に出力するのが一つの方法と思われます。

ちなみにログファイルを.plといった拡張子にしてInternalServerErrorで表示させない、.htaccessでアクセスを弾くといった方法もあります。
同人サークル にくじゃがソフトウェア
http://www.nikujaga.info/

ブログはじめました。
http://kmikage.nikujaga.info/
tsune
メンバー
メンバー
記事: 11
登録日時: 2011年2月21日(月) 13:16

Re: eformのログについて

投稿記事 by tsune »

ご回答ありがとうございます。

「eform.inc.php」にログ出力コードを付け加えるということですよね。
私、phpでプログラムを書いたことがないので、勉強が必要なのですが、

「eform.inc.php」の447行目あたりの

$mail = new MODxMailer();
$mail->IsMail();
$mail->IsHTML($isHtml);
$mail->From = $from;
$mail->FromName = $fromname;
$mail->Subject = $subject;
$mail->Body = $report;

このあたりの値を使ってログ出力するコードを書けばよいのでしょうか?
細かいところまで質問してしまってすみません。

よろしくお願いいたします。
アバター
kmikage
管理人
記事: 396
登録日時: 2009年9月01日(火) 20:21

Re: eformのログについて

投稿記事 by kmikage »

コードを書いてみました。
438行目~が該当の部分になります。

現状決め打ちですが、BaseDirの1つ上のeform_log.txtに書き出すようにしています。
使う場合、該当のファイルを作ってパーミッションを与える(666 or 606)してあげて下さい。

尚、ベースにしているのはMODx 1.0.5J-r1のものになります。
添付ファイル
eform.inc.zip
(12.9 KiB) ダウンロード数: 422 回
同人サークル にくじゃがソフトウェア
http://www.nikujaga.info/

ブログはじめました。
http://kmikage.nikujaga.info/
tsune
メンバー
メンバー
記事: 11
登録日時: 2011年2月21日(月) 13:16

Re: eformのログについて

投稿記事 by tsune »

ありがとうございます!
ソース書いていただいて大変恐縮です。
今週中に確認して、また結果を報告いたします!
tsune
メンバー
メンバー
記事: 11
登録日時: 2011年2月21日(月) 13:16

Re: eformのログについて

投稿記事 by tsune »

確認してみました。

作成していただいたphpファイルを以下に配置しました。
assets/snippets/eform/eform.inc.php

また、ログファイルは
assets/snippets/eform_log.txt
に配置して、パーミッションを666にしました。

お問い合わせページからお問い合わせ送信してみると、
問題なく機能していますが、ログファイルには
何も吐き出されません。

度々申し訳ございませんが、何が問題なのでしょうか??

現在、MODx Evolution 1.0.5を使っています。
近々MODx 1.0.5J-r1にコアアップデートする予定です。
アバター
kmikage
管理人
記事: 396
登録日時: 2009年9月01日(火) 20:21

Re: eformのログについて

投稿記事 by kmikage »

多忙で放置してしまいました。申し訳ないです。

「BaseDirを基点にする」ので、index.phpの1つ上のディレクトリに設定してください。
スニペットやプラグインは、すべてBaseDirのindex.phpが実行している事になっているので、そこを基点に考えると早いです。
同人サークル にくじゃがソフトウェア
http://www.nikujaga.info/

ブログはじめました。
http://kmikage.nikujaga.info/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: eformのログについて

投稿記事 by yama »

http://www.law.gmu.edu/org/assets/snipp ... events.htm
http://wiki.modxcms.com/index.php/Ja:API:logEvent
eformのイベントと本体管理画面のイベントログ機能(両者のイベントという言葉はそれぞれ関係ないです)を併用するとあっさり実装できるかも?
tsune
メンバー
メンバー
記事: 11
登録日時: 2011年2月21日(月) 13:16

Re: eformのログについて  【解決済み】

投稿記事 by tsune »

お返事がだいぶ遅れてしまいましてごめんなさい。
別の案件を担当しておりまして。

>「BaseDirを基点にする」ので、index.phpの1つ上のディレクトリに設定してください。

logファイルを上記の場所に置いたら、ログ出力できました。

プログラムを作成していただきありがとうございました!!
返信する