Nucleus(JP)フォーラム

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

ログインしていません。

#1 2006-10-15 21:56:12

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

こんにちは

この度、メールフォームPLUGIN:NP_ContactMailをリリースしました。
WIKI:http://japan.nucleuscms.org/wiki/plugins:contactmailのほうに説明及びダウンロードリンクがあります。
どうぞよろしく。

こちらのほうは、BUG情報、ご意見等をお願いします。

オフライン

#2 2006-10-16 01:48:09

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

アップ早々で申し訳ないのですが
バグを見つけたので、一日か二日、ダウンロードはお待ちください

ご迷惑をおかけします

オフライン

#3 2006-10-16 20:04:35

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

こんばんわ

ver.0.9.1バグ修正版をWIKIIにアップしました。
修正はソースファイルのアップロードだけで、再インストールは必要ない筈です。
では、またなにかありましたらよろしく

バグ情報
現象:ContactMail管理エリア、テンプレート項目タブを表示時に、左のnucleusリストメニューの表示文字が大きかったり小さかったりする。
対処;このページの右側のhtmlの構文エラーを修正しました。

オフライン

#4 2006-10-19 15:39:32

cat
Administrator
登録日: 2003-11-14
投稿: 291

Re: NP_ContactMailについて

こんにちは。この素晴らしいプラグインを使わせていただこうと思いインストールしてみました。
…手順通りやっていて途中でつまってしまいました。

wikiより

この状態では恐らくエラーメッセージ「コンフィグレーションが未設定です」が表示されるだけなので、ContactMailの管理画面でコンフィグレーション等を設定する必要があります。

「コンフィグレーションが未設定です」まではたどり着くことができました。その後の設定で詰まってしまいました。

読解力不足のような気がしますが、どうしたら管理画面にたどりつけるか教えていただけるとうれしいです。
# ポ、ポインタだけでも...
現在は、quickmenuにある「ContactMail」を押すとスキンエラーになります。

スキンの設定は、「既にあるスキンを使用する場合」を参考にさせていただきましたが、関係ありますか?

オフライン

#5 2006-10-19 15:57:24

cat
Administrator
登録日: 2003-11-14
投稿: 291

Re: NP_ContactMailについて

ええと、すみません。
ブラウザを立ち上げ直して、かつ、ログインし直したらquickmenuから入れました!

# なんだったんだろ、一体。

ブラウザは、Windowsのfirefox1.5.0.7とIE6で試してました。

失礼しましたm(_ _)m

オフライン

#6 2006-10-21 11:47:31

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

masさん こんにちは

わたしはmac環境で開発したものですから、そこで問題ないと状況が瞬時に把握できないことがあってすいません

またエラーが再現されるようでしたらお知らせください
よろしくおねがいします

オフライン

#7 2006-10-24 14:51:22

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

ondeeさん

こんにちわ、Tuckerです。
NP_ContactMailを実装させて頂こうとテストを重ねています。
現在ローカルでは発生しないんですが、FreeBSDサーバ上で以下のエラーが発生しました。

Warning: array_map(): Argument #2 should be an array in /<path>/nucleus/plugins/contactmail/functions.php on line 517

まっさらな状態でのテストはこれからなのですが、なにかご存知でしたら教えて頂ければと思いまして先行して書き込みさせて頂きました。
ちなみに【確認】をクリックするとエラーは消え、【送信】をクリックするとメールは正常に送信されます。
Invalidページが一切働かないのが、なんか変ですが・・・一応動作はします。

NP_ContactMail Ver0.9.1
Nucleus Ver3.2.3
PHP Ver4.4.2

以上です。またご報告致します。


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#8 2006-10-25 11:05:16

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

Tucker さんの発言:

ondeeさん

こんにちわ、Tuckerです。
NP_ContactMailを実装させて頂こうとテストを重ねています。
現在ローカルでは発生しないんですが、FreeBSDサーバ上で以下のエラーが発生しました。

Warning: array_map(): Argument #2 should be an array in /<path>/nucleus/plugins/contactmail/functions.php on line 517

まっさらな状態でのテストはこれからなのですが、なにかご存知でしたら教えて頂ければと思いまして先行して書き込みさせて頂きました。
ちなみに【確認】をクリックするとエラーは消え、【送信】をクリックするとメールは正常に送信されます。
Invalidページが一切働かないのが、なんか変ですが・・・一応動作はします。

