├── public ├── .gitkeep ├── materialize │ ├── .gitkeep │ ├── font │ │ ├── roboto │ │ │ ├── Roboto-Bold.ttf │ │ │ ├── Roboto-Light.ttf │ │ │ ├── Roboto-Thin.ttf │ │ │ ├── Roboto-Medium.ttf │ │ │ └── Roboto-Regular.ttf │ │ └── material-design-icons │ │ │ ├── Material-Design-Icons.eot │ │ │ ├── Material-Design-Icons.ttf │ │ │ └── Material-Design-Icons.woff │ ├── css │ │ └── style.css │ └── js │ │ └── restfulizer.js ├── gumby │ ├── fonts │ │ └── icons │ │ │ ├── entypo.eot │ │ │ ├── entypo.ttf │ │ │ └── entypo.woff │ ├── img │ │ ├── gumby_mainlogo.png │ │ ├── img_silence_demo.jpg │ │ └── gumby_mainlogo@2x.png │ ├── css │ │ └── style.css │ └── js │ │ └── main.js ├── bootstrap │ ├── img │ │ ├── glyphicons-halflings.png │ │ └── glyphicons-halflings-white.png │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ └── js │ │ └── restfulizer.js ├── blank │ ├── sentinel-blank-theme.css │ └── restfulizer.js └── foundation │ └── js │ └── restfulizer.js ├── src ├── lang │ ├── .gitkeep │ ├── zh-CN │ │ ├── sessions.php │ │ ├── groups.php │ │ ├── pagination.php │ │ ├── pages.php │ │ └── users.php │ ├── zh-TW │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ ├── pages.php │ │ └── users.php │ ├── ar │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ ├── pages.php │ │ └── users.php │ ├── pt-BR │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── ru │ │ ├── pagination.php │ │ ├── sessions.php │ │ ├── groups.php │ │ └── pages.php │ ├── tr │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── cs │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── en │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── vi │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── nb │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── nl │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── pt-PT │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── da │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── es-ES │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── it │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── fr │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── pl │ │ ├── sessions.php │ │ ├── pagination.php │ │ ├── groups.php │ │ └── pages.php │ ├── de │ │ ├── pagination.php │ │ ├── sessions.php │ │ ├── groups.php │ │ └── pages.php │ └── bg │ │ ├── pagination.php │ │ ├── sessions.php │ │ ├── groups.php │ │ └── pages.php ├── views │ ├── .gitkeep │ ├── gumby │ │ ├── .gitkeep │ │ ├── emails │ │ │ ├── welcome.blade.php │ │ │ └── reset.blade.php │ │ ├── layouts │ │ │ └── notifications.blade.php │ │ ├── groups │ │ │ ├── show.blade.php │ │ │ ├── edit.blade.php │ │ │ ├── create.blade.php │ │ │ └── index.blade.php │ │ ├── users │ │ │ ├── forgot.blade.php │ │ │ ├── resend.blade.php │ │ │ ├── show.blade.php │ │ │ ├── reset.blade.php │ │ │ └── register.blade.php │ │ └── sessions │ │ │ └── login.blade.php │ ├── blank │ │ ├── emails │ │ │ ├── welcome.blade.php │ │ │ └── reset.blade.php │ │ ├── groups │ │ │ ├── show.blade.php │ │ │ ├── create.blade.php │ │ │ ├── edit.blade.php │ │ │ └── index.blade.php │ │ ├── users │ │ │ ├── forgot.blade.php │ │ │ ├── resend.blade.php │ │ │ ├── reset.blade.php │ │ │ ├── create.blade.php │ │ │ ├── register.blade.php │ │ │ ├── show.blade.php │ │ │ └── index.blade.php │ │ ├── layouts │ │ │ └── notifications.blade.php │ │ └── sessions │ │ │ └── login.blade.php │ ├── bootstrap │ │ ├── emails │ │ │ ├── welcome.blade.php │ │ │ └── reset.blade.php │ │ ├── groups │ │ │ ├── show.blade.php │ │ │ ├── edit.blade.php │ │ │ └── create.blade.php │ │ ├── users │ │ │ ├── forgot.blade.php │ │ │ ├── resend.blade.php │ │ │ ├── reset.blade.php │ │ │ ├── show.blade.php │ │ │ └── register.blade.php │ │ ├── layouts │ │ │ └── notifications.blade.php │ │ └── sessions │ │ │ └── login.blade.php │ ├── foundation │ │ ├── emails │ │ │ ├── welcome.blade.php │ │ │ └── reset.blade.php │ │ ├── groups │ │ │ ├── show.blade.php │ │ │ ├── index.blade.php │ │ │ └── create.blade.php │ │ ├── layouts │ │ │ └── notifications.blade.php │ │ └── users │ │ │ ├── resend.blade.php │ │ │ ├── forgot.blade.php │ │ │ ├── show.blade.php │ │ │ └── reset.blade.php │ └── materialize │ │ ├── emails │ │ ├── welcome.blade.php │ │ └── reset.blade.php │ │ ├── groups │ │ ├── show.blade.php │ │ ├── edit.blade.php │ │ └── create.blade.php │ │ ├── users │ │ ├── resend.blade.php │ │ ├── forgot.blade.php │ │ └── reset.blade.php │ │ └── sessions │ │ └── login.blade.php ├── config │ ├── .gitkeep │ └── hashids.php ├── controllers │ └── .gitkeep ├── validators.php ├── Sentinel │ ├── DataTransferObjects │ │ ├── FailureResponse.php │ │ ├── SuccessResponse.php │ │ ├── ExceptionResponse.php │ │ └── BaseResponse.php │ ├── Models │ │ └── Group.php │ ├── Repositories │ │ ├── Session │ │ │ └── SentinelSessionRepositoryInterface.php │ │ └── Group │ │ │ └── SentinelGroupRepositoryInterface.php │ ├── Middleware │ │ ├── SentryGuest.php │ │ ├── SentryAuth.php │ │ ├── SentryMember.php │ │ └── SentryAdminAccess.php │ ├── FormRequests │ │ ├── UserUpdateRequest.php │ │ ├── EmailRequest.php │ │ ├── GroupCreateRequest.php │ │ ├── GroupUpdateRequest.php │ │ ├── ResetPasswordRequest.php │ │ ├── LoginRequest.php │ │ ├── ChangePasswordRequest.php │ │ ├── UserCreateRequest.php │ │ └── RegisterRequest.php │ ├── Traits │ │ └── SentinelViewfinderTrait.php │ └── Mail │ │ ├── Welcome.php │ │ └── PasswordReset.php └── seeds │ ├── DatabaseSeeder.php │ ├── SentryGroupSeeder.php │ ├── SentryUserSeeder.php │ └── SentryUserGroupSeeder.php ├── tests ├── .gitkeep ├── _data │ └── prep.sqlite ├── SentrySessionManagerTests.php └── SentinelTestCase.php ├── migrations ├── .gitkeep ├── 2015_01_14_053439_sentinel_add_username.php ├── 2012_12_06_225945_cartalyst_sentry_install_users_groups_pivot.php ├── 2012_12_06_225929_cartalyst_sentry_install_groups.php └── 2012_12_06_225988_cartalyst_sentry_install_throttle.php ├── .gitignore ├── phpunit.xml └── composer.json /public/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lang/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/views/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/config/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/materialize/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/controllers/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/views/gumby/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/_data/prep.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/tests/_data/prep.sqlite -------------------------------------------------------------------------------- /public/gumby/fonts/icons/entypo.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/gumby/fonts/icons/entypo.eot -------------------------------------------------------------------------------- /public/gumby/fonts/icons/entypo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/gumby/fonts/icons/entypo.ttf -------------------------------------------------------------------------------- /public/gumby/img/gumby_mainlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/gumby/img/gumby_mainlogo.png -------------------------------------------------------------------------------- /public/gumby/fonts/icons/entypo.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/gumby/fonts/icons/entypo.woff -------------------------------------------------------------------------------- /public/gumby/img/img_silence_demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/gumby/img/img_silence_demo.jpg -------------------------------------------------------------------------------- /public/gumby/img/gumby_mainlogo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/gumby/img/gumby_mainlogo@2x.png -------------------------------------------------------------------------------- /public/bootstrap/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/bootstrap/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /public/materialize/font/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /public/materialize/font/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /public/materialize/font/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /public/materialize/font/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /public/materialize/font/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /public/bootstrap/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/bootstrap/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /.idea 3 | composer.phar 4 | composer.lock 5 | .DS_Store 6 | tests/_output/* 7 | tests/_output/* 8 | tests/_data/db.sqlite 9 | .phpunit.result.cache 10 | -------------------------------------------------------------------------------- /public/gumby/css/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | We highly recommend you use SASS and write your custom styles in sass/_custom.scss. 3 | However, this blank file is available if you prefer 4 | */ 5 | -------------------------------------------------------------------------------- /public/materialize/font/material-design-icons/Material-Design-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/material-design-icons/Material-Design-Icons.eot -------------------------------------------------------------------------------- /public/materialize/font/material-design-icons/Material-Design-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/material-design-icons/Material-Design-Icons.ttf -------------------------------------------------------------------------------- /public/materialize/font/material-design-icons/Material-Design-Icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rydurham/Sentinel/HEAD/public/materialize/font/material-design-icons/Material-Design-Icons.woff -------------------------------------------------------------------------------- /src/validators.php: -------------------------------------------------------------------------------- 1 | success = false; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Sentinel/DataTransferObjects/SuccessResponse.php: -------------------------------------------------------------------------------- 1 | success = true; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Sentinel/DataTransferObjects/ExceptionResponse.php: -------------------------------------------------------------------------------- 1 | success = false; 12 | $this->error = true; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Sentinel/Models/Group.php: -------------------------------------------------------------------------------- 1 | attributes['id']); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /public/materialize/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | .icon-block { 10 | padding: 0 15px; 11 | } 12 | 13 | .title-button { 14 | margin-top: 30px; 15 | } 16 | 17 | a.disabled { 18 | pointer-events: none; 19 | cursor: default; 20 | } -------------------------------------------------------------------------------- /src/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call('UserTableSeeder'); 17 | $this->call('SentryGroupSeeder'); 18 | $this->call('SentryUserSeeder'); 19 | $this->call('SentryUserGroupSeeder'); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/lang/zh-CN/sessions.php: -------------------------------------------------------------------------------- 1 | "无效的用户名或密码", 12 | 13 | "notactive" => "你还未激活此帐户。 重新发送激活电子邮件?", 14 | 15 | "suspended" => "您的帐户已被暂停使用。", 16 | 17 | "banned" => "你已被禁止。", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/zh-TW/sessions.php: -------------------------------------------------------------------------------- 1 | "無效的使用者名稱或密碼", 12 | 13 | "notactive" => "您尚未啟動您的帳戶,是否需要為您 重寄啟動信 呢?", 14 | 15 | "suspended" => "您的帳戶已經暫時被停用", 16 | 17 | "banned" => "您已經被禁用了", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/views/blank/emails/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Welcome

8 | 9 |

Account: {{{ $email }}}

10 |

To activate your account, click here.

11 |

Or point your browser to this address:
{{ route('sentinel.activate', [$hash, urlencode($code)]) }}

12 |

Thank you,
13 | ~The Admin Team

14 | 15 | -------------------------------------------------------------------------------- /src/views/gumby/emails/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Welcome

8 | 9 |

Account: {{{ $email }}}

10 |

To activate your account, click here.

11 |

Or point your browser to this address:
{{ route('sentinel.activate', [$hash, urlencode($code)]) }}

12 |

Thank you,
13 | ~The Admin Team

14 | 15 | -------------------------------------------------------------------------------- /src/views/bootstrap/emails/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Welcome

8 | 9 |

Account: {{{ $email }}}

10 |

To activate your account, click here.

11 |

Or point your browser to this address:
{{ route('sentinel.activate', [$hash, urlencode($code)]) }}

12 |

Thank you,
13 | ~The Admin Team

14 | 15 | -------------------------------------------------------------------------------- /src/views/foundation/emails/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Welcome

8 | 9 |

Account: {{{ $email }}}

10 |

To activate your account, click here.

11 |

Or point your browser to this address:
{{ route('sentinel.activate', [$hash, urlencode($code)]) }}

12 |

Thank you,
13 | ~The Admin Team

14 | 15 | -------------------------------------------------------------------------------- /src/views/materialize/emails/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Welcome

8 | 9 |

Account: {{{ $email }}}

10 |

To activate your account, click here.

11 |

Or point your browser to this address:
{{ route('sentinel.activate', [$hash, urlencode($code)]) }}

12 |

Thank you,
13 | ~The Admin Team

14 | 15 | -------------------------------------------------------------------------------- /src/lang/ar/sessions.php: -------------------------------------------------------------------------------- 1 | "اسم المستخدم أو كلمة السر غير صحيحة.", 12 | 13 | "notactive" => "لم تقم بتفعيل هذا الحساب. إعادة إرسال رسالة التفعيل؟", 14 | 15 | "suspended" => "تم تعليق حسابك مؤقتا.", 16 | 17 | "banned" => "تم حظر حسابك.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/views/blank/emails/reset.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Password Reset

8 | 9 |

To reset your password, click here. If you did not request a password reset, you can safely ignore this email - nothing will be changed.

10 |

Or point your browser to this address:
{{ route('sentinel.reset.form', [$hash, urlencode($code)]) }}

11 |

Thank you,
12 | ~The Admin Team

13 | 14 | -------------------------------------------------------------------------------- /src/views/bootstrap/emails/reset.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Password Reset

8 | 9 |

To reset your password, click here. If you did not request a password reset, you can safely ignore this email - nothing will be changed.

10 |

Or point your browser to this address:
{{ route('sentinel.reset.form', [$hash, urlencode($code)]) }}

11 |

Thank you,
12 | ~The Admin Team

13 | 14 | -------------------------------------------------------------------------------- /src/views/gumby/emails/reset.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Password Reset

8 | 9 |

To reset your password, click here. If you did not request a password reset, you can safely ignore this email - nothing will be changed.

10 |

Or point your browser to this address:
{{ route('sentinel.reset.form', [$hash, urlencode($code)]) }}

11 |

Thank you,
12 | ~The Admin Team

13 | 14 | -------------------------------------------------------------------------------- /src/Sentinel/Repositories/Session/SentinelSessionRepositoryInterface.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Password Reset

8 | 9 |

To reset your password, click here. If you did not request a password reset, you can safely ignore this email - nothing will be changed.

10 |

Or point your browser to this address:
{{ route('sentinel.reset.form', [$hash, urlencode($code)]) }}

11 |

Thank you,
12 | ~The Admin Team

13 | 14 | -------------------------------------------------------------------------------- /src/views/materialize/emails/reset.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Password Reset

8 | 9 |

To reset your password, click here. If you did not request a password reset, you can safely ignore this email - nothing will be changed.

10 |

Or point your browser to this address:
{{ route('sentinel.reset.form', [$hash, urlencode($code)]) }}

11 |

Thank you,
12 | ~The Admin Team

