コード例 #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');
     });
 }
コード例 #2
0
 public function maildelete(Request $request)
 {
     //get params
     $mail_id = $request->mail_id;
     $current_user_id = $request->user()->user_id;
     //mark mail deleted
     $umStatus = UserMailStatus::where('user_id', $current_user_id);
     if (is_numeric($mail_id)) {
         $umStatus->where('mail_id', $mail_id);
     } else {
         $umStatus->where('mail_hash', $mail_id);
     }
     $umStatus->update(['mail_deleted' => UserMailStatus::MAIL_STATUS_DELETED]);
     //clear the cache
     Cache::flush();
     return redirect()->back();
 }