Esempio n. 1
0
// メンテナンスフラグのチェック
if (Maintenance::checkMaintenance()) {
    exit;
}
// 標準入力からメール情報を取得し、解析する
$ComMimeParserMailOBJ = ComMimeParserMail::getInstance();
$BlackListOBJ = BlackList::getInstance();
$AllowDomainOBJ = AllowDomain::getInstance();
// 登録オブジェクトの作成
$PreRegistOBJ = PreRegist::getInstance();
$UserOBJ = User::getInstance();
// メール文言取得
$AutoMailOBJ = AutoMail::getInstance();
$headers = $ComMimeParserMailOBJ->getHeaders();
// 携帯メールアドレスである
if (ComValidation::isMobileAddress($headers["from"])) {
    $mbFlag = true;
}
// 送信元メアドの取得
$mailAddress = $headers["from"];
//black_userに該当する場合は登録拒否
$dangerFlag = FALSE;
//個体識別でチェック
if ($mbFlag && $param["uid"]) {
    if ($BlackListOBJ->searchBlackListByMbSerialNumber($param["uid"])) {
        $dangerFlag = TRUE;
    }
}
//メールアドレスでチェック
if ($BlackListOBJ->searchBlackListByAddress($mailAddress)) {
    $dangerFlag = TRUE;
Esempio n. 2
0
// メール文言取得
$AutoMailOBJ = AutoMail::getInstance();
// xml出力
$DOMDocumentOBJ = new DOMDocument("1.0", "UTF-8");
$root = $DOMDocumentOBJ->createElement("result");
$DOMDocumentOBJ->appendChild($root);
$param = $requestOBJ->getAllParameter();
$affiliateValue = http_build_query($param);
// 送信元メアドの取得
$mailAddress = urldecode($param["mail"]);
// 広告コードの引数が違うため格納
if ($param["ad_code"]) {
    $param["advcd"] = $param["ad_code"];
}
// 携帯メールアドレスである
if (ComValidation::isMobileAddress($mailAddress)) {
    $mbFlag = true;
}
//black_userに該当する場合は登録拒否
$dangerFlag = FALSE;
//個体識別でチェック
if ($mbFlag && $param["uid"]) {
    if ($BlackListOBJ->searchBlackListByMbSerialNumber($param["uid"])) {
        $dangerFlag = TRUE;
    }
}
//メールアドレスでチェック
if ($BlackListOBJ->searchBlackListByAddress($mailAddress)) {
    $dangerFlag = TRUE;
}
//ドメインで可否チェック
    exit;
}
// メアドの重複チェック
if (!($duplicateUserData = $UserOBJ->getUserDataFromMailAddress($mailAddressChangeData["mail_address"]))) {
    $duplicateUserData = $UserOBJ->chkUserDataFromLoginId($mailAddressChangeData["mail_address"]);
}
// 重複メアドがあった場合
if ($duplicateUserData) {
    $errSessOBJ->errMsg[] = "メールアドレスが重複しています。";
    header("Location: ./?action_Update=1" . ($comURLparam ? "&" . $comURLparam : ""));
    exit;
}
// トランザクション開始
$UserOBJ->beginTransaction();
// メールステータス等も初期化
if (ComValidation::isMobileAddress($mailAddressChangeData["mail_address"])) {
    $updateUserData["mb_device_cd"] = $ComUtilityOBJ->getDeviceFromMailAddress($mailAddressChangeData["mail_address"]);
    $updateUserData["mb_address"] = $mailAddressChangeData["mail_address"];
    $updateUserData["mb_address_status"] = 0;
    $updateUserData["mb_send_status"] = 0;
    $updateUserData["mb_emsys_count"] = 0;
    $updateProfileData["mb_is_mailmagazine"] = 0;
    // 変更前メアドがログインIDと一緒ならログインIDも変更
    if ($comUserData["mb_address"] == $comUserData["login_id"]) {
        $updateUserData["login_id"] = $mailAddressChangeData["mail_address"];
    }
    // アドレス新規登録か
    if (!$comUserData["mb_address"]) {
        $firstReg = true;
    }
} else {
Esempio n. 4
0
    //    $errMsg[] = "PCメールアドレスが重複しています";
}
// PCアドレスステ-タス
if (!ComValidation::isNumeric($param["pc_address_status"])) {
    $errMsg[] = "PCアドレスステ-タスを選択してください";
}
// PC送信ステ-タス
if (!ComValidation::isNumeric($param["pc_send_status"])) {
    $errMsg[] = "PC送信ステ-タスを選択してください";
}
// PCメール受信設定
if (!ComValidation::isNumeric($param["pc_is_mailmagazine"])) {
    $errMsg[] = "PCメール受信設定を選択してください";
}
// MBメールアドレス
if (ComValidation::isValue($param["mb_address"]) and !ComValidation::isMobileAddress($param["mb_address"])) {
    $errMsg[] = "MBメールアドレスが正しくありません";
    //} else if ($AdminUserOBJ->chkUserDataFromMbMailAddress($param["mb_address"], $param["user_id"])) {
    //    $errMsg[] = "MBメールアドレスが重複しています";
}
// MBアドレスステータス
if (!ComValidation::isNumeric($param["mb_address_status"])) {
    $errMsg[] = "MBアドレスステータスを選択してください";
}
// MB送信ステ-タス
if (!ComValidation::isNumeric($param["mb_send_status"])) {
    $errMsg[] = "MB送信ステ-タスを選択してください";
}
// MBメール受信設定
if (!ComValidation::isNumeric($param["mb_is_mailmagazine"])) {
    $errMsg[] = "MBメール受信設定を選択してください";
Esempio n. 5
0
 * @copyright   2009 Fraise, Inc.
 * @author      mitsuhiro nakamura
 */
require_once D_BASE_DIR . "/common/post_common.php";
require_once $controllerOBJ->getIncludeBusinessLogic("postInclude");
$errSessOBJ = new ComSessionNamespace("err_msg");
$UserOBJ = User::getInstance();
$param = $requestOBJ->getParameterExcept($exceptArray);
$mailAddressMB = $param["mb_mail_account"] . "@" . $param["mb_mail_domain"];
if ($param["login_id"] != $comUserData["login_id"]) {
    $errFlag = true;
}
if ($UserOBJ->createPasswordKey($param["password"]) != $comUserData["password"]) {
    $errFlag = true;
}
if (!ComValidation::isMobileAddress($mailAddressMB)) {
    $errFlag = true;
}
if (!ComValidation::isNumeric($param["q1"]) or $param["q1"] == 1 and !ComValidation::isNumeric($param["q6"]) or (!ComValidation::isNumeric($param["q2"]) or $param["q2"] == 1 and !ComValidation::isNumeric($param["q7"])) or (!ComValidation::isNumeric($param["q3"]) or $param["q3"] == 1 and !ComValidation::isNumeric($param["q8"])) or (!ComValidation::isNumeric($param["q4"]) or $param["q4"] == 1 and !ComValidation::isNumeric($param["q9"])) or (!ComValidation::isNumeric($param["q5"]) or $param["q5"] == 1 and !$param["q10"])) {
    $errFlag = true;
}
if ($errFlag) {
    $errSessOBJ->errMsg[] = "必須項目に入力漏れがあります";
    header("Location: ./?action_Taikai=1" . ($comURLparam ? "&" . $comURLparam : "") . "&" . $sessId);
    exit;
}
$QuitRequestOBJ = QuitRequest::getInstance();
if (!$QuitRequestOBJ->getQuitRequestData($comUserDataId)) {
    // 退会申請情報をインサート
    $insertArray["user_id"] = $comUserDataId;
    $insertArray["create_datetime"] = date("YmdHis");
Esempio n. 6
0
 $whereArray = "";
 $updateArray = "";
 $insertAry = "";
 $userAry = "";
 $data = explode("\t", $getData[$i]);
 $userMailAddress = $data["0"];
 $errorType = $data["1"];
 if (!$userMailAddress) {
     continue;
 }
 // ユーザー情報を(メアドから)取得(MB/PCの切り分け)
 $userData = $UserOBJ->getAllUserDataFromMailAddress($userMailAddress);
 if (!$userData) {
     continue;
 }
 if (ComValidation::isMobileAddress($userMailAddress)) {
     $deviceCd = ErrorMailLog::DEVICE_TYPE_MB;
 } else {
     $deviceCd = ErrorMailLog::DEVICE_TYPE_PC;
 }
 // 解析結果から取得したメアドの存在チェック
 $logId = $emOBJ->isErrorMailLog($userData["user_id"], $userMailAddress);
 // 既に有ればエラーカウントのアップ
 if ($logId) {
     $whereArray[] = "id = " . $logId;
     // 更新用配列生成
     $updateArray["error_count"] = "error_count + 1";
     $updateArray["error_type"] = $errorType;
     $emOBJ->updateErrorMailLogData($updateArray, $whereArray, false);
     // 無ければ新規レコード追加
 } else {
Esempio n. 7
0
 /**
  * mailToメソッド
  *
  * メール送信実行
  *
  * @param array   $$mailElements  送信する要素
  *   [from_address]:メール送信元アドレス
  *   [from_name]   :メール送信元名(任意)
  *   [return_path] :リターンアドレス(任意)
  *   [subject]     :メールタイトル
  *   [text_body]   :メール本文(テキスト)
  *   [html_body]   :メール本文(HTML)(任意)
  * @return 送信成功:True 送信失敗:False
  */
 public function mailTo($mailElements, $sec = 0, $imageData = null, $imageType = null)
 {
     if (!$mailElements["from_address"]) {
         // from_addressなくてもエラーでは無い場合があるので、tureで返却(送信処理はしない)
         return true;
     }
     //Get mobile domain name
     $SendMailOBJ = SendMail::getInstance();
     if (ComValidation::isMobileAddress($mailElements["to_address"])) {
         $SendMailOBJ->setMailServerIp($this->_configOBJ->common_config->remail_mb_only->remail);
     } else {
         $SendMailOBJ->setMailServerIp($this->_configOBJ->common_config->smtp_mail_server_ip->remail);
     }
     return $SendMailOBJ->smtpMailTo($mailElements, $sec, $imageData, $imageType);
 }
Esempio n. 8
0
$currentDateTime = date("Y-m-d H:i:s");
$accessKey = $UserOBJ->getNewAccessKey($currentDateTime);
$remailKey = $UserOBJ->getNewRemailKey($currentDateTime);
$password = ComUtility::getRamdomNumber(4);
$userAry = array("login_id" => $param["mail_address"], "password" => $UserOBJ->createPasswordKey($password), "access_key" => $accessKey, "remail_key" => $remailKey, "regist_status" => $registStatus, "media_cd" => $aryAffiliateValue["advcd"], "regist_page_id" => $preRegistData["regist_page_id"], "affiliate_value" => $preRegistData["affiliate_value"], "pre_regist_datetime" => $currentDateTime, "update_datetime" => $currentDateTime);
if ($adCdRule16Flag) {
    $userAry["affiliate_first_cd"] = substr($aryAffiliateValue["advcd"], 0, 4);
    $userAry["affiliate_last_cd"] = substr($aryAffiliateValue["advcd"], 4, 4);
    $userAry["affiliate_ym_cd"] = substr($aryAffiliateValue["advcd"], 8, 2);
    $userAry["affiliate_media_cd"] = substr($aryAffiliateValue["advcd"], 10, 6);
}
if ($registStatus == $_config["define"]["USER_REGIST_STATUS_MEMBER"]) {
    $userAry["regist_datetime"] = $currentDateTime;
}
// 携帯メールアドレスである
if (ComValidation::isMobileAddress($param["mail_address"])) {
    $mbFlag = true;
}
if ($mbFlag) {
    $deviceCd = $ComUtilityOBJ->getDeviceFromMailAddress($param["mail_address"]);
    $userAry["mb_address"] = $param["mail_address"];
    $userAry["mb_device_cd"] = $deviceCd;
} else {
    $userAry["pc_address"] = $param["mail_address"];
    $userAry["pc_device_cd"] = $_config["define"]["DEVICE_PC"];
    if ($preRegistData) {
        $userAry["pc_user_agent"] = $preRegistData["user_agent"];
        $userAry["pc_ip_address"] = $preRegistData["ip_address"];
    }
}
// 指定の媒体からの登録は、送信ステータスを『しない』にする
             $debugMail["text_body"][] = "ordering_id:" . $val["id"];
             $debugMail["text_body"][] = "user.id:" . $userData["user_id"];
             $debugMail["text_body"][] = "send_device_type:PC";
             $debugMail["text_body"][] = "err:" . $e->getMessage();
             $debugMail["text_body"] = implode("\n", $debugMail["text_body"]);
             // システムにエラーメール
             $SendMailOBJ->debugMailTo($debugMail);
         }
     }
 }
 // MB送信
 if (ComValidation::isMobileAddress($sendData["mb_to_address"]) and $userData["mb_address_status"] != $_config["define"]["ADDRESS_STATUS_DO"]) {
     $execMsgSessOBJ->exec_msg[] = "注文ID:" . $val["id"] . "のMBアドレスステータスが送信可能ではないので送信できませんでした。";
     $sendCnt["notSendMbCnt"]++;
 } else {
     if (ComValidation::isMobileAddress($sendData["mb_to_address"])) {
         $mbSendMailData = "";
         $sendData["to_address"] = $sendData["mb_to_address"];
         $sendData["subject"] = $mbSubject;
         $sendData["text_body"] = $mbTextBody;
         $sendData = $AdmSupportMailOBJ->convertMailElements($sendData, $orderingData["user_id"], $setArray);
         $mbSendMailData = $AdmSupportMailOBJ->smtpMailTo($sendData, $second);
         try {
             if (!$ComSendMagicDeliveryOBJ->sendMagicDelivery($mbSendMailData)) {
                 $execMsgSessOBJ->exec_msg[] = "注文ID:" . $val["id"] . "のMBアドレスに送信できませんでした。";
                 $sendCnt["notSendMbCnt"]++;
             } else {
                 $sendCnt["sendMbCnt"]++;
                 $insertData["mb_subject"] = $sendData["subject"];
                 $insertData["mb_text_body"] = $sendData["text_body"];
             }
Esempio n. 10
0
 /**
  *
  * 「退会者」and「ブラック有効」ユーザーチェック
  *
  * @param  string $addressDomain      登録アドレスドメイン
  * @param  string $mbSerialNumber     個体識別番号
  *
  * @return boolean データあればTRUE、なければFALSE
  */
 public function chkQuitBlackUser($mailAddress, $mbSerialNumber = "")
 {
     if (!$mailAddress) {
         return false;
     }
     $whereString = "";
     $columnArray[] = "*";
     if (ComValidation::isMobileAddress($mailAddress)) {
         if ($mbSerialNumber) {
             $whereString .= " OR mb_serial_number = '" . $mbSerialNumber . "'";
         }
         $whereArray[] = "(mb_address = '" . $mailAddress . "'" . $whereString . ")";
     } else {
         $whereArray[] = "pc_address = '" . $mailAddress . "'";
     }
     $whereArray[] = "regist_status = " . $this->_configOBJ->define->USER_REGIST_STATUS_MEMBER_QUIT;
     $whereArray[] = "danger_status = " . $this->_configOBJ->define->DANGER_VALID;
     $whereArray[] = "user_disable = 0";
     $otherArray[] = "LIMIT 1";
     $sql = $this->makeSelectQuery("v_user_profile", $columnArray, $whereArray, $otherArray);
     if (!($data = $this->executeQuery($sql, "fetchRow"))) {
         return FALSE;
     }
     return $data;
 }
     }
 }
 // mb送信
 $isMbSend = FALSE;
 if ($mbTextBody or $mbHtmlBody) {
     //MBアドレスステ-タス,MBメアド送信ステータス,MBメアド配信ステータスの有効性をチェック
     if ($userData["mb_send_status"] == $_config["define"]["ADDRESS_SEND_STATUS_FAIL"]) {
         $sendCnt["notSendMbCnt"]++;
     } else {
         if ($userData["mb_is_mailmagazine"] == $_config["define"]["ADDRESS_SEND_STATUS_FAIL"]) {
             $sendCnt["notSendMbCnt"]++;
         } else {
             if (ComValidation::isMobileAddress($userData["mb_address"]) and $userData["mb_address_status"] != $_config["define"]["ADDRESS_STATUS_DO"]) {
                 $sendCnt["notSendMbCnt"]++;
             } else {
                 if (ComValidation::isMobileAddress($userData["mb_address"])) {
                     //配信アドレス作成処理。mb_mailmagazine_from_domain_idカラムのデータを元に、配信ドメインを決定。
                     if ($changeFromAddressFlag) {
                         $listValue["from_address"] = "";
                         $sendMailDomainArray = $_config["define"]["SEND_MAIL_DOMAIN"];
                         //$sendMailDomainArray配列から万が一、値を引っ張ってこれなかったらを考え、一応のif文
                         if ($sendMailDomainArray[$userData["mb_mailmagazine_from_domain_id"]]) {
                             $listValue["from_address"] = $fromAddressAry[0] . "@" . $sendMailDomainArray[$userData["mb_mailmagazine_from_domain_id"]];
                         } else {
                             $listValue["from_address"] = $fromAddressAry[0] . "@" . $_config["define"]["MAIL_DOMAIN"];
                         }
                     }
                     $mailData = null;
                     $mailData = array("to_address" => $userData["mb_address"], "return_path" => $return, "from_address" => $listValue["from_address"], "from_name" => $fromName, "subject" => $mbSubject, "text_body" => $mbTextBody, "html_body" => $mbHtmlBody);
                     $mailElements = $AdmSupportMailOBJ->convertMailElements($mailData, $userData["user_id"], $setArray);
                     $mbSendMailData = "";
Esempio n. 12
0
 /**
  *
  * リメールデータを取得
  *
  * @param  integer $registPageId 登録ページID
  * @param  string $mailAddress メールアドレス
  *
  * @return array $mailElements データリスト配列
  */
 public function getRegistPageMailData($registPageId, $mailAddress)
 {
     if (!$registPageId or !$mailAddress) {
         return FALSE;
     }
     $mailElementsData = self::getRegistPageData($registPageId);
     $fromName = htmlspecialchars_decode($mailElementsData["from_name"], ENT_QUOTES);
     if (ComValidation::isMobileAddress($mailAddress)) {
         $subject = htmlspecialchars_decode($mailElementsData["mb_subject"], ENT_QUOTES);
         $textBody = htmlspecialchars_decode($mailElementsData["mb_text_body"], ENT_QUOTES);
         $textBodySecond = htmlspecialchars_decode($mailElementsData["mb_text_body_second"], ENT_QUOTES);
         $htmlBody = htmlspecialchars_decode($mailElementsData["mb_html_body"], ENT_QUOTES);
         $mailElementsImgData = self::getRegistPageImageData($registPageId, true);
     } else {
         $subject = htmlspecialchars_decode($mailElementsData["pc_subject"], ENT_QUOTES);
         $textBody = htmlspecialchars_decode($mailElementsData["pc_text_body"], ENT_QUOTES);
         $textBodySecond = htmlspecialchars_decode($mailElementsData["pc_text_body_second"], ENT_QUOTES);
         $htmlBody = htmlspecialchars_decode($mailElementsData["pc_html_body"], ENT_QUOTES);
         $mailElementsImgData = self::getRegistPageImageData($registPageId, false);
     }
     $mailElements["elements"] = array("to_address" => $mailAddress, "from_address" => $mailElementsData["from_address"], "from_name" => $fromName, "return_path" => $mailElementsData["return_path"], "subject" => $subject, "text_body" => $textBody, "text_body_second" => $textBodySecond, "html_body" => $htmlBody);
     for ($i = 0; $i < count($mailElementsImgData); $i++) {
         if ($mailElementsImgData[$i]["file_name"]) {
             $mailElements["image_data"][$i] = file_get_contents(D_BASE_DIR . self::REGIST_PAGE_IMAGE_PATH . $mailElementsImgData[$i]["file_name"]);
             $size = getimagesize(D_BASE_DIR . self::REGIST_PAGE_IMAGE_PATH . $mailElementsImgData[$i]["file_name"]);
             $mailElements["image_type"][$i] = $size["mime"];
         }
     }
     return $mailElements;
 }