NP_ContactMail Ver0.9.1
Nucleus Ver3.2.3
PHP Ver4.4.2

以上です。またご報告致します。

自己引用ですいません。
まっさらな状態でテストしてみました。
1. Nucleus 3.2.3を新規インストール
2. NP_ContactMailのみプラグインインストール
3. スキンを<%ContactMail%>へ変更

そうすると上述のエラーが発生しました。
サーバ自体のConfigの問題かもしれませんが、一度ご確認頂けないでしょうか?
現状の確認が必要であればサーバのURL、またサーバへのアクセス権もお渡しできますので、おっしゃってください。

宜しくお願いします m(_ _)m


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#9 2006-10-25 20:24:06

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

お返事が遅れていてすみません

きのう留守にしていたものですから
これから確認してみますので、ちょっとお待ちくださいね

オフライン

#10 2006-10-25 23:04:51

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

Tuckerさん こんばんわ
どうも行き届かなくてすいません

Warning: array_map(): Argument #2 should be an array in /<path>/nucleus/plugins/contactmail/functions.php on line 517

ここからわかるのは、magic_quotesがFreeBSDサーバの設定でONになっていることです。
当方のレンタルサーバ(xrea)は設定がOFFのため正確な再現が出来ないのですが、以下のことを試していただけますでしょうか。ダメかもしれませんけれど、、、

1.nucleus/plugins/contactmail/functions.phpの517行目あたりを表示してください
2.その行を含む関数striptags()を以下のものでそっくり置き換えてください。
修正前

/****************************************************************
    striptags()
****************************************************************/
function striptags(&$p_data, $p_val)
{
	if (get_magic_quotes_gpc()){
		if(phpversion()<"4.1.0")
			$p_data = array_map("stripslashes",$HTTP_POST_VARS[$p_val]);
		else $p_data = array_map("stripslashes",$_POST[$p_val]);
	}
	else{
		$p_data = postVar($p_val);		
	}
}

修正後

/****************************************************************
    stripslashes_deep()
****************************************************************/
function stripslashes_deep($value)
{
	$value = is_array($value) ?
	array_map('stripslashes_deep', $value) :
	stripslashes($value);

	return $value;
}

/****************************************************************
    striptags()
****************************************************************/
function striptags(&$p_data, $p_val)
{
	if (get_magic_quotes_gpc()){
		if(phpversion()<"4.1.0")
			$p_data = array_map("stripslashes",$HTTP_POST_VARS[$p_val]);
			
		else{
			stripslashes_deep($_POST[$p_val]);
//			$p_data = array_map("stripslashes",$_POST[$p_val]);
			$p_data = stripslashes_deep($_POST[$p_val]);
		}
	}
	else{
		//$p_data = stripslashes_deep($_POST[$p_val]);
		$p_data = postVar($p_val);
	}
}

これでエラーは消えるでしょうか

よろしくおねがいします

オフライン

#11 2006-10-26 11:47:27

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

ondeeさん

上記ご対応ありがとうございました。
置き換えることでエラーが発生しなくなりました。確かにサーバの設定はmagic_quoteがオンになってますね。お手数をおかけいたしました。(オフにしたら他のアプリに影響あるのかな?)

さて、新たに問題が発見されました。これもローカルでは発生せずサーバ上でのみ起こる現象です。
いくつか事象がありますので以下に箇条書きにしたいと思います。

前提:【defaiult_long】テンプレートを選択し、テンプレート項目の【Check】を編集

    【必須】は8つの項目の内、どれか1つでもチェックを入れ保存すると、上から5つ目【from_sex】まで全てチェックが自動的に入ってしまう。
    同様に、必須以外の項目は上から3つ目【from_phone】まで自動的にチェックが入る
    下の3つ【subject, message, copy】はチェックが一切入らない。

・・・という事態です。
それと仮に必須項目にチェックをいれたとしてもInvalidページが一切表示されずConfirmに画面になってしまいます。InvalidページはNP_Captureがないと動作しないのでしょうか?

宜しくお願いします m(_ _)m


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#12 2006-10-26 20:35:48

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

Tuckerさん こんばんわ

