Ignore:
Timestamp:
2007/06/14 22:01:13 (17 years ago)
Author:
adati
Message:

1.4.0a-betaのマージ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/beta/html/admin/mail/sendmail.php

    r11808 r14676  
    1111 
    1212if(MELMAGA_SEND != true) { 
    13     exit; 
    14 } 
    15  
     13    exit; 
     14} 
     15 
     16//¥ê¥¢¥ë¥¿¥¤¥àÇÛ¿®¥â¡¼¥É¤¬¥ª¥ó¤Î¤È¤­ 
    1617if($_GET['mode'] == 'now') { 
    17     //----¡¡Ì¤Á÷¿®¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë 
    18     $time_data = $conn->getAll( "SELECT send_id FROM dtb_send_history  WHERE complete_count = 0 AND del_flg = 0 ORDER BY send_id ASC, start_date ASC" ); 
     18    //----¡¡Ì¤Á÷¿®¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë 
     19    $time_data = $conn->getAll( "SELECT send_id FROM dtb_send_history  WHERE complete_count = 0 AND del_flg = 0 ORDER BY send_id ASC, start_date ASC" ); 
    1920} else { 
    20      
    21     // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë 
    22     if (DB_TYPE == "pgsql") { 
    23         $sql = "SELECT send_id FROM dtb_send_history  "; 
    24         $sql.= "WHERE start_date  BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes' AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 
    25     }else if (DB_TYPE == "mysql") { 
    26         $sql = "SELECT send_id FROM dtb_send_history  "; 
    27         $sql.= "WHERE start_date  BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 
    28     }    
    29     //----¡¡30ʬËè¤ËCron¤¬Á÷¿®»þ´Ö¥Ç¡¼¥¿³Îǧ 
    30     $time_data = $conn->getAll($sql); 
    31 } 
    32  
     21     
     22    // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë 
     23    if (DB_TYPE == "pgsql") { 
     24        $sql = "SELECT send_id FROM dtb_send_history  "; 
     25        $sql.= "WHERE start_date  BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes' AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 
     26    }else if (DB_TYPE == "mysql") { 
     27        $sql = "SELECT send_id FROM dtb_send_history  "; 
     28        $sql.= "WHERE start_date  BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 
     29    }    
     30    //----¡¡30ʬËè¤ËCron¤¬Á÷¿®»þ´Ö¥Ç¡¼¥¿³Îǧ 
     31    $time_data = $conn->getAll($sql); 
     32} 
     33 
     34//̤Á÷¿®¥á¡¼¥ë¤Î¿ô 
    3335$count = count($time_data); 
    3436 
     37//̤Á÷¿®¥á¡¼¥ë¤¬¤¢¤ì¤ÐÁ÷¿®½èÍý¤ò³¤±¤ë¡£¤Ê¤±¤ì¤ÐÃæÃǤ¹¤ë¡£ 
    3538if( $count > 0 ){ 
    36     print("start sending <br />\n"); 
     39    print("start sending <br />\n"); 
     40 
    3741} else { 
    38     print("not found <br />\n"); 
    39     exit; 
    40 } 
    41  
    42 //---- ¥á¡¼¥ëÁ÷¿® 
    43 for( $i = 0; $i < count( $time_data ); $i++ ) { 
    44  
    45     $sql = "SELECT * FROM dtb_send_customer WHERE send_id = ? AND (send_flag = 2 OR send_flag IS NULL)"; 
    46     $list_data[] = $conn->getAll( $sql, array( $time_data[$i]["send_id"] ) ); 
    47      
    48     $sql = "SELECT * FROM dtb_send_history WHERE send_id = ?"; 
    49     $mail_data[] = $conn->getAll( $sql, array( $time_data[$i]["send_id"] ) ); 
    50  
     42    print("not found <br />\n"); 
     43    exit; 
     44} 
     45 
     46//---- ¥á¡¼¥ëÁ÷¿®½àÈ÷ 
     47for( $i = 0; $i < $count; $i++ ) { 
     48 
     49    $sql = "SELECT * FROM dtb_send_customer WHERE send_id = ? AND (send_flag = 2 OR send_flag IS NULL)"; 
     50    $list_data[] = $conn->getAll( $sql, array( $time_data[$i]["send_id"] ) ); 
     51     
     52    $sql = "SELECT * FROM dtb_send_history WHERE send_id = ?"; 
     53    $mail_data[] = $conn->getAll( $sql, array( $time_data[$i]["send_id"] ) ); 
     54     
    5155} 
    5256 
     
    5559$objMail = new GC_SendMail(); 
    5660 
     61 
     62 
    5763//----¡¡¥á¡¼¥ëÀ¸À®¤ÈÁ÷¿® 
    58 for( $i = 0; $i < count( $time_data ); $i++ ) { 
    59  
    60     for( $j = 0; $j < count( $list_data[$i] ); $j ++ ) { 
    61  
    62         $customerName = ""; 
    63         $mailBody = ""; 
    64         $sendFlag = ""; 
     64for( $i = 0; $i < $count; $i++ ) { 
     65 
     66    for( $j = 0; $j < count( $list_data[$i] ); $j ++ ) { 
     67 
     68        $customerName = ""; 
     69        $mailBody = ""; 
     70        $sendFlag = ""; 
    6571 
    6672        //-- ¸ÜµÒ̾¤ÎÊÑ´¹ 
     
    7581        $mailBody = ereg_replace( "{name}", $customerName ,  $mail_data[$i][0]["body"] ); 
    7682 
    77         //-- ¥Æ¥­¥¹¥È¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç    
    78         if( $mail_data[$i][0]["mail_method"] == 2 ) { 
    79  
    80             $sendResut = MAIL_SENDING( 
    81                                          $list_data[$i][$j]["email"]                //¡¡¸ÜµÒ°¸Àè 
    82                                         ,$subjectBody                               //¡¡Subject 
    83                                         ,$mailBody                                  //¡¡¥á¡¼¥ëËÜʸ 
    84                                         ,$objSite->data["email03"]                  //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
    85                                         ,$objSite->data["company_name"]             //¡¡Á÷¿®¸µÌ¾ 
    86                                         ,$objSite->data["email03"]                  //¡¡reply_to 
    87                                         ,$objSite->data["email04"]                  //¡¡return_path 
    88                                         ,$objSite->data["email04"]                  //¡¡errors_to 
    89                                                                              ); 
    90  
    91         //--  HTML¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç   
    92         } elseif( $mail_data[$i][0]["mail_method"] == 1 || $mail_data[$i][0]["mail_method"] == 3) { 
    93              
    94             $sendResut = HTML_MAIL_SENDING( 
    95                                              $list_data[$i][$j]["email"] 
    96                                             ,$subjectBody 
    97                                             ,$mailBody 
    98                                             ,$objSite->data["email03"]                  //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
    99                                             ,$objSite->data["company_name"]             //¡¡Á÷¿®¸µÌ¾ 
    100                                             ,$objSite->data["email03"]                  //¡¡reply_to 
    101                                             ,$objSite->data["email04"]                  //¡¡return_path 
    102                                             ,$objSite->data["email04"]                  //¡¡errors_to 
    103                                                                      ); 
    104         } 
    105      
    106         //-- Á÷¿®´°Î»¤Ê¤é1¡¢¼ºÇԤʤé0¤ò¥á¡¼¥ëÁ÷¿®·ë²Ì¥Õ¥é¥°¤È¤·¤ÆDB¤ËÁÞÆþ 
    107         if( ! $sendResut ){ 
    108              $sendFlag = "-1"; 
     83 
     84        //-- ¥á¥ë¥Þ¥¬ÇÛ¿®¤ò¥Ö¥ì¥¤¥óÏ¢·È¤Ç¹Ô¤¦¾ì¹ç 
     85        if(lfGetBlayn()){ 
     86             
     87            //-- ʸ»ú¤òÆüËܸì¤ËÀßÄê 
     88            Mb_language( "Japanese" ); 
     89                   
     90            //-- Á÷¿®¤¹¤ë¥á¡¼¥ë¤ÎÆâÍƤÈÁ÷¿®Àè 
     91            $sendResut = array(  
     92                          "to" => $list_data[$i][$j]["email"]        //¡¡¸ÜµÒ°¸Àè  
     93                    ,"subject" => mb_encode_mimeheader($subjectBody) //¡¡Subject   
     94                       ,"from" => $objSite->data["email03"]          //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹  
     95                  ,"replay_to" => $objSite->data["email03"]          //¡¡reply_to  
     96                ,"return_path" => $objSite->data["email04"]          //¡¡return_path 
     97                                                                       ); 
     98            //-- ¥á¥Ã¥»¡¼¥¸¤Î¹½ÃÛ 
     99            $html_param['head_charset'] = "ISO-2022-JP"; 
     100            $html_param['html_encoding'] = "ISO-2022-JP"; 
     101            $html_param['html_charset'] = "JIS"; 
     102             
     103            //-- ¥Ö¥ì¥¤¥óSMTP¥µ¡¼¥Ð¡¼IP¥¢¥É¥ì¥¹  
     104            $sql = "SELECT blayn_ip FROM dtb_blayn"; 
     105            $host = $conn->getAll($sql); 
     106            $param = array(    
     107                       'host' => $host[0][blayn_ip] 
     108                      ,'port' => SMTP_PORT_BLAYN                   
     109                                                  ); 
     110 
     111            //-- Mail_mime¥ª¥Ö¥¸¥§¥¯¥ÈºîÀ® 
     112            $mail_mimeObj = new Mail_mime(); 
     113             
     114            //-- Mail_mime¥ª¥Ö¥¸¥§¥¯¥È¤ËHTML¤ÎËÜʸ¤òÄɲà
     115            $mailBody = mb_convert_encoding($mailBody, "JIS", CHAR_CODE); 
     116            $mail_mimeObj->setHTMLBody($mailBody); 
     117             
     118            $body = $mail_mimeObj->get($html_param); 
     119            $header = $mail_mimeObj->headers($sendResut); 
     120             
     121            //-- PEAR::Mail¤ò»È¤Ã¤Æ¥á¡¼¥ëÁ÷¿®¥ª¥Ö¥¸¥§¥¯¥ÈºîÀ® 
     122            $mailObj =& Mail::factory("smtp", $param); 
     123            // ¥á¡¼¥ëÁ÷¿® 
     124            $result = $mailObj->send($sendResut["to"], $header, $body); 
     125 
    109126        } else { 
    110             $sendFlag = "1"; 
    111              
    112             // ´°Î»¤ò1¤³Áý¤ä¤¹ 
    113             $sql = "UPDATE dtb_send_history SET complete_count = complete_count + 1 WHERE send_id = ?"; 
    114             $conn->query( $sql, array($mail_data[$i][0]["send_id"]) ); 
    115         } 
    116  
    117         $conn->query( $sql_flag, array( $sendFlag, $mail_data[$i][0]["send_id"], $list_data[$i][$j]["customer_id"] ) ); 
    118          
    119          
    120  
    121     } 
    122  
    123     //--- ¥á¡¼¥ëÁ´·ïÁ÷¿®´°Î»¸å¤Î½èÍý 
    124     $completeSql = "UPDATE dtb_send_history SET end_date = now() WHERE send_id = ?"; 
    125     $conn->query( $completeSql, array( $time_data[$i]["send_id"] ) ); 
    126  
    127     //---¡¡Á÷¿®´°Î»¡¡Êó¹ð¥á¡¼¥ë 
    128     $compData =  date("Yǯm·îdÆüH»þiʬ" . "  ²¼µ­¥á¡¼¥ë¤ÎÇÛ¿®¤¬´°Î»¤·¤Þ¤·¤¿¡£" ); 
    129  
    130     HTML_MAIL_SENDING( 
    131                      $objSite->data["email03"]   
    132                     ,$compData 
    133                     ,$mail_data[$i][0]["body"] 
    134                     ,$objSite->data["email03"]                  //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
    135                     ,$objSite->data["company_name"]             //¡¡Á÷¿®¸µÌ¾ 
    136                     ,$objSite->data["email03"]                  //¡¡reply_to 
    137                     ,$objSite->data["email04"]                  //¡¡return_path 
    138                     ,$objSite->data["email04"]                  //¡¡errors_to 
    139                  ); 
    140                   
    141     if ($_GET['mode'] = "now") { 
    142         header("Location: " . URL_DIR . "admin/mail/history.php"); 
    143     } 
    144     echo "complete\n"; 
     127            //-- ¥Æ¥­¥¹¥È¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç 
     128            if( $mail_data[$i][0]["mail_method"] == 2 ) { 
     129 
     130                $sendResut = MAIL_SENDING( 
     131                                         $list_data[$i][$j]["email"]                //¡¡¸ÜµÒ°¸Àè 
     132                                        ,$subjectBody                               //¡¡Subject 
     133                                        ,$mailBody                                  //¡¡¥á¡¼¥ëËÜʸ 
     134                                        ,$objSite->data["email03"]                  //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
     135                                        ,$objSite->data["company_name"]             //¡¡Á÷¿®¸µÌ¾ 
     136                                        ,$objSite->data["email03"]                  //¡¡reply_to 
     137                                        ,$objSite->data["email04"]                  //¡¡return_path 
     138                                        ,$objSite->data["email04"]                  //¡¡errors_to 
     139                                                                         ); 
     140                                                                          
     141 
     142            //--  HTML¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç   
     143            } elseif( $mail_data[$i][0]["mail_method"] == 1 || $mail_data[$i][0]["mail_method"] == 3) { 
     144             
     145                $sendResut = HTML_MAIL_SENDING( 
     146                                             $list_data[$i][$j]["email"] 
     147                                            ,$subjectBody 
     148                                            ,$mailBody 
     149                                            ,$objSite->data["email03"]                  //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
     150                                            ,$objSite->data["company_name"]             //¡¡Á÷¿®¸µÌ¾ 
     151                                            ,$objSite->data["email03"]                  //¡¡reply_to 
     152                                            ,$objSite->data["email04"]                  //¡¡return_path 
     153                                            ,$objSite->data["email04"]                  //¡¡errors_to 
     154                                                                     ); 
     155            } 
     156        } 
     157   
     158        //-- Á÷¿®´°Î»¤Ê¤é1¡¢¼ºÇԤʤé-1¤ò¥á¡¼¥ëÁ÷¿®·ë²Ì¥Õ¥é¥°¤È¤·¤ÆDB¤ËÁÞÆþ 
     159        if( ! $sendResut ){ 
     160            $sendFlag = "-1"; 
     161        } else { 
     162            $sendFlag = "1"; 
     163             
     164            // ´°Î»¤ò 1 Áý¤ä¤¹ 
     165            $sql = "UPDATE dtb_send_history SET complete_count = complete_count + 1 WHERE send_id = ?"; 
     166            $conn->query( $sql, array($mail_data[$i][0]["send_id"])); 
     167        } 
     168 
     169        $conn->query( $sql_flag, array( $sendFlag, $mail_data[$i][0]["send_id"], $list_data[$i][$j]["customer_id"] ) ); 
     170         
     171         
     172 
     173    } 
     174 
     175    //--- ¥á¡¼¥ëÁ´·ïÁ÷¿®´°Î»¸å¤Î½èÍý 
     176    $completeSql = "UPDATE dtb_send_history SET end_date = now() WHERE send_id = ?"; 
     177    $conn->query( $completeSql, array( $time_data[$i]["send_id"] ) ); 
     178 
     179    //---¡¡Á÷¿®´°Î»¡¡Êó¹ð¥á¡¼¥ë 
     180    $compData =  date("Yǯm·îdÆüH»þiʬ" . "  ²¼µ­¥á¡¼¥ë¤ÎÇÛ¿®¤¬´°Î»¤·¤Þ¤·¤¿¡£" ); 
     181 
     182    HTML_MAIL_SENDING( 
     183                     $objSite->data["email03"]   
     184                    ,$compData 
     185                    ,$mail_data[$i][0]["body"] 
     186                    ,$objSite->data["email03"]                  //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
     187                    ,$objSite->data["company_name"]             //¡¡Á÷¿®¸µÌ¾ 
     188                    ,$objSite->data["email03"]                  //¡¡reply_to 
     189                    ,$objSite->data["email04"]                  //¡¡return_path 
     190                    ,$objSite->data["email04"]                  //¡¡errors_to 
     191                 ); 
     192                
     193    if ($_GET['mode'] = "now") { 
     194        header("Location: " . URL_DIR . "admin/mail/history.php"); 
     195    } 
     196    echo "complete\n"; 
    145197 
    146198} 
     
    150202function MAIL_SENDING( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to="", $bcc="", $cc ="" ) { 
    151203 
    152  
    153     $mail_obj = new GC_SendMail();   
    154     $mail_obj->setItem( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 
    155          
    156     if( $mail_obj->sendMail() ) { 
    157         return true; 
    158     } 
    159      
     204    $mail_obj = new GC_SendMail();   
     205    $mail_obj->setItem( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 
     206         
     207    if( $mail_obj->sendMail() ) { 
     208        return true; 
     209    } 
     210     
    160211} 
    161212 
     
    163214function HTML_MAIL_SENDING( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to="", $bcc="", $cc ="" ) { 
    164215 
    165  
    166     $html_mail_obj = new GC_SendMail(); 
    167     $html_mail_obj->setItemHtml( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 
    168  
    169              
    170     if( $html_mail_obj->sendHtmlMail() ) { 
    171         return true;     
    172     } 
    173      
    174 } 
    175  
    176  
     216    $html_mail_obj = new GC_SendMail(); 
     217    $html_mail_obj->setItemHtml( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 
     218             
     219    if( $html_mail_obj->sendHtmlMail() ) { 
     220        return true;     
     221    } 
     222     
     223} 
     224 
     225// ¥Ö¥ì¥¤¥ó¥¨¥ó¥¸¥ó¤¬ÀßÄêºÑ¤ß¤«³Îǧ 
     226function lfGetBlayn() { 
     227     
     228    $objQuery = new SC_Query(); 
     229     
     230    $arrRet[now_version] = $objQuery->count("dtb_module", "now_version = (SELECT now_version FROM dtb_module WHERE main_php='blayn/blayn.php')"); 
     231    $arrRet[blayn_ip] = $objQuery->count("dtb_blayn"); 
     232     
     233    if (!empty($arrRet[now_version]) && !empty($arrRet[blayn_ip])) { 
     234        return true; 
     235    } else { 
     236        return false; 
     237    } 
     238} 
    177239?> 
Note: See TracChangeset for help on using the changeset viewer.