<?php␊ |
␊ |
class EmailController extends \BaseController {␊ |
␊ |
␉/**␊ |
␉ * Display a listing of the resource.␊ |
␉ *␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function index()␊ |
␉{␊ |
␉␉␊ |
␉}␊ |
␊ |
␊ |
␉/**␊ |
␉ * Show the form for creating a new resource.␊ |
␉ *␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function create()␊ |
␉{␊ |
␉␉return View::make('emails.create');␊ |
␉}␊ |
␊ |
␊ |
␉/**␊ |
␉ * Store a newly created resource in storage.␊ |
␉ *␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function store()␊ |
␉{␊ |
␉␉$user_id = Auth::id();␊ |
␉␉$from_address = Auth::user()->email;␊ |
␉␉$to_address = Input::get('to_address');␊ |
␉␉$title = Input::get('title');␊ |
␉␉$message = Input::get('message');␊ |
␊ |
␉␉$valid = Validator::make(array($to_address, $title, $message), SentEmail::$rules);␊ |
␊ |
␉␉if($valid->fails())␊ |
␉␉{␊ |
␉␉␉return Redirect::route('emails/create')␊ |
␉␉␉␉␉␉␉->withInput(Input::all())␊ |
␉␉␉␉␉␉␉->withErrors($valid);␊ |
␉␉}else␊ |
␉␉{␊ |
␉␉␉$recepient = User::where('email', '=', $to_address)->get();␊ |
␊ |
␉␉␉$response = Mail::queue('emails.email', array('name'=> $recepient->first), function($message) use ($recepient)␊ |
␉␉␉␉␉␉{␊ |
␉␉␉␉␉␉␉$message->to($to_address, $recepient->first . ' '. $recepient->last)->subject($title);␊ |
␉␉␉␉␉␉});␊ |
␊ |
␉␉␉if(!$response)␊ |
␉␉␉{␊ |
␉␉␉␉Session::flash('message', 'We were unable to send your email. Please try again later');␊ |
␊ |
␉␉␉␉return Redirect::route('emails.create')->withInput(Input::all());␊ |
␉␉␉}␊ |
␊ |
␉␉␉$sentEmail = new SentEmail;␊ |
␊ |
␉␉␉$sentEmail->user_id = $user_id;␊ |
␉␉␉$sentEmail->from_address = $from_address;␊ |
␉␉␉$sentEmail->to_address = $to_address;␊ |
␉␉␉$sentEmail->title = $title;␊ |
␉␉␉$sentEmail->message = $message;␊ |
␊ |
␉␉␉if($sentEmail->save())␊ |
␉␉␉{␊ |
␉␉␉␉return Redirect::route('user');␊ |
␉␉␉}else␊ |
␉␉␉{␊ |
␉␉␉␉Session::flash('message', 'Something bad happened.')␊ |
␉␉␉␉return Redirect::route('emails/create')␊ |
␉␉␉␉␉␉␉␉->withInput(Input::all());␊ |
␉␉␉} ␊ |
␉␉}␊ |
␉}␊ |
␊ |
␊ |
␉/**␊ |
␉ * Display the specified resource.␊ |
␉ *␊ |
␉ * @param int $id␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function show($id)␊ |
␉{␊ |
␉␉$email = SentEmail::find($id);␊ |
␊ |
␉␉return View::make('emails.show')->with('email', $email);␊ |
␉}␊ |
␊ |
␊ |
␉/**␊ |
␉ * Show the form for editing the specified resource.␊ |
␉ *␊ |
␉ * @param int $id␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function edit($id)␊ |
␉{␊ |
␉␉//cannot edit emails␊ |
␉}␊ |
␊ |
␊ |
␉/**␊ |
␉ * Update the specified resource in storage.␊ |
␉ *␊ |
␉ * @param int $id␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function update($id)␊ |
␉{␊ |
␉␉//cannot update emails␊ |
␉}␊ |
␊ |
␊ |
␉/**␊ |
␉ * Remove the specified resource from storage.␊ |
␉ *␊ |
␉ * @param int $id␊ |
␉ * @return Response␊ |
␉ */␊ |
␉public function destroy($id)␊ |
␉{␊ |
␉␉$email = SentEmail::find($id);␊ |
␊ |
␉␉$email->delete();␊ |
␉}␊ |
␊ |
␊ |
}␊ |