Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#51 2006-07-10 22:03:50

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

ところで、いっしょに書けばよかったですが。追加報告です。(忘れてました:oops: )

届いたメールの差出人名(from)が化けます。

=?UTF-8?B?5bGx5pys=?==?UTF-8?B?=?= <yamamoto@xxxxx.ne.jp>
このような感じです。

僕の利用してるサーバはphp4.4.2でmb_encode_mimeheader関係のバグは
ないらしいので、前回と同様に書き換えて対応しました。
が、このへんは確か今回だいぶ手を入れたはずの個所なんですよね?

ちなみに、
------  Debug output -------
inner_code = UTF-8
form_input =

このようになってます。(参考になるでしょうか?)

オフライン

#52 2006-07-10 22:12:17

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

yama.kyms さんの発言:

僕の利用してるサーバはphp4.4.2でmb_encode_mimeheader関係のバグは
ないらしいので、前回と同様に書き換えて対応しました。
が、このへんは確か今回だいぶ手を入れたはずの個所なんですよね?

実は手を入れていません。ぺこり
0.4.xでの変更予定にしています。

ただ、chunk_splitが出す、余計な改行のおかげでこういうことになっていると思われるので、

		$data = "=?$convertTo?B?".chunk_split(base64_encode(mb_convert_encoding(undoMagic($str).$convertTo,$convertTo,"auto"))).'=?=';
		$data = trim($data);

のところを、

		$data = "=?$convertTo?B?".trim(chunk_split(base64_encode(mb_convert_encoding(undoMagic($str).$convertTo,$convertTo,"auto")))).'=?=';

とすればいいんだろうということなのですが・・・ mb_encode_mimeheaderにしておくのが最良と思っています。
なので、0.4.xではファイルの初期設定でmb_encode_mimeheaderと選べるようにしています。

#0.4.xの管理画面を作るときにフォームの処理でもうすこしよい方法があることがわかったので、大幅な変更になって遅れています。

オフライン

#53 2006-07-10 22:49:08

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

なるほどそういうことで。新バージョン楽しみにしてます。

オフライン

#54 2006-07-11 10:59:25

レトロマニア
メンバー
From: 愛知県
登録日: 2006-07-01
投稿: 30
ウェブサイト

Re: NP_ItemFormmail

3.2アルファを設置してみました。設置は無事にできているようなのですが、
文字入力の確認画面が文字化け、そのまま送信しても

å??å?? 
ä½?æ?? 
ã?³ã?¡ã?³ã?? この項目は必ず入力してください
好ã??ã?ªæ??ç?© ç?¹ã?«ã?ªã??
�� ��
æ?ªæ??å¹´ æ?ªæ??å¹´
E-mail メールアドレスを入力してください
再入力してください

のような感じで化けてしまっています。もちろん届いたメールもこのとおりに化けてます。
nucleusは最新版のUTFバージョンを使ってます。


未熟者ですが仲間とITコンサル会社を経営しております。
趣味で自作PCとか鯖組んでます。ハイテクが好きな人は→
http://www.dos-v.biz/

オフライン

#55 2006-07-11 11:08:30

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

バグレポありがとうございます。

フォームの表示段階では文字化けしていない場合で、
確認画面での文字化けがある状態ということですね。

もしよろしければ、
phpのバージョンとmb関連の値を教えていただけますでしょうか。

もし、0.3.2で変更した箇所があれば、それもお願いします。

オフライン

#56 2006-07-11 11:36:58

レトロマニア
メンバー
From: 愛知県
登録日: 2006-07-01
投稿: 30
ウェブサイト

Re: NP_ItemFormmail

kosugiatkips さんの発言:

バグレポありがとうございます。

フォームの表示段階では文字化けしていない場合で、
確認画面での文字化けがある状態ということですね。

もしよろしければ、
phpのバージョンとmb関連の値を教えていただけますでしょうか。

もし、0.3.2で変更した箇所があれば、それもお願いします。

PHP Version 4.3.9
で、MB関連の値は、PHPINFOで見たところ、

