[バグ]cfFormMailerでファイルアップロードができない場合の対処

cfFormMailer v1.0以上でユーザーからのファイルアップロード機能を利用する際、
サーバー環境に依ってはSAFE MODE Restriction in effect というメッセージを含んだエラーが発生する場合があります。

これはPHPのセーフモードが有効であることにより、ある特定のフォルダに対し"アップロードされたファイルを新しいファイル名で保存し直す処理"が拒否されてしまうことが原因です。

この症状が発生してしまう方は、お手数ですが以下の対応を応急処置として行うことで回避できますのでお試し下さい。
なお、この問題については今後のバージョンアップで対応する予定です。

1. サーバーの assets/snippets/cfFormMailer/ フォルダ内に tmp というフォルダを作成し、その他のユーザーが書き込みできるパーミッション(707など)にしてください。

2. assets/snippets/cfFormMailer/class.cfFormMailer.inc.php を書き換えます。
class.cfFormMailer.inc.php 161行目(※v1.1の場合)
【書き換え前のコード】
$new_filepath = dirname($_FILES[$field]['tmp_name']) . DIRECTORY_SEPARATOR . urlencode($_FILES[$field]['name']);


【書き換え後のコード】
$new_filepath = $this->modx->config['base_path'] . "assets/snippets/cfFormMailer/tmp/" . urlencode($_FILES[$field]['name']);
3. 書き換えたファイルをアップロードし、サーバー上にあるファイルと差し替えます。

twitterこの記事についてつぶやく

カテゴリ:cfFormMailer | コメント (0) | トラックバック (0)

cfFormMailer v1.1公開

MODx用メールフォームスニペットcfFormMailerの新バージョンv1.1を公開しました。

このバージョンは若干のバグフィックスと修正のみですので、
現在ご利用頂いている方は必要に応じてダウンロードしてください。

【ダウンロード: cfFormMailer v1.1

v1.0からの変更点は以下のとおりです。
------------------------------------------------------------
[FIX] 開始タグと閉じタグの間にテキストの無い偶数個目のタグ(<textarea>タグなど)について値の復元が正しく行われない不具合を修正(thanks to trickstarさん)
[CHANGE] 同梱のサンプルテンプレートの名称を変更(thanks to yamaさん / 公式フォーラムより)
[CHANGE] cfFileViewプラグインを MODx v1.0.3でのプラグインインストール半自動化に対応
------------------------------------------------------------

twitterこの記事についてつぶやく

カテゴリ:cfFormMailer | コメント (2) | トラックバック (0)

MODx Evolution 1.0.3

ちょっと時間が開いてしまっていますが(汗)、今月2日にMODxの新バージョン、MODx Evolution 1.0.3が公開されました。
http://modxcms-jp.com/news/158.html

TinyMCEやManagerManagerなど多くの点で改良が加えられているようです。

近日中に、拙作cfFormMailerの動作確認も兼ねて、いろいろいじってみたいと思います。

twitterこの記事についてつぶやく

カテゴリ:MODx | コメント (0) | トラックバック (0)

[バグ]cfFormMailer配布ファイル差し替え

先日公開いたしました cfFormMailer v1.0 配布ファイルに不具合が発見されたため、ファイルを差し替えました。
公開時から本日3月10日 14時54分までにダウンロードされた方は、再度ダウンロードしていただくか、下記の修正を行って下さい。
【修正内容】
class.cfFormMailer.inc の1167行目、末尾のセミコロン(;)が全角になっていますので、これを半角に変更してください。


ご利用頂いている方々には、本当に 申し訳ございませんでした。
また、ご報告をくださった trickstar 様、本当にありがとうございました。

twitterこの記事についてつぶやく

カテゴリ:cfFormMailer | コメント (8) | トラックバック (0)

modxメールフォームスニペット「cfFormMailer」version1.0公開

2010/3/10 14:54 追記:
配布ファイルに不具合が発見されたため、ファイルを差し替えました。
公開時から本日3月10日 14時54分までにダウンロードされた方は、再度ダウンロードしていただくか、下記の修正を行って下さい。

【修正内容】
class.cfFormMailer.inc の1167行目、末尾のセミコロン(;)が全角になっていますので、これを半角に変更してください。

ご利用頂いている方々には、本当に申し訳ございませんでした。
また、ご報告をくださった trickstar 様、本当にありがとうございました。

