Exemplo n.º 1
0
        if (gcms::isAdmin()) {
            $sender = $db->getRec(DB_USER, $_POST['email_from']);
        } else {
            $sender = $_SESSION['login'];
        }
        // ตรวจสอบค่าที่ส่งมา
        if ($sender['email'] == '') {
            $ret['error'] = 'ACTION_ERROR';
        } elseif ($reciever == '') {
            $ret['error'] = 'RECIEVER_EMPTY';
            $ret['input'] = 'email_reciever';
        } elseif ($sender == $reciever) {
            $ret['error'] = 'ACTION_ERROR';
        } elseif ($topic == '') {
            $ret['error'] = 'TOPIC_EMPTY';
            $ret['input'] = 'email_subject';
        } elseif ($detail == '') {
            $ret['error'] = 'DETAIL_EMPTY';
        } else {
            $error = gcms::customMail($reciever, "{$sender['email']}<{$sender['displayname']}>", $topic, $detail);
            if ($error == '') {
                $ret['error'] = 'EMAIL_SEND_SUCCESS';
                $ret['location'] = 'back';
            } else {
                $ret['alert'] = rawurlencode($error);
            }
        }
    }
    // คืนค่าเป็น JSON
    echo gcms::array2json($ret);
}
Exemplo n.º 2
0
 /**
  * ฟังก์ชั่นส่งเมล์จากแม่แบบจดหมาย
  *
  * @global resource $db database resource
  * @global array $config ตัวแปรเก็บการตั้งค่าของ GCMS
  * @global int $mmktime เวลาปัจจุบัน (mktime)
  * @param int $id ID ของจดหมายที่ต้องการส่ง
  * @param string $module ชื่อโมดูลของจดหมายที่ต้องการส่ง
  * @param array $datas ข้อมูลที่จะถูกแทนที่ลงในจดหมาย ในรูป 'ตัวแปร'=>'ข้อความ'
  * @param string $to ที่อยู่อีเมล์ผู้รับ  คั่นแต่ละรายชื่อด้วย ,
  * @return string สำเร็จคืนค่าว่าง ไม่สำเร็จ คืนค่าข้อความผิดพลาด
  */
 public static function sendMail($id, $module, $datas, $to)
 {
     global $db, $config, $mmktime;
     $sql = "SELECT * FROM `" . DB_EMAIL_TEMPLATE . "`";
     $sql .= " WHERE `module`='{$module}' AND `email_id`='{$id}' AND `language` IN ('" . LANGUAGE . "','th')";
     $sql .= " LIMIT 1";
     $email = $db->customQuery($sql);
     if (sizeof($email) == 0) {
         return 'Error : email template not found.';
     } else {
         $email = $email[0];
         // ข้อความในอีเมล์
         $replace = array();
         $replace['/%WEBTITLE%/'] = strip_tags($config['web_title']);
         $replace['/%WEBURL%/'] = WEB_URL;
         $replace['/%EMAIL%/'] = $to;
         $replace['/%ADMINEMAIL%/'] = empty($email['from_email']) ? $config['noreply_email'] : $email['from_email'];
         $replace['/%TIME%/'] = gcms::mktime2date($mmktime);
         $replace = array_merge($replace, $datas);
         $patt = array_keys($replace);
         $replace = array_values($replace);
         $msg = preg_replace($patt, $replace, $email['detail']);
         $subject = preg_replace($patt, $replace, $email['subject']);
         // ส่งอีเมล์
         return gcms::customMail($to . (!empty($email['copy_to']) ? ",{$email['copy_to']}" : ''), $email['from_email'], $subject, $msg);
     }
 }
Exemplo n.º 3
0
            $ret['error'] = 'ACTION_ERROR';
            $ret['input'] = 'mail_reciever';
        } elseif ($sender == $reciever) {
            $ret['error'] = 'EMAIL_SEND_SELF';
            $ret['input'] = 'mail_sender';
        } elseif ($topic == '') {
            $ret['error'] = 'TOPIC_EMPTY';
            $ret['input'] = 'mail_topic';
        } elseif ($detail == '') {
            $ret['error'] = 'DETAIL_EMPTY';
        } elseif ($_POST['mail_antispam'] != $_SESSION[$_POST['antispam']]) {
            $ret['ret_mail_antispam'] = 'this';
            $ret['input'] = 'mail_antispam';
        } else {
            // ส่งอีเมล์
            $error = gcms::customMail($reciever, $sender, $topic, $detail);
            // clear antispam
            unset($_SESSION['emails']);
            unset($_SESSION[$_POST['antispam']]);
            // คืนค่า
            if ($error == '') {
                $ret['error'] = 'EMAIL_SEND_SUCCESS';
                $ret['location'] = 'back';
            } else {
                $ret['alert'] = rawurlencode($error);
            }
        }
    }
    // คืนค่าเป็น JSON
    echo gcms::array2json($ret);
}
Exemplo n.º 4
0
         } elseif (!gcms::validMail($sender['email'])) {
             $ret['error'] = 'REGISTER_INVALID_EMAIL';
             $ret['input'] = 'mail_sender';
         } elseif (sizeof($emails) == 0) {
             $ret['error'] = 'EMAIL_RECIEVER_NOT_FOUND';
         } elseif ($topic == '') {
             $ret['error'] = 'TOPIC_EMPTY';
             $ret['input'] = 'mail_topic';
         } elseif ($detail == '') {
             $ret['error'] = 'DETAIL_EMPTY';
         } elseif ($_POST['mail_antispam'] != $_SESSION[$_POST['antispam']]) {
             $ret['ret_mail_antispam'] = 'this';
             $ret['input'] = 'mail_antispam';
         } else {
             // ส่งอีเมล์
             $error = gcms::customMail(implode(',', $emails), "{$sender['email']}<{$sender['displayname']}>", $topic, $detail);
             // clear antispam
             unset($_SESSION['emails']);
             unset($_SESSION[$_POST['antispam']]);
             // คืนค่า
             if ($error == '') {
                 $ret['error'] = 'EMAIL_SEND_SUCCESS';
                 $ret['location'] = 'back';
             } else {
                 $ret['alert'] = rawurlencode($error);
             }
         }
     }
 }
 // คืนค่าเป็น JSON
 echo gcms::array2json($ret);