Components\ContactManager\Controllers\PublicController::sendMessage PHP Method

sendMessage() public method

public sendMessage ( $alias )
    public function sendMessage($alias)
    {
        $input = Input::all();
        $rules = array('email' => 'required|min:5|email', 'name' => 'required|alpha_spaces|min:3', 'message' => 'required');
        $validator = Validator::make(Input::all(), $rules);
        if ($validator->fails()) {
            return Redirect::back()->withErrors($validator)->withInput();
        }
        $form = $this->getForm(18);
        $model_name = "Components\\ContactManager\\Models\\{$form['model']}";
        $contact = $model_name::whereAlias($alias)->first();
        ContactEmail::create(array('name' => $input['name'], 'email' => $input['email'], 'subject' => $input['subject'], 'message' => $input['message'], 'contact_id' => $contact->id));
        $input['message_text'] = $input['message'];
        try {
            Mail::send('public.' . $this->current_theme . '.email', $input, function ($email_message) use($input, $contact) {
                $email_message->from($input['email'], $input['name']);
                $email_message->to($contact->email, $contact->name)->subject($input['subject']);
            });
        } catch (Exception $e) {
            return Redirect::back()->withInput()->with('error_message', $e->getMessage());
        }
        return Redirect::back()->with('success_message', trans('success_messages.mail_sent'));
    }