Multibyte Support  enabled 
Japanese support  enabled 
Simplified chinese support  enabled 
Traditional chinese support  enabled 
Korean support  enabled 
Russian support  enabled 
Multibyte (japanese) regex support  enabled 

Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.substitute_character no value no value

となってます。他に必要な情報があるでしょうか?
スクリプトは変更していません~。


未熟者ですが仲間とITコンサル会社を経営しております。
趣味で自作PCとか鯖組んでます。ハイテクが好きな人は→
http://www.dos-v.biz/

オフライン

#57 2006-07-11 11:52:35

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

レトロマニア さんの発言:

Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.substitute_character no value no value

これらの値のうち、日本語環境で使用する場合、
mbstring.language
mbstring.internal_encoding
ぐらいは設定した方がよいかと思います。

オフライン

#58 2006-07-11 14:14:49

レトロマニア
メンバー
From: 愛知県
登録日: 2006-07-01
投稿: 30
ウェブサイト

Re: NP_ItemFormmail

これらの値のうち、日本語環境で使用する場合、
mbstring.language
mbstring.internal_encoding
ぐらいは設定した方がよいかと思います。

サーバの設定変更ができない環境のため、これらの値が変えられないのですが、
そうすると対処は難しいでしょうか


未熟者ですが仲間とITコンサル会社を経営しております。
趣味で自作PCとか鯖組んでます。ハイテクが好きな人は→
http://www.dos-v.biz/

オフライン

#59 2006-07-11 14:23:23

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

