Changeset 20357
- Timestamp:
- 2011/02/23 21:52:41 (13 years ago)
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/admin/mail/history.tpl
r20269 r20357 59 59 <td> 60 60 <!--{if $arrDataList[cnt].count_error >= 1 || $arrDataList[cnt].count_unsent >= 1}--> 61 <a href=" sendmail.php?mode=now&send_id=<!--{$arrDataList[cnt].send_id|h}-->&retry=yes" onclick="return window.confirm('未配信と配信失敗となった宛先に再送信を試みますか?');">実行</a>61 <a href="index.php?mode=retry&send_id=<!--{$arrDataList[cnt].send_id|h}-->" onclick="return window.confirm('未配信と配信失敗となった宛先に再送信を試みますか?');">実行</a> 62 62 <!--{/if}--> 63 63 </td> -
branches/version-2_5-dev/data/class/helper/SC_Helper_Mail.php
r20306 r20357 330 330 331 331 /** 332 * 保存されているメ ールテンプレートの取得332 * 保存されているメルマガテンプレートの取得 333 333 * @param integer 特定IDのテンプレートを取り出したい時はtemplate_idを指定。未指定時は全件取得 334 334 * @return array メールテンプレート情報を格納した配列 335 335 * @todo 表示順も引数で変更できるように 336 336 */ 337 function sfGetMail Template($template_id = null){337 function sfGetMailmagaTemplate($template_id = null){ 338 338 // 初期化 339 339 $where = ''; … … 357 357 358 358 /** 359 * 保存されている 送信履歴の取得359 * 保存されているメルマガ送信履歴の取得 360 360 * @param integer 特定の送信履歴を取り出したい時はsend_idを指定。未指定時は全件取得 361 361 * @return array 送信履歴情報を格納した配列 … … 382 382 return $arrResults; 383 383 } 384 385 /** 386 * 指定したIDのメルマガ配送を行う 387 * 388 * @param integer $send_id dtb_send_history の情報 389 * @return boolean true:成功 false:失敗 390 */ 391 function sfSendMailmagazine($send_id) { 392 $objQuery =& SC_Query::getSingletonInstance(); 393 $objDb = new SC_Helper_DB_Ex(); 394 $objSite = $objDb->sfGetBasisData(); 395 $objMail = new SC_SendMail_Ex(); 396 397 $where = 'del_flg = 0 AND send_id = ?'; 398 $arrMail = $objQuery->getRow('*', 'dtb_send_history', $where, array($send_id)); 399 400 // 対象となる$send_idが見つからない 401 if (SC_Utils_Ex::isBlank($arrMail)) return false; 402 403 // 送信先リストの取得 404 $arrDestinationList = $objQuery->select( 405 '*', 406 'dtb_send_customer', 407 'send_id = ? AND (send_flag = 2 OR send_flag IS NULL)', 408 array($send_id) 409 ); 410 411 // 現在の配信数 412 $complete_count = $arrMail['complete_count']; 413 if(SC_Utils_Ex::isBlank($arrMail)) $complete_count = 0; 414 415 foreach ($arrDestinationList as $arrDestination) { 416 417 // 顧客名の変換 418 $customerName = trim($arrDestination["name"]); 419 $subjectBody = ereg_replace("{name}", $customerName, $arrMail["subject"]); 420 $mailBody = ereg_replace("{name}", $customerName, $arrMail["body"]); 421 422 $objMail->setItem( 423 $arrDestination["email"], 424 $subjectBody, 425 $mailBody, 426 $objSite->data["email03"], // 送信元メールアドレス 427 $objSite->data["shop_name"], // 送信元名 428 $objSite->data["email03"], // reply_to 429 $objSite->data["email04"], // return_path 430 $objSite->data["email04"] // errors_to 431 ); 432 433 // テキストメール配信の場合 434 if ($arrMail["mail_method"] == 2) { 435 $sendResut = $objMail->sendMail(); 436 // HTMLメール配信の場合 437 } else { 438 $sendResut = $objMail->sendHtmlMail(); 439 } 440 441 // 送信完了なら1、失敗なら2をメール送信結果フラグとしてDBに挿入 442 if (!$sendResut) { 443 $sendFlag = '2'; 444 } else { 445 // 完了を 1 増やす 446 $sendFlag = '1'; 447 $complete_count++; 448 } 449 450 // 送信結果情報を更新 451 $objQuery->update('dtb_send_customer', 452 array('send_flag'=>$sendFlag), 453 'send_id = ? AND customer_id = ?', 454 array($send_id,$arrDestination["customer_id"])); 455 } 456 457 // メール全件送信完了後の処理 458 $completeSql = "UPDATE dtb_send_history SET end_date = now(), complete_count = ? WHERE send_id = ?"; 459 $objQuery->query($completeSql, array($complete_count, $send_id)); 460 461 // 送信完了 報告メール 462 $compSubject = date("Y年m月d日H時i分") . " 下記メールの配信が完了しました。"; 463 // 管理者宛に変更 464 $objMail->setTo($objSite->data["email03"]); 465 $objMail->setSubject($compSubject); 466 467 // テキストメール配信の場合 468 if ($arrMail["mail_method"] == 2 ) { 469 $sendResut = $objMail->sendMail(); 470 // HTMLメール配信の場合 471 } else { 472 $sendResut = $objMail->sendHtmlMail(); 473 } 474 return true; 475 } 384 476 } 385 477 ?> -
branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail.php
r20345 r20357 72 72 73 73 // テンプレート一覧設定 74 $this->arrTemplate = $this->lfGetMailTemplateList(SC_Helper_Mail_Ex::sfGetMail Template());74 $this->arrTemplate = $this->lfGetMailTemplateList(SC_Helper_Mail_Ex::sfGetMailmagaTemplate()); 75 75 76 76 $this->httpCacheControl('nocache'); … … 143 143 $this->arrErr = $objFormParam->checkError(); 144 144 if (SC_Utils_Ex::isBlank($this->arrErr)){ 145 $this->lfRegisterData($objFormParam);146 145 $this->tpl_mainpage = 'mail/index.tpl'; 147 //SC_Helper_Mail_Ex::hogehoge(); //送信処理148 $this->tpl_onload = "window.alert('メール送信が完了しました。配信履歴画面から確認してください。');";149 } 150 break; 151 // query:配信履歴 「確認」146 SC_Helper_Mail_Ex::sfSendMailmagazine($this->lfRegisterData($objFormParam)); // DB登録・送信 147 SC_Response_Ex::sendRedirect("./history.php"); 148 } 149 break; 150 // query:配信履歴から「確認」 152 151 case 'query': 153 152 if (SC_Utils_Ex::sfIsInt($_GET["send_id"])) { … … 156 155 $this->setTemplate('mail/query.tpl'); 157 156 break; 157 // query:配信履歴から「再送信」 158 case 'retry': 159 if (SC_Utils_Ex::sfIsInt($_GET["send_id"])) { 160 SC_Helper_Mail_Ex::sfSendMailmagazine($_GET['send_id']); // DB登録・送信 161 SC_Response_Ex::sendRedirect("./history.php"); 162 } else { 163 $this->tpl_onload = "window.alert('メール送信IDが正しくありません');"; 164 } 158 165 default: 159 166 break; … … 199 206 200 207 /** 201 * テンプレート一覧情報の取得202 * 203 * @param array $arrTemplate SC_Helper_Mail_Ex::sfGetMail Template()の戻り値208 * メルマガテンプレート一覧情報の取得 209 * 210 * @param array $arrTemplate SC_Helper_Mail_Ex::sfGetMailmagaTemplate()の戻り値 204 211 * @return array key:template_id value:サブジェクト【配信形式】 205 212 */ … … 231 238 * 配信内容と配信リストを書き込む 232 239 * 233 * @return string登録した行の dtb_send_history.send_id の値240 * @return integer 登録した行の dtb_send_history.send_id の値 234 241 */ 235 242 function lfRegisterData(&$objFormParam){ … … 263 270 } 264 271 } 272 return $send_id; 265 273 } 266 274 -
branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail_History.php
r20345 r20357 70 70 switch ($this->getMode()) { 71 71 case 'delete': 72 if (SC_Utils_Ex::sfIsInt($ send_id)) {72 if (SC_Utils_Ex::sfIsInt($_GET['send_id'])) { 73 73 // 削除時 74 74 $this->lfDeleteHistory($_GET['send_id']); -
branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail_Preview.php
r20345 r20357 69 69 case 'template': 70 70 if (SC_Utils_Ex::sfIsInt($_GET['template_id'])){ 71 $arrMail = $objMailHelper->sfGetMail Template($_GET['template_id']);71 $arrMail = $objMailHelper->sfGetMailmagaTemplate($_GET['template_id']); 72 72 $this->mail = $arrMail[0]; 73 73 } -
branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail_Template.php
r20345 r20357 82 82 break; 83 83 } 84 $this->arrTemplates = $objMailHelper->sfGetMail Template();84 $this->arrTemplates = $objMailHelper->sfGetMailmagaTemplate(); 85 85 } 86 86 -
branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail_TemplateInput.php
r20345 r20357 76 76 // 編集 77 77 if ( SC_Utils_Ex::sfIsInt($_GET['template_id'])===true ){ 78 $arrMail = $objMailHelper->sfGetMail Template($_GET['template_id']);78 $arrMail = $objMailHelper->sfGetMailmagaTemplate($_GET['template_id']); 79 79 $this->arrForm = $arrMail[0]; 80 80 }
Note: See TracChangeset
for help on using the changeset viewer.