Changeset 21989


Ignore:
Timestamp:
2012/08/05 22:40:04 (12 years ago)
Author:
Seasoft
Message:

#1903 (無駄な処理を改善する)

  • mb_language は、SC_Initial で常に呼び出す
  • "\x0A" → "\n" の置換は意味が無いと考え削除
  • str_replace の置換を1コールで実行

#1914 (SC_SendMail#getBackendParams switch の default が本体の初期値と一致していない)
#1905 (typo修正・ソース整形・ソースコメントの改善)
#1913 (SC_SendMail PEAR::Mail のエラーを検出せず処理を続け、後続処理でコケる)

Location:
branches/version-2_12-dev/data/class
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Initial.php

    r21967 r21989  
    125125 
    126126        mb_language('ja'); // mb_internal_encoding() より前に 
    127         // TODO 他に mb_language() している箇所の削除を検討 
    128127        // TODO .htaccess の mbstring.language を削除できないか検討 
    129128 
  • branches/version-2_12-dev/data/class/SC_SendMail.php

    r21987 r21989  
    2222 */ 
    2323 
    24 //--- テキスト/HTML メール送信 
     24// テキスト/HTML メール送信 
    2525class SC_SendMail { 
    2626 
    27     var $to;            //  送信先 
    28     var $subject;       //  題名 
    29     var $body;          //  本文 
     27    var $to;            // 送信先 
     28    var $subject;       // 題名 
     29    var $body;          // 本文 
    3030    var $cc;            // CC 
    3131    var $bcc;           // BCC 
     
    3434    var $objMail; 
    3535 
    36     // コンストラクタ 
     36    /** 
     37     * コンストラクタ 
     38     * 
     39     * @return void 
     40     */ 
    3741    function __construct() { 
    3842        $this->arrRecip = array(); 
     
    4751        $this->host = SMTP_HOST; 
    4852        $this->port = SMTP_PORT; 
    49         mb_language('Japanese'); 
    50  
    51         //-- PEAR::Mailを使ってメール送信オブジェクト作成 
     53 
     54        // PEAR::Mailを使ってメール送信オブジェクト作成 
    5255        $this->objMail =& Mail::factory($this->backend, 
    5356                                        $this->getBackendParams($this->backend)); 
     57        if (PEAR::isError($this->objMail)) { 
     58            // XXX 環境によっては文字エンコードに差異がないか些か心配 
     59            trigger_error($this->objMail->getMessage(), E_USER_ERROR); 
     60        } 
    5461    } 
    5562 
     
    103110    function setSubject($subject) { 
    104111        $this->subject = mb_encode_mimeheader($subject, 'JIS', 'B', "\n"); 
    105         $this->subject = str_replace("\x0D\x0A", "\n", $this->subject); 
    106         $this->subject = str_replace("\x0D", "\n", $this->subject); 
    107         $this->subject = str_replace("\x0A", "\n", $this->subject); 
     112        $this->subject = str_replace(array("\r\n", "\r"), "\n", $this->subject); 
    108113    } 
    109114 
     
    126131                'port' => $this->port 
    127132        ); 
    128         //-- PEAR::Mailを使ってメール送信オブジェクト作成 
     133        // PEAR::Mailを使ってメール送信オブジェクト作成 
    129134        $this->objMail =& Mail::factory('smtp', $arrHost); 
    130135 
     
    143148                'port' => $this->port 
    144149        ); 
    145         //-- PEAR::Mailを使ってメール送信オブジェクト作成 
     150        // PEAR::Mailを使ってメール送信オブジェクト作成 
    146151        $this->objMail =& Mail::factory('smtp', $arrHost); 
    147152    } 
     
    209214    // ヘッダーを返す 
    210215    function getBaseHeader() { 
    211         //-- 送信するメールの内容と送信先 
     216        // 送信するメールの内容と送信先 
    212217        $arrHeader = array(); 
    213218        $arrHeader['MIME-Version'] = '1.0'; 
     
    305310                $arrParams = array(); 
    306311                break; 
     312 
    307313            case 'sendmail': 
    308314                $arrParams = array( 
     
    311317                ); 
    312318                break; 
     319 
    313320            case 'smtp': 
    314             default: 
    315321                $arrParams = array( 
    316322                    'host' => $this->host, 
     
    326332                } 
    327333                break; 
     334 
     335            default: 
     336                trigger_error('不明なバックエンド。[$backend = ' . var_export($backend, true) . ']', E_USER_ERROR); 
     337                exit; 
    328338        } 
    329339        return $arrParams; 
Note: See TracChangeset for help on using the changeset viewer.