バージョン選択

フォーラム

メニュー

オンライン状況

74 人のユーザが現在オンラインです。 (55 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 73
tattsu もっと...

サイト内検索

質問 > 管理機能 > お問い合わせ管理機能に関しまして。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
zerocre
投稿日時: 2013/6/25 13:23
対応状況: −−−
半人前
登録日: 2013/6/21
居住地: Tokyo
投稿: 15
お問い合わせ管理機能に関しまして。
----------------------------------
EC-CUBE 2.14.x
サーバーOS FreeBSD 7.1-RELEASE-p16 i386
DBサーバー MySQL 5.5
WEBサーバー Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
PHP 5.2.17
----------------------------------
いつもお世話になっております。

以前は、ec-cube2.11.4を使用しておりましたが、2.12.4にバージョンアップを行いまして、お問い合わせ管理機能が正常に作動しなくなりましたのでご教示戴けますと幸いです。

問題のある箇所は、問い合わせ返信を行う部分で御座います。
「返信」をしようとすると、送信が完了しましたと表示されずページが更新されたような形になってしまい、返信が機能しません。

問い合わせ内容などをDBから管理画面で読み込むことなどには成功しております。
唯一、返信の部分が正常に作動しません。

管理画面からエラーログをみてもエラーが出ておらず、原因が全く分かりません。
問題がありそうだと思うファイル(LC_Page_Admin_Customer_Contact_Reply.php)のソースを記載致します。
変更点などが御座いましたらご教示頂けましたら幸いです。
<?php
/*
* This file is part of EC-CUBE
*
* Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
*
* http://www.lockon.co.jp/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
// {{{ requires
require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
/**
* お問合せ返信 のページクラス.
*
* @package Page
* @author LOCKON CO.,LTD.
* @version $Id$
*/
class LC_Page_Admin_Customer_Contact_Reply extends LC_Page_Admin_Ex {
// }}}
// {{{ functions
/**
* Page を初期化する.
*
* @return void
*/
function init() {
parent::init();
$this->tpl_mainpage = 'customer/contact_reply.tpl';
$this->tpl_mainno = 'customer';
$this->tpl_subno = 'contact';
$this->tpl_pager = 'pager.tpl';
$this->tpl_maintitle = '会員管理';
$this->tpl_subtitle = 'お問い合わせ管理';
// メールテンプレート一覧
$masterData = new SC_DB_MasterData_Ex();
$this->arrMailTemplate = $masterData->getMasterData("mtb_mail_template");
$this->mailTemplateId = "101";
}
/**
* Page のプロセス.
*
* @return void
*/
function process() {
$this->action();
$this->sendResponse();
}
/**
* Page のアクション.
*
* @return void
*/
function action() {
$objQuery =& SC_Query_EX::getSingletonInstance();
// パラメーター管理クラス
$objFormParam = new SC_FormParam_Ex();
// パラメーター設定
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_REQUEST);
$objFormParam->convParam();
$contact_id = $objFormParam->getValue("contact_id");
// パラメーター読み込み
$this->arrReply = $objFormParam->getHashArray();
// 未送信
$this->arrForm["send"] = false;
// 問合せデータ取得
$where = "del_flg = 0 AND contact_id = " . $contact_id;
$result = $objQuery->select("*", "dtb_contact", $where);
$this->contact_data = $result[0];
// モードチェック
switch($this->getMode()){
case 'send':
// パラメータチェック
$this->arrErr = $this->lfCheckError($objFormParam);
if(!$this->arrErr) {
// メール送信
$arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
$objSendMail = new SC_SendMail_Ex();
// 客先宛
$to = $this->contact_data['email'];
$subject = $this->arrReply['title'];
$body = $this->arrReply['contents'];
$fromaddress = $arrInfo['email03'];
$from_name = $arrInfo['shop_name'];
$reply_to = $arrInfo['email02'];
$return_path = $arrInfo['email04'];
$errors_to = $arrInfo['email04'];
//$bcc = $arrInfo['email02'];
$objSendMail->setItem($to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc);
$objSendMail->setTo($to, $this->contact_data['name01'] . $this->contact_data['name02'] . " 様");
$objSendMail->sendMail();
// 控え
$to = $arrInfo['email02'];
$subject = $this->arrReply['title'] . "-控え[問合せ番号=" . $contact_id ."]";
$body = "<<< 問合せ番号 = " . $contact_id . " への回答の控え>>>\r\n\r\n" . $this->arrReply['contents'];
$fromaddress = $arrInfo['email03'];
$from_name = $arrInfo['shop_name'];
$reply_to = $arrInfo['email02'];
$return_path = $arrInfo['email04'];
$errors_to = $arrInfo['email04'];
//$bcc = $arrInfo['email02'];
$objSendMail->setItem($to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc);
$objSendMail->setTo($to, "");
$objSendMail->sendMail();
// 「対応済」でなければ
if($this->contact_data['status'] != 4){
// 「対応中」化
$sqlval = array();
$sqlval['status'] = 3;
$sqlval['update_date'] = 'NOW()';
$where = "contact_id = ". $contact_id;
$objQuery->begin();
$objQuery->update("dtb_contact", $sqlval, $where);
$objQuery->commit();
}
// メール保存
$sqlval = array();
$mail_id = $objQuery->nextVal('dtb_contact_reply_mail_id');
$sqlval['mail_id'] = $mail_id;
$sqlval['contact_id'] = $contact_id;
$sqlval['email'] = $this->contact_data['email'];
$sqlval['title'] = $this->arrReply['title'];
$sqlval['contents'] = $this->arrReply['contents'];
$sqlval['create_date'] = 'NOW()';
$objQuery->begin();
$objQuery->insert("dtb_contact_reply", $sqlval);
$objQuery->commit();
// 送信完了
$this->arrForm["send"] = true;
}
break;
default:
}
// メールテンプレート内容取得
$this->mail_template = $objQuery->select("subject, header, footer", "dtb_mailtemplate", "template_id=?", array($this->mailTemplateId));
$this->arrForm['title'] = $this->mail_template[0]['subject'];
$this->arrForm['contents'] = $this->contact_data['name01'] . $this->contact_data['name02'] . ' 様'
. "\r\n\r\n" . '==========お問い合わせ内容=========='
. "\r\n\r\n" . $this->contact_data['contents']
. "\r\n" . '============================'
. "\r\n\r\n" . $this->mail_template[0]['header']
. "\r\n\r\n"
. "\r\n\r\n" . $this->mail_template[0]['footer'];
// 返信一覧の取得
$objQuery->setorder("create_date DESC");
$this->arrReply = $objQuery->select("*", "dtb_contact_reply", "contact_id = ?", array($contact_id));
}
/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
/* パラメーター情報の初期化 */
function lfInitParam(&$objFormParam) {
$objFormParam->addParam("問合せ番号", 'contact_id', INT_LEN, 'n', array("EXIST_CHECK","MAX_LENGTH_CHECK"));
$objFormParam->addParam("タイトル", 'title', STEXT_LEN, 'KV', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
$objFormParam->addParam("本文", 'contents', LTEXT_LEN, 'KV', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
}
/* 入力内容のチェック */
function lfCheckError(&$objFormParam) {
// 入力データを渡す。
$arrRet = $objFormParam->getHashArray();
$objErr = new SC_CheckError_Ex($arrRet);
$objErr->arrErr = $objFormParam->checkError();
return $objErr->arrErr;
}
}
?>
Machy
投稿日時: 2013/6/26 13:07
対応状況: −−−
常連
登録日: 2013/6/17
居住地:
投稿: 39
Re: お問い合わせ管理機能に関しまして。
zerocre様

以前のバージョン(ec-cube2.11.4)のソースファイル
のバックアップはございますか?

ございましたら、問題がありそうな箇所を見比べると何か
分かるかもしれません。
sumida
投稿日時: 2013/6/26 15:03
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: お問い合わせ管理機能に関しまして。
// メールテンプレート一覧
$masterData = new SC_DB_MasterData_Ex();
$this->arrMailTemplate = $masterData->getMasterData("mtb_mail_template");
$this->mailTemplateId = "101";

にある「101」というメールテンプレートは、実物が存在しているのでしょうか?

追記:
他のメールは、送信できているのでしょうか?
zerocre
投稿日時: 2013/7/3 12:13
対応状況: 解決済
半人前
登録日: 2013/6/21
居住地: Tokyo
投稿: 15
Re: お問い合わせ管理機能に関しまして。
仰る通り、テンプレートIDが存在しておらず送信が行えておりませんでした。
エラー内容なども出なかったため、原因の究明が全く行えませんでした。

余談では御座いますが…エラーログをみてもエラーが出ていない場合、どのような方法で原因の究明を行っていくのでしょうか?
yuh
投稿日時: 2013/7/3 12:28
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: お問い合わせ管理機能に関しまして。
引用:

zerocreさんは書きました:
仰る通り、テンプレートIDが存在しておらず送信が行えておりませんでした。
エラー内容なども出なかったため、原因の究明が全く行えませんでした。

余談では御座いますが…エラーログをみてもエラーが出ていない場合、どのような方法で原因の究明を行っていくのでしょうか?

プログラムのソースを追っていって、途中でdumpでデータがどのように入っているかを確認という感じです。
自分の場合、このメールの例で言うと
ちゃんとメール配信部分の処理が動いているか

動いている

ならその中のデータは入っているか

入っていない

ならなんで入っていないのか

テンプレートが無い
みたいな感じで原因を究明していきます。

原因からある程度あたりをつけて調べる場合もありますが、大体は処理を一つ一つ追っていく感じになりますね。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,280名です
総投稿数は109,687件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.