プラグインを随分かわいがっていただいているようでうれしいです
でも変な現象は困りますね
お話を伺っているとどうも私も制作中に幾度か経験したことと少し関係ありそうなのです。

私の場合は、プログラムでテンプレートに振っているIDナンバーがズレたときに近いことが起こりました。
ではなぜズレたのかというと、何度かインストールを繰返しているときに、以前のインストール時のテーブルデータが残っていて、そういう変なことになりました。

テンプレートのID番号管理はきちんとしておかなくてはいけません、ほんとうに :!:  :!:  :!:
このプログラムの現時点での課題の一つです。

取りあえず正しく作動させるには、Quickmenuのほうではなくて、プラグイン管理のContactMailの編集リンクにあるオプション、

アンイストール時、このプラグインのテーブルをDropしますか

をYESに設定してから一旦プラグインを削除し、再インストールを実行するのが、てっ取り早い方法です。

もしも、すでに新規テンプレートをご自分で作り込まれている場合は、テンプレート書き出し機能があればいいのですけれど、それもないので(w)、dropするとデータがなくなってしまいます。その場合は、テンプレート編集画面から、画面(create/invalid/confirm/send)×セクション(header/body/footer)の計12個のボックスの内容をテキストファイルに保存しておき、テーブルをdropする指定でアンインストール、再インストール後に、テンプレートを作り直すことになります、めんどうだけど。

見当はずれかもしれませんが、もしこれでなんとかなるといいのですけれど
不備の多いプラグインで申し訳ないです
よろしくおねがいします

オフライン

#13 2006-10-26 22:54:06

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

ondeeさん

既にアンインストールして初期化する方法は何度か試してみました。
(MultipleCategoriesとかは以前それで直ったこともあったので)
最後にもう一度やってみましたけど、ダメですね。
ローカルだと問題ないので、なにかしらサーバ側のコンフィグかもしれませんが・・・

すいません、お手数ですが調査していただけると非常にありがたいです。
是非、よろしくお願いします(*- -)(*_ _)ペコリ


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#14 2006-10-27 07:46:20

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

Tuckerさん こんにちは

そうですか、おかしいですね
どうも私の環境では再現が難しそうなので
ご面倒でしょうけれど、サーバのほうのアクセス方法をPMで教えていただけますでしょうか
よろしくおねがいします

オフライン

#15 2006-10-28 09:39:59

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

Tuckerさん こんにちは

PMどうもありがとうございました
確認した処、どうも怪しいのはやはりmagic_quotesに関する部分みたいな気がします
そこで再度そちらの環境でテストをお願いしたいのですが

1.nucleus/plugins/contactmail/admin.phpの466行目あたりを表示してください
2.そのあたりの関数action_edittemplate_items()を以下のものでそっくり置き換えて実行してみてください。

/****************************************************************
    action_edittemplate_items()
****************************************************************/
	function action_edittemplate_items() {
		global $member;
		global $NPCM_CONF,$contactmailaction;
		global ${'off_mes_array'};
		global ${'on_mes_array'};
		
		striptags(&$ichk_array, 'ichk');
		striptags(&$ipos_array, 'ipos');
		striptags(&$idesc, 'idesc');
		striptags(&$iname_array, 'iname');
		striptags(&$iname_cb_array, 'iname_cb');
		striptags(&$off_mes, 'off_mes');
		striptags(&$on_mes, 'on_mes');
		
/*		$ichk_array = postVar('ichk');
		$ipos_array = postVar('ipos');
		$idesc = postVar('idesc');
		$iname_array = postVar('iname');
		$iname_cb_array = postVar('iname_cb');
		$off_mes = postVar('off_mes');
		$on_mes = postVar('on_mes');*/

		if(isset($NPCM_CONF['template']))
			$id = $NPCM_CONF['template'];
		else 	$id = 1;

		$idesc_array = array();
		$off_mes_array = array();
		$on_mes_array = array();

		if($member->isAdmin() && $id) {
		
			if (isset($_POST['fromname_item'])) {
				striptags(&$wk_item, 'fromname_item');
				setNPCMoption_templ('fromname_item', $wk_item,$id);
			}
			if (isset($_POST['fromaddr_item'])) {
				striptags(&$wk_item, 'fromaddr_item');
				setNPCMoption_templ('fromaddr_item', $wk_item,$id);
			}
			if (isset($_POST['fromsubject_item'])) {
				striptags(&$wk_item, 'fromsubject_item');
				setNPCMoption_templ('fromsubject_item', $wk_item,$id);
			}
			if (isset($_POST['fromcopy_item'])) {
				striptags(&$wk_item, 'fromcopy_item');
				setNPCMoption_templ('fromcopy_item', $wk_item,$id);
			}

			for ($i=0; $i<count($idesc); $i++){			
				make_associative_array($iname_array[$i], hschars_encode($idesc[$i]), &$idesc_array);
			}
			
			for ($i=0; $i<count($iname_cb_array); $i++){			
				make_associative_array($iname_cb_array[$i], hschars_encode($off_mes[$i]), &$off_mes_array);
				make_associative_array($iname_cb_array[$i], hschars_encode($on_mes[$i]), &$on_mes_array);
			}
			
			upd_contactmail_templ_item($idesc_array , $on_mes_array, $off_mes_array, $id);

			del_contactmail_templ_chk($id);
			
			for ($i=0; $i<count($idesc); $i++){			

				ins_contactmail_templ_chk($ipos_array, $id, $ichk_array,$i);
			}
		}
		
		$this->action_template_items();
	}

