Exemplo n.º 1
0
 public function get_edit($group_id)
 {
     if (!ctype_digit($group_id)) {
         $this->data['message'] = __('permissions::lang.Invalid group id provided')->get(ADM_LANG);
         $this->data['message_type'] = 'error';
         return Redirect::to(ADM_URI . '/permissions/')->with($this->data);
     }
     $group = Groups\Model\Group::find($group_id);
     if (!isset($group) or empty($group)) {
         $this->data['message'] = __('permissions::lang.Sorry can\'t find group to edit it\'s permissions')->get(ADM_LANG);
         $this->data['message_type'] = 'error';
         return Redirect::to(ADM_URI . '/permissions/')->with($this->data);
     }
     if (isset($group) and $group->slug == 'admin') {
         $this->data['message'] = __('permissions::lang.The Administration group has access to everything, and cannot be edited')->get(ADM_LANG);
         $this->data['message_type'] = 'error';
         return Redirect::to(ADM_URI . '/permissions/')->with($this->data);
     }
     $this->data['section_bar'] = array(__('permissions::lang.Permissions')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/permissions', __('permissions::lang.Edit Group Permissions')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/permissions/' . $group->id . '/edit');
     $this->data['section_bar_active'] = __('permissions::lang.Edit Group Permissions')->get(ADM_LANG);
     $this->data['group_name'] = $group->name;
     $this->data['group_id'] = $group->id;
     $this->data['permission_groups'] = Permission::build_permission_groups($group->id);
     return $this->theme->render('permissions::backend.edit', $this->data);
 }
Exemplo n.º 2
0
 public function get_new()
 {
     $this->data['section_bar_active'] = __('email::lang.Send Email')->get(ADM_LANG);
     $this->data['groups_dropdown'] = null;
     if (Bundle::exists('groups')) {
         $this->data['groups_dropdown'] = Groups\Model\Group::all();
     }
     $this->data['email_templates'] = Email\Model\Template::all();
     return $this->theme->render('email::email.new', $this->data);
 }
Exemplo n.º 3
0
 public function uninstall()
 {
     //
     // REMOVE GROUPS
     //
     $admin = Groups\Model\Group::where_slug('admin')->first();
     if (isset($admin) and !empty($admin)) {
         $admin->delete();
     }
     $users = Groups\Model\Group::where_slug('users')->first();
     if (isset($users) and !empty($users)) {
         $users->delete();
     }
 }
Exemplo n.º 4
0
 public function get_new($page_id = null)
 {
     if ($page_id == null) {
         $this->data['section_bar'] = array(Lang::line('pages::lang.Pages')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/pages', Lang::line('pages::lang.New Page')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/pages/new');
         $this->data['groups'] = Groups\Model\Group::all();
         $this->data['navigation_groups'] = Navigation\Model\Group::all();
         $this->data['section_bar_active'] = Lang::line('pages::lang.New Page')->get(ADM_LANG);
         return $this->theme->render('pages::create', $this->data);
     } else {
         $this->data['section_bar_active'] = Lang::line('pages::lang.New Page')->get(ADM_LANG);
         $this->data['page'] = Pages\Model\Page::find($page_id);
         if ($this->data['page']->parent_id != 0) {
             $parent_slug = Pages\Model\Page::where('id', '=', $this->data['page']->parent_id)->first('slug');
         }
         $this->data['parent_slug'] = isset($parent_slug->slug) ? $parent_slug->slug : '';
         $this->data['groups'] = Groups\Model\Group::all();
         $this->data['navigation_groups'] = Navigation\Model\Group::all();
         return $this->theme->render('pages::duplicate', $this->data);
     }
 }
Exemplo n.º 5
0
 public function get_new($group_id)
 {
     if (Bundle::exists('pages')) {
         $pages = Pages\Model\Page::where('status', '=', 'live')->get(array('id', 'title'));
     } else {
         $pages = null;
     }
     $modules = Modules\Model\Module::where('enabled', '=', 1)->where('is_frontend', '=', 1)->get(array('id', 'slug', 'name'));
     $groups = Groups\Model\Group::all();
     return View::make('navigation::backend.links.create', $this->data)->with('nav_group_id', $group_id)->with('modules', $modules)->with('pages', $pages)->with('groups', $groups);
 }
Exemplo n.º 6
0
 public function post_check_slug()
 {
     $slug = Input::get('title');
     if (!isset($slug) or empty($slug)) {
         return '';
     }
     $slug_check = Groups\Model\Group::where('slug', '=', $slug)->get(array('slug'));
     if (isset($slug_check) and !empty($slug_check)) {
         return 'slug::error::' . Str::slug($slug);
     } else {
         return Str::slug($slug);
     }
 }
