doValidation($validData);
}
// エラーが発生した場合
if($validator->anErrorOccurred()) {
$arrErr = $validator->arrErr;
foreach($params->params as $key => $value) {
switch($key) {
case "prefectures":
$pref = $value;
break;
case "situation":
$situation = $value;
break;
case "time":
$time = $value;
break;
case "design":
$cbDefaults[0] = $value;
break;
case "appli":
$cbDefaults[1] = $value;
break;
case "cost":
$cbDefaults[2] = $value;
break;
case "gps":
$cbDefaults[3] = $value;
break;
case "otherwise":
$cbDefaults[4] = $value;
break;
case "other":
$other = $value;
break;
default:
$tmpl->assign($key, $value);
break;
}
}
$template = "index.html";
}
else {
$dispData = $params->getDisplayData($indications, $relations);
if(!isset($dispData['other'])) { $dispData['other'] = ""; }
if(!isset($dispData['interested'])) { $dispData['interested'] = ""; }
foreach($dispData as $key => $val) {
$tmpl->assign($key, $val);
}
// 値の引き継ぎ
$tmpl->assign("hidden", $params->getHiddenTags());
$template = "confirm.html";
}
}
break;
// ================================================================
// メール送信・完了
case MODE_COMPLETE :
$mData = $params->getDisplayData($indications, $relations);
// 内部へのメール送信
$mTemp = new TemplateHandler("mailBody.txt");
$req = array();
if(!isset($mData['other'])) { $mData['other'] = ""; }
if(!isset($mData['interested'])) { $mData['interested'] = ""; }
foreach($mData as $key => $val) {
if(strcmp($key, "interested") == 0) { $val = str_replace("
", "\n", $val); }
$mTemp->assign($key, $val);
array_push($req, $key,$val);
}
$mBody = $mTemp->display(false);
MailSender::sendMail($mailTo, sprintf($subject,$mData['type']), $mBody, $mailFrom);
//顧客管理システムにReuest
$res = httpRequest("http://serv.diamond-portal.jp/DPManagement/request_online_demo.do","POST","",$req);
$tmp_res = split(",",$res);
$status = split("=",$tmp_res[0]);
$message = split("=",$tmp_res[1]);
if($status[1]=="1"){
// お客様へのメール送信(成功時)
$mcTemp = new TemplateHandler("mailBody_to_onlinedemo.txt");
foreach($mData as $key => $val) {
$mcTemp->assign($key, $val);
}
$mcTemp->assign('hash', $message[1]);
$mcBody = $mcTemp->display(false);
MailSender::sendMail($mData['mail'], $subject, $mcBody, $mailFrom);
}else{
// お客様へのメール送信(失敗時)
$mcTemp = new TemplateHandler("mailBody_to_onlinedemo_err.txt");
foreach($mData as $key => $val) {
$mcTemp->assign($key, $val);
}
$mcTemp->assign('hash', $message[1]);
$mcBody = $mcTemp->display(false);
MailSender::sendMail($mData['mail'], $subject, $mcBody, $mailFrom);
}
// 完了画面
$template = "complete.html";
break;
// ================================================================
// 確認画面から戻る
case MODE_BACK :
foreach($params->params as $key => $value) {
switch($key) {
case "prefectures":
$pref = $value;
break;
case "situation":
$situation = $value;
break;
case "time":
$time = $value;
break;
case "design":
$cbDefaults[0] = $value;
break;
case "appli":
$cbDefaults[1] = $value;
break;
case "cost":
$cbDefaults[2] = $value;
break;
case "gps":
$cbDefaults[3] = $value;
break;
case "otherwise":
$cbDefaults[4] = $value;
break;
case "other":
$other = $value;
break;
default:
$tmpl->assign($key, $value);
break;
}
}
$template = "index.html";
break;
// ================================================================
// デフォルト(入力画面)
default :
foreach($elementKeys as $key) {
$tmpl->assign($key, "");
}
$template = "index.html";
break;
}
// ================================================================
// 出力
$tmpl->setTemplate($template);
$tmpl->assign("action", $action);
// エラーメッセージ
$tmpl->assign("err_company", ((!empty($arrErr['company'])) ? '
'.$arrErr['company'].'' : ""));
$tmpl->assign("err_category", ((!empty($arrErr['category'])) ? '
'.$arrErr['category'].'' : ""));
$tmpl->assign("err_scale", ((!empty($arrErr['scale'])) ? '
'.$arrErr['scale'].'' : ""));
$tmpl->assign("err_belong", ((!empty($arrErr['belong'])) ? '
'.$arrErr['belong'].'' : ""));
$tmpl->assign("err_position", ((!empty($arrErr['position'])) ? '
'.$arrErr['position'].'' : ""));
$tmpl->assign("err_name", ((!empty($arrErr['name'])) ? '
'.$arrErr['name'].'' : ""));
$tmpl->assign("err_post_no1", ((!empty($arrErr['post_no1'])) ? '
'.$arrErr['post_no1'].'' : ""));
$tmpl->assign("err_prefectures", ((!empty($arrErr['prefectures'])) ? '
'.$arrErr['prefectures'].'' : ""));
$tmpl->assign("err_address", ((!empty($arrErr['address'])) ? '
'.$arrErr['address'].'' : ""));
$tmpl->assign("err_tel1", ((!empty($arrErr['tel1'])) ? '
'.$arrErr['tel1'].'' : ""));
$tmpl->assign("err_fax1", ((!empty($arrErr['fax1'])) ? '
'.$arrErr['fax1'].'' : ""));
$tmpl->assign("err_mail", ((!empty($arrErr['mail'])) ? '
'.$arrErr['mail'].'' : ""));
$tmpl->assign("err_reason", ((!empty($arrErr['reason'])) ? '
'.$arrErr['reason'].'' : ""));
$tmpl->assign("err_interested", ((!empty($arrErr['interested'])) ? '
'.$arrErr['interested'].'' : ""));
$tmpl->assign("err_other", ((!empty($arrErr['other'])) ? '
'.$arrErr['other'].'' : ""));
$tmpl->assign("err_situation", ((!empty($arrErr['situation'])) ? '
'.$arrErr['situation'].'' : ""));
$tmpl->assign("err_time", ((!empty($arrErr['time'])) ? '
'.$arrErr['time'].'' : ""));
$tmpl->assign("err_contents", ((!empty($arrErr['contents'])) ? '
'.$arrErr['contents'].'' : ""));
// お問い合わせ種別のoptionタグ
$tmpl->assign("prefectures_option", HTMLUtility::optionMake($indications['prefectures'], $pref));
$tmpl->assign("situation_option", HTMLUtility::optionMake($indications['situation'], $situation));
$tmpl->assign("time_option", HTMLUtility::optionMake($indications['time'], $time));
CheckboxMake($checkboxItems, $tmpl, $other, $cbDefaults);
$tmpl->display();
function CheckboxMake(&$checkboxItems, &$tmpl, $other, $checked = null) {
// チェックボックス出力
if(isset($checkboxItems) && count($checkboxItems) > 0) {
foreach($checkboxItems as $key => $properties) {
$checkboxes = "";
$loop = 0;
foreach($properties as $property) {
list($label, $elements) = $property;
// デフォルト値の取得
$default = $checked[$loop];
// チェックボックスの作成
$checkboxes .= '