modxメールフォームスニペット「cfFormMailer」の最新版 version1.0 を公開しました。

【ダウンロード: cfFormMailer v1.0
マニュアル

これまでのv0系を終了しv1.0になるということで、いろいろと変更点が多くなっています。
特に、これまでのバージョンアップと異なり、スニペットにもファイル構成にも変更が加えられていますので、完全に再インストール→環境設定することをお勧めします。

また、マニュアルも結構加筆修正しました。
わかりにくい箇所があれば、ご指摘いただければと思います。

v0.0.7.2からの変更点は次の通りです。
--------------------------------
[NEW] ファイルを添付しての送信に対応。(環境設定 attach_file, attach_file_name追加)
[NEW] ユーザーからの画像ファイルアップロードと送信に対応
[NEW] 携帯端末宛自動返信メールのテンプレートをPC宛とは独立して設定可能に。(環境設定 tmpl_mail_reply_mobile追加)
[NEW] valid属性の3番目のパラメータを[+errors+]表示時の項目名として利用
[CHANGE] 独自検証メソッド、独自フィルターメソッドの追加方法を変更(※従来の方法もひとまず使用可能ですが、非推奨) 
[CHANGE] 環境設定admin_nameの初期値を、「サイト名」から未定義に変更
[CHANGE] class.cfFormMailerMODx.inc.phpを廃し、メインクラス内に統合
[FIX] メールの件名と送信者名が文字化けする場合がある不具合に対処
[FIX] selectタグ、textareaタグへINVALID_CLASSを付加する際に余分なスラッシュを付加してしまう問題を修正
[FIX] サンプルテンプレートでのID重複を削除

今回のバージョンアップには含めませんでしたが、次は"確認画面の作り方"に手を入れようかと思っています。

twitterこの記事についてつぶやく

カテゴリ:cfFormMailer | コメント (2) | トラックバック (0)

cfFormMailer v1.0鋭意制作中

他のブログでは告知していましたが、実は、cfFormMailerの新バージョンを作成中です。
v0系を卒業し、今回からv1.0となります。
ちなみに、テストも兼ねて、私のサイトのお問い合わせフォームで既に使用を開始しています。


で、そのv1.0の最大の変更点が「ファイル添付送信対応」となります。

自動返信メールに、予め指定したファイルを添付して送信することができます。
なにかと需要がありそうなので、これが最優先の追加機能でした。

それに加え、ユーザーがアップロードしたファイルを、管理者宛メールに添付する機能も追加されます。
<input type="file" />に対応する、という感じですね。
(一般的な企業ホームページでは、あまり見かけないと思いますが。。。)

ただ、これが、いろいろな意味でやっかいなモノで、現時点は画像ファイルにしか対応していません。

画像以外のファイル、例えばPDFなどは需要がありそうなので、対応を考えていますが、
それを含めてv1.0としてリリースするか、あるいは将来のバージョンアップに回すかで
ちょっと悩んでいます。

そもそも、どんな形式のファイルに対応させるか、というのが一番の悩みどころですね。
特定のプロジェクトであれば、それは仕様によって決められていますけど、
cfFormMailerは汎用的なフォームですから、どうしようかな~、と。


悩みどころと言えば、もう一点。
現状では、処理の中心となるクラスファイル(class.cfFormMailer.inc.php)と、modx用に拡張するクラス(class.cfFormMailerMODx.inc.php)に分かれていますが、
実は今となっては分かれている必要は無いので、これらを統合して、1つのファイルにしてもよいと思っています。
でも、分かれていることのデメリットというのも、特に無いような感じですので、
ここで弄ることもないかな、と。


・・・などなど、いろいろ悩みながら、でも少しずつ制作を進めてますので、
近い将来、新バージョンをお披露目できると思います。

twitterこの記事についてつぶやく

カテゴリ:cfFormMailer | コメント (0) | トラックバック (0)

cfFormMailerダウンロード不備について

2月6日から本日2月18日午前10:00くらいまで、私の手違いによりcfFormMailerがダウンロードできない状態となっておりました。
ダウンロードできなかった皆様には、大変申し訳ございませんでした。

現在は修正しておりますので、問題無くダウンロードできるようになっております。
何卒よろしくお願いいたします。

