/** * */ public function act_sendEmailByPage() { $_REQUEST = array_map('trim', $_REQUEST); if (empty($_REQUEST['from'])) { self::$errCode = '377'; self::$errMsg = 'miss param from [nt]'; return false; } if (empty($_REQUEST['to'])) { self::$errCode = '382'; self::$errMsg = 'miss param to [nt]'; return false; } $pattern = '/[,,]/i'; $to = urldecode($_REQUEST['to']); $to = preg_replace($pattern, ',', $to); $from = urldecode($_REQUEST['from']); //检查发送人是否存在并提取信息 $fileds = "global_user_login_name,global_user_name,global_user_email"; $where = " (global_user_name = '{$from}' OR global_user_login_name = '{$from}') AND global_user_status = 1 AND global_user_is_delete = 0 "; $where .= " LIMIT 1"; $res = NoticeApiModel::oneGlobalUser($fileds, $where); $from_name = $res['0']['global_user_name']; if (empty($from_name)) { self::$errCode = '398'; self::$errMsg = '不存在发送人(miss from user)'; return false; } $from_email = $res['0']['global_user_email']; $from_login_name = $res['0']['global_user_login_name']; //检查是否是获取pageToken if (!empty($_REQUEST['getPageToken'])) { while (1) { $pageToken = 'nt_' . time() . '_' . mt_rand(1, 99) * 87; $fileds = "id"; $where = "main_number = '{$pageToken}' AND is_delete = 0 "; $res = NoticeApiModel::onePageToken($fileds, $where); if (!$res['0']['id']) { break; } } $addTime = time(); $set = array('add_time' => $addTime, 'main_number' => $pageToken, 'user_email' => $from_email); //写入表 $excute = NoticeApiModel::insertPageToken($set); if ($excute) { self::$errCode = '413'; self::$errMsg = '生成分页token成功(create page token successfully)'; return $pageToken; } else { self::$errCode = '415'; self::$errMsg = '生成分页token失败(fail to create page token )'; return false; } } //开始增加分页数据 if (empty($_REQUEST['pageToken'])) { self::$errCode = '429'; self::$errMsg = 'miss param pageToken [nt]'; return false; } $pageToken = $_REQUEST['pageToken']; //检查分页token是否存在 $fileds = 'id,is_used'; $where = "main_number = '{$pageToken}' AND is_delete = 0 LIMIT 1"; $res = NoticeApiModel::onePageToken($fileds, $where); if (empty($res['0']['id'])) { self::$errCode = '446'; self::$errMsg = "pageToken [{$pageToken}] 不存在(not exist [{$pageToken}]) [nt]"; return false; } if (!empty($res['0']['is_used'])) { self::$errCode = '451'; self::$errMsg = "pageToken [{$pageToken}] 已发送成功过( [{$pageToken}] send before) [nt]"; return false; } //var_dump($_POST); if (!empty($_REQUEST['pageEnd'])) { //分页都完成后发送邮件 echo "###############"; //var_dump($from,$to,$pageToken); exit; $res = $this->sendAllEmailPage($from, $to, $pageToken); $res = json_decode($res, true); $endReturn = false; //发送成功 if ($res['errCode'] == 2013) { $endReturn = true; $set = array('is_used' => 1); $where = "main_number = '{$pageToken}' AND is_delete = 0 "; $ret = NoticeApiModel::updatePageToken($set, $where); } self::$errCode = $res['errCode']; self::$errMsg = $res['errMsg']; return $endReturn; } if (empty($_REQUEST['page'])) { self::$errCode = '430'; self::$errMsg = 'miss param page [nt]'; return false; } if (empty($_REQUEST['content'])) { self::$errCode = '424'; self::$errMsg = 'miss param content [nt]'; return false; } $page = $_REQUEST['page']; //第几页 $content = urldecode($_REQUEST['content']); //分页内容 //先判断是否存在相同的页 $fileds = "id"; $where = "main_number = '{$pageToken}' AND page = '{$page}' AND is_delete = 0 LIMIT 1"; $res = NoticeApiModel::onEmailDetail($fileds, $where); if ($res['0']['id']) { self::$errCode = '458'; self::$errMsg = "本页已经存在( page {$page} already exist)"; return true; } //写入内容详情表 $add_time = time(); $set = array('main_number' => $pageToken, 'add_time' => $add_time, 'page' => $page, 'content' => base64_encode($content)); $excute = NoticeApiModel::insertEmialDetail($set); if (!$excute) { self::$errCode = '447'; self::$errMsg = "分页token[{$pageToken}]下第{$page}页未成功接收(fail to accepte page {$page} )"; return false; } self::$errCode = '111'; self::$errMsg = "增加分页成功( accepte page {$page} successfully)"; return true; }