public function post_create() { $this->data['section_bar_active'] = __('groups::lang.New Group')->get(ADM_LANG); $messages = array('unique_name_slug' => __('groups::lang.Name or Short name already taken')->get(ADM_LANG)); Validator::register('unique_name_slug', function ($attribute, $value, $parameters) { $group_name = Groups\Model\Group::where('name', '=', Input::get('name'))->or_where('slug', '=', Input::get('slug'))->first(); if (!isset($group_name) or empty($group_name)) { return true; } return false; }); $this->validation_rules = array('name' => 'required|min:4|max:30|unique_name_slug', 'slug' => 'required|min:4|max:30|alpha_dash'); $validation = Validator::make(Input::all(), $this->validation_rules, $messages)->speaks(ADM_LANG); $this->data['errors'] = $validation->errors; if ($validation->passes()) { $this->data['message'] = __('groups::lang.Group was successfully created')->get(ADM_LANG); $this->data['message_type'] = 'success'; $group = new Groups\Model\Group(); $group->name = Input::get('name'); $group->slug = Input::get('slug'); $group->description = Input::get('description'); $group->save(); Event::fire('mwi.group_created', array($group)); return Redirect::to(ADM_URI . '/' . 'groups')->with($this->data); } else { $this->data['errors'] = $validation->errors; } return $this->theme->render('groups::backend.new', $this->data); }