どうぞよろしくお願いします

オフライン

#16 2006-10-29 11:19:40

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

ondeeさん

ご対応ありがとうございます。おかげさまで正常に動作するようになりました。
恐らくこれが最後の質問になると思いますがよろしくお願いします。

Invalidページについて
InvalidページはNP_Captureと必ず併用しないといけない機能なのでしょうか?
キャプチャ画像とキャプチャ用入力値が間違っていた場合は正常にInvalidページが表示されます。
ただし、必須項目をいれないでキャプチャと入力値が正しいと確認ページになってしまいます。
また、NP_Captureを使用しないとInvalidページは一切動作しません。(ローカルでも同様)

FancyURLでの動作について
どうもFancyURLでContactMailを使用するとエラーになってしまいます。もしかしたらCustomURLと併用してるからかもしれませんが・・・
サーバにNP_ContactMail、NP_CustomURL、NP_Captureをインストールしておきましたので動作を確認して頂ければ幸いです。以前お知らせしたIDとPDのままです。

よろしくお願いいたします(*- -)(*_ _)ペコリ


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#17 2006-10-29 23:47:07

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

Tuckerさん こんばんわ

ご質問の件ですが
・最初のものについては、管理エリアでdescに何も設定されないとエラーストリングがechoされないようです。
これがphp4.x.xのechoのバグなのかちょっと判断がつかないのです。回避策は、

1.管理者によってdescの設定をしていただく
2.プログラムでdescがNULLの場合、スペース文字編集をする

どちらかですが、こちらを見ていただいている方の中で、どなたかこの点について正確な判断の出来るかたがいらしゃいましたら、アドヴァイス頂きたいです。よろしくお願いします。

・もう一つのほうですが、customurlを外すと動くので、customurl対策がしてないだけのようです。当方はfancyUrlを未使用なため全く想定しておりませんでした。こちらのほうはcustomurlの仕様を見ることから始めるのでちょっと時間が必要です

では、しばしお時間を、ということで...

オフライン

#18 2006-10-30 00:11:33

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ContactMailについて

CustomURL と聞いて飛んできました 8)
どこでどんなリンクを作って、どういうふうにジャンプしてるかが解ればすぐに対応できるかと思います
こちらで確認したところ、フォームの「確認」ボタンをクリックした時の URL が
http://example/action.php/plugin/name/ContactMail/
となっていたんですが、このURL の生成には CustonURL は噛んでないハズなので、これを
http://example/action.php?action=plugin ... ntactMail&
に出来れば大丈夫なのではないかと思うんですが、これってどこで生成してるんでしょう?

そもそも「.php」の拡張子がつく場合は FancyMode 解除されるはずなんですよねぇ… roll

オフライン

#19 2006-10-30 10:26:02

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

shizukiさん こんにちは
どうもお世話になります
以下のような変換をしています

		if($CONF['URLMode'] == 'pathinfo') { 
			$base = 'action.php/plugin/name/ContactMail/type/';
			$sep1 = '/';
			$sep2 = '/';
		}
		else {
			$base = 'action.php?action=plugin&name=ContactMail&type=';
			$sep1 = '&';
			$sep2 = '=';		
		}

現在、CustomUrlをインストールしてチェック中です
以前mod_rewriteのhackを導入して以来、久しぶりにFancyUrl関係の設定を見直しているので、何をどう設定したのだかすっかり忘れてます。  :!:

オフライン

#20 2006-10-30 14:03:53

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ContactMailについて

どこをどうしたらいいかなんですが、 NP_CustomURL の event_parseURL() 内の出来るだけ早い段階で、

if (preg_match('/$(NP_ContactMail で定義している URL)/', serverVar('REQUEST_URI'))
    return;

としてやると動く気もしますが、どこかで不具合出そうです
NP_CustomURL がデータベースから見つけられなかったパスをエラーページにリダイレクトしてる部分をコメントアウトしても良いかもしれません
その代わり見つからなかった時はトップページを表示するようになります(しかもレスポンスヘッダが 200 だったりする)

どっちも

action.php?action=plugin&name=ContactMail&type=

だとなダメ?

ここからは私見です
FancyURL その他の URL 操作は、通常のページが表示される時の URL が「いかにも」なことになるのを嫌って(SEO という人もいるでしょうが) のカスタマイズであって、どこから見てもあからさまに『プログラムでごにょごにょしました』なページの URL まで気にする必要があるのだろうか?という気がしてます

オフライン

#21 2006-10-30 14:29:23

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

shizukiさん こんにちは

仰る通り、itemを意識しない、standalone式のプラグインなので、特に合せる必要はないと思いました。
そこで、プログラムのほうで、customurlがインストール時は、fancyurlではなくて、実際のurlの書式に従わせます。

どうもありがとうございました

オフライン

#22 2006-10-30 14:33:37

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

ということで...

ここまでの処で一旦FIXさせていただいて、version0.9.2をwikiページにアップさせていただきました

Tuckerさん、shizukiさん ご協力を感謝いたします
またなにかありましたら。よろしくお願いしますね

オフライン

#23 2006-10-30 14:58:46

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

ondeeさん

色々なリクエストに素早いご対応ありがとうございました。
早速WIKIからダウンロードさせて頂こうと思ったんですが、IDとPDを聞かれます :shock:
これ・・・どうしたらいいんでしょう?
ondeeさんのサイトに登録が必要でしょうか?


しづきさん
CustomURLと聞いて飛んできてくれてありがとうございます。
↑はなにがあっても絶対外せないプラグインなので、ほんと助かりました m(_ _)m


また使用してみて動作確認をしてご報告させてもらいたいと思います。
御二方、どうもありがとうございます。
ondeeさん、すいませんがダウンロードの方、よろしくお願い致します。


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#24 2006-10-31 09:11:58

ondee
メンバー
登録日: 2006-10-15
投稿: 18

Re: NP_ContactMailについて

Tuckerさん こんにちは

認証はまったくかかっていないはずです。昨日はテストのためいろいろhtaccessやindex.phpを編集していたので、そのせいかもしれません。すでに大丈夫だと思います。
ではよろしくお願いします

オフライン

#25 2006-10-31 17:29:35

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: NP_ContactMailについて

ondeeさん

ダウンロード&動作確認できました。
そこでテンプレートを編集しようとしたら以下のことが起きました。

1.何もしない段階で、defaiult_long以外はテンプレート項目のテンプレート項目編集欄に項目が一切表示されない
2.defaiult_longテンプレートを編集 → 変更を保存をクリックすると、テンプレート項目がおかしくなり2つしか表示されない。
3.一度テンプレート項目がおかしくなると、以降一切修正不可。
4.defaiult_longを複製してコンフィグで複製したcln_defaiult_longを選択するとテンプレート項目にはなにも表示されない。

ローカル、サーバ上でも同様の動作をします。
何度かテーブル削除・アンインストール → 再インストールしてみましたがダメでした。
恐らくバグではないでしょうか?

サーバ情報変わっていませんので、お手数ですが、ご確認いただければ幸いです。
宜しくお願い致します。

P.S ちなみに、気になってたんですが defaiult って default ・・・じゃないです?


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

Board footer