function init() {

という行があると思いますので、その次の行に

mb_internal_encoding("UTF-8");

と書いてみてください。

オフライン

#60 2006-07-11 15:30:49

レトロマニア
メンバー
From: 愛知県
登録日: 2006-07-01
投稿: 30
ウェブサイト

Re: NP_ItemFormmail

無事動きました!!感動です。


今後、管理画面上からフォームの作成管理(上・下移動も可能に)
ができるようになるといいですね。

そういえば、自動返信メールに
From: luvsic@○○○
というアドレスが入ってしまうのですが、
これはどこをいじれば治りますかね?
設定画面にはきちんと受信用のアドレスを入れてるんですが
(動作には不備ありませんけど)


未熟者ですが仲間とITコンサル会社を経営しております。
趣味で自作PCとか鯖組んでます。ハイテクが好きな人は→
http://www.dos-v.biz/

オフライン

#61 2006-07-11 15:31:21

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

レトロマニア さんの発言:

サーバの設定変更ができない環境のため、これらの値が変えられないのですが、
そうすると対処は難しいでしょうか

yamaさんのアドバイスにあるようにitemformmailについてだけ言えば、init()に書く方法でよいです。
ただ、サーバの設定値をまったく変更できない場合、他のプラグインでもmbは使っているはずなので、グローバルに設定した方がよいのではないかと思います。
具体的にはindex.php (ページを表示する最初のファイル)で設定値を書いていく方法がよいのじゃないかと思われます。

このあたり、1プラグインの話ではなく全体の環境設定的なものなので、なんですが、

php関連の設定値は、
php.ini
httpd.conf
.htaccess
のどこかで設定するのが妥当で、

それができない場合、トップのindex.phpと管理ページのindex.php内で

mb_language("Japanese");
mb_internal_encoding("UTF-8");

などとするか、

ini_set("mbstring.http_output","pass");

のようにini_setを並べていく方法があります。

オフライン

#62 2006-07-11 16:07:54

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

レトロマニア さんの発言:

今後、管理画面上からフォームの作成管理(上・下移動も可能に)
ができるようになるといいですね。

フォーム作成のUIに関しては、次バージョンではテンプレートを見直してすっきり設定しやすくしました。
ということは次バージョンはこれまでのバージョンとフォームの互換性はありません。っう:cry:

管理画面をもっと親切にすることもできるでしょうが、このあたり、得意な方に譲りたいところです。
フォームを何度も編集することはあまり考えられないので、あまり需要はなさそうです。

レトロマニア さんの発言:

そういえば、自動返信メールに
From: luvsic@○○○
というアドレスが入ってしまうのですが、
これはどこをいじれば治りますかね?
設定画面にはきちんと受信用のアドレスを入れてるんですが
(動作には不備ありませんけど)

これは自動的に、グローバルの管理者アドレスを入れるようにしてあります。
$returnFrom =  "From:".$CONF['AdminEmail'];
という行を書き換えてもらえると良いかと思います。


次バージョン用のフォーム作成は下記のような感じになります。

<form name="form1" method="post" action="">
 <p>メールフォーム用サンプル </p>
 <table border="0" cellspacing="0" cellpadding="0">
  <tr>
   <td>お名前</td>
   <td><%uform(1,text,id-name,名前)%>
   </td>
  </tr>
  <tr>
   <td>おところ</td>
   <td><%uform(2,text,address,住所)%>
   </td>
  </tr>
  <tr>
   <td>コメント</td>
   <td><%uform(3,textarea,comment,コメント,need,cols="20" rows="5")%>
   </td>
  </tr>
  <tr>
    <td>好きな果物</td>
    <td><%uform(6,select,autoreply,好きな果物,need,特になし
ラフランス//selected
パイナップル
クランベリー
ドリアン
その他)%></td>
  </tr>
  <tr>
    <td>
      性別</td>
    <td><%uform(7,radio,sex,性別,,男性
女性//selected
不明)%>
</td>
  </tr>
  <tr>
    <td>未成年?</td>
    <td><%uform(8,checkbox,under20,未成年?)%>
   	</td>
  </tr>
  <tr>
   <td>確認メール受信者名</td>
   <td><%uform(9,email,name,確認メール受信者名,need)%>
   </td>
  </tr>
  <tr>
    <td>E-Mail</td>
    <td><%uform(10,email,value,,need)%></td>
  </tr>
  <tr>
   <td>確認用</td>
   <td><%uform(11,email,confirm)%></td>
  </tr>
 </table>
 <input name="sendmail" type="hidden" value="true"/>
 <input type="submit" name="Submit" value=" 送 信 "/> 
 <input type="reset" name="Submit" value=" リセット "/>
</form>

もっと、シンプルにできるのですが、カスタマイズの自由度が減るのでこの程度の自動化にしました。

オフライン

#63 2006-07-11 17:09:27

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

> 次バージョン用のフォーム作成
おおっ、分かりやすいです。 big_smile

ふと思ったんですが。っていうか、簡単にできるもんならやってるよと言われそうですが。
このフォームをアイテムに直接記述して動作させるような作りってのは可能ですか?
もしそれができるなら、フォームの種類をいくつでも自由に増やせるし、そもそも
「フォームを出現させるアイテムをプラグイン設定で指定」という指定の仕方も
変わりますね。指定不要で、アイテムを普通に表示させるだけという。

かなりダメモトな質問ですが。

オフライン

#64 2006-07-11 18:02:39

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

yama.kyms さんの発言:

ふと思ったんですが。っていうか、簡単にできるもんならやってるよと言われそうですが。
このフォームをアイテムに直接記述して動作させるような作りってのは可能ですか?

そうですね。簡単にできます。(作るのは)
問題は今やっている作業がほとんど意味なしになることぐらいでしょうか。ちがっ :oops:

アイテムに記述する形にすると、他のプラグインとバッティングしやすいんですよね。
さらに、すべてのアイテムを走査することになると、サイト全体のパフォーマンスに影響するかなと。
あと、ブログ設定のBR関連の処理ぐらいでしょうか。問題は。

ちょっと検討してみます。

オフライン

#65 2006-07-11 18:19:28

レトロマニア
メンバー
From: 愛知県
登録日: 2006-07-01
投稿: 30
ウェブサイト

Re: NP_ItemFormmail

もっと、シンプルにできるのですが、カスタマイズの自由度が減るのでこの程度の自動化にしました。

おおっ、現行バージョンよりもわかりやすくなりましたね!
これは期待大です…。


未熟者ですが仲間とITコンサル会社を経営しております。
趣味で自作PCとか鯖組んでます。ハイテクが好きな人は→
http://www.dos-v.biz/

オフライン

#66 2006-07-21 15:11:11

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

Ver 0.4.1、試してみました。特に不具合ありません。合理的な仕様で、すぐ理解できました。
この仕様だといくつでも自由にフォームを設置できますね。さっそく2つ作りました。

「お問い合わせはこのフォームをご利用ください」などの文言は
<!%itemformmail%!>以下に記述するといいのですね。

※追記 15:52
selectオプションもneedが使えると便利かも。どういう実装かというと、たとえば
一番目の選択肢が選ばれたままになっている場合に入力を促す。
通常、一番目の選択肢は「選択してください」などになっていることが多いと思います。

※追記 19:20
input type=textのsizeとmaxlengthを指定できれば便利と思いました。
たとえば郵便番号なら8文字で足りますが住所だと60文字近くは必要。

それぞれにclassを指定できればいろいろ応用がききそうです。
たとえばinput type=textとtextareaにclass名「imeoff」または「imeon」を割り当てて、
スタイルシートでIMEのオンオフを制御する、などといった使い方。

<!%uform(,email,name,確認メール受信者名,need)%!>が便利で重宝しますが、これを
利用する場合は「お名前」の項目は二重に入力の手間をとらせるので不要なケースも
あるように思います。この場合、「email,name」を「お名前」と扱いたくても確認画面では
メールアドレスとセットで最後の項目に表示されるのが不便に感じることがあります。
(フリガナの項目がある場合など)

あと、同じく「email,name」の項目はfromにセットするときに「様」を付けるかどうかを
選択できると業務にも十分実用的に使えそうです。

オフライン

#67 2006-07-22 21:47:57

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

テストへの御協力感謝いたします。

yama.kyms さんの発言:

※追記 15:52
selectオプションもneedが使えると便利かも。どういう実装かというと、たとえば
一番目の選択肢が選ばれたままになっている場合に入力を促す。
通常、一番目の選択肢は「選択してください」などになっていることが多いと思います。

need指定は第5引数に指定できますが、selectでは正しく動作しないかもしれませんね。
検証してみたいと思います。

yama.kyms さんの発言:

※追記 19:20
input type=textのsizeとmaxlengthを指定できれば便利と思いました。
たとえば郵便番号なら8文字で足りますが住所だと60文字近くは必要。

それぞれにclassを指定できればいろいろ応用がききそうです。
たとえばinput type=textとtextareaにclass名「imeoff」または「imeon」を割り当てて、
スタイルシートでIMEのオンオフを制御する、などといった使い方。

これについては、textfeildの場合、第6引数に書いたものをそのままタグにつっこんでいるので、サイズ指定やクラス指定はそこで行えます。

yama.kyms さんの発言:

<!%uform(,email,name,確認メール受信者名,need)%!>が便利で重宝しますが、これを
利用する場合は「お名前」の項目は二重に入力の手間をとらせるので不要なケースも
あるように思います。この場合、「email,name」を「お名前」と扱いたくても確認画面では
メールアドレスとセットで最後の項目に表示されるのが不便に感じることがあります。
(フリガナの項目がある場合など)

同感です
この辺の仕様は私もおかしいなと思っています。。optionで指定する方式がよいかもしれません。

オフライン

#68 2006-07-23 12:45:27

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

selectboxの件ですが、needの指定の仕方は下記の通りです。

<!%uform(6,select,fruits,好きな果物,need,
特になし/
ラフランス//selected
パイナップル
クランベリー
ドリアン
その他)%!>

uform( $idx , $type, $name , $title, $option , $appendix)
のうち、
まず、第5引数 $optionにneedを指定します。
次に、第6引数 $appendixについてですが、改行で仕分けして、
$label / $value / $selected
の順になっているので、$valueが空欄となるようにスラッシュを一つだけ入れて
未選択/
という項目を作ると、value値がないので、need要求でチェックができます。

オフライン

#69 2006-07-23 20:07:34

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

なるほど。。よく考えてありますね。分かりやすいです。
アイデア次第で第6引数はいろいろ応用が利きそうです。

ちなみに、email、email,nameのテキストフィールドは第6引数での指定が有効に
ならないようでした。(デフォルト値で適当なサイズになってますが)

オフライン

#70 2006-07-23 20:14:31

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

御協力感謝いたします。

email emailnameについては廃止したほうがよさそうです。
処理的にも無駄が生じていますし。
代わりにオプション値にemailというのを作ってメールアドレスに使用する方向で考えたいと思います。

オフライン

#71 2006-08-08 09:18:51

yama
Administrator
登録日: 2005-07-07
投稿: 1,243
ウェブサイト

Re: NP_ItemFormmail

利用していて少し気になった点が。
checkboxを設置する場合、

選択肢A □ 選択肢B □ 選択肢C □

のようになりますが、

□ 選択肢A □ 選択肢B □ 選択肢C

このようになっているほうがしっくりするような気がします。
僕はあまり気にならないですが、時々まちがえてチェックを
入れてくる人がいます。ここで勘違いしているみたいです。

http://www.seo-equation.com/html/html/label.html
あと、このような感じで label for で関連付けられると便利そうです。

オフライン

#72 2006-08-09 13:42:06

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

yama.kyms さんの発言:

□ 選択肢A □ 選択肢B □ 選択肢C

このようになっているほうがしっくりするような気がします。

たしかにそうですね。
自分的には、チェックボックスのラベル機能は使っていなかったので、気づかなかったのですが・・。

チェックボックスだけじゃなく、ラジオボタンやダイナミックチェックボックスでも同様だったので、
次バージョンで修正したいと思います。

オフライン

#73 2006-08-22 13:12:43

tw
メンバー
登録日: 2005-06-22
投稿: 11

Re: NP_ItemFormmail

はじめまして、お尋ねいたします。
Nucleus CMS (v3.23)のUTF-8の環境で、ItemFormmailを入れてみたのですが、
クイックメニューから「フォームメール」を選択すると、
/nucleus/plugins/itemformmail/admin.php on line 103 とエラーが出てしまいます。
プラグインオプションの編集画面は、問題なく表示できています。
何か解決方法はありますでしょうか?

オフライン

#74 2006-08-22 13:28:31

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_ItemFormmail

すみません。Itemformmail 0.5では管理画面を必要としていません。
管理画面へのリンクを削除していなかったみたいですね。

使い方は冒頭記事のサンプルを参考にアイテムに書き込んでいただくと設置できます。

もし、わからない部分がありましたら、気軽に聞いてください。
それを元に使い方ページを作成しようと思っていますので・・ペコリ

オフライン

#75 2006-08-23 12:00:10

tw
メンバー
登録日: 2005-06-22
投稿: 11

Re: NP_ItemFormmail

お言葉に甘えお尋ねいたします。
アップし直して頂いた「itemformmail0.5.1」を入れて
クイックメニューには出てこなくなっていますが、
オプション管理ページ内には、
まだ「クイックメニューに表示しますか?」が残っておりましたので
ご連絡差し上げます。


環境は
PHP のバージョンは 4.4.2
Nucleus CMS (v3.23)のUTF-8

「MBSTRING」の内容は----------
Multibyte Support  enabled 
Japanese support  enabled 
Simplified chinese support  enabled 
Traditional chinese support  enabled 
Korean support  enabled 
Russian support  enabled 
Multibyte (japanese) regex support  enabled 
mbstring.detect_order auto auto
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input auto auto
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language Japanese Japanese
mbstring.substitute_character no value no value
----------以上のような環境です。

アップし直して頂いた「itemformmail0.5.1」を入れて
冒頭記事の1ページ目のサンプルをアイテムの[続き]にコピペしました。
その他には、
function init() { その次の行に
mb_internal_encoding("UTF-8"); と追加記入することで文字化けは解消しました。
他の事、設定しておりません。

・お名前の欄に のタグが表示される
・プレビューではお名前の欄のみが空白になる
・コメントフォームにある画像認証の入力欄がでない?
  画像認証を使用しますか?「はい」「いいえ」にして
  色々試してみたのですが…

「送信ボタン」を押すといずれの場合も
再入力してください
Captcha challenge failed. Are you man or machine?
{再編集}ボタンが表示されるという結果になりメールも送信できていません。
何か、設定をし忘れているのでしょうか?

オフライン

Board footer