Ejemplo n.º 1
0
 public function saveMailToDbAndSendMail($_current_user_id, $_ad_user_id, $_ad_id, $_text, $_mail_to)
 {
     //generate conversation hash
     $hash_array = array($_current_user_id, $_ad_user_id, $_ad_id);
     sort($hash_array);
     $hash = md5(join('-', $hash_array));
     //save message
     $userMail = new UserMail();
     $userMail->ad_id = $_ad_id;
     $userMail->user_id_from = $_current_user_id;
     $userMail->user_id_to = $_ad_user_id;
     $userMail->mail_text = Util::nl2br(strip_tags($_text));
     $userMail->mail_date = date('Y-m-d H:i:s');
     $userMail->mail_hash = $hash;
     $userMail->save();
     //save message status
     $userMailStatus = new UserMailStatus();
     $userMailStatus->mail_id = $userMail->mail_id;
     $userMailStatus->user_id = $_ad_user_id;
     $userMailStatus->mail_status = UserMailStatus::MAIL_STATUS_UNREAD;
     $userMailStatus->mail_deleted = UserMailStatus::MAIL_STATUS_NOT_DELETED;
     $userMailStatus->mail_hash = $hash;
     $userMailStatus->save();
     //save status for the other user
     $userMailStatus = new UserMailStatus();
     $userMailStatus->mail_id = $userMail->mail_id;
     $userMailStatus->user_id = $_current_user_id;
     $userMailStatus->mail_status = UserMailStatus::MAIL_STATUS_SEND;
     $userMailStatus->mail_deleted = UserMailStatus::MAIL_STATUS_NOT_DELETED;
     $userMailStatus->mail_hash = $hash;
     $userMailStatus->save();
     //send mail to ad publisher
     Mail::send('emails.ad_contact', ['userMail' => $userMail], function ($m) use($_mail_to) {
         $m->from('*****@*****.**', 'dclassifieds ad contact');
         $m->to($_mail_to)->subject('You have new message in DClassifieds');
     });
 }