コード例 #1
0
ファイル: InfoService.php プロジェクト: mjrao/BugFree
 /**
  * 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;
 }