13 | 14 | -------------------------------------------------------------------------------- /src/lang/pt-BR/sessions.php: -------------------------------------------------------------------------------- 1 | "Usuário ou Senha inválidos.", 12 | 13 | "notactive" => "Você ainda não ativou sua conta. Reenviar Email de Ativação?", 14 | 15 | "suspended" => "Sua conta foi suspensa temporariamente.", 16 | 17 | "banned" => "Você está banido.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/ru/pagination.php: -------------------------------------------------------------------------------- 1 | '« Предыдущая', 17 | 18 | 'next' => 'Следующая »', 19 | 20 | ); -------------------------------------------------------------------------------- /src/lang/tr/sessions.php: -------------------------------------------------------------------------------- 1 | "Kullanıcı adı ya da şifre hatalı.", 12 | 13 | "notactive" => "Bu hesap henüz etkinleştirmediniz. yeniden etkinleştirme e-postası?", 14 | 15 | "suspended" => "Hesabınız geçici olarak askıya alındı.", 16 | 17 | "banned" => "Yasaklandınız.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/cs/sessions.php: -------------------------------------------------------------------------------- 1 | "Neplatné uživatelské jméno nebo heslo.", 12 | 13 | "notactive" => "Ještě jste neaktivovali tento účet. znovu poslat aktivační E-mail?", 14 | 15 | "suspended" => "Váš účet byl dočasně zablokován.", 16 | 17 | "banned" => "Byl jste zabanován.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/en/sessions.php: -------------------------------------------------------------------------------- 1 | "Invalid username or password.", 12 | 13 | "notactive" => "You have not yet activated this account. Resend Activation Email?", 14 | 15 | "suspended" => "Your account has been temporarily suspended.", 16 | 17 | "banned" => "You have been banned.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/vi/sessions.php: -------------------------------------------------------------------------------- 1 | "Tên đăng nhập hoặc mật khẩu không hợp lệ.", 12 | 13 | "notactive" => "Tài khoản này chưa được kích hoạt. gửi lại Email kích hoạt khác?", 14 | 15 | "suspended" => "Tài khoản của bạn đã được tạm đình chỉ.", 16 | 17 | "banned" => "Bạn đã bị cấm.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/nb/sessions.php: -------------------------------------------------------------------------------- 1 | "Ugyldig brukernavn eller passord.", 12 | 13 | "notactive" => "Du har ikke akitvert denne kontoen. Send aktivasjons-mail på nytt?", 14 | 15 | "suspended" => "Din konto har blitt midlertidlig suspendert.", 16 | 17 | "banned" => "Du har blitt utestengt.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/nl/sessions.php: -------------------------------------------------------------------------------- 1 | "Ongeldige gebruikersnaam of wachtwoord.", 12 | 13 | "notactive" => "U heeft dit account nog niet geactiveerd. Activeringsmail opnieuw sturen?", 14 | 15 | "suspended" => "Uw account is tijdelijk geschorst.", 16 | 17 | "banned" => "Je bent verbannen.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/pt-PT/sessions.php: -------------------------------------------------------------------------------- 1 | "Nome de utilizador ou palavra-passe inválidos.", 12 | 13 | "notactive" => "Você não ativou ainda esta conta. Reenviar E-mail de ativação?", 14 | 15 | "suspended" => "A sua conta foi temporariamente suspensa.", 16 | 17 | "banned" => "Você foi Banido.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/da/sessions.php: -------------------------------------------------------------------------------- 1 | "Ugyldigt brugernavn eller adgangskode.", 12 | 13 | "notactive" => "Du ikke har aktiveret denne konto endnu. Gensend Aktiveringsemail?", 14 | 15 | "suspended" => "Din konto er blevet midlertidigt suspenderet.", 16 | 17 | "banned" => "Du er blevet bandlyst.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/es-ES/sessions.php: -------------------------------------------------------------------------------- 1 | "Usuario o contraseña inválidos.", 12 | 13 | "notactive" => "Todavía no has activado esta cuenta. ¿Reenviar Correo de Activación?", 14 | 15 | "suspended" => "Tu cuenta ha sido temporalmente suspendida.", 16 | 17 | "banned" => "Tu cuenta ha sido bloqueada.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/it/sessions.php: -------------------------------------------------------------------------------- 1 | "Le credenziali inserite sono errate.", 12 | 13 | "notactive" => "Non hai ancora attivato questo account. Re-inviare eMail di attivazione?", 14 | 15 | "suspended" => "Il tuo account è stato temporaneamente sospeso.", 16 | 17 | "banned" => "Sei stato bannato.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/ru/sessions.php: -------------------------------------------------------------------------------- 1 | "Неверное имя пользователя или пароль.", 12 | 13 | "notactive" => "Вы еще не активировали эту учетную запись. Повторить отправку письма активации?", 14 | 15 | "suspended" => "Ваша учетная запись временно заблокирована.", 16 | 17 | "banned" => "Доступ для вашей учетной записи заблокирован.", 18 | 19 | ); -------------------------------------------------------------------------------- /src/lang/fr/sessions.php: -------------------------------------------------------------------------------- 1 | "Nom d'utilisateur ou mot de passe incorrect.", 12 | 13 | "notactive" => "Vous n'avez pas encore activé ce compte. Renvoyer l'Email d'Activation?", 14 | 15 | "suspended" => "Votre compte a été temporairement suspendu.", 16 | 17 | "banned" => "Vous avez été banni.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/pl/sessions.php: -------------------------------------------------------------------------------- 1 | "Nieprawidłowa nazwa użytkownika lub hasło.", 12 | 13 | "notactive" => "Konto nie została jeszcze aktywowane. Wysłać ponownie e-mail aktywacyjny?", 14 | 15 | "suspended" => "Twoje konto zostało tymczasowo zawieszone.", 16 | 17 | "banned" => "Zostałeś zablokowany.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/zh-TW/pagination.php: -------------------------------------------------------------------------------- 1 | '« 上頁', 17 | 18 | 'next' => '下頁 »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/ar/pagination.php: -------------------------------------------------------------------------------- 1 | '« السابق', 17 | 18 | 'next' => 'التالي »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/da/pagination.php: -------------------------------------------------------------------------------- 1 | '« Forrige', 17 | 18 | 'next' => 'Næste »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/de/pagination.php: -------------------------------------------------------------------------------- 1 | '« zurück', 17 | 18 | 'next' => 'weiter »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/de/sessions.php: -------------------------------------------------------------------------------- 1 | "Falscher Benutzername oder Passwort.", 12 | 13 | "notactive" => "Sie haben dieses Benutzerkonto noch nicht aktiviert. Aktivierungs-Mail nochmal versenden?", 14 | 15 | "suspended" => "Ihr Benutzerkonto ruht vorübergehend.", 16 | 17 | "banned" => "Sie wurden gesperrt.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 18 | 'next' => 'Next »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/nb/pagination.php: -------------------------------------------------------------------------------- 1 | '« Forrige', 17 | 18 | 'next' => 'Neste »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/tr/pagination.php: -------------------------------------------------------------------------------- 1 | '« Önceki', 17 | 18 | 'next' => 'Sonraki »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/zh-CN/groups.php: -------------------------------------------------------------------------------- 1 | "创建组", 12 | 13 | 'loginreq' => "必填字段", 14 | 15 | 'userexists' => "用户已经存在!", 16 | 17 | 'updated' => "组已被更新", 18 | 19 | 'updateproblem' => "更新组时出错", 20 | 21 | 'namereq' => "您必须提供一个组名称", 22 | 23 | 'groupexists' => "该组已存在", 24 | 25 | 'notfound' => "找不到该组", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/zh-CN/pagination.php: -------------------------------------------------------------------------------- 1 | '« 上一页', 17 | 18 | 'next' => '下一页 »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/bg/pagination.php: -------------------------------------------------------------------------------- 1 | '« Предишна', 17 | 18 | 'next' => 'Следваща »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/bg/sessions.php: -------------------------------------------------------------------------------- 1 | "Неправилно име или парола.", 12 | 13 | "notactive" => "Все още не сте активирали своя потребител. Изпрати отново съобщение за активиране?", 14 | 15 | "suspended" => "Вашият потребител е временно изключен.", 16 | 17 | "banned" => "Забрането ви е да използвате системата.", 18 | 19 | ); 20 | -------------------------------------------------------------------------------- /src/lang/cs/pagination.php: -------------------------------------------------------------------------------- 1 | '« Předchozí', 17 | 18 | 'next' => 'Další »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/fr/pagination.php: -------------------------------------------------------------------------------- 1 | '« Précédent', 17 | 18 | 'next' => 'Suivant »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/nl/pagination.php: -------------------------------------------------------------------------------- 1 | '« Vorige', 17 | 18 | 'next' => 'Volgende »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/pl/pagination.php: -------------------------------------------------------------------------------- 1 | '« Poprzednia', 17 | 18 | 'next' => 'Następna »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/pt-BR/pagination.php: -------------------------------------------------------------------------------- 1 | '« Anterior', 17 | 18 | 'next' => 'Próxima »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/vi/pagination.php: -------------------------------------------------------------------------------- 1 | '« Trước', 17 | 18 | 'next' => 'Tiếp theo »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/es-ES/pagination.php: -------------------------------------------------------------------------------- 1 | '« Anterior', 17 | 18 | 'next' => 'Siguiente »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/it/pagination.php: -------------------------------------------------------------------------------- 1 | '« Precedente', 17 | 18 | 'next' => 'Successivo »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/lang/pt-PT/pagination.php: -------------------------------------------------------------------------------- 1 | '« Anterior', 17 | 18 | 'next' => 'Seguinte »', 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /src/Sentinel/Middleware/SentryGuest.php: -------------------------------------------------------------------------------- 1 | route($destination); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/lang/zh-TW/groups.php: -------------------------------------------------------------------------------- 1 | "群組已經建立", 12 | 13 | 'loginreq' => "登入欄位為必要項目", 14 | 15 | 'userexists' => "使用者已經存在", 16 | 17 | 'updated' => "群組已經更新", 18 | 19 | 'updateproblem' => "更新群組時,發生錯誤。", 20 | 21 | 'namereq' => "必須提供群組名稱", 22 | 23 | 'groupexists' => "群組已經存在", 24 | 25 | 'notfound' => "找不到該群組", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/UserUpdateRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:4|max:254|email' 28 | ]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/GroupCreateRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:4|unique:groups' 28 | ]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/GroupUpdateRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:4|unique:groups' 28 | ]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/ResetPasswordRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:8|confirmed' 28 | ]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/views/blank/groups/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | View Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |

{{ $group['name'] }} Group

12 |
13 | Permissions: 14 | 19 |
20 | 21 |
22 |

Group Object

23 |
24 | {{ var_dump($group) }} 25 |
26 | 27 | @stop 28 | -------------------------------------------------------------------------------- /public/gumby/js/main.js: -------------------------------------------------------------------------------- 1 | // Gumby is ready to go 2 | Gumby.ready(function() { 3 | Gumby.log('Gumby is ready to go...', Gumby.dump()); 4 | 5 | // placeholder polyfil 6 | if(Gumby.isOldie || Gumby.$dom.find('html').hasClass('ie9')) { 7 | $('input, textarea').placeholder(); 8 | } 9 | 10 | // skip link and toggle on one element 11 | // when the skip link completes, trigger the switch 12 | $('#skip-switch').on('gumby.onComplete', function() { 13 | $(this).trigger('gumby.trigger'); 14 | }); 15 | 16 | // Oldie document loaded 17 | }).oldie(function() { 18 | Gumby.warn("This is an oldie browser..."); 19 | 20 | // Touch devices loaded 21 | }).touch(function() { 22 | Gumby.log("This is a touch enabled device..."); 23 | }); 24 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/LoginRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:4|max:254', 28 | 'password' => 'required|min:6' 29 | ]; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/lang/ru/groups.php: -------------------------------------------------------------------------------- 1 | "Группа создана.", 12 | 13 | 'loginreq' => "Укажите обязательное поле Логин.", 14 | 15 | 'userexists' => "Пользователь уже существует.", 16 | 17 | 'updated' => "Группа была обновлена.", 18 | 19 | 'updateproblem' => "Возникла проблема обновления группы.", 20 | 21 | 'namereq' => "Вам нужно указать имя группы.", 22 | 23 | 'groupexists' => "Группа с указанным именем уже существует.", 24 | 25 | 'notfound' => "Группа не найдена.", 26 | 27 | ); -------------------------------------------------------------------------------- /src/lang/ar/groups.php: -------------------------------------------------------------------------------- 1 | "تم انشاء المجموعة.", 12 | 13 | 'loginreq' => "حقل التسجيل مطلوب.", 14 | 15 | 'userexists' => "المستخدم موجود بالفعل.", 16 | 17 | 'updated' => "تم تحديث المجموعة.", 18 | 19 | 'updateproblem' => "هناك مشكلة في تحديث المجموعة.", 20 | 21 | 'namereq' => "يجب كتابة اسم المجموعة.", 22 | 23 | 'groupexists' => "المجموعة موجودة بالفعل.", 24 | 25 | 'notfound' => "المجموعة غير موجودة.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/vi/groups.php: -------------------------------------------------------------------------------- 1 | "Tạo nhóm.", 12 | 13 | 'loginreq' => "Mục đăng nhập được yêu cầu.", 14 | 15 | 'userexists' => "Tài khoản đã tồn tại.", 16 | 17 | 'updated' => "Cập nhật nhóm đã thành công.", 18 | 19 | 'updateproblem' => "Có vấn đề khi đang cập nhật nhóm.", 20 | 21 | 'namereq' => "Bạn phải cung cấp tên nhóm.", 22 | 23 | 'groupexists' => "Nhóm đó đã tồn tại.", 24 | 25 | 'notfound' => "Nhóm không tìm thấy.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/views/blank/users/forgot.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Forgot Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 |
13 | 14 |

Forgot your Password?

15 | 16 |

17 | 18 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 19 |

20 | 21 | 22 | 23 | 24 |
25 | 26 | @stop -------------------------------------------------------------------------------- /src/Sentinel/Middleware/SentryAuth.php: -------------------------------------------------------------------------------- 1 | ajax()) { 21 | return response('Unauthorized.', 401); 22 | } else { 23 | $request->session()->reflash(); 24 | return redirect()->guest(route('sentinel.login')); 25 | } 26 | } 27 | 28 | return $next($request); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/lang/en/groups.php: -------------------------------------------------------------------------------- 1 | "Group Created.", 12 | 13 | 'loginreq' => "Login field required.", 14 | 15 | 'userexists' => "User already exists.", 16 | 17 | 'updated' => "Group has been updated.", 18 | 19 | 'updateproblem' => "There was a problem updating the group.", 20 | 21 | 'namereq' => "You must provide a group name.", 22 | 23 | 'groupexists' => "That group already exists.", 24 | 25 | 'notfound' => "Group not found.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/tr/groups.php: -------------------------------------------------------------------------------- 1 | "Grup oluşturuldu.", 12 | 13 | 'loginreq' => "Giriş alanı gereklidir.", 14 | 15 | 'userexists' => "Kullanıcı zaten mevcut.", 16 | 17 | 'updated' => "Grup güncellenmiştir.", 18 | 19 | 'updateproblem' => "Grup güncellemede bir hata oluştu.", 20 | 21 | 'namereq' => "Bir grup adı sağlamanız gerekir.", 22 | 23 | 'groupexists' => "Bu grup zaten mevcut.", 24 | 25 | 'notfound' => "Grup bulunamadı.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/seeds/SentryGroupSeeder.php: -------------------------------------------------------------------------------- 1 | delete(); 15 | 16 | Sentry::getGroupProvider()->create(array( 17 | 'name' => 'Users', 18 | 'permissions' => array( 19 | 'admin' => 0, 20 | 'users' => 1, 21 | ))); 22 | 23 | Sentry::getGroupProvider()->create(array( 24 | 'name' => 'Admins', 25 | 'permissions' => array( 26 | 'admin' => 1, 27 | 'users' => 1, 28 | ))); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/lang/nl/groups.php: -------------------------------------------------------------------------------- 1 | "Groep aangemaakt.", 12 | 13 | 'loginreq' => "Login veld is vereist.", 14 | 15 | 'userexists' => "Gebruiker bestaat al.", 16 | 17 | 'updated' => "Groep is aangepast.", 18 | 19 | 'updateproblem' => "Er was een probleem met het bijwerken van de groep.", 20 | 21 | 'namereq' => "U moet een groepsnaam opgeven.", 22 | 23 | 'groupexists' => "De groepsnaam bestaat al.", 24 | 25 | 'notfound' => "Groep niet gevonden.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/pt-PT/groups.php: -------------------------------------------------------------------------------- 1 | "Grupo criado.", 12 | 13 | 'loginreq' => "Campo de Login obrigatório.", 14 | 15 | 'userexists' => "O utilizador já existe.", 16 | 17 | 'updated' => "O grupo foi atualizado.", 18 | 19 | 'updateproblem' => "Houve um problema ao atualizar o grupo.", 20 | 21 | 'namereq' => "Deve fornecer um nome de grupo.", 22 | 23 | 'groupexists' => "Esse grupo já existe.", 24 | 25 | 'notfound' => "Grupo não encontrado.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/cs/groups.php: -------------------------------------------------------------------------------- 1 | "Skupina byla vytvořena.", 12 | 13 | 'loginreq' => "Pole požadováno.", 14 | 15 | 'userexists' => "Tento uživatel již existuje.", 16 | 17 | 'updated' => "Skupina byla aktualizována.", 18 | 19 | 'updateproblem' => "Došlo k potížím při aktualizaci skupiny.", 20 | 21 | 'namereq' => "Je třeba zadat název skupiny.", 22 | 23 | 'groupexists' => "Tato skupina již existuje.", 24 | 25 | 'notfound' => "Skupina nenalezena.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/pt-BR/groups.php: -------------------------------------------------------------------------------- 1 | "Grupo Criado.", 12 | 13 | 'loginreq' => "O campo Login é obrigatório.", 14 | 15 | 'userexists' => "Usuário já existe.", 16 | 17 | 'updated' => "O Grupo foi atualizado.", 18 | 19 | 'updateproblem' => "Ocorreu um problema ao atualizar o grupo.", 20 | 21 | 'namereq' => "Você deve informar um nome para o grupo.", 22 | 23 | 'groupexists' => "Este grupo já existe.", 24 | 25 | 'notfound' => "Grupo não encontrado.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/seeds/SentryUserSeeder.php: -------------------------------------------------------------------------------- 1 | delete(); 15 | 16 | Sentry::getUserProvider()->create(array( 17 | 'email' => 'admin@admin.com', 18 | 'username' => 'admin', 19 | 'password' => 'sentryadmin', 20 | 'activated' => 1, 21 | )); 22 | 23 | Sentry::getUserProvider()->create(array( 24 | 'email' => 'user@user.com', 25 | 'username' => '', 26 | 'password' => 'sentryuser', 27 | 'activated' => 1, 28 | )); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/views/blank/users/resend.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Resend Activation 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 |
13 | 14 |