ダウンロード: cfFormMailer v0.0.7.2

twitterこの記事についてつぶやく

カテゴリ:お知らせ | コメント (2) | トラックバック (0)

[modx]タイトルタグをちょっと便利に表示するスニペット

modxでタイトルを指定する場合、通常は
<title>[*pagetitle*] [(site_name)]</title>
のようにテンプレートなどに記述しますが、

  • トップページのように[*pagetitle*]が必要無い場合がある。
  • 階層化されているコンテンツのときは、親コンテンツ名も合わせて表示させたい

というような場合にちょっと不便です。少なくとも、私には不便です。

いろいろ回避や対処方法はあると思いますが、
私は上記対応に特化した、簡単なスニペット(名付けて「viewTitle」!)を使っています。

リニューアルした私のサイトで実際に使っていますが、
すべてのページのタイトルタグは、テンプレートに次のように記述しています。

<title>[!viewTitle?hideId=`1`&addParent=`1`!]</title>

これで、トップページはサイト名([(site_name)])だけを表示し、2階層以上あるページでは、ページ名の他に親となっているページのタイトルも表示されるようになっています。

汎用的で実用的かと言われると、ちょっとアレですがw

気が向いたら使ってみてください。

下のコードをコピーし、"viewTitle"という新規スニペットを作成して、「スニペットコード」内にペーストしてください。
呼び出しパラメーターは
hideId ・・・ ページ名([*pagetitle*])を隠すドキュメントID。デフォルトは「1」。コンマ区切りで複数指定可。
addParent ・・・ 親ページ名を表示するフラグで0または1を指定。デフォルトは「1」(表示する)。
separator ・・・ ページ名、親ページ名、サイト名の区切りに使う文字列。デフォルトは「 | 」。
<?php
/* viewTitle
  @PARAMETER
    hideId:    ページタイトルを表示させないドキュメントID(コンマ区切り) (デフォルト: 1)
    addParent: 親のページタイトルを表示するか[0:しない / 1(デフォルト):する]
    separator: ページタイトルとサイト名の区切り (デフォルト:  | )
*/

$addParent = isset($addParent) ? $addParent : 1;
$hideId = (isset($hideId) && !$hideId) ? $hideId : '1';
$separator = isset($separator) ? $separator : ' | ';

$ids = explode(',', $hideId);
if (in_array($modx->documentObject['id'], $ids)) {
  return $modx->config['site_name'];
} else {
  $parent = '';
  if ($addParent && $modx->documentObject['parent']) {
    $parent = $modx->getParent($modx->documentObject['id'], 1, 'pagetitle');
  }
  return $modx->documentObject['pagetitle'] . $separator . (is_array($parent) && isset($parent['pagetitle']) ? $parent['pagetitle'] . $separator : "") . $modx->config['site_name'];
}
?>

twitterこの記事についてつぶやく

カテゴリ:MODx | コメント (0) | トラックバック (0)

お知らせ

最近スパムコメントがひどいので、一時的にコメントとトラックバックの受付を休止します。
何卒ご理解いただきますようよろしくお願い申し上げます。

2010/02/12追記:
MT5に変更したこともあり、ひとまず受付を再開しました。

twitterこの記事についてつぶやく

カテゴリ:お知らせ | コメント (0) | トラックバック (0)

cfFormMailer v0.0.7.2リリース

10/03/06追記: 新バージョン v1.0 が公開されています。

2年近くも放置してまいりましたが(汗)、やはり不具合には対応しなければ!ということで
cfFormMailer の既知のバグに対応しました。
情報をいただきました kz様、kazuike様、dainiti様、ありがとうございました。

【ダウンロード: cfFormMailer v0.0.7.2

v0.0.7.1からの変更点は以下の通りです。
[FIX] 独自検証メソッド、フィルターメソッド追加に関する不具合を修正
[FIX] フォームの各属性の値が大文字で記述されていた場合に、エラー画面で入力値が反映しない不具合を修正
[FIX] 空のvalue属性があった場合にタグが崩れる不具合を修正
[FIX] 入力画面サンプルチャンクの<form>タグにaction属性を追加

twitterこの記事についてつぶやく

カテゴリ:cfFormMailer | コメント (2) | トラックバック (0)

カテゴリー

OpenID対応しています OpenIDについて
Powered by Movable Type 5.01