WebTecNote

ZeroMail ver1.4.5

バグフィックスとver1.4で入れた機能に関する修正、あとコメントとかで頂いたリクエストの実装を行いました。
リポジトリで晒していたソースは1.4から段階的にバージョンアップしてたんですが、
ZIPで配布するのはこれが始めてになるので結構変更点があります。

なお、このバージョンから設置解説とバージョンヒストリーがCHANGELOG.txtというファイルに移ります。
init.phpがより修正しやすくなったと思います 😀

新機能

管理者宛メール件名と自動返信用ヘッダー・フッターのタグ置換

init.phpの「inputのnameとその名称設定」で設定してあるnameキーを中括弧で括って埋め込むと、
その部分をユーザーが入力した値に置換してメールを送信します。

例1(管理者宛件名):
{name}さんから問い合わせがありました。 → ああああさんから問い合わせがありました。

例2(自動返信ヘッダ):
{name}様、お問い合わせありがとうございます → ああああ様、お問い合わせありがとうございます

入力内容のマッチング

非表示フィールドでmatchを利用すると、フォームに入力された内容が他のフィールドの内容と一致するか確認します。

<input type="hidden" name="match" value="email+email2,hoge1+hoge2" />

確認したい入力フォームのnameを+で繋ぐと、後ろに記入されたものが前のものと一致するか調べます。
複数項目がある場合はカンマで分けてください。
確認する項目(後ろ)のnameをinit.phpの「inputのnameとその名称設定」に追加する必要はありません。

(Admin)複数のフォームを管理する

ログイン時にフォームのIDを入力することで管理するフォームを切り替えることが出来ます。

IDを入力しなかった場合はinit.phpが読み込まれます。

init_admin.phpに新しく追加された$zadmuse_fidにIDとタイトルを設定すると
ログイン後のサイドバーにメニューが表示されます。
init.phpのIDは0です。

$zadmuse_fid = array('0'=>'お問い合わせ','2'=>'求人応募');

郵便番号住所検索について

バリデーションと分離してMooToolsのプラグイン化しました。
mootools-formpack.jsを読み込むと使用できます。

郵便番号の入力フィールドにクラスで validate-zipcode-btn または validate-zipcode-autocomp を付与してから、
郵便番号の入力フィールドが持つIDと同じクラス名を住所の入力フィールドに付与します。

<tr>
	<th scope="row"><label for="zipcode">郵便番号</label></th>
	<td><input name="zipcode" type="text" id="zipcode" size="8" class="validate-zipcode-btn" /></td>
</tr>
<tr>
	<th scope="row"><label for="address">住所</label></th>
	<td><input name="address" type="text" id="address" size="50" class="zipcode" /></td>
</tr>

検索で得られた住所は郵便番号フィールドのIDと同じクラスを持つ住所フィールドに表示されます。

validate-zipcode-btn → 有効な郵便番号が入力された後に住所検索ボタンを表示

validate-zipcode-autocomp → 有効な郵便番号が入力されると自動で住所検索

その他の変更点

モバイルバージョンを終了