// 個体識別重複登録メール送信 $mailElements = $AutoMailOBJ->convertMailElements($mailElementsData["elements"], $quitBlackUserData["user_id"]); // メール送信 //$AutoMailOBJ->mailTo($mailElements, "", $mailElementsData["image_data"], $mailElementsData["image_type"]); $AutoMailOBJ->smtpMailTo($mailElements, "", $mailElementsData["image_data"], $mailElementsData["image_type"]); exit; } } // トランザクション開始 $UserOBJ->beginTransaction(); $ComUtilityOBJ = ComUtility::getInstance(); // userデータを仮登録で挿入 $currentDateTime = date("Y-m-d H:i:s"); $accessKey = $UserOBJ->getNewAccessKey($currentDateTime); $remailKey = $UserOBJ->getNewRemailKey($currentDateTime); $password = ComUtility::getRamdomNumber(4); $userAry = array("login_id" => $mailAddress, "password" => $UserOBJ->createPasswordKey($password), "access_key" => $accessKey, "remail_key" => $remailKey, "regist_status" => $registStatus, "media_cd" => $aryAffiliateValue["advcd"], "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 ($preRegistData) { $userAry["regist_page_id"] = $preRegistData["regist_page_id"]; $userAry["affiliate_value"] = $preRegistData["affiliate_value"]; } else { if ($directRegistData) {
/** * * remail_keyの重複が無い様にremail_keyを返す。 * * * @param datetime $preRegistDatetime キー生成に使用する仮登録日付 * @return string remailKeyを返す */ public function getNewRemailKey($preRegistDatetime) { if (!$preRegistDatetime) { return false; } $i = 0; // access_keyがユニークになるまで繰り返す do { $securityKey = ComUtility::getRamdomNumber(6); //6桁のランダム数値 $remailKey = md5($preRegistDatetime . "__" . $securityKey); $remailKey = substr($remailKey, 0, 16); $columnArray[] = "*"; $whereArray[] = "remail_key = '" . $remailKey . "'"; $i++; if ($i > 100) { return FALSE; } $sql = $this->makeSelectQuery("pre_regist", $columnArray, $whereArray); } while ($data = $this->executeQuery($sql, "fetchRow")); return $remailKey; }
if (!$address or !ComValidation::isMailAddress($address)) { continue; } //アドレスから重複チェック $duplicateUserData = FALSE; if (!($duplicateUserData = $UserOBJ->getUserDataFromMailAddressDuplication($address))) { $duplicateUserData = $UserOBJ->chkUserDataFromLoginIdDuplication($address); } //重複がないなら if ($duplicateUserData == FALSE) { $UserOBJ->beginTransaction(); //現在時刻のみだと重複が発生しやすいので値を足してユニークになり易い様に仕向けます $currentDateTime = date("Y-m-d H:i:s"); $accessKey = $UserOBJ->getNewAccessKey($currentDateTime . $key); $remailKey = $UserOBJ->getNewRemailKey($currentDateTime . $key); $password = $UserOBJ->createPasswordKey(ComUtility::getRamdomNumber(4)); $addressColumn = ""; $deviceColumn = ""; $mbFlag = FALSE; // 携帯メールアドレス? if (ComValidation::isMobileAddress($address)) { $deviceCd = $ComUtilityOBJ->getDeviceFromMailAddress($address); $addressColumn = "mb_address"; $deviceColumn = "mb_device_cd"; $mbFlag = TRUE; } else { $deviceCd = $_config["define"]["DEVICE_PC"]; $addressColumn = "pc_address"; $deviceColumn = "pc_device_cd"; } $userAry = array("login_id" => $address, "password" => $password, "access_key" => $accessKey, "remail_key" => $remailKey, $addressColumn => $address, $deviceColumn => $deviceCd, "regist_status" => $_config["define"]["USER_REGIST_STATUS_MEMBER"], "regist_page_id" => $param["registPageId"], "media_cd" => $param["advcd"], "affiliate_tag_url" => "NO_TAG", "pre_regist_datetime" => $currentDateTime, "regist_datetime" => $currentDateTime, "update_datetime" => $currentDateTime, "description" => "tc20177_VOL13_7");
$columnArray[] = "*"; $sql = ""; $sql = $UserOBJ->makeSelectQuery("kohaito.user", $columnArray, "", array("LIMIT " . $cnt . ", 10000")); $dbResultOBJ = ""; if (!($dbResultOBJ = $UserOBJ->executeQuery($sql))) { exit("userデータ取得エラー"); } // データリスト取得 $dataList = ""; $dataList = $dbResultOBJ->fetchAll(); $currentDateTime = date("Y-m-d H:i:s"); foreach ($dataList as $val) { $i = 0; // access_keyがユニークになるまで繰り返す do { $securityKey = ComUtility::getRamdomNumber(6); //6桁のランダム数値 $remailKey = md5($currentDateTime . "__" . $securityKey); $remailKey = substr($remailKey, 0, 16); $columnArray = ""; $columnArray[] = "*"; $whereArray = ""; $whereArray[] = "remail_key = '" . $remailKey . "'"; $i++; if ($i > 100) { exit("リメールキー作成エラー"); } $sql = ""; $sql = $UserOBJ->makeSelectQuery("user", $columnArray, $whereArray); } while ($data = $UserOBJ->executeQuery($sql, "fetchRow")); $insertData = "";
// PCメール強行 if (!ComValidation::isNumeric($param["is_pc_reverse"])) { $errMsg[] = "PCメール強行フラグを選択してください"; } // MBメール強行 if (!ComValidation::isNumeric($param["is_mb_reverse"])) { $errMsg[] = "MBメール強行フラグを選択してください"; } if ($errMsg) { $errSessOBJ->errMsg = $errMsg; $returnSessOBJ->return = $param; header("Location: ./?action_user_Create=1"); exit; } $setUserParam["login_id"] = $param["pc_address"] ? $param["pc_address"] : $param["mb_address"]; $setUserParam["password"] = $UserOBJ->createPasswordKey(ComUtility::getRamdomNumber(4)); $setUserParam["admin_id"] = $loginAdminData["id"]; $setUserParam["access_key"] = $UserOBJ->getNewAccessKey(date("YmdHis")); $setUserParam["remail_key"] = $UserOBJ->getNewRemailKey(date("YmdHis")); $setUserParam["pc_address"] = $param["pc_address"]; $setUserParam["pc_address_status"] = $param["pc_address_status"]; $setUserParam["pc_send_status"] = $param["pc_send_status"]; $setUserParam["pc_user_agent"] = $_SERVER["HTTP_USER_AGENT"]; $setUserParam["pc_ip_address"] = $_SERVER["REMOTE_ADDR"]; $setUserParam["mb_address"] = $param["mb_address"]; $setUserParam["mb_address_status"] = $param["mb_address_status"]; $setUserParam["mb_send_status"] = $param["mb_send_status"]; $setUserParam["regist_status"] = $param["regist_status"]; $setUserParam["regist_page_id"] = $param["regist_page_id"]; $setUserParam["description"] = $param["description"]; $setUserParam["is_pc_reverse"] = $param["is_pc_reverse"];