Resend Activation Email

15 | 16 |

17 | 18 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 19 |

20 | 21 | 22 | 23 | 24 |
25 | 26 | @stop 27 | -------------------------------------------------------------------------------- /src/views/bootstrap/groups/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | View Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |

{{ $group['name'] }} Group

12 |
13 |
14 | Permissions: 15 | 20 |
21 |
22 | Edit Group 23 |
24 |
25 |
26 |

Group Object

27 |
28 | {{ var_dump($group) }} 29 |
30 | 31 | @stop 32 | -------------------------------------------------------------------------------- /src/lang/bg/groups.php: -------------------------------------------------------------------------------- 1 | "Групата създадена.", 12 | 13 | 'loginreq' => "Побето име е задължително.", 14 | 15 | 'userexists' => "Този потребител вече съществува.", 16 | 17 | 'updated' => "Групата бе обновена.", 18 | 19 | 'updateproblem' => "Възникна проблем с промяната на групата.", 20 | 21 | 'namereq' => "Полето име на групата е задължително.", 22 | 23 | 'groupexists' => "Тази група вече съществува.", 24 | 25 | 'notfound' => "Групата не е намерена.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/da/groups.php: -------------------------------------------------------------------------------- 1 | "Gruppe oprettet.", 12 | 13 | 'loginreq' => "Log ind feltet er obligatorisk.", 14 | 15 | 'userexists' => "Brugeren findes allerede.", 16 | 17 | 'updated' => "Gruppen er blevet opdateret.", 18 | 19 | 'updateproblem' => "Der var problemer med at opdatere gruppen.", 20 | 21 | 'namereq' => "Du skal angive et gruppenavn.", 22 | 23 | 'groupexists' => "Denne gruppe findes allerede.", 24 | 25 | 'notfound' => "Gruppen blev ikke fundet.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/es-ES/groups.php: -------------------------------------------------------------------------------- 1 | "Grupo Creado.", 12 | 13 | 'loginreq' => "Campo de inicio de sesión requerido.", 14 | 15 | 'userexists' => "El usuario ya existe.", 16 | 17 | 'updated' => "El grupo ha sido actualizado.", 18 | 19 | 'updateproblem' => "Ocurrió un problema al actualizar el grupo.", 20 | 21 | 'namereq' => "Debe proporcionar un nombre de grupo.", 22 | 23 | 'groupexists' => "Ese grupo ya existe.", 24 | 25 | 'notfound' => "Grupo no encontrado.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/fr/groups.php: -------------------------------------------------------------------------------- 1 | "Groupe créé avec succès.", 12 | 13 | 'loginreq' => "Champ de connexion requis.", 14 | 15 | 'userexists' => "L'utilisateur existe déjà.", 16 | 17 | 'updated' => "Groupe a été mis à jour.", 18 | 19 | 'updateproblem' => "Il y a eu un problème de mise à jour du groupe.", 20 | 21 | 'namereq' => "Vous devez fournir un nom de groupe.", 22 | 23 | 'groupexists' => "Ce groupe existe déjà.", 24 | 25 | 'notfound' => "Groupe non trouvé.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/pl/groups.php: -------------------------------------------------------------------------------- 1 | "Grupa została utworzona.", 12 | 13 | 'loginreq' => "Pole 'Login' jest wymagane.", 14 | 15 | 'userexists' => "Taki użytkownik już istnieje.", 16 | 17 | 'updated' => "Grupa została zaktualizowana.", 18 | 19 | 'updateproblem' => "Wystąpił problem podczas aktualizacji grupy.", 20 | 21 | 'namereq' => "Musisz podać nazwę grupy.", 22 | 23 | 'groupexists' => "Taka grupa już istnieje.", 24 | 25 | 'notfound' => "Nie znaleziono grupy.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/views/blank/layouts/notifications.blade.php: -------------------------------------------------------------------------------- 1 | @if ($message = Session::get('success')) 2 |
3 | Success: {!! $message !!} 4 |
5 | {{ Session::forget('success') }} 6 | @endif 7 | 8 | @if ($message = Session::get('error')) 9 |
10 | Error: {!! $message !!} 11 |
12 | {{ Session::forget('error') }} 13 | @endif 14 | 15 | @if ($message = Session::get('warning')) 16 |
17 | Warning: {!! $message !!} 18 |
19 | {{ Session::forget('warning') }} 20 | @endif 21 | 22 | @if ($message = Session::get('info')) 23 |
24 | FYI: {!! $message !!} 25 |
26 | {{ Session::forget('info') }} 27 | @endif 28 | -------------------------------------------------------------------------------- /src/lang/it/groups.php: -------------------------------------------------------------------------------- 1 | "Gruppo creato.", 12 | 13 | 'loginreq' => "Il campo di login è obbligatorio.", 14 | 15 | 'userexists' => "L'utente esiste già.", 16 | 17 | 'updated' => "Il gruppo è stato aggiornato.", 18 | 19 | 'updateproblem' => "Problema riscontrato durante l'aggiornamento del gruppo.", 20 | 21 | 'namereq' => "Devi fornire un nome per il gruppo.", 22 | 23 | 'groupexists' => "Il gruppo esiste già.", 24 | 25 | 'notfound' => "Gruppo non trovato.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/lang/nb/groups.php: -------------------------------------------------------------------------------- 1 | "Gruppe opprettet.", 12 | 13 | 'loginreq' => "Innloggsfelt påkrevd.", 14 | 15 | 'userexists' => "Bruker eksisterer allerede.", 16 | 17 | 'updated' => "Gruppen har blitt oppdatert.", 18 | 19 | 'updateproblem' => "Det oppstod et problem under oppdatering av gruppen.", 20 | 21 | 'namereq' => "Du må oppgi et gruppenavn.", 22 | 23 | 'groupexists' => "Den gruppen eksisterer allerede.", 24 | 25 | 'notfound' => "Gruppen er ikke funnet.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests 15 | ./tests/SentinelTestCase.php 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/ChangePasswordRequest.php: -------------------------------------------------------------------------------- 1 | 'min:8', 28 | 'newPassword' => 'required|min:8|confirmed', 29 | 'newPassword_confirmation' => 'required' 30 | ]; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/lang/de/groups.php: -------------------------------------------------------------------------------- 1 | "Gruppe erstellt.", 12 | 13 | 'loginreq' => "Anmeldefeld benötigt.", 14 | 15 | 'userexists' => "Dieser Nutzer existiert bereits.", 16 | 17 | 'updated' => "Gruppe wurde aktualisiert.", 18 | 19 | 'updateproblem' => "Während dem Aktualisieren der Gruppe ist ein Problem aufgetreten.", 20 | 21 | 'namereq' => "Sie müssen einen Gruppennamen angeben.", 22 | 23 | 'groupexists' => "Diese Gruppe existiert bereits.", 24 | 25 | 'notfound' => "Gruppe nicht gefunden.", 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/seeds/SentryUserGroupSeeder.php: -------------------------------------------------------------------------------- 1 | delete(); 15 | 16 | $userUser = Sentry::getUserProvider()->findByLogin('user@user.com'); 17 | $adminUser = Sentry::getUserProvider()->findByLogin('admin@admin.com'); 18 | 19 | $userGroup = Sentry::getGroupProvider()->findByName('Users'); 20 | $adminGroup = Sentry::getGroupProvider()->findByName('Admins'); 21 | 22 | // Assign the groups to the users 23 | $userUser->addGroup($userGroup); 24 | $adminUser->addGroup($userGroup); 25 | $adminUser->addGroup($adminGroup); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /migrations/2015_01_14_053439_sentinel_add_username.php: -------------------------------------------------------------------------------- 1 | string('username')->nullable()->unique(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | // Remove username from the users table 29 | Schema::table('users', function ($table) { 30 | $table->dropColumn('username'); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/views/foundation/groups/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | View Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
12 |
13 |

{{ $group['name'] }} Group

14 | 15 | Permissions: 16 | 21 |
22 | 23 |
24 | 25 |
26 | 27 |
28 | 29 |
30 |

Group Object

