public function send()
 {
     $data = Input::all();
     $rules = ['full_name' => ['required', 'min:3', 'max:35'], 'email' => ['required', 'email'], 'content' => ['required', 'min:10', 'max:600']];
     $validator = Validator::make($data, $rules);
     if ($validator->fails()) {
         return Alert::formError($validator);
     }
     Mailing::contact($data);
     return Alert::flash(Lang::get('contact.sent'), 'success');
 }
 private function processForm($type, $data, $extra_rules)
 {
     $currentQuestion = Question::getCurrentQuestion();
     $rules = ['question' => ['required', "in:{$currentQuestion['id']}"], 'option' => ['required', "in:{$currentQuestion['left_option']},{$currentQuestion['right_option']}"], 'post_type' => ['required', "in:{$type}"], 'title' => ['required', "min:10", "max:200"]];
     foreach ($extra_rules as $field => $rule) {
         $rules[$field] = $rule;
     }
     $validator = Validator::make($data, $rules);
     if ($validator->fails()) {
         return Alert::formError($validator);
     }
     $post = new Post();
     $posted = $post->store($data, $type);
     return Redirect::route('post', [$posted['id'], $posted['slug']])->with('flash_success', Lang::get('post.saved'));
 }
 public function register()
 {
     $data = Input::all();
     $rules = ['first_name' => ['required', 'min:3', 'max:35'], 'last_name' => ['required', 'min:3', 'max:35'], 'username' => ['required', 'alpha_num', 'min:3', 'max:35', 'unique:users'], 'email' => ['required', 'email', 'max:128', 'unique:users'], 'picture' => ['sometimes', 'mimes:jpeg,gif,png', 'max:2048'], 'password' => ['required', 'min:6', 'confirmed']];
     $validator = Validator::make($data, $rules);
     if ($validator->fails()) {
         return Alert::formError($validator);
     }
     $user = new User();
     $user_id = $user->store($data);
     $profile = new Profile();
     $profile->store($data, $user_id, Input::hasFile('picture'));
     $this->sendActivation($user_id, $data['email']);
     Auth::login($user);
     return Alert::activate($data['email']);
 }
 public static function adminUpdateUser($id)
 {
     $data = Input::all();
     $rules = ['email' => ['required', 'email', 'max:128', 'unique:users,email,' . Auth::id()], 'username' => ['required', 'min:5', 'max:15', 'alpha_num', 'unique:users,username,' . Auth::id()]];
     $validator = Validator::make($data, $rules);
     if ($validator->fails()) {
         return Alert::formError($validator);
     } else {
         $user = new User();
         $update = User::UpdateUser($id, $data);
         return Alert::flash(Lang::get('admin.user-updated'), 'success');
     }
 }