Exemplo n.º 7
0
 public function get_edit($user_id)
 {
     if (!ctype_digit($user_id)) {
         $this->data['message'] = __('users::lang.Invalid id to edit user')->get(ADM_LANG);
         $this->data['message_type'] = 'error';
         return Redirect::to(ADM_URI . '/users')->with($this->data);
     }
     $this->data['section_bar_active'] = __('users::lang.Edit')->get(ADM_LANG);
     $this->data['section_bar'] = array(__('users::lang.Users')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/users', __('users::lang.New User')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/users/new', __('users::lang.Edit')->get(ADM_LANG) => URL::base() . '/' . ADM_URI . '/users/' . $user_id . '/edit');
     if (\Bundle::exists('groups')) {
         $this->data['groups_dropdown'] = Groups\Model\Group::all();
     }
     $this->data['edit_user'] = Users\Model\User::find($user_id);
     if (!isset($this->data['edit_user']) or empty($this->data['edit_user'])) {
         $this->data['message'] = __('users::lang.Sorry can\'t find user to edit')->get(ADM_LANG);
         $this->data['message_type'] = 'error';
         return Redirect::to(ADM_URI . '/users')->with($this->data);
     }
     return $this->theme->render('users::backend.edit', $this->data);
 }
Exemplo n.º 8
0
 public function post_create()
 {
     $messages = array('unique_avatar_name' => 'This combination of avatar first name and avatar last name has already been taken.');
     $rules = array('email' => 'required|email|unique:users', 'username' => 'required|unique:users|alpha_dash|max:30|min:3', 'avatar_first_name' => 'required|alpha_dash|max:30|min:3|unique_avatar_name', 'avatar_last_name' => 'required|alpha_dash|max:30|min:3', 'password' => 'required|min:8', 'password_confirmation' => 'required|same:password');
     Validator::register('unique_avatar_name', function ($attribute, $value, $parameters) {
         $user = Users\Model\User::where('avatar_first_name', '=', Input::get('avatar_first_name'))->where('avatar_last_name', '=', Input::get('avatar_last_name'))->first();
         if (isset($user) and !empty($user)) {
             return false;
         }
         return true;
     });
     $validation = Validator::make(Input::all(), $rules, $messages);
     if ($validation->passes()) {
         $group_id = 0;
         if (Bundle::exists('groups')) {
             $users_group = Groups\Model\Group::where('slug', '=', 'users')->first();
             if (isset($users_group->id) and ctype_digit($users_group->id)) {
                 $group_id = $users_group->id;
             }
         }
         $new_user = new Users\Model\User();
         $new_user->status = 'inactive';
         $require_confirmation = Config::get('settings::core.registration_confirmation_required');
         if ($require_confirmation == 'no') {
             $new_user->status = 'active';
         }
         $password = Users\Helper::hash_password(Input::get('password'));
         $new_user->uuid = Mwi_Core::random_uuid();
         $new_user->email = Input::get('email');
         $new_user->username = Input::get('username');
         $new_user->avatar_first_name = Input::get('avatar_first_name');
         $new_user->avatar_last_name = Input::get('avatar_last_name');
         $new_user->group_id = $group_id;
         $new_user->hash = $password['hash'];
         $new_user->salt = $password['salt'];
         $new_user->password = Hash::make(Input::get('password'));
         $new_user->save();
         Event::fire('registration.user_signup', array($new_user));
         //Event for Robust
         Event::fire('users.created', array($new_user));
         if ($require_confirmation == 'no') {
             Auth::login($new_user->id);
             Event::fire('registration.user_activated', array($new_user));
             //Event for Robust
             Event::fire('users.updated', array($new_user));
             $site_name = Settings\Config::get('settings::core.site_name');
             $this->data['message'] = Lang::line('registration::lang.welcome_signup', array('site_name' => $site_name))->get(APP_LANG);
             $this->data['message_type'] = 'success';
             return Redirect::to('page/home')->with($this->data);
         } else {
             // save activation record on database
             $activation_record = new Registration\Model\Code();
             $activation_record->user_id = $new_user->id;
             $activation_record->code = Mwi_Core::keygen();
             $activation_record->save();
             // new xblade to parse the email template
             $xblade = new Xblade();
             $xblade->scopeGlue(':');
             // data to be passed to email template
             $data['user'] = $new_user;
             $data['activation_code'] = $activation_record->code;
             $data['url']['base'] = URL::base();
             $data['settings']['site_name'] = Config::get('settings::core.site_name');
             $data['request']['ip'] = Request::ip();
             $data['request']['user_agent'] = implode(', ', Request::header('user-agent'));
             $data['request']['languages'] = implode(', ', Request::languages());
             // get email template based on settings
             $email_address = Config::get('settings::core.server_email');
             $template_id = Config::get('settings::core.registration_email_template');
             $email_data = Email\Model\Template::find($template_id);
             //send email to user
             Email\Message::to($new_user->email)->from($email_address)->subject($xblade->parse($email_data->subject, $data))->body($xblade->parse($email_data->body, $data))->html($email_data->type)->send();
             $this->data['message'] = __('registration::lang.Thank you Please check your email to activate your new account')->get(APP_LANG);
             $this->data['message_type'] = 'success';
             return Redirect::to('page/home')->with($this->data);
         }
     }
     return Redirect::to('signup')->with_errors($validation)->with_input();
 }