31 |
32 |
{{ var_dump($group) }}
33 |
34 |
35 | 36 | @stop 37 | -------------------------------------------------------------------------------- /src/views/gumby/layouts/notifications.blade.php: -------------------------------------------------------------------------------- 1 | @if ($message = Session::get('success')) 2 |
3 |
  • Success: {!! $message !!}
  • 4 |
    5 | {{ Session::forget('success') }} 6 | @endif 7 | 8 | @if ($message = Session::get('error')) 9 |
    10 |
  • Error: {!! $message !!}
  • 11 |
    12 | {{ Session::forget('error') }} 13 | @endif 14 | 15 | @if ($message = Session::get('warning')) 16 |
    17 |
  • Warning: {!! $message !!}
  • 18 |
    19 | {{ Session::forget('warning') }} 20 | @endif 21 | 22 | @if ($message = Session::get('info')) 23 |
    24 |
  • FYI: {!! $message !!}
  • 25 |
    26 | {{ Session::forget('info') }} 27 | @endif 28 | -------------------------------------------------------------------------------- /src/views/gumby/groups/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'View Group') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 |
    9 |
    10 |

    {{ $group['name'] }} Group

    11 |
    12 |
    13 |
    14 |
    15 | Permissions: 16 | 21 |
    22 |
    23 |
    24 | Edit Group 25 |
    26 |
    27 |
    28 | 29 |
    30 |

    Group Object

    31 | {{ var_dump($group) }} 32 |
    33 | 34 | @stop 35 | -------------------------------------------------------------------------------- /src/views/blank/users/reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Forgot Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 | 13 |

    Reset Your Password

    14 | 15 |

    16 | 17 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 18 |

    19 | 20 |

    21 | 22 | {{ ($errors->has('password_confirmation') ? $errors->first('password_confirmation') : '') }} 23 |

    24 | 25 | 26 | 27 | 28 |
    29 | @stop -------------------------------------------------------------------------------- /src/views/materialize/groups/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | View Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |

    {{ $group['name'] }} Group

    13 |
    14 |
    15 |
    16 |

    Permissions:

    17 |
    18 | 23 |
    24 |
    25 | Edit Group 26 |
    27 |
    28 | 29 |
    30 |
    31 |

    Group Object

    32 |
    33 | {{ var_dump($group) }} 34 |
    35 |
    36 | 37 | @stop 38 | -------------------------------------------------------------------------------- /src/views/bootstrap/users/forgot.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Forgot Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 |

    Forgot your Password?

    16 | 17 |
    18 | 19 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 20 |
    21 | 22 | 23 | 24 | 25 |
    26 |
    27 |
    28 | 29 | @stop -------------------------------------------------------------------------------- /src/views/bootstrap/users/resend.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Resend Activation 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 |

    Resend Activation Email

    16 | 17 |
    18 | 19 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 20 |
    21 | 22 | 23 | 24 | 25 |
    26 |
    27 |
    28 | 29 | @stop 30 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/UserCreateRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:4|max:254|email', 28 | 'password' => 'required|min:6|confirmed', 29 | 'password_confirmation' => 'required' 30 | ]; 31 | 32 | // If Usernames are enabled, add username validation rules 33 | if (config('sentinel.allow_usernames')) { 34 | $rules['username'] = 'required|unique:users,username'; 35 | } 36 | 37 | return $rules; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/views/gumby/users/forgot.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Forgot Password?') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 | 9 |
    10 |
    11 |
    12 |

    Reset Password

    13 |
      14 | 15 |
    • 16 | 17 |
    • 18 | {{ $errors->first('email', '

      :message

      ') }} 19 | 20 |
      21 | 22 | 23 |
      24 | 25 |
    26 |
    27 |
    28 |
    29 | @stop 30 | -------------------------------------------------------------------------------- /src/views/gumby/users/resend.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Resend Activation') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 | 9 |
    10 |
    11 |
    12 |

    Resend Activation

    13 |
      14 | 15 |
    • 16 | 17 |
    • 18 | {{ $errors->first('email', '

      :message

      ') }} 19 | 20 |
      21 | 22 | 23 |
      24 | 25 |
    26 |
    27 |
    28 |
    29 | @stop 30 | -------------------------------------------------------------------------------- /src/Sentinel/FormRequests/RegisterRequest.php: -------------------------------------------------------------------------------- 1 | 'required|min:4|max:254|email', 28 | 'password' => 'required|min:8|confirmed', 29 | 'password_confirmation' => 'required', 30 | 'username' => 'unique:users,username' 31 | ]; 32 | 33 | // If Usernames are enabled, add username validation rules 34 | if (config('sentinel.allow_usernames')) { 35 | $rules['username'] = 'required|unique:users,username'; 36 | } 37 | 38 | return $rules; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Sentinel/Traits/SentinelViewfinderTrait.php: -------------------------------------------------------------------------------- 1 | with($payload); 27 | } else { 28 | // Check the payload for paginator instances. 29 | foreach ($payload as $name => $item) { 30 | if ($item instanceof \Illuminate\Pagination\Paginator) { 31 | $payload[$name] = $item->getCollection(); 32 | } 33 | } 34 | 35 | return Response::json($payload); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/views/blank/sessions/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | Log In 6 | @stop 7 | 8 | {{-- Content --}} 9 | @section('content') 10 | 11 |
    12 | 13 |

    Sign In

    14 | 15 |

    16 | 17 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 18 |

    19 | 20 |

    21 | 22 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 23 |

    24 | 25 |

    26 | Remember Me 27 |

    28 | 29 |

    30 | 31 | 32 | Forgot Password 33 |

    34 | 35 |
    36 | 37 | @stop -------------------------------------------------------------------------------- /src/views/foundation/layouts/notifications.blade.php: -------------------------------------------------------------------------------- 1 | @if ($message = Session::get('success')) 2 |
    3 |
    4 | Success: {!! $message !!} 5 | × 6 |
    7 |
    8 | {{ Session::forget('success') }} 9 | @endif 10 | 11 | @if ($message = Session::get('error')) 12 |
    13 |
    14 | Error: {!! $message !!} 15 | × 16 |
    17 |
    18 | {{ Session::forget('error') }} 19 | @endif 20 | 21 | @if ($message = Session::get('warning')) 22 |
    23 |
    24 | Warning: {!! $message !!} 25 | × 26 |
    27 |
    28 | {{ Session::forget('warning') }} 29 | @endif 30 | 31 | @if ($message = Session::get('info')) 32 |
    33 |
    34 | FYI: {!! $message !!} 35 | × 36 |
    37 |
    38 | {{ Session::forget('info') }} 39 | @endif 40 | -------------------------------------------------------------------------------- /src/views/materialize/users/resend.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Resend Activation 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 | 16 |

    Resend Activation Email

    17 | 18 |
    19 |
    20 | 21 | 22 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 23 |
    24 |
    25 | 26 |

    27 | 30 |

    31 | 32 |
    33 |
    34 |
    35 | @stop 36 | -------------------------------------------------------------------------------- /src/views/materialize/users/forgot.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Forgot Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 | 16 |

    Forgot your Password?

    17 | 18 |
    19 |
    20 | 21 | 22 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 23 |
    24 |
    25 | 26 |

    27 | 30 |

    31 | 32 |
    33 |
    34 |
    35 | 36 | @stop -------------------------------------------------------------------------------- /src/views/bootstrap/layouts/notifications.blade.php: -------------------------------------------------------------------------------- 1 | @if ($message = Session::get('success')) 2 |
    3 | 4 | Success: {!! $message !!} 5 |
    6 | {{ Session::forget('success') }} 7 | @endif 8 | 9 | @if ($message = Session::get('error')) 10 |
    11 | 12 | Error: {!! $message !!} 13 |
    14 | {{ Session::forget('error') }} 15 | @endif 16 | 17 | @if ($message = Session::get('warning')) 18 |
    19 | 20 | Warning: {!! $message !!} 21 |
    22 | {{ Session::forget('warning') }} 23 | @endif 24 | 25 | @if ($message = Session::get('info')) 26 |
    27 | 28 | FYI: {!! $message !!} 29 |
    30 | {{ Session::forget('info') }} 31 | @endif 32 | -------------------------------------------------------------------------------- /src/Sentinel/DataTransferObjects/BaseResponse.php: -------------------------------------------------------------------------------- 1 | message = $message; 27 | $this->payload = $payload; 28 | } 29 | 30 | /** 31 | * @return mixed 32 | */ 33 | public function isSuccessful() 34 | { 35 | return $this->success; 36 | } 37 | 38 | /** 39 | * @return mixed 40 | */ 41 | public function getMessage() 42 | { 43 | return $this->message; 44 | } 45 | 46 | /** 47 | * @return array 48 | */ 49 | public function getPayload() 50 | { 51 | return $this->payload; 52 | } 53 | 54 | /** 55 | * @return boolean 56 | */ 57 | public function isError() 58 | { 59 | return $this->error; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/Sentinel/Middleware/SentryMember.php: -------------------------------------------------------------------------------- 1 | ajax()) { 23 | return response('Unauthorized.', 401); 24 | } else { 25 | return redirect()->guest(route('sentinel.login')); 26 | } 27 | } 28 | 29 | // Find the specified group 30 | $group = Sentry::findGroupByName($group); 31 | 32 | // Now check to see if the current user is a member of the specified group 33 | if (!Sentry::getUser()->inGroup($group)) { 34 | if ($request->ajax()) { 35 | return response('Unauthorized.', 401); 36 | } else { 37 | Session::flash('error', trans('Sentinel::users.noaccess')); 38 | 39 | return redirect()->route('sentinel.login'); 40 | } 41 | } 42 | 43 | return $next($request); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rydurham/sentinel", 3 | "description": "An implementation of the Sentry User Manager for Laravel.", 4 | "keywords": [ 5 | "laravel", 6 | "sentry", 7 | "auth" 8 | ], 9 | "license": "BSD-3-Clause", 10 | "authors": [ 11 | { 12 | "name": "Ryan Durham", 13 | "email": "ryan@stagerightlabs.com", 14 | "homepage": "http://stagerightlabs.com" 15 | } 16 | ], 17 | "require": { 18 | "php": "^8", 19 | "ext-bcmath": "*", 20 | "illuminate/support": "^9.0", 21 | "illuminate/contracts": "^9.0", 22 | "cartalyst/sentry": "^2.0", 23 | "vinkla/hashids": "^10.0" 24 | }, 25 | "require-dev": { 26 | "orchestra/testbench": "^7.0", 27 | "mockery/mockery": "^1.0", 28 | "phpunit/phpunit": "^9.5.10" 29 | }, 30 | "autoload": { 31 | "classmap": [ 32 | "src/seeds", 33 | "src/controllers", 34 | "tests" 35 | ], 36 | "psr-4": { 37 | "Sentinel\\": "src/Sentinel" 38 | } 39 | }, 40 | "extra": { 41 | "laravel": { 42 | "providers": [ 43 | "Sentinel\\SentinelServiceProvider" 44 | ] 45 | } 46 | }, 47 | "minimum-stability": "dev" 48 | } 49 | -------------------------------------------------------------------------------- /src/views/blank/groups/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Create Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 |
    13 | 14 |

    Create New Group

    15 | 16 |

    17 | 18 | {{ ($errors->has('name') ? $errors->first('name') : '') }} 19 |

    20 | 21 | 22 | 23 |

    24 | Permissions 25 |

    36 |

    37 | 38 | 39 | 40 | 41 |
    42 | 43 | @stop -------------------------------------------------------------------------------- /src/views/blank/users/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Create New User 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 |
    13 | 14 |

    Create New User

    15 | 16 |

    17 | 18 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 19 |

    20 | 21 |

    22 | 23 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 24 |

    25 | 26 |

    27 | 28 | {{ ($errors->has('password_confirmation') ? $errors->first('password_confirmation') : '') }} 29 |

    30 | 31 |

    32 | Activate 33 |

    34 | 35 |

    36 | 37 | 38 |

    39 | 40 |
    41 | 42 | @stop -------------------------------------------------------------------------------- /src/views/blank/users/register.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Register 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 | 13 |

    Register New Account

    14 | 15 |

    16 | 17 | {{ ($errors->has('username') ? $errors->first('username') : '') }} 18 |

    19 | 20 |

    21 | 22 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 23 |

    24 | 25 |

    26 | 27 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 28 |

    29 | 30 |

    31 | 32 | {{ ($errors->has('password_confirmation') ? $errors->first('password_confirmation') : '') }} 33 |

    34 | 35 | 36 | 37 | 38 |
    39 | @stop -------------------------------------------------------------------------------- /public/blank/sentinel-blank-theme.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Sentinel Blank Theme Styles 3 | * Ryan Durham 4 | * 2014 5 | */ 6 | 7 | /** Tags **/ 8 | body { 9 | background-color: #FFFFDD; 10 | } 11 | 12 | pre { 13 | background-color: #ccc; 14 | } 15 | 16 | /** Structural Elements **/ 17 | 18 | #container { 19 | width: 960px; 20 | margin: 0 auto; 21 | } 22 | 23 | #client-portal-navbar { 24 | color: #FFF; 25 | background: url("../img/cellpic3b.gif") repeat-x; 26 | height: 25px; 27 | width: 100%; 28 | } 29 | 30 | #client-portal-navbar a, #client-portal-navbar a:visited { 31 | color: #FFF; 32 | text-decoration: none; 33 | } 34 | 35 | #client-portal-navbar a:hover { 36 | text-decoration: underline; 37 | } 38 | 39 | #menu-right { 40 | list-style-type: none; 41 | margin: 5px; 42 | padding: 0; 43 | text-align: right; 44 | width: 49%; 45 | display: inline; 46 | float: right; 47 | } 48 | 49 | #menu-left { 50 | list-style-type: none; 51 | margin: 5px; 52 | padding: 0; 53 | width: 49%; 54 | float: left; 55 | display: inline; 56 | } 57 | 58 | #menu-right li, #menu-left li { 59 | display: inline; 60 | padding: 0 5px; 61 | } 62 | 63 | .sentinel-table { 64 | width: 100%; 65 | } 66 | 67 | .sentinel-table td { 68 | border: 1px solid black; 69 | padding: 5px; 70 | } 71 | 72 | .link { 73 | color: blue; 74 | cursor: pointer; 75 | text-decoration: underline; 76 | } -------------------------------------------------------------------------------- /src/Sentinel/Middleware/SentryAdminAccess.php: -------------------------------------------------------------------------------- 1 | ajax()) { 24 | return response('Unauthorized.', 401); 25 | } else { 26 | return redirect()->guest(route('sentinel.login')); 27 | } 28 | } 29 | 30 | // Now check to see if the current user has the 'admin' permission 31 | if (!Sentry::getUser()->hasAccess('admin')) { 32 | if ($request->ajax()) { 33 | return response('Unauthorized.', 401); 34 | } else { 35 | Session::flash('error', trans('Sentinel::users.noaccess')); 36 | 37 | return redirect()->route('sentinel.login'); 38 | } 39 | } 40 | 41 | // All clear - we are good to move forward 42 | return $next($request); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/Sentinel/Repositories/Group/SentinelGroupRepositoryInterface.php: -------------------------------------------------------------------------------- 1 | 12 |
    13 |
    14 | 15 |

    Reset Your Password

    16 | 17 |
    18 | 19 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 20 |
    21 | 22 |
    23 | 24 | {{ ($errors->has('password_confirmation') ? $errors->first('password_confirmation') : '') }} 25 |
    26 | 27 | 28 | 29 | 30 | 31 |
    32 |
    33 | 34 | 35 | @stop -------------------------------------------------------------------------------- /src/views/gumby/users/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'User Profile') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 | 9 | email == Sentry::getUser()->email)) { 12 | $editAction = route('sentinel.profile.edit'); 13 | } else { 14 | $editAction = action('\\Sentinel\Controllers\UserController@edit', [$user->hash]); 15 | } 16 | ?> 17 | 18 |
    19 |

    {{ $user->email }}'s Account Details

    20 |
    21 | 22 |
    23 |
    24 | @if ($user->first_name) 25 |

    First Name: {{ $user->first_name }}

    26 | @endif 27 | @if ($user->last_name) 28 |

    Last Name: {{ $user->last_name }}

    29 | @endif 30 |

    Email: {{ $user->email }}

    31 | 32 |

    Account created: {{ $user->created_at }}

    33 |

    Last Updated: {{ $user->updated_at }}

    34 | 35 | @foreach ($user->groups as $group) 36 |
  • {{ $group->name }}
  • 37 | @endforeach 38 | 39 |
    40 |
    41 | 42 |
    43 |
    44 |
    User Object
    45 | {{ var_dump($user) }} 46 |
    47 |
    48 | @stop 49 | -------------------------------------------------------------------------------- /src/views/blank/groups/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Edit Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 |
    13 | 14 |

    Edit Group

    15 | 16 |

    17 | 18 | {{ ($errors->has('name') ? $errors->first('name') : '') }} 19 |

    20 | 21 | 22 | 23 |

    24 |

    32 |

    33 | 34 | 35 | 36 | 37 | 38 | 39 |
    40 | 41 | @stop -------------------------------------------------------------------------------- /src/views/foundation/users/resend.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Resend Activation 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 | 13 |
    14 |
    15 | 16 |

    Resend Activation Email

    17 | 18 |
    19 |
    20 | 21 |
    22 |
    23 | 24 | {{ ($errors->has('email') ? $errors->first('email', ':message') : '') }} 25 |
    26 |
    27 | 28 |
    29 |
    30 | 31 |
    32 |
    33 | 34 |
    35 |
    36 |
    37 | @stop 38 | -------------------------------------------------------------------------------- /src/views/foundation/users/forgot.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Forgot Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 | 13 |
    14 |
    15 |

    Forgot your Password?

    16 | 17 |
    18 |
    19 | 20 |
    21 |
    22 | 23 | {{ ($errors->has('email') ? $errors->first('email', ':message') : '') }} 24 |
    25 |
    26 | 27 |
    28 |
    29 | 30 |
    31 |
    32 | 33 |
    34 |
    35 |
    36 | 37 | @stop -------------------------------------------------------------------------------- /src/config/hashids.php: -------------------------------------------------------------------------------- 1 | 'main', 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Hashids Connections 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Here are each of the connections setup for your application. Example 24 | | configuration has been included, but you may add as many connections as 25 | | you would like. 26 | | 27 | */ 28 | 29 | 'connections' => [ 30 | 31 | 'main' => [ 32 | 'salt' => 'F28F86043514AEB26943F1A67F21B94251201F322199855F1DF1B982E3CF7C92', 33 | 'length' => 6, 34 | 'alphabet' => 'abcdefghijklmnopqrstuvwxyz1234567890' 35 | ], 36 | 37 | 'alternative' => [ 38 | 'salt' => 'your-salt-string', 39 | 'length' => 'your-length-integer', 40 | 'alphabet' => 'your-alphabet-string' 41 | ], 42 | 43 | ] 44 | 45 | ]; 46 | -------------------------------------------------------------------------------- /src/views/blank/users/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Home 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 | email == Sentry::getUser()->email)) { 15 | $editAction = route('sentinel.profile.edit'); 16 | } else { 17 | $editAction = action('\\Sentinel\Controllers\UserController@edit', [$user->hash]); 18 | } 19 | ?> 20 | 21 |

    Account Profile

    22 | 23 | @if ($user->first_name) 24 |

    First Name: {{ $user->first_name }}

    25 | @endif 26 | @if ($user->last_name) 27 |

    Last Name: {{ $user->last_name }}

    28 | @endif 29 | 30 |

    Email: {{ $user->email }}

    31 | 32 |

    Account created: {{ $user->created_at }}

    33 | 34 |

    Last Updated: {{ $user->updated_at }}

    35 | 36 | 37 | 38 |

    Group Memberships:

    39 | getGroups(); ?> 40 |

    41 |

    50 |

    51 | 52 |
    53 | 54 |

    User Object

    55 |
    {{ var_dump($user) }}
    56 | 57 | @stop 58 | -------------------------------------------------------------------------------- /src/views/gumby/users/reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Resend Activation') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 | 9 |
    10 |
    11 |
    12 |

    Reset your password

    13 |
      14 | 15 |
    • 16 | 17 |
    • 18 | {{ $errors->first('newPassword', '

      :message

      ') }} 19 | 20 |
    • 21 | 22 |
    • 23 | {{ $errors->first('newPassword_confirmation', '

      :message

      ') }} 24 | 25 |
      26 | 27 | 28 |
      29 | 30 |
    31 |
    32 |
    33 |
    34 | @stop 35 | -------------------------------------------------------------------------------- /migrations/2012_12_06_225945_cartalyst_sentry_install_users_groups_pivot.php: -------------------------------------------------------------------------------- 1 | integer('user_id')->unsigned(); 34 | $table->integer('group_id')->unsigned(); 35 | 36 | // We'll need to ensure that MySQL uses the InnoDB engine to 37 | // support the indexes, other engines aren't affected. 38 | $table->engine = 'InnoDB'; 39 | $table->primary(array('user_id', 'group_id')); 40 | }); 41 | } 42 | 43 | /** 44 | * Reverse the migrations. 45 | * 46 | * @return void 47 | */ 48 | public function down() 49 | { 50 | Schema::drop('users_groups'); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /public/blank/restfulizer.js: -------------------------------------------------------------------------------- 1 | // restfulizer.js 2 | /** 3 | * Author: Zizaco (http://forums.laravel.io/viewtopic.php?pid=32426) 4 | * Tweaked by rydurham 5 | * 6 | * Restfulize any hiperlink that contains a data-method attribute by 7 | * creating a mini form with the specified method and adding a trigger 8 | * within the link. 9 | * Requires jQuery! 10 | * 11 | * Ex: 12 | * destroy 13 | * // Will trigger the route Route::delete('post/(:id)') 14 | * 15 | * 16 | * Update: 17 | * - This method will now ignore elements that have a '.disabled' class 18 | * - Adding the '.action_confirm' class will trigger an optional confirm dialog. 19 | * - Adding the Session::token to 'data-token' will add a hidden input for needed for CSRF. 20 | * 21 | */ 22 | $(function(){ 23 | $('[data-method]').not(".disabled").append(function(){ 24 | var methodForm = "\n" 25 | methodForm += "
    \n" 26 | methodForm += " \n" 27 | if ($(this).attr('data-token')) 28 | { 29 | methodForm +="\n" 30 | } 31 | methodForm += "
    \n" 32 | return methodForm 33 | }) 34 | .removeAttr('href') 35 | .attr('onclick',' if ($(this).hasClass(\'action_confirm\')) { if(confirm("Are you sure you want to do this?")) { $(this).find("form").submit(); } } else { $(this).find("form").submit(); }'); 36 | }); 37 | 38 | -------------------------------------------------------------------------------- /public/bootstrap/js/restfulizer.js: -------------------------------------------------------------------------------- 1 | // restfulizer.js 2 | /** 3 | * Author: Zizaco (http://forums.laravel.io/viewtopic.php?pid=32426) 4 | * Tweaked by rydurham 5 | * 6 | * Restfulize any hiperlink that contains a data-method attribute by 7 | * creating a mini form with the specified method and adding a trigger 8 | * within the link. 9 | * Requires jQuery! 10 | * 11 | * Ex: 12 | * destroy 13 | * // Will trigger the route Route::delete('post/(:id)') 14 | * 15 | * 16 | * Update: 17 | * - This method will now ignore elements that have a '.disabled' class 18 | * - Adding the '.action_confirm' class will trigger an optional confirm dialog. 19 | * - Adding the Session::token to 'data-token' will add a hidden input for needed for CSRF. 20 | * 21 | */ 22 | $(function(){ 23 | $('[data-method]').not(".disabled").append(function(){ 24 | var methodForm = "\n" 25 | methodForm += "
    \n" 26 | methodForm += " \n" 27 | if ($(this).attr('data-token')) 28 | { 29 | methodForm +="\n" 30 | } 31 | methodForm += "
    \n" 32 | return methodForm 33 | }) 34 | .removeAttr('href') 35 | .attr('onclick',' if ($(this).hasClass(\'action_confirm\')) { if(confirm("Are you sure you want to do this?")) { $(this).find("form").submit(); } } else { $(this).find("form").submit(); }'); 36 | }); 37 | 38 | -------------------------------------------------------------------------------- /migrations/2012_12_06_225929_cartalyst_sentry_install_groups.php: -------------------------------------------------------------------------------- 1 | increments('id'); 34 | $table->string('name'); 35 | $table->text('permissions')->nullable(); 36 | $table->timestamps(); 37 | 38 | // We'll need to ensure that MySQL uses the InnoDB engine to 39 | // support the indexes, other engines aren't affected. 40 | $table->engine = 'InnoDB'; 41 | $table->unique('name'); 42 | }); 43 | } 44 | 45 | /** 46 | * Reverse the migrations. 47 | * 48 | * @return void 49 | */ 50 | public function down() 51 | { 52 | Schema::drop('groups'); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /public/foundation/js/restfulizer.js: -------------------------------------------------------------------------------- 1 | // restfulizer.js 2 | /** 3 | * Author: Zizaco (http://forums.laravel.io/viewtopic.php?pid=32426) 4 | * Tweaked by rydurham 5 | * 6 | * Restfulize any hiperlink that contains a data-method attribute by 7 | * creating a mini form with the specified method and adding a trigger 8 | * within the link. 9 | * Requires jQuery! 10 | * 11 | * Ex: 12 | * destroy 13 | * // Will trigger the route Route::delete('post/(:id)') 14 | * 15 | * 16 | * Update: 17 | * - This method will now ignore elements that have a '.disabled' class 18 | * - Adding the '.action_confirm' class will trigger an optional confirm dialog. 19 | * - Adding the Session::token to 'data-token' will add a hidden input for needed for CSRF. 20 | * 21 | */ 22 | $(function(){ 23 | $('[data-method]').not(".disabled").append(function(){ 24 | var methodForm = "\n" 25 | methodForm += "
    \n" 26 | methodForm += " \n" 27 | if ($(this).attr('data-token')) 28 | { 29 | methodForm +="\n" 30 | } 31 | methodForm += "
    \n" 32 | return methodForm 33 | }) 34 | .removeAttr('href') 35 | .attr('onclick',' if ($(this).hasClass(\'action_confirm\')) { if(confirm("Are you sure you want to do this?")) { $(this).find("form").submit(); } } else { $(this).find("form").submit(); }'); 36 | }); 37 | 38 | -------------------------------------------------------------------------------- /src/lang/ru/pages.php: -------------------------------------------------------------------------------- 1 | 'Успешно выполнено', 12 | 13 | 'flasherror' => 'Ошибка', 14 | 15 | 'flashwarning' => 'Внимание', 16 | 17 | 'flashinfo' => 'Информация', 18 | 19 | 'register' => 'Регистрация', 20 | 21 | 'login' => "Войти", 22 | 23 | 'logout' => "Выйти", 24 | 25 | 'home' => "Домой", 26 | 27 | 'users' => 'Пользователь|Пользователи', 28 | 29 | 'groups' => "Группы", 30 | 31 | 'helloworld' => "Здравствуй, Мир!", 32 | 33 | 'description' => "Это пример приложения Laravel 4.1 запущенного с применением Sentry 2.0 и Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Вы авторизовались.", 36 | 37 | 'sessiondata' => "Данные сессии", 38 | 39 | 'currentusers' => "Пользователи", 40 | 41 | 'options' => 'Опции', 42 | 43 | 'status' => "Статус", 44 | 45 | 'active' => "Активный", 46 | 47 | 'notactive' => "Не активный", 48 | 49 | 'suspended' => "Заблокирован", 50 | 51 | 'banned' => "Доступ запрещен", 52 | 53 | 'actionedit' => "Редактировать", 54 | 55 | 'actionsuspend' => "Заблокировать", 56 | 57 | 'actionunsuspend' => "Разблокировать", 58 | 59 | 'actionban' => "Запретить доступ", 60 | 61 | 'actionunban' => "Разрешить доступ", 62 | 63 | 'actiondelete' => "Удалить", 64 | 65 | ); -------------------------------------------------------------------------------- /src/lang/zh-CN/pages.php: -------------------------------------------------------------------------------- 1 | '成功', 12 | 13 | 'flasherror' => '错误', 14 | 15 | 'flashwarning' => '警告', 16 | 17 | 'flashinfo' => '仅供参考', 18 | 19 | 'register' => '注册', 20 | 21 | 'login' => "登录", 22 | 23 | 'logout' => "注销", 24 | 25 | 'home' => "首页", 26 | 27 | 'users' => 'User|用户', 28 | 29 | 'groups' => "组", 30 | 31 | 'helloworld' => "世界你好!", 32 | 33 | 'description' => "This is an example of Laravel 4.1 running with Sentry 2.0 and Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "您当前已登录", 36 | 37 | 'sessiondata' => "会话数据", 38 | 39 | 'currentusers' => "当前用户", 40 | 41 | 'options' => '选项', 42 | 43 | 'status' => "状态", 44 | 45 | 'active' => "激活", 46 | 47 | 'notactive' => "未激活", 48 | 49 | 'suspended' => "停用", 50 | 51 | 'banned' => "禁止", 52 | 53 | 'actionedit' => "编辑", 54 | 55 | 'actionsuspend' => "停用", 56 | 57 | 'actionunsuspend' => "取消停用", 58 | 59 | 'actionban' => "屏蔽", 60 | 61 | 'actionunban' => "取消屏蔽", 62 | 63 | 'actiondelete' => "删除", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/zh-TW/pages.php: -------------------------------------------------------------------------------- 1 | '成功', 12 | 13 | 'flasherror' => '錯誤', 14 | 15 | 'flashwarning' => '警告', 16 | 17 | 'flashinfo' => '僅供參考', 18 | 19 | 'register' => '註冊', 20 | 21 | 'login' => "登入", 22 | 23 | 'logout' => "登出", 24 | 25 | 'home' => "首頁", 26 | 27 | 'users' => '使用者', 28 | 29 | 'groups' => "群組", 30 | 31 | 'helloworld' => "Hello World!", 32 | 33 | 'description' => "This is an example of Laravel 4.1 running with Sentry 2.0 and Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "您已經登入囉", 36 | 37 | 'sessiondata' => "登入紀錄", 38 | 39 | 'currentusers' => "目前使用者", 40 | 41 | 'options' => '選項', 42 | 43 | 'status' => "狀態", 44 | 45 | 'active' => "啟動", 46 | 47 | 'notactive' => "未啟動", 48 | 49 | 'suspended' => "已經停用", 50 | 51 | 'banned' => "禁用", 52 | 53 | 'actionedit' => "編輯", 54 | 55 | 'actionsuspend' => "停用", 56 | 57 | 'actionunsuspend' => "啟用", 58 | 59 | 'actionban' => "禁用", 60 | 61 | 'actionunban' => "解禁", 62 | 63 | 'actiondelete' => "刪除", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/views/bootstrap/sessions/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | Log In 6 | @stop 7 | 8 | {{-- Content --}} 9 | @section('content') 10 |
    11 |
    12 |
    13 | 14 | 15 | 16 |
    17 | 18 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 19 |
    20 | 21 |
    22 | 23 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 24 |
    25 |
    26 | 29 |
    30 | 31 | 32 | Forgot Password 33 | 34 |
    35 |
    36 |
    37 | 38 | @stop 39 | -------------------------------------------------------------------------------- /src/lang/zh-CN/users.php: -------------------------------------------------------------------------------- 1 | "您的帐户已创建。请检查您的收件箱确认点击注册链接的。", 12 | 13 | 'createdactive' => "您的帐户已激活。您现在可以登录。", 14 | 15 | 'added' => "添加新用户。请检查确认链接的电子邮件帐户。", 16 | 17 | 'addedactive' => "添加新用户", 18 | 19 | 'loginreq' => "必填字段", 20 | 21 | 'exists' => "用户已经存在", 22 | 23 | 'notfound' => "未找到用户", 24 | 25 | 'noaccess' => "不允许这样操作", 26 | 27 | 'updated' => "个人资料已更新", 28 | 29 | 'notupdated' => "无法更新配置文件", 30 | 31 | 'activated' => "激活完成。 你现在可以登录", 32 | 33 | 'notactivated' => "无法完成激活", 34 | 35 | 'alreadyactive' => "此帐户已被启用", 36 | 37 | 'emailconfirm' => "请检查您的确认链接的电子邮件", 38 | 39 | 'emailinfo' => "请检查您的电子邮件的说明", 40 | 41 | 'emailpassword' => "您的密码已更改。请检查您的新密码的电子邮件。", 42 | 43 | 'problem' => "发生错误,请与系统管理员联系。", 44 | 45 | 'passwordchg' => "您的密码已更改", 46 | 47 | 'passwordprob' => "您的密码无法变更", 48 | 49 | 'oldpassword' => "你没有提供正确的原始密码", 50 | 51 | 'suspended' => "用户被暂停使用 15 分钟", 52 | 53 | 'unsuspended' => "暂停状态已取消", 54 | 55 | 'banned' => "用户已被禁止", 56 | 57 | 'unbanned' => "用户已解禁", 58 | 59 | 'inactive_reg' => "暂停新用户注册", 60 | 61 | 'destroyed' => "用户已被删除", 62 | 63 | 'notdestroyed' => "无法删除用户" 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /tests/SentrySessionManagerTests.php: -------------------------------------------------------------------------------- 1 | repo = app()->make(SentinelSessionRepositoryInterface::class); 17 | } 18 | 19 | /** 20 | * Test the instantiation of the Sentinel SentryUser repository 21 | */ 22 | public function testRepoInstantiation() 23 | { 24 | // Test that we are able to properly instantiate the SentryUser object for testing 25 | $this->assertInstanceOf(SentrySessionRepository::class, $this->repo); 26 | } 27 | 28 | /** 29 | * Test that the seed data exists and is reachable 30 | */ 31 | public function testDatabaseSeeds() 32 | { 33 | // Check that the test data is present and correctly seeded 34 | $user = DB::table('users')->where('email', 'user@user.com')->first(); 35 | $this->assertEquals('user@user.com', $user->email); 36 | } 37 | 38 | /** 39 | * Test the creation of a user using the default configuration options 40 | */ 41 | public function testCreatingSession() 42 | { 43 | // This is the code we are testing 44 | $result = $this->repo->store([ 45 | 'email' => 'user@user.com', 46 | 'password' => 'sentryuser' 47 | ]); 48 | 49 | // Assertions 50 | $this->assertTrue($result->isSuccessful()); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /public/materialize/js/restfulizer.js: -------------------------------------------------------------------------------- 1 | // restfulizer.js 2 | /** 3 | * Author: Zizaco (http://forums.laravel.io/viewtopic.php?pid=32426) 4 | * Tweaked by rydurham 5 | * 6 | * Restfulize any hiperlink that contains a data-method attribute by 7 | * creating a mini form with the specified method and adding a trigger 8 | * within the link. 9 | * Requires jQuery! 10 | * 11 | * Ex: 12 | * destroy 13 | * // Will trigger the route Route::delete('post/(:id)') 14 | * 15 | * 16 | * Update: 17 | * - This method will now ignore elements that have a '.disabled' class 18 | * - Adding the '.action_confirm' class will trigger an optional confirm dialog. 19 | * - Adding the 'data-message' attribute will display a cusotm message in the confirm dialog. 20 | * - Adding the Session::token to 'data-token' will add a hidden input for needed for CSRF. 21 | * 22 | */ 23 | 24 | $(function() { 25 | $('[data-method]').not(".disabled").append(function() { 26 | var methodForm = "\n"; 27 | methodForm += "
    \n"; 28 | methodForm += " \n"; 29 | if ($(this).attr('data-token')) { 30 | methodForm += "\n"; 31 | } 32 | methodForm += "
    \n"; 33 | return methodForm; 34 | }) 35 | .removeAttr('href') 36 | .attr('onclick', ' if ($(this).hasClass(\'action_confirm\')) { if(confirm($(this).data(\'message\') || "Are you sure you want to do this?")) { $(this).find("form").submit(); } } else { $(this).find("form").submit(); }'); 37 | }); -------------------------------------------------------------------------------- /src/views/bootstrap/groups/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Edit Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 |

    Edit Group

    16 | 17 |
    18 | 19 | {{ ($errors->has('name') ? $errors->first('name') : '') }} 20 |
    21 | 22 | 23 |
    24 | 25 | @foreach ($defaultPermissions as $permission) 26 | 30 | @endforeach 31 |
    32 | 33 | 34 | 35 | 36 | 37 |
    38 |
    39 |
    40 | 41 | @stop -------------------------------------------------------------------------------- /src/views/bootstrap/groups/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Create Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 |

    Create New Group

    16 | 17 |
    18 | 19 | {{ ($errors->has('name') ? $errors->first('name') : '') }} 20 |
    21 | 22 | 23 |
    24 | 25 | @foreach ($defaultPermissions as $permission) 26 | 33 | @endforeach 34 |
    35 | 36 | 37 | 38 | 39 |
    40 | 41 |
    42 |
    43 | 44 | @stop -------------------------------------------------------------------------------- /src/views/materialize/users/reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Forgot Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 | 16 |

    Reset Your Password

    17 | 18 |
    19 |
    20 | 21 | 22 | {{ ($errors->has('password') ? '
    ' . $errors->first('password') : '') }} 23 |
    24 |
    25 | 26 |
    27 |
    28 | 29 | 30 | {{ ($errors->has('password_confirmation') ? '
    ' . $errors->first('password_confirmation') : '') }} 31 |
    32 |
    33 | 34 |

    35 | 38 |

    39 | 40 |
    41 |
    42 |
    43 | @stop -------------------------------------------------------------------------------- /src/lang/en/pages.php: -------------------------------------------------------------------------------- 1 | 'Success', 12 | 13 | 'flasherror' => 'Error', 14 | 15 | 'flashwarning' => 'Warning', 16 | 17 | 'flashinfo' => 'FYI', 18 | 19 | 'register' => 'Register', 20 | 21 | 'login' => "Login", 22 | 23 | 'logout' => "Logout", 24 | 25 | 'home' => "Home", 26 | 27 | 'users' => 'User|Users', 28 | 29 | 'groups' => "Groups", 30 | 31 | 'helloworld' => "Hello World!", 32 | 33 | 'description' => "This is an example of Laravel 4.1 running with Sentry 2.0 and Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "You are currently logged in.", 36 | 37 | 'sessiondata' => "Session Data", 38 | 39 | 'currentusers' => "Current Users", 40 | 41 | 'options' => 'Options', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Active", 46 | 47 | 'notactive' => "Not Active", 48 | 49 | 'suspended' => "Suspended", 50 | 51 | 'banned' => "Banned", 52 | 53 | 'actionedit' => "Edit", 54 | 55 | 'actionsuspend' => "Suspend", 56 | 57 | 'actionunsuspend' => "Un-Suspend", 58 | 59 | 'actionban' => "Ban", 60 | 61 | 'actionunban' => "Un-Ban", 62 | 63 | 'actiondelete' => "Delete", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/ar/pages.php: -------------------------------------------------------------------------------- 1 | 'نجاح', 12 | 13 | 'flasherror' => 'خطأ', 14 | 15 | 'flashwarning' => 'تحذير', 16 | 17 | 'flashinfo' => 'لمعلوماتك', 18 | 19 | 'register' => 'تسجيل عضوية', 20 | 21 | 'login' => "تسجيل الدخول", 22 | 23 | 'logout' => "تسجيل الخروج", 24 | 25 | 'home' => "الرئيسية", 26 | 27 | 'users' => 'مستخدم | مستخدمون', 28 | 29 | 'groups' => "مجموعات", 30 | 31 | 'helloworld' => "مرحباً بالعالم!", 32 | 33 | 'description' => "هذا مثال عن 34 | Laravel 4.1 مع الإضافاتSentry 2.0 and Bootstrap 3.0.", 35 | 36 | 'loginstatus' => "أنت متصل حاليا.", 37 | 38 | 'sessiondata' => "بيانات Session", 39 | 40 | 'currentusers' => "الأعضاء المتصلون", 41 | 42 | 'options' => 'الخيارات', 43 | 44 | 'status' => "الحالة", 45 | 46 | 'active' => "مفعل", 47 | 48 | 'notactive' => "غير مفعل", 49 | 50 | 'suspended' => "معلق", 51 | 52 | 'banned' => "محظور", 53 | 54 | 'actionedit' => "تعديل", 55 | 56 | 'actionsuspend' => "تعليق", 57 | 58 | 'actionunsuspend' => "رفع الحظر", 59 | 60 | 'actionban' => "حظر", 61 | 62 | 'actionunban' => "رفع الحظر", 63 | 64 | 'actiondelete' => "حذف", 65 | 66 | ); 67 | -------------------------------------------------------------------------------- /src/lang/it/pages.php: -------------------------------------------------------------------------------- 1 | 'Successo', 12 | 13 | 'flasherror' => 'Errore', 14 | 15 | 'flashwarning' => 'Attenzione', 16 | 17 | 'flashinfo' => 'Info', 18 | 19 | 'register' => 'Registrati', 20 | 21 | 'login' => "Login", 22 | 23 | 'logout' => "Logout", 24 | 25 | 'home' => "Home", 26 | 27 | 'users' => 'User|Users', 28 | 29 | 'groups' => "Groups", 30 | 31 | 'helloworld' => "Hello World!", 32 | 33 | 'description' => "Questo è un esempio di come Laravel 4.1 funziona con Sentry 2.0 e Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Sei loggato.", 36 | 37 | 'sessiondata' => "Dati di Sessione", 38 | 39 | 'currentusers' => "Utente Attuale", 40 | 41 | 'options' => 'Opzioni', 42 | 43 | 'status' => "Stato", 44 | 45 | 'active' => "Attivo", 46 | 47 | 'notactive' => "Non Attivo", 48 | 49 | 'suspended' => "Sospeso", 50 | 51 | 'banned' => "Bannato", 52 | 53 | 'actionedit' => "Modifica", 54 | 55 | 'actionsuspend' => "Sospendi", 56 | 57 | 'actionunsuspend' => "Riattiva", 58 | 59 | 'actionban' => "Banna", 60 | 61 | 'actionunban' => "Togli Ban", 62 | 63 | 'actiondelete' => "Elimina", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/zh-TW/users.php: -------------------------------------------------------------------------------- 1 | "您的帳戶已經新增完畢,請確認您的 E-mail 是否有啟動連結的信件。", 12 | 13 | 'createdactive' => "您的帳戶已經啟用,您現在可以登入。", 14 | 15 | 'added' => "新用戶已新增,確認 E-mail 是否有啟動連結的信件。", 16 | 17 | 'addedactive' => "新用戶已新增", 18 | 19 | 'loginreq' => "登入欄位必填項目", 20 | 21 | 'exists' => "使用者已經存在", 22 | 23 | 'notfound' => "找不到該使用者", 24 | 25 | 'noaccess' => "您無法這樣做", 26 | 27 | 'updated' => "資料已更新", 28 | 29 | 'notupdated' => "無法更新資料", 30 | 31 | 'activated' => "帳戶啟動完成,您可以直接登入。", 32 | 33 | 'notactivated' => "啟動尚未成功", 34 | 35 | 'alreadyactive' => "該用戶已經啟動", 36 | 37 | 'emailconfirm' => "確認 E-mail 是否有啟動連結的信件", 38 | 39 | 'emailinfo' => "確認 E-mail 是否有相關說明的信件", 40 | 41 | 'emailpassword' => "您的密碼已經改變,請確認您的 E-mail 是否有新密碼的信件。", 42 | 43 | 'problem' => "過程發生問題,請聯絡系統管理員。", 44 | 45 | 'passwordchg' => "您的密碼已經被改變", 46 | 47 | 'passwordprob' => "您的密碼無法被改變", 48 | 49 | 'oldpassword' => "請您提供正確的舊密碼", 50 | 51 | 'suspended' => "使用者被停用 15分鐘", 52 | 53 | 'unsuspended' => "停用狀態消失", 54 | 55 | 'banned' => "使用者已經被禁用", 56 | 57 | 'unbanned' => "使用者已經被解禁", 58 | 59 | 'inactive_reg' => "註冊無效", 60 | 61 | 'destroyed' => "使用者已經被移除", 62 | 63 | 'notdestroyed' => "無法移除使用者" 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/views/materialize/groups/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Edit Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 | 16 | 17 |

    Edit Group

    18 | 19 |
    20 |
    21 | 22 | 23 | {{ ($errors->has('name') ? $errors->first('name') : '') }} 24 |
    25 |
    26 | 27 | 28 | 29 | @foreach ($defaultPermissions as $permission) 30 |

    31 | 32 | 33 |

    34 | @endforeach 35 | 36 |

    37 | 40 |

    41 | 42 |
    43 | 44 | @stop -------------------------------------------------------------------------------- /src/lang/bg/pages.php: -------------------------------------------------------------------------------- 1 | 'Успех', 12 | 13 | 'flasherror' => 'Грешка', 14 | 15 | 'flashwarning' => 'Предупреждение', 16 | 17 | 'flashinfo' => 'Разбери защо', 18 | 19 | 'register' => 'Регистрирай', 20 | 21 | 'login' => "Вход", 22 | 23 | 'logout' => "Изход", 24 | 25 | 'home' => "Начало", 26 | 27 | 'users' => 'User|Users', 28 | 29 | 'groups' => "Groups", 30 | 31 | 'helloworld' => "Здравейте", 32 | 33 | 'description' => "Това е пример за Laravel 4.1 с караула 2.0 и Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Вие сте влезли в системата.", 36 | 37 | 'sessiondata' => "Информация за сесията", 38 | 39 | 'currentusers' => "Потребители", 40 | 41 | 'options' => 'Настройки', 42 | 43 | 'status' => "Статус", 44 | 45 | 'active' => "Ативен", 46 | 47 | 'notactive' => "Не активен", 48 | 49 | 'suspended' => "Изключен", 50 | 51 | 'banned' => "Забранен", 52 | 53 | 'actionedit' => "Промени", 54 | 55 | 'actionsuspend' => "Изключи", 56 | 57 | 'actionunsuspend' => "Включи", 58 | 59 | 'actionban' => "Забрани", 60 | 61 | 'actionunban' => "Разреши", 62 | 63 | 'actiondelete' => "Изтрий", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/da/pages.php: -------------------------------------------------------------------------------- 1 | 'Fuldført', 12 | 13 | 'flasherror' => 'Fejl', 14 | 15 | 'flashwarning' => 'Advarsel', 16 | 17 | 'flashinfo' => 'FYI', 18 | 19 | 'register' => 'Tilmeld', 20 | 21 | 'login' => "Log på", 22 | 23 | 'logout' => "Log af", 24 | 25 | 'home' => "Hjem", 26 | 27 | 'users' => 'Bruger|Brugere', 28 | 29 | 'groups' => "Grupper", 30 | 31 | 'helloworld' => "Hej Verden!", 32 | 33 | 'description' => "Dette er et eksempel på Laravel 4.1 med Sentry 2.0 og Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Du er logget på.", 36 | 37 | 'sessiondata' => "Sessionsdata", 38 | 39 | 'currentusers' => "Nuværende Brugere", 40 | 41 | 'options' => 'Indstillinger', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Aktiv", 46 | 47 | 'notactive' => "Ikke aktiv", 48 | 49 | 'suspended' => "Suspenderet", 50 | 51 | 'banned' => "Bandlyst", 52 | 53 | 'actionedit' => "Redigér", 54 | 55 | 'actionsuspend' => "Suspendér", 56 | 57 | 'actionunsuspend' => "Genaktiver", 58 | 59 | 'actionban' => "Bandlys", 60 | 61 | 'actionunban' => "Genindsæt", 62 | 63 | 'actiondelete' => "Slet", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/views/bootstrap/users/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Home 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 | 12 | email == Sentry::getUser()->email)) { 15 | $editAction = route('sentinel.profile.edit'); 16 | } else { 17 | $editAction = action('\\Sentinel\Controllers\UserController@edit', [$user->hash]); 18 | } 19 | ?> 20 | 21 |

    Account Profile

    22 | 23 |
    24 |
    25 | @if ($user->first_name) 26 |

    First Name: {{ $user->first_name }}

    27 | @endif 28 | @if ($user->last_name) 29 |

    Last Name: {{ $user->last_name }}

    30 | @endif 31 |

    Email: {{ $user->email }}

    32 | 33 |
    34 |
    35 |

    Account created: {{ $user->created_at }}

    36 |

    Last Updated: {{ $user->updated_at }}

    37 | 38 |
    39 |
    40 | 41 |

    Group Memberships:

    42 | getGroups(); ?> 43 |
    44 |
      45 | @if (count($userGroups) >= 1) 46 | @foreach ($userGroups as $group) 47 |
    • {{ $group['name'] }}
    • 48 | @endforeach 49 | @else 50 |
    • No Group Memberships.
    • 51 | @endif 52 |
    53 |
    54 | 55 |
    56 | 57 |

    User Object

    58 |
    59 |

    {{ var_dump($user) }}

    60 |
    61 | 62 | @stop 63 | -------------------------------------------------------------------------------- /src/lang/pt-BR/pages.php: -------------------------------------------------------------------------------- 1 | 'Sucesso', 12 | 13 | 'flasherror' => 'Erro', 14 | 15 | 'flashwarning' => 'Atenção', 16 | 17 | 'flashinfo' => 'Obs.:', 18 | 19 | 'register' => 'Registrar', 20 | 21 | 'login' => "Acessar", 22 | 23 | 'logout' => "Sair", 24 | 25 | 'home' => "Página Principal", 26 | 27 | 'users' => 'User | Usuários', 28 | 29 | 'groups' => "Grupos", 30 | 31 | 'helloworld' => "Olá Mundo!", 32 | 33 | 'description' => "Este é um exemplo do Laravel 4.1 rodando com Sentry 2.0 e Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Você está logado.", 36 | 37 | 'sessiondata' => "Dados da Sessão", 38 | 39 | 'currentusers' => "Usuários Atuais", 40 | 41 | 'options' => 'Opções', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Ativar", 46 | 47 | 'notactive' => "Não Ativar", 48 | 49 | 'suspended' => "Suspenso", 50 | 51 | 'banned' => "Banir", 52 | 53 | 'actionedit' => "Editar", 54 | 55 | 'actionsuspend' => "Suspender", 56 | 57 | 'actionunsuspend' => "Reativar", 58 | 59 | 'actionban' => "Banir", 60 | 61 | 'actionunban' => "Reabilitar", 62 | 63 | 'actiondelete' => "Deletar", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/nl/pages.php: -------------------------------------------------------------------------------- 1 | 'Succes', 12 | 13 | 'flasherror' => 'Fout', 14 | 15 | 'flashwarning' => 'Waarschuwing', 16 | 17 | 'flashinfo' => 'FYI', 18 | 19 | 'register' => 'Registreer', 20 | 21 | 'login' => "Aanmelden", 22 | 23 | 'logout' => "Uitloggen", 24 | 25 | 'home' => "Home", 26 | 27 | 'users' => 'User|Users', 28 | 29 | 'groups' => "Groepen", 30 | 31 | 'helloworld' => "Hello world!", 32 | 33 | 'description' => "Dit is een voorbeeld van Laravel 4.1 met Sentry 2.0 en Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "U bent momenteel ingelogd.", 36 | 37 | 'sessiondata' => "Sessiegegevens", 38 | 39 | 'currentusers' => "Huidige gebruikers", 40 | 41 | 'options' => 'Optie\'s', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Actief", 46 | 47 | 'notactive' => "Niet actief", 48 | 49 | 'suspended' => "Geblokkeerd", 50 | 51 | 'banned' => "Verbannen", 52 | 53 | 'actionedit' => "Bewerken", 54 | 55 | 'actionsuspend' => "Blokkeer", 56 | 57 | 'actionunsuspend' => "Deblokkeer", 58 | 59 | 'actionban' => "Verban", 60 | 61 | 'actionunban' => "Einde ban", 62 | 63 | 'actiondelete' => "Wissen", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/views/foundation/users/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Home 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 | 13 | email == Sentry::getUser()->email)) { 16 | $editAction = route('sentinel.profile.edit'); 17 | } else { 18 | $editAction = action('\\Sentinel\Controllers\UserController@edit', [$user->hash]); 19 | } 20 | ?> 21 | 22 |

    Account Profile

    23 | 24 |
    25 | @if ($user->first_name) 26 |

    First Name: {{ $user->first_name }}

    27 | @endif 28 | @if ($user->last_name) 29 |

    Last Name: {{ $user->last_name }}

    30 | @endif 31 |

    Email: {{ $user->email }}

    32 | 33 |

    34 | 35 | Account created: {{ $user->created_at }}
    36 | Last Updated: {{ $user->updated_at }} 37 |
    38 |

    39 | 40 |
    41 | 42 |
    43 |

    Group Memberships:

    44 | getGroups(); ?> 45 |
      46 | @if (count($userGroups) >= 1) 47 | @foreach ($userGroups as $group) 48 |
    • {{ $group['name'] }}
    • 49 | @endforeach 50 | @else 51 |
    • No Group Memberships.
    • 52 | @endif 53 |
    54 | 55 |
    56 |
    57 | 58 |
    59 | 60 |

    User Object

    61 |
    62 |
    {{ var_dump($user) }}
    63 |
    64 |
    65 | 66 | @stop 67 | -------------------------------------------------------------------------------- /src/lang/nb/pages.php: -------------------------------------------------------------------------------- 1 | 'Suksess', 12 | 13 | 'flasherror' => 'Feil', 14 | 15 | 'flashwarning' => 'Advarsel', 16 | 17 | 'flashinfo' => 'for din informasjon', 18 | 19 | 'register' => 'Registrer', 20 | 21 | 'login' => "Logg inn", 22 | 23 | 'logout' => "Logg ut", 24 | 25 | 'home' => "Hjem", 26 | 27 | 'users' => 'User|Users', 28 | 29 | 'groups' => "Groups", 30 | 31 | 'helloworld' => "Hello World!", 32 | 33 | 'description' => "This is an example of Laravel 4.1 running with Sentry 2.0 and Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Du er logget inn.", 36 | 37 | 'sessiondata' => "Session Data", 38 | 39 | 'currentusers' => "Nåværende brukere", 40 | 41 | 'options' => 'Alternativer', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Aktiv", 46 | 47 | 'notactive' => "Ikke Aktiv", 48 | 49 | 'suspended' => "Suspendert", 50 | 51 | 'banned' => "Utestengt", 52 | 53 | 'actionedit' => "Rediger", 54 | 55 | 'actionsuspend' => "Suspendere", 56 | 57 | 'actionunsuspend' => "Av-suspendere", 58 | 59 | 'actionban' => "Utesteng", 60 | 61 | 'actionunban' => "Av-utesteng", 62 | 63 | 'actiondelete' => "Slett", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/de/pages.php: -------------------------------------------------------------------------------- 1 | 'Erfolg', 12 | 13 | 'flasherror' => 'Fehler', 14 | 15 | 'flashwarning' => 'Warnung', 16 | 17 | 'flashinfo' => 'Info', 18 | 19 | 'register' => 'Registrieren', 20 | 21 | 'login' => "Anmelden", 22 | 23 | 'logout' => "Abmelden", 24 | 25 | 'home' => "Startseite", 26 | 27 | 'users' => 'Benutzer|Benutzer', 28 | 29 | 'groups' => "Gruppen", 30 | 31 | 'helloworld' => "Hallo Welt!", 32 | 33 | 'description' => "Das ist ein Beispiel für Laravel 4.1, das mit Sentry 2.0 und Bootstrap 3.0 läuft.", 34 | 35 | 'loginstatus' => "Sie sind angemeldet.", 36 | 37 | 'sessiondata' => "Sitzungsdaten", 38 | 39 | 'currentusers' => "Aktive Benutzer", 40 | 41 | 'options' => 'Optionen', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Aktiv", 46 | 47 | 'notactive' => "Inaktiv", 48 | 49 | 'suspended' => "Ruhend", 50 | 51 | 'banned' => "Gesperrt", 52 | 53 | 'actionedit' => "Bearbeiten", 54 | 55 | 'actionsuspend' => "Ruhen lassen", 56 | 57 | 'actionunsuspend' => "Reaktivieren", 58 | 59 | 'actionban' => "Sperren", 60 | 61 | 'actionunban' => "Entsperren", 62 | 63 | 'actiondelete' => "Löschen", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/vi/pages.php: -------------------------------------------------------------------------------- 1 | 'Thành công', 12 | 13 | 'flasherror' => 'Lỗi', 14 | 15 | 'flashwarning' => 'Cảnh báo', 16 | 17 | 'flashinfo' => 'FYI', 18 | 19 | 'register' => 'Đăng ký', 20 | 21 | 'login' => "Đăng nhập", 22 | 23 | 'logout' => "Đăng xuất", 24 | 25 | 'home' => "Trang chủ", 26 | 27 | 'users' => 'Thành viên| Người dùng', 28 | 29 | 'groups' => "Nhóm", 30 | 31 | 'helloworld' => "Chào thế giới!", 32 | 33 | 'description' => "Đây là một ví dụ của Laravel 4.1 chạy với Sentry 2.0 Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Bạn hiện đang đăng nhập.", 36 | 37 | 'sessiondata' => "Dữ liệu Phiên", 38 | 39 | 'currentusers' => "Người dùng hiện tại", 40 | 41 | 'options' => 'Tùy chọn', 42 | 43 | 'status' => "Trạng thái", 44 | 45 | 'active' => "Hoạt động", 46 | 47 | 'notactive' => "Không hoạt động", 48 | 49 | 'suspended' => "Tạm dừng", 50 | 51 | 'banned' => "Bị Cấm", 52 | 53 | 'actionedit' => "Chỉnh sửa", 54 | 55 | 'actionsuspend' => "Đình chỉ", 56 | 57 | 'actionunsuspend' => "Hủy bỏ đình chỉ", 58 | 59 | 'actionban' => "Cấm", 60 | 61 | 'actionunban' => "Bỏ cấm", 62 | 63 | 'actiondelete' => "Xoá", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/pl/pages.php: -------------------------------------------------------------------------------- 1 | 'Powodzenie', 12 | 13 | 'flasherror' => 'Błąd', 14 | 15 | 'flashwarning' => 'Ostrzeżenie', 16 | 17 | 'flashinfo' => 'Dla Twojej informacji', 18 | 19 | 'register' => 'Rejestruj', 20 | 21 | 'login' => "Zaloguj", 22 | 23 | 'logout' => "Wyloguj", 24 | 25 | 'home' => "Strona główna", 26 | 27 | 'users' => 'Użytkownik|Użytkownicy', 28 | 29 | 'groups' => "Grupy", 30 | 31 | 'helloworld' => "Witaj świecie!", 32 | 33 | 'description' => "To jest przykład jak Laravel 4.1 działa z Sentry 2.0 oraz Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Jesteś zalogowany.", 36 | 37 | 'sessiondata' => "Dane sesji", 38 | 39 | 'currentusers' => "Bieżący użytkownicy", 40 | 41 | 'options' => 'Opcje', 42 | 43 | 'status' => "Status", 44 | 45 | 'active' => "Aktywny", 46 | 47 | 'notactive' => "Nieaktywny", 48 | 49 | 'suspended' => "Zawieszony", 50 | 51 | 'banned' => "Zablokowany", 52 | 53 | 'actionedit' => "Edytuj", 54 | 55 | 'actionsuspend' => "Zawieś", 56 | 57 | 'actionunsuspend' => "Odwieś", 58 | 59 | 'actionban' => "Zablokuj", 60 | 61 | 'actionunban' => "Odblokuj", 62 | 63 | 'actiondelete' => "Usuń", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/es-ES/pages.php: -------------------------------------------------------------------------------- 1 | 'Éxito', 12 | 13 | 'flasherror' => 'Error', 14 | 15 | 'flashwarning' => 'Advertencia', 16 | 17 | 'flashinfo' => 'Información', 18 | 19 | 'register' => 'Registro', 20 | 21 | 'login' => "Iniciar Sesión", 22 | 23 | 'logout' => "Cerrar Sesión", 24 | 25 | 'home' => "Inicio", 26 | 27 | 'users' => 'Usuario|Usuarios', 28 | 29 | 'groups' => "Grupos", 30 | 31 | 'helloworld' => "Hola Mundo!", 32 | 33 | 'description' => "Este es un ejemplo de Laravel 4.1 con Sentry 2.0 y Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Actualmente estas conectado.", 36 | 37 | 'sessiondata' => "Datos de sesión", 38 | 39 | 'currentusers' => "Usuarios actuales", 40 | 41 | 'options' => 'Opciones', 42 | 43 | 'status' => "Estado", 44 | 45 | 'active' => "Activo", 46 | 47 | 'notactive' => "Inactivo", 48 | 49 | 'suspended' => "Suspendido", 50 | 51 | 'banned' => "Bloqueado", 52 | 53 | 'actionedit' => "Editar", 54 | 55 | 'actionsuspend' => "Suspender", 56 | 57 | 'actionunsuspend' => "Desuspender", 58 | 59 | 'actionban' => "Bloquear", 60 | 61 | 'actionunban' => "Desbloquear", 62 | 63 | 'actiondelete' => "Eliminar", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/cs/pages.php: -------------------------------------------------------------------------------- 1 | 'Hotovo', 12 | 13 | 'flasherror' => 'Došlo k chybě', 14 | 15 | 'flashwarning' => 'Varování', 16 | 17 | 'flashinfo' => 'pro vaší informaci', 18 | 19 | 'register' => 'Registrovat se', 20 | 21 | 'login' => "Přihlásit", 22 | 23 | 'logout' => "Odhlásit se", 24 | 25 | 'home' => "Domů", 26 | 27 | 'users' => 'Uživatel| Uživatelé', 28 | 29 | 'groups' => "Skupiny", 30 | 31 | 'helloworld' => "Hello World!", 32 | 33 | 'description' => "To je příklad Laravel 5.1 systému s modulem Sentry 2.0 a Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Aktuálně jste přihlášeni.", 36 | 37 | 'sessiondata' => "Data relace", 38 | 39 | 'currentusers' => "Aktuální uživatelé", 40 | 41 | 'options' => 'Nastavení', 42 | 43 | 'status' => "Stav", 44 | 45 | 'active' => "Aktivní", 46 | 47 | 'notactive' => "Neaktivní", 48 | 49 | 'suspended' => "Zablokován", 50 | 51 | 'banned' => "Zabanován", 52 | 53 | 'actionedit' => "Upravit", 54 | 55 | 'actionsuspend' => "Zablokovat", 56 | 57 | 'actionunsuspend' => "Odblokovat", 58 | 59 | 'actionban' => "Zabanovat", 60 | 61 | 'actionunban' => "Odbanovat", 62 | 63 | 'actiondelete' => "Smazat", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/pt-PT/pages.php: -------------------------------------------------------------------------------- 1 | 'Sucesso', 12 | 13 | 'flasherror' => 'Erro', 14 | 15 | 'flashwarning' => 'Atenção', 16 | 17 | 'flashinfo' => 'Para sua informação', 18 | 19 | 'register' => 'Registar', 20 | 21 | 'login' => "Iníciar Sessão", 22 | 23 | 'logout' => "Fechar Sessão", 24 | 25 | 'home' => "Página Inicial", 26 | 27 | 'users' => 'User | Utilizadores', 28 | 29 | 'groups' => "Grupos", 30 | 31 | 'helloworld' => "Olá, mundo!", 32 | 33 | 'description' => "Este é um exemplo de Laravel 4.1 a correr com Sentry 2.0 e Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Você tem uma sessão iniciada.", 36 | 37 | 'sessiondata' => "Dados da sessão", 38 | 39 | 'currentusers' => "Utilizadores atuais", 40 | 41 | 'options' => 'Opções', 42 | 43 | 'status' => "Estado", 44 | 45 | 'active' => "Ativo", 46 | 47 | 'notactive' => "Não ativo", 48 | 49 | 'suspended' => "Suspenso", 50 | 51 | 'banned' => "Banido", 52 | 53 | 'actionedit' => "Editar", 54 | 55 | 'actionsuspend' => "Suspender", 56 | 57 | 'actionunsuspend' => "Libertar", 58 | 59 | 'actionban' => "Banir", 60 | 61 | 'actionunban' => "Desbanir", 62 | 63 | 'actiondelete' => "Eliminar", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/lang/tr/pages.php: -------------------------------------------------------------------------------- 1 | 'Başarılı', 12 | 13 | 'flasherror' => 'Hata', 14 | 15 | 'flashwarning' => 'Uyarı', 16 | 17 | 'flashinfo' => 'Bilginize', 18 | 19 | 'register' => 'Kayıt ol', 20 | 21 | 'login' => "Giriş Yap", 22 | 23 | 'logout' => "Çıkış Yap", 24 | 25 | 'home' => "Anasayfa", 26 | 27 | 'users' => 'Kullanıcı | Kullanıcılar', 28 | 29 | 'groups' => "Gruplar", 30 | 31 | 'helloworld' => "Merhaba Dünya!", 32 | 33 | 'description' => "Bu örnek Laravel 4.1 kullanılarak Sentry 2.0 veBootstrap 3.0 hazırlanmıştır.", 34 | 35 | 'loginstatus' => "Şu anda günlüğe kaydedilir.", 36 | 37 | 'sessiondata' => "Oturum verileri", 38 | 39 | 'currentusers' => "Geçerli Kullanıcılar", 40 | 41 | 'options' => 'Seçenekler', 42 | 43 | 'status' => "Durum", 44 | 45 | 'active' => "Aktif", 46 | 47 | 'notactive' => "Aktif değil", 48 | 49 | 'suspended' => "Askıya alındı", 50 | 51 | 'banned' => "Yasaklandı", 52 | 53 | 'actionedit' => "Düzenle", 54 | 55 | 'actionsuspend' => "Askıya Al", 56 | 57 | 'actionunsuspend' => "Askıdan Çıkar", 58 | 59 | 'actionban' => "Yasakla", 60 | 61 | 'actionunban' => "Yasaklı Değil", 62 | 63 | 'actiondelete' => "Sil", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/views/blank/groups/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Groups 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |

    Available Groups

    12 | 13 | Create Group 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | @foreach ($groups as $group) 23 | 24 | 25 | 35 | 39 | 40 | @endforeach 41 | 42 |
    NamePermissionsOptions
    {{ $group->name }} 26 | getPermissions(); 28 | $keys = array_keys($permissions); 29 | $last_key = end($keys); 30 | ?> 31 | @foreach ($permissions as $key => $value) 32 | {{ ucfirst($key) . ($key == $last_key ? '' : ', ') }} 33 | @endforeach 34 | 36 | 37 | 38 |
    43 | 44 | {!! $groups->render() !!} 45 | 46 | 50 | @stop 51 | 52 | -------------------------------------------------------------------------------- /src/Sentinel/Mail/Welcome.php: -------------------------------------------------------------------------------- 1 | email = $email; 24 | $this->hash = $hash; 25 | $this->code = $code; 26 | } 27 | 28 | /** 29 | * Build the message. 30 | * 31 | * @return $this 32 | */ 33 | public function build() 34 | { 35 | $subject = config()->get('sentinel.subjects.welcome'); 36 | $view = config()->get('sentinel.email.views.welcome', 'Sentinel::emails.welcome'); 37 | 38 | return $this->from($this->gatherSenderAddress()) 39 | ->subject($subject) 40 | ->view($view); 41 | } 42 | 43 | /** 44 | * If the application does not have a valid "from" address configured, 45 | * we should stub in a temporary alternative so we have something 46 | * to pass to the Mailer 47 | * 48 | * @return array|mixed 49 | */ 50 | private function gatherSenderAddress() 51 | { 52 | $sender = config('mail.from', []); 53 | 54 | if (!array_key_exists('address', $sender) || is_null($sender['address'])) { 55 | return ['address' => 'noreply@example.com', 'name' => '']; 56 | } 57 | 58 | if (is_null($sender['name'])) { 59 | $sender['name'] = ''; 60 | } 61 | 62 | return $sender; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/views/blank/users/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Current Users 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |

    Current Users

    12 | 13 | Create User 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | @foreach ($users as $user) 23 | 24 | 27 | 30 | 44 | 45 | @endforeach 46 | 47 |
    UserStatusOptions
    25 | {{ $user->email }} 26 | 28 | {{ $user->status }} 29 | 31 | 32 | @if ($user->status != 'Suspended') 33 | 34 | @else 35 | 36 | @endif 37 | @if ($user->status != 'Banned') 38 | 39 | @else 40 | 41 | @endif 42 | 43 |
    48 | 49 | {!! $users->render() !!} 50 | 51 | @stop 52 | -------------------------------------------------------------------------------- /src/Sentinel/Mail/PasswordReset.php: -------------------------------------------------------------------------------- 1 | email = $email; 24 | $this->hash = $hash; 25 | $this->code = $code; 26 | } 27 | 28 | /** 29 | * Build the message. 30 | * 31 | * @return $this 32 | */ 33 | public function build() 34 | { 35 | $subject = config()->get('sentinel.subjects.reset_password'); 36 | $view = config()->get('sentinel.email.views.reset', 'Sentinel::emails.reset'); 37 | 38 | return $this->from($this->gatherSenderAddress()) 39 | ->subject($subject) 40 | ->view($view); 41 | } 42 | 43 | /** 44 | * If the application does not have a valid "from" address configured, 45 | * we should stub in a temporary alternative so we have something 46 | * to pass to the Mailer 47 | * 48 | * @return array|mixed 49 | */ 50 | private function gatherSenderAddress() 51 | { 52 | $sender = config('mail.from', []); 53 | 54 | if (!array_key_exists('address', $sender) || is_null($sender['address'])) { 55 | return ['address' => 'noreply@example.com', 'name' => '']; 56 | } 57 | 58 | if (is_null($sender['name'])) { 59 | $sender['name'] = ''; 60 | } 61 | 62 | return $sender; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/lang/fr/pages.php: -------------------------------------------------------------------------------- 1 | 'Succès', 12 | 13 | 'flasherror' => 'Erreur', 14 | 15 | 'flashwarning' => 'Avertissement', 16 | 17 | 'flashinfo' => 'POUR INFO', 18 | 19 | 'register' => 'S\'inscrire', 20 | 21 | 'login' => "Se connecter", 22 | 23 | 'logout' => "Se déconnecter", 24 | 25 | 'home' => "Accueil", 26 | 27 | 'users' => 'Utilisateur| Utilisateurs', 28 | 29 | 'groups' => "Groupes", 30 | 31 | 'helloworld' => "Bonjour le monde!", 32 | 33 | 'description' => "Il s'agit d'un exemple de Laravel 4.1 fonctionneavec Sentry 2.0 et Bootstrap 3.0.", 34 | 35 | 'loginstatus' => "Vous êtes actuellement connecté.", 36 | 37 | 'sessiondata' => "Données de session", 38 | 39 | 'currentusers' => "Utilisateurs actuels", 40 | 41 | 'options' => 'Options', 42 | 43 | 'status' => "État", 44 | 45 | 'active' => "Actif", 46 | 47 | 'notactive' => "Inactif", 48 | 49 | 'suspended' => "Suspendu", 50 | 51 | 'banned' => "Banni", 52 | 53 | 'actionedit' => "Modifier", 54 | 55 | 'actionsuspend' => "Suspendre", 56 | 57 | 'actionunsuspend' => "Supprimer la supsension", 58 | 59 | 'actionban' => "Bannir", 60 | 61 | 'actionunban' => "Débannir", 62 | 63 | 'actiondelete' => "Supprimer", 64 | 65 | ); 66 | -------------------------------------------------------------------------------- /src/views/gumby/groups/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Edit Group') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 |
    9 |
    10 |
    11 |
      12 |

      Edit Group

      13 | 14 |
    • 15 | 16 |
    • 17 | {{ $errors->first('name', '

      :message

      ') }} 18 | 19 | 20 |
    • 21 | 22 | @foreach ($defaultPermissions as $permission) 23 | 27 | @endforeach 28 |
    • 29 | 30 |
      31 | 32 | 33 | 34 |
      35 | 36 |
    37 |
    38 |
    39 |
    40 | 41 | @stop -------------------------------------------------------------------------------- /src/views/materialize/groups/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Create Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 | 16 |

    Create New Group

    17 | 18 |
    19 |
    20 | 21 | 22 | {{ ($errors->has('name') ? $errors->first('name') : '') }} 23 |
    24 |
    25 | 26 | 27 | 28 | 29 |

    Permissions

    30 | @foreach ($defaultPermissions as $permission) 31 |

    32 | {{ ucwords($permission) }} 37 | 38 |

    39 | @endforeach 40 | 41 |

    42 | 45 |

    46 | 47 |
    48 |
    49 |
    50 | @stop -------------------------------------------------------------------------------- /src/views/gumby/sessions/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Log In') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 | 9 |
    10 |
    11 |
    12 |
      13 |

      Login

      14 | 15 |
    • 16 | 17 |
    • 18 | {{ $errors->first('email', '

      :message

      ') }} 19 | 20 |
    • 21 | 22 |
    • 23 | {{ $errors->first('password', '

      :message

      ') }} 24 | 25 |
    • 26 | 30 |
    • 31 | 32 |
      33 | 34 | 35 |
      36 |
      37 | 38 |
      39 |
    40 |
    41 |
    42 |
    43 | 44 | @stop 45 | -------------------------------------------------------------------------------- /src/views/materialize/sessions/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | Log In 6 | @stop 7 | 8 | {{-- Content --}} 9 | @section('content') 10 |
    11 |
    12 |
    13 | 14 | 15 |

    Sign In

    16 | 17 |
    18 |
    19 | 20 | 21 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 22 |
    23 |
    24 | 25 |
    26 |
    27 | 28 | 29 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 30 |
    31 |
    32 | 33 |

    34 | 35 | 36 |

    37 | 38 |

    39 | 42 | Forgot Password 43 |

    44 | 45 |
    46 |
    47 |
    48 | @stop -------------------------------------------------------------------------------- /src/views/gumby/groups/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Create Group') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 |
    9 |
    10 |
    11 |
      12 |

      Create New Group

      13 | 14 |
    • 15 | 16 |
    • 17 | {{ $errors->first('name', '

      :message

      ') }} 18 | 19 | 20 |
    • 21 | 22 | @foreach ($defaultPermissions as $permission) 23 | 31 | @endforeach 32 |
    • 33 | 34 |
      35 | 36 | 37 |
      38 | 39 |
    40 |
    41 |
    42 |
    43 | 44 | @stop 45 | -------------------------------------------------------------------------------- /tests/SentinelTestCase.php: -------------------------------------------------------------------------------- 1 | set('database.default', 'testbench'); 37 | $app['config']->set('database.connections.testbench', [ 38 | 'driver' => 'sqlite', 39 | 'database' => __DIR__ . '/_data/db.sqlite', 40 | 'prefix' => '', 41 | ]); 42 | $app['config']->set('mail.driver', 'log'); 43 | $app['config']->set('mail.from', ['from' => 'noreply@example.com', 'name' => null]); 44 | app()['config']->set('hashids.connections.main.length', 6); 45 | 46 | // Prepare the sqlite database 47 | // http://www.chrisduell.com/blog/development/speeding-up-unit-tests-in-php/ 48 | exec('cp ' . __DIR__ . '/_data/prep.sqlite ' . __DIR__ . '/_data/db.sqlite'); 49 | } 50 | 51 | /** 52 | * Get package providers. 53 | * 54 | * @param \Illuminate\Foundation\Application $app 55 | * 56 | * @return array 57 | */ 58 | protected function getPackageProviders($app) 59 | { 60 | return [ 61 | 'Sentinel\SentinelServiceProvider', 62 | ]; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /migrations/2012_12_06_225988_cartalyst_sentry_install_throttle.php: -------------------------------------------------------------------------------- 1 | increments('id'); 34 | $table->integer('user_id')->unsigned()->nullable(); 35 | $table->string('ip_address')->nullable(); 36 | $table->integer('attempts')->default(0); 37 | $table->boolean('suspended')->default(0); 38 | $table->boolean('banned')->default(0); 39 | $table->timestamp('last_attempt_at')->nullable(); 40 | $table->timestamp('suspended_at')->nullable(); 41 | $table->timestamp('banned_at')->nullable(); 42 | 43 | // We'll need to ensure that MySQL uses the InnoDB engine to 44 | // support the indexes, other engines aren't affected. 45 | $table->engine = 'InnoDB'; 46 | $table->index('user_id'); 47 | }); 48 | } 49 | 50 | /** 51 | * Reverse the migrations. 52 | * 53 | * @return void 54 | */ 55 | public function down() 56 | { 57 | Schema::drop('throttle'); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/views/bootstrap/users/register.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | @section('title') 4 | Register 5 | @stop 6 | 7 | @section('content') 8 |
    9 |
    10 |
    11 | 12 |

    Register New Account

    13 | 14 |
    15 | 16 | {{ ($errors->has('username') ? $errors->first('username') : '') }} 17 |
    18 | 19 |
    20 | 21 | {{ ($errors->has('email') ? $errors->first('email') : '') }} 22 |
    23 | 24 |
    25 | 26 | {{ ($errors->has('password') ? $errors->first('password') : '') }} 27 |
    28 | 29 |
    30 | 31 | {{ ($errors->has('password_confirmation') ? $errors->first('password_confirmation') : '') }} 32 |
    33 | 34 | 35 | 36 | 37 |
    38 |
    39 |
    40 | @stop -------------------------------------------------------------------------------- /src/views/foundation/groups/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Groups 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |

    Available Groups

    14 |
    15 |
    16 | 17 |
    18 |
    19 | 20 |
    21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | @foreach ($groups as $group) 29 | 30 | 33 | 43 | 47 | 48 | @endforeach 49 | 50 |
    NamePermissionsOptions
    31 | {{ $group->name }} 32 | 34 | getPermissions(); 36 | $keys = array_keys($permissions); 37 | $last_key = end($keys); 38 | ?> 39 | @foreach ($permissions as $key => $value) 40 | {{ ucfirst($key) . ($key == $last_key ? '' : ', ') }} 41 | @endforeach 42 | 44 | 45 | 46 |
    51 |
    52 |
    53 | {!! $groups->render() !!} 54 |
    55 | 59 | @stop 60 | 61 | -------------------------------------------------------------------------------- /src/views/gumby/groups/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Groups') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 |
    9 |
    10 |

    Available Groups

    11 |
    12 |
    13 |
    14 | New Group 15 |
    16 |
    17 |
    18 |
    19 |
    20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | @foreach ($groups as $group) 28 | 29 | 30 | 40 | 48 | 49 | @endforeach 50 | 51 |
    NamePermissionsOptions
    31 | getPermissions(); 33 | $keys = array_keys($permissions); 34 | $last_key = end($keys); 35 | ?> 36 | @foreach ($permissions as $key => $value) 37 | {{ ucfirst($key) . ($key == $last_key ? '' : ', ') }} 38 | @endforeach 39 | 41 |
    42 | Edit 43 |
    44 |
    45 | Delete 46 |
    47 |
    52 |
    53 |
    54 |
    55 | {!! $groups->render() !!} 56 |
    57 | 61 | @stop 62 | 63 | -------------------------------------------------------------------------------- /src/views/foundation/users/reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Reset Password 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 |

    Reset Your Password

    16 | 17 |
    18 |
    19 | 20 |
    21 |
    22 | 23 | {{ ($errors->has('newPassword') ? $errors->first('newPassword', ':message') : '') }} 24 |
    25 |
    26 | 27 |
    28 |
    29 | 30 |
    31 |
    32 | 33 | {{ ($errors->has('newPassword_confirmation') ? $errors->first('newPassword_confirmation', ':message') : '') }} 34 |
    35 |
    36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 | 44 |
    45 |
    46 |
    47 | @stop 48 | -------------------------------------------------------------------------------- /src/views/foundation/groups/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title') 5 | @parent 6 | Create Group 7 | @stop 8 | 9 | {{-- Content --}} 10 | @section('content') 11 |
    12 |
    13 |
    14 | 15 |

    Create New Group

    16 | 17 |
    18 |
    19 | 20 |
    21 |
    22 | 23 | {{ ($errors->has('name') ? $errors->first('name', ':message') : '') }} 24 |
    25 |
    26 | 27 |
    28 | 29 | 30 | @foreach ($defaultPermissions as $permission) 31 |
    32 | {{ ucwords($permission) }} 37 |
    38 | @endforeach 39 |
    40 | 41 |
    42 |
    43 | 44 | 45 |
    46 |
    47 | 48 |
    49 |
    50 |
    51 | 52 | @stop -------------------------------------------------------------------------------- /src/views/gumby/users/register.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('sentinel.layout')) 2 | 3 | {{-- Web site Title --}} 4 | @section('title', 'Register') 5 | 6 | {{-- Content --}} 7 | @section('content') 8 |
    9 |
    10 |
    11 |
      12 | 13 |

      Register

      14 | 15 |
    • 16 | 17 |
    • 18 | {{ $errors->first('username', '

      :message

      ') }} 19 | 20 |
    • 21 | 22 |
    • 23 | {{ $errors->first('email', '

      :message

      ') }} 24 | 25 |
    • 26 | 27 |
    • 28 | {{ $errors->first('password', '

      :message

      ') }} 29 | 30 |
    • 31 | 32 |
    • 33 | {{ $errors->first('password_confirmation', '

      :message

      ') }} 34 | 35 |
      36 | 37 | 38 |
      39 |
    40 |
    41 | 42 | 43 | 44 |
    45 | 46 | @stop -------------------------------------------------------------------------------- /src/lang/ar/users.php: -------------------------------------------------------------------------------- 1 | "تم إنشاء حسابك. تحقق من البريد الإلكتروني الخاص بك لتأكيد التسجيل.", 12 | 13 | 'createdactive' => "تم إنشاء حسابك. يمكنك الدخول الآن.", 14 | 15 | 'added' => "تم إضافة عضو جديد. تحقق من البريد الإلكتروني لتأكيد التسجيل.", 16 | 17 | 'addedactive' => "تم إضافة عضو جديد.", 18 | 19 | 'loginreq' => "حقل التسجيل مطلوب.", 20 | 21 | 'exists' => "عضو سبق له التسجيل.", 22 | 23 | 'notfound' => "عضو غير موجود", 24 | 25 | 'noaccess' => "لا يسمح لك بهذا الأمر.", 26 | 27 | 'updated' => "تم تحديث البيانات", 28 | 29 | 'notupdated' => "لا يمكن تحديث البيانات", 30 | 31 | 'activated' => "تم تفعيل حسابك يمكنك الدخول الآن", 32 | 33 | 'notactivated' => "تعذر إكمال التفعيل.", 34 | 35 | 'alreadyactive' => "سبق تفعيل حسابك.", 36 | 37 | 'emailconfirm' => "تحقق من بريدك الإلكتروني لتفعيل حسابك.", 38 | 39 | 'emailinfo' => "تحقتحقق من بريدك الإلكتروني لأجل التعليمات.", 40 | 41 | 'emailpassword' => "تم تغيير كلمة السر. تحقق من بريدك الإلكتروني لأجل كلمة السر الجديدة.", 42 | 43 | 'problem' => "هناك خطأ ما. الرجاء الإتصال بالمشرف على الموقع.", 44 | 45 | 'passwordchg' => "تم تغيير كلمة السر الخاصة بك.", 46 | 47 | 'passwordprob' => "لا يمكن تغيير كلمة السر الخاصة بك.", 48 | 49 | 'oldpassword' => "لم تقدم كلمة السر الأصلية الصحيحة.", 50 | 51 | 'suspended' => "تم تعليق العضوية لمدة 15 دقيقة.", 52 | 53 | 'unsuspended' => "تم إزالة تعليق العضوية.", 54 | 55 | 'banned' => "تم حظر العضو.", 56 | 57 | 'unbanned' => "تم رفع حظر العضو.", 58 | 59 | 'inactive_reg' => "لا يمكن التسجيل حاليا.", 60 | 61 | 'destroyed' => "تم حذف العضو.", 62 | 63 | 'notdestroyed' => "لا يمكن حذف العضو." 64 | 65 | ); 66 | --------------------------------------------------------------------------------