Esempio n. 1
0
 /**
  * Add and Edit user member
  */
 public static function userMemberAddEdit($userId, $data = array())
 {
     UserMember::where('user_id', '=', $userId)->delete();
     foreach ($data as $val) {
         $user_member = new UserMember();
         $user_member->user_id = $userId;
         $user_member->group_id = $val;
         $user_member->date_created = new DateTime();
         $user_member->save();
     }
 }
    /**
     * Update the specified resource in storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function update($id)
    {
        if (ACL::checkUserPermission('user.edit') == false) {
            return Redirect::action('dashboard');
        }
        $user = User::where('id', $id)->find($id);
        $input = Input::all();
        $user->username = Input::get('username');
        $user->fullname = Input::get('fullname');
        $user->email = Input::get('email');
        $user->company_name = Input::get('company');
        $user->confirmed = Input::get('confirm');
        if (Input::has('changepassword')) {
            if (User::checkUserPassword($id, Input::get('password')) == true) {
                $msgType = 'error';
                $message = 'Password has been used before by the user. <br /> 
				Change the user\'s password at least 5 times before using the password again.';
                return Redirect::action('user.edit')->with($msgType, $message);
            }
            $user->password = Hash::make(Input::get('changepassword'));
            $user->last_password_change = new DateTime();
            $passwords = json_decode($user->passwords, true);
            if (sizeof($passwords) == 0) {
                $temp = array();
                $temp[] = Hash::make(Input::get('password'));
                $user->passwords = json_encode($temp);
            } else {
                array_push($passwords, Hash::make(Input::get('password')));
                if (sizeof($passwords) > 5) {
                    array_shift($passwords);
                }
                $user->passwords = json_encode($passwords);
            }
        }
        $user->save();
        if (Input::has('usermember')) {
            $userMember = Input::get('usermember');
            UserPermissions::where('user_id', '=', $user->id)->delete();
            ACL::userMemberAddEdit($user->id, $userMember);
        } else {
            UserPermissions::where('user_id', '=', $user->id)->delete();
            UserMember::where('user_id', '=', $id)->delete();
        }
        $message = 'User has been modified';
        return Redirect::action('settings.user')->with('success', $message);
    }