Changeset 18661


Ignore:
Timestamp:
2010/05/30 13:30:15 (14 years ago)
Author:
Seasoft
Message:

#710(メールマガジンが両方のメールに配信されるのを回避)実装

  • PCメールアドレスと携帯メールアドレスが同一の場合、携帯メールアドレスのみで登録している顧客と判断。
Location:
branches/comu-ver2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/Smarty/templates/default/admin/mail/index.tpl

    r18254 r18661  
    139139            <th>配信メールアドレス種別</th> 
    140140            <td> 
    141                 <!--{html_radios name="mail_type" options=$arrMailType separator="&nbsp;" selected=$list_data.mail_type}--> 
     141                <!--{html_radios name="mail_type" options=$arrMailType separator="<br />" selected=$list_data.mail_type}--> 
    142142            </td> 
    143143        </tr> 
  • branches/comu-ver2/data/class/SC_CustomerList.php

    r18234 r18661  
    194194        // 配信メールアドレス種別 
    195195        if ( $mode == 'magazine' ){ 
     196            $sqlEmailMobileIsEmpty = "(dtb_customer.email_mobile IS NULL OR dtb_customer.email_mobile = '')"; 
    196197            if (!isset($this->arrSql['mail_type'])) $this->arrSql['mail_type'] = ""; 
    197             // PCサイトメールが指定されている場合 
    198             if ( strlen($this->arrSql['mail_type']) > 0 && $this->arrSql['mail_type'] == 1) { 
    199                 // 携帯ドメインを外す。 
    200                 foreach($arrMobileDomain as $mobile_domain) { 
    201                     $this->setWhere(" dtb_customer.email NOT ILIKE '%$mobile_domain' "); 
    202                 } 
    203             // 携帯サイトメールが指定されている場合 
    204             } else if( strlen($this->arrSql['mail_type']) > 0 && $this->arrSql['mail_type'] == 2) { 
    205                 $this->setWhere( " dtb_customer.email_mobile <> ''  "); 
     198            switch ($this->arrSql['mail_type']) { 
     199                // PCメールアドレス 
     200                case 1: 
     201                    $this->setWhere("(dtb_customer.email <> dtb_customer.email_mobile OR $sqlEmailMobileIsEmpty)"); 
     202                    break; 
     203                // 携帯メールアドレス 
     204                case 2: 
     205                    $this->setWhere("NOT $sqlEmailMobileIsEmpty"); 
     206                    break; 
     207                // PCメールアドレス (携帯メールアドレスを登録している顧客は除外) 
     208                case 3: 
     209                    $this->setWhere($sqlEmailMobileIsEmpty); 
     210                    break; 
     211                // 携帯メールアドレス (PCメールアドレスを登録している顧客は除外) 
     212                case 4: 
     213                    $this->setWhere('dtb_customer.email = dtb_customer.email_mobile'); 
     214                    break; 
    206215            } 
    207216        } 
  • branches/comu-ver2/html/install/sql/insert_data.sql

    r18616 r18661  
    675675INSERT INTO mtb_sex VALUES ('1', '男性',0); 
    676676INSERT INTO mtb_sex VALUES ('2', '女性',1); 
    677 INSERT INTO mtb_mail_type VALUES ('1', 'パソコン用アドレス',0); 
    678 INSERT INTO mtb_mail_type VALUES ('2', '携帯用アドレス',1); 
     677INSERT INTO mtb_mail_type VALUES ('1', 'PCメールアドレス',0); 
     678INSERT INTO mtb_mail_type VALUES ('2', '携帯メールアドレス',1); 
     679INSERT INTO mtb_mail_type VALUES ('3', 'PCメールアドレス (携帯メールアドレスを登録している顧客は除外)',2); 
     680INSERT INTO mtb_mail_type VALUES ('4', '携帯メールアドレス (PCメールアドレスを登録している顧客は除外)',3); 
    679681INSERT INTO mtb_page_rows VALUES ('10', '10',0); 
    680682INSERT INTO mtb_page_rows VALUES ('20', '20',1); 
Note: See TracChangeset for help on using the changeset viewer.