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'); }); }
public function delete(Request $request) { //locations to be deleted $data = []; //check for single delete if (isset($request->id)) { $data[] = $request->id; } //check for mass delete if no single delete if (empty($data)) { $data = $request->input('mail_id'); } //delete if (!empty($data)) { UserMail::destroy($data); //clear cache, set message, redirect to list Cache::flush(); session()->flash('message', trans('admin_common.User Mail deleted')); return redirect(url('admin/mail')); } //nothing for deletion set message and redirect session()->flash('message', trans('admin_common.Nothing for deletion')); return redirect(url('admin/mail')); }