/** * get mail's cc list * * @author youzhao.zxw<*****@*****.**> * @param array $basicInfo basic info * @return array cclist array */ private static function getCCList($basicInfo, $assignToEmail) { $ccArr = array(); $actionUser = TestUser::model()->findByPk(Yii::app()->user->id); $actionUserEmail = self::getUserEmail($actionUser); $isUserInCclist = false; if (!empty($basicInfo->mail_to)) { $mailToArr = CommonService::splitStringToArray(',', $basicInfo->mail_to); foreach ($mailToArr as $mailToUser) { if (CommonService::isEmailFormat($mailToUser)) { $ccArr[] = $mailToUser; } else { $mailToUserInfo = TestUser::model()->findByAttributes(array('realname' => $mailToUser)); $userMail = self::getUserEmail($mailToUserInfo); if (!empty($userMail)) { $ccArr[] = $userMail; } } } if (in_array($actionUserEmail, $ccArr)) { $isUserInCclist = true; } } $modifiedUserIdArr = CommonService::splitStringToArray(',', $basicInfo->modified_by); foreach ($modifiedUserIdArr as $modifiedId) { $modifyUser = TestUser::model()->findByPk($modifiedId); $modifyEmail = self::getUserEmail($modifyUser); if (!empty($modifyEmail)) { $ccArr[] = $modifyEmail; } } $ccArr = array_unique($ccArr); if ($isUserInCclist) { $ccArr = array_diff($ccArr, array($assignToEmail)); } else { $ccArr = array_diff($ccArr, array($assignToEmail, $actionUserEmail)); } return $ccArr; }