Information

ZeroMail ver1.2

2010/03/05 Information No comments , ,

AjaxのPOST送信に対応!
MooToolsのForm.ValidatorとかForm.Requestに向けての対応なんだけどjQueryとかでも使えます多分 😀
セッションを使った送信が相変わらずメインなので、Ajax使わないと送信できなくなったというわけではないです。

AjaxでPOST送信されなかった場合は通常のページ遷移による送信を行うため、
フォームタグの属性にactionを入れてあればJavascript無効でもメールフォームの送信ができます。
なのでAjaxでメールフォームを送信する場合と普通にセッションで送る場合とが混在していても、これまで通りコアファイルは1セットあればOK。

Ajaxで送受信を行う場合、デモが置いてある@PAGESのような広告が挿入されるサーバーだと
大抵zeromail.phpからのレスポンスにも広告が挿入されてしまうので、
JavaScript側でそれらを削除する設定が必要になってきます。(scriptだけでも削除しないと最悪フリーズする)
これについては解説ページの方に書きますのでそちらをご覧ください。

ダウンロードは準備中です。来週再開予定。
リポジトリにはうpしてあります。

Ajaxサンプル
通常送信サンプル
 (設置場所は@pages鯖です)

丁度2年前に書いたZeroMailになる前のソース(通しバージョンでいうと0.1)が発掘されたので、これも来週あたりにリポジトリで晒す予定。
実はそれが初の自作PHPスクリプトだったり。

(さらに…)

ZeroMail ver1.1

2010/03/01 Information No comments

暇だったのでファイル添付に対応してみました。
添付可能なファイル数に上限は設けていません。

添付可能なファイル:

  1. 拡張子:gif, png, jpg, pdf, swf, txt, xls, doc, ppt
  2. ファイルタイプ:image/jpeg, image/pjpeg, image/x-png, image/gif, application/pdf, application/octet-stream, application/x-shockwave-flash, text/plain

ファイルタイプの確認はcheck_minetypeという関数で行っているので、
配列の値を削れば添付可能をJPEGのみにしたりもできます。

全体的に追加変更があるので、バージョンアップする場合はファイル添付機能を使う使わないに限らず
すべてのコアファイル(zeromail.php、init.php)の上書きが必要です。

次はAjaxバリデータに対応すると思う。

Zeromail ver0.8

2009/06/02 Information No comments

Zeromailをver0.8にバージョンアップしました。
ver0.6~0.7はGoogleCodeの方でちょっと晒してましたが配布はしてません。
ver0.5からの変更点は次の通りです。

confim.phpが吐くソースが文字コード変換されてなかったので修正
SJISとEUCの場合文字化けしてたっぽい

予約済みname値と同じ文字列がname値に含まれていればチェックを行うように修正
name2やusername、mail2などの値でも予約name値と同じチェックをします。
名前(name)の場合は必須入力の確認するのはnameという値のみです。
メールの自動返信はemailという値に入力されたアドレスに返信を行いますが、
値がなかったり間違ったりして送信できなくてもエラーは出ません。

ローマ字の名前に対応
init.phpでALPHANAMEをtrueにすると半角英数のみの名前でも送信できるようになります。

Message()で表示する文字にspanタグつけた
成功時のクラス名 conf、エラー時のクラス名 err です。

<span class="err">前のページに戻って入力エラーを修正してください。</span>
<span class="conf">入力内容に間違いが無ければ、送信ボタンを押してください。</span>

サンプルのフォームとスタイルシート変更
配布予定のスケルトンテンプレートと同じもの。フォーム入れる要素をテーブルにした。

郵便番号のname値をzipcodeにして正規表現にハイフンなし追加
ver0.5までのpostnumは使えません。ので変更必須。
半角英数7文字か、ハイフン込みで8文字(3文字+ハイフン+4文字)のチェックをします。
郵便番号が存在するかどうかは確認しません。
全角数字は半角に変換します。

電話番号の正規表現変更
こっちの記事と同じやつです。

先頭3桁が「090」「080(0800含む)」「070」以外であり且つ、市外局番は2〜5桁、市内局番は1桁(田舎の方. 北海道では普通)〜4桁(東京とか)、下4桁は固定で、ハイフン含めて合計12桁である場合
携帯の古い090と新しい080およびPHSの070から始まる電話番号の場合は、3-4-4桁フォーマットでハイフン含めて合計13桁の場合
フリーダイヤル「0120」から始まる電話番号の場合は、4-3-3桁および4-2-4桁フォーマットでハイフン含めて合計12桁
フリーダイヤル「0800」から始まる電話番号の場合は、4-3-4桁でハイフン含めて合計13桁

ハイフンなしの場合は先頭の市外局番と文字数をチェックします。
全角数字は半角に変換します。

自動返信のname値にreply追加っていうか変更
Replyも使えますが廃止予定なので変更をお願いします。

checkboxとradioの必須入力チェック追加
requireという名前のhedden要素で次のように必須入力にしたいname値を指定します。

<input type="hidden" name="require" value="name値,name値" />

ファイル添付は対応していません。

[Ajax]prototype、jQuery、mootoolsのプラグイン仕様比較

2009/02/24 Information, Memo No comments , , ,

Ajaxフレームワークのプラグインの仕様比較と作成方法について。
個人的によく使うprototype、jQuery、mootoolsのプラグインテンプレートとサンプルソースをそれぞれ載せてます。

短いソースならベタ書きでも悪くはないけど、使いまわしが効いたり、衝突が起きなかったりと
大掛かりなものになればなるほどメリットはあるので、よく使うなら覚えておいて損はないと思う。
でもプラグインを作ること自体はそう難しくなくても、理解するのが大変なんだよな。
どれか1つ把握してたら応用で他のも作れるようになるはず。ソースは私。

なお、適当に書いたサンプルソースは全て
「IDで指定した要素の文字色をオプションで指定した色に変える」という内容です。
また、あえてメソッドを動作させるようにしています。

ソースの説明書き加えた

mootools (ver1.2)

まず個人的に一番気に入ってるmootoolsから。
mootoolsのプラグインは特に決まった書式などは無く、Classで作成されているものが多いです。
Classという名前の通りPHPやJAVA等のクラスとほぼ同じ仕様なのでとっつきやすいと思われる。
(さらに…)

[mootools] Ajaxでタイピングゲームを作る

2009/01/28 Information, MooTools No comments ,

motoolsでタイピングゲーム。名前はmooTypingだよ!(安直)
ゲームっぽくなってきたのでテスト中画面を晒してみる。

製作中デモ置き場▼
View Demo »

解説ページ▼
View Document »

IE6は未対応(っていうか未確認)です。表示が残念な事になると思う。
時間とTypespeed,Complete,Option,Help、ゲームの終了は未実装。

画面レイアウト、画面デザイン、問題が変更可能。
デフォルトは画像が横ワイドですが、CSS変えれば縦にもできます。

東方projectのZUNさんの「音楽聞いてもらうためにゲームつくった」って話がありますが
それと似たような感じで、見せたい画像使って問題作れるので
何か人に見てもらいたいものがあるなら中々いいツールになるんじゃないかな~~。って妄想。

ゲーム中は画像見れねぇだろ、ってツッコミは無しでw
(さらに…)