function bind_email($user_id, $mail_detail, $folder, $moduleName, $ossmailviewTab) { $adb = PearDatabase::getInstance(); if ($mail_detail['ossmailviewid'] == '') { $result_ossmailview = $adb->pquery('SELECT ossmailviewid FROM vtiger_ossmailview WHERE uid = ? AND rc_user = ?', [$mail_detail['message_id'], $user_id]); if ($adb->num_rows($result_ossmailview) == 0) { return FALSE; } $ossmailviewid = $adb->query_result($result_ossmailview, 0, 'ossmailviewid'); } else { $ossmailviewid = $mail_detail['ossmailviewid']; } $crmids_fromaddress = OSSMailScanner_Record_Model::findEmail($mail_detail['fromaddress'], $moduleName, TRUE); $crmids_toaddress = OSSMailScanner_Record_Model::findEmail($mail_detail['toaddress'], $moduleName, TRUE); $crmids_ccaddress = OSSMailScanner_Record_Model::findEmail($mail_detail['ccaddress'], $moduleName, TRUE); $crmids_bccaddress = OSSMailScanner_Record_Model::findEmail($mail_detail['bccaddress'], $moduleName, TRUE); $crmids_to = OSSMailScanner_Record_Model::_merge_array($crmids_toaddress, $crmids_ccaddress); $crmids_to = OSSMailScanner_Record_Model::_merge_array($crmids_to, $crmids_bccaddress); $return_ids = []; if (count($crmids_fromaddress) != 0) { foreach ($crmids_fromaddress as $crmidsRow) { $adb->pquery('INSERT INTO vtiger_ossmailview_relation SET ossmailviewid=?, crmid=?, date=?;', [$ossmailviewid, $crmidsRow[0], $mail_detail['udate_formated']]); $return_ids[] = $crmidsRow[0]; } } if (count($crmids_to) != 0) { foreach ($crmids_to as $crmidsRow) { $adb->pquery('INSERT INTO vtiger_ossmailview_relation SET ossmailviewid=?, crmid=?, date=?;', [$ossmailviewid, $crmidsRow[0], $mail_detail['udate_formated']]); $return_ids[] = $crmidsRow[0]; } } return $return_ids; }
/** * Mail Scanner bind email action * @package YetiForce.MailScanner * @license licenses/License.html * @author Mariusz Krzaczkowski <*****@*****.**> */ function bind_email($user_id, $mailDetail, $folder, $moduleName) { $adb = PearDatabase::getInstance(); if ($mailDetail['ossmailviewid'] == '') { $result_ossmailview = $adb->pquery('SELECT ossmailviewid FROM vtiger_ossmailview WHERE uid = ? AND rc_user = ?', [$mailDetail['message_id'], $user_id]); if ($adb->num_rows($result_ossmailview) == 0) { return FALSE; } $mailViewId = $adb->query_result($result_ossmailview, 0, 'ossmailviewid'); } else { $mailViewId = $mailDetail['ossmailviewid']; } $crmIds = OSSMailScanner_Record_Model::findEmail($mailDetail['fromaddress'], $moduleName, TRUE); $crmidsToaddress = OSSMailScanner_Record_Model::findEmail($mailDetail['toaddress'], $moduleName, TRUE); $crmidsCcaddress = OSSMailScanner_Record_Model::findEmail($mailDetail['ccaddress'], $moduleName, TRUE); $crmidsBccaddress = OSSMailScanner_Record_Model::findEmail($mailDetail['bccaddress'], $moduleName, TRUE); $crmidsReplyToaddress = OSSMailScanner_Record_Model::findEmail($mailDetail['reply_toaddress'], $moduleName, TRUE); $crmIds = OSSMailScanner_Record_Model::_merge_array($crmIds, $crmidsToaddress); $crmIds = OSSMailScanner_Record_Model::_merge_array($crmIds, $crmidsCcaddress); $crmIds = OSSMailScanner_Record_Model::_merge_array($crmIds, $crmidsBccaddress); $crmIds = OSSMailScanner_Record_Model::_merge_array($crmIds, $crmidsReplyToaddress); $returnIds = []; if (count($crmIds) != 0) { foreach ($crmIds as $crmRow) { $resultRelation = $adb->pquery('SELECT * FROM vtiger_ossmailview_relation WHERE ossmailviewid=? AND crmid=?', [$mailViewId, $crmRow]); if ($resultRelation->rowCount() > 0) { continue; } $adb->pquery('INSERT INTO vtiger_ossmailview_relation SET ossmailviewid=?, crmid=?, date=?;', [$mailViewId, $crmRow, $mailDetail['udate_formated']]); $returnIds[] = $crmRow; } } return $returnIds; }