Added options to allow whole site to be made public. Fixes #3.
Showing
4 changed files
with
27 additions
and
15 deletions
| ... | @@ -4,6 +4,7 @@ namespace Oxbow\Http\Middleware; | ... | @@ -4,6 +4,7 @@ namespace Oxbow\Http\Middleware; |
| 4 | 4 | ||
| 5 | use Closure; | 5 | use Closure; |
| 6 | use Illuminate\Contracts\Auth\Guard; | 6 | use Illuminate\Contracts\Auth\Guard; |
| 7 | +use Setting; | ||
| 7 | 8 | ||
| 8 | class Authenticate | 9 | class Authenticate |
| 9 | { | 10 | { |
| ... | @@ -33,7 +34,8 @@ class Authenticate | ... | @@ -33,7 +34,8 @@ class Authenticate |
| 33 | */ | 34 | */ |
| 34 | public function handle($request, Closure $next) | 35 | public function handle($request, Closure $next) |
| 35 | { | 36 | { |
| 36 | - if ($this->auth->guest()) { | 37 | + $sitePublic = Setting::get('app-public', false) === 'true'; |
| 38 | + if ($this->auth->guest() && !$sitePublic) { | ||
| 37 | if ($request->ajax()) { | 39 | if ($request->ajax()) { |
| 38 | return response('Unauthorized.', 401); | 40 | return response('Unauthorized.', 401); |
| 39 | } else { | 41 | } else { | ... | ... |
| ... | @@ -68,6 +68,9 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon | ... | @@ -68,6 +68,9 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon |
| 68 | */ | 68 | */ |
| 69 | public function can($permissionName) | 69 | public function can($permissionName) |
| 70 | { | 70 | { |
| 71 | + if($this->email == 'guest') { | ||
| 72 | + return false; | ||
| 73 | + } | ||
| 71 | $permissions = $this->role->permissions()->get(); | 74 | $permissions = $this->role->permissions()->get(); |
| 72 | $permissionSearch = $permissions->search(function ($item, $key) use ($permissionName) { | 75 | $permissionSearch = $permissions->search(function ($item, $key) use ($permissionName) { |
| 73 | return $item->name == $permissionName; | 76 | return $item->name == $permissionName; | ... | ... |
| ... | @@ -64,20 +64,22 @@ | ... | @@ -64,20 +64,22 @@ |
| 64 | <a href="/settings"><i class="zmdi zmdi-settings"></i>Settings</a> | 64 | <a href="/settings"><i class="zmdi zmdi-settings"></i>Settings</a> |
| 65 | @endif | 65 | @endif |
| 66 | </div> | 66 | </div> |
| 67 | - <img class="avatar" src="{{$currentUser->getAvatar(30)}}" alt="{{ $currentUser->name }}"> | 67 | + @if($signedIn) |
| 68 | - <div class="dropdown-container" data-dropdown> | 68 | + <img class="avatar" src="{{$currentUser->getAvatar(30)}}" alt="{{ $currentUser->name }}"> |
| 69 | - <span class="user-name" data-dropdown-toggle> | 69 | + <div class="dropdown-container" data-dropdown> |
| 70 | - {{ $currentUser->name }} <i class="zmdi zmdi-caret-down"></i> | 70 | + <span class="user-name" data-dropdown-toggle> |
| 71 | - </span> | 71 | + {{ $currentUser->name }} <i class="zmdi zmdi-caret-down"></i> |
| 72 | - <ul class="dropdown"> | 72 | + </span> |
| 73 | - <li> | 73 | + <ul class="dropdown"> |
| 74 | - <a href="/users/{{$currentUser->id}}" class="text-primary"><i class="zmdi zmdi-edit zmdi-hc-lg"></i>Edit Profile</a> | 74 | + <li> |
| 75 | - </li> | 75 | + <a href="/users/{{$currentUser->id}}" class="text-primary"><i class="zmdi zmdi-edit zmdi-hc-lg"></i>Edit Profile</a> |
| 76 | - <li> | 76 | + </li> |
| 77 | - <a href="/logout" class="text-neg"><i class="zmdi zmdi-run zmdi-hc-lg"></i>Logout</a> | 77 | + <li> |
| 78 | - </li> | 78 | + <a href="/logout" class="text-neg"><i class="zmdi zmdi-run zmdi-hc-lg"></i>Logout</a> |
| 79 | - </ul> | 79 | + </li> |
| 80 | - </div> | 80 | + </ul> |
| 81 | + </div> | ||
| 82 | + @endif | ||
| 81 | 83 | ||
| 82 | </div> | 84 | </div> |
| 83 | </div> | 85 | </div> | ... | ... |
| ... | @@ -14,6 +14,11 @@ | ... | @@ -14,6 +14,11 @@ |
| 14 | <input type="text" value="{{ Setting::get('app-name') }}" name="setting-app-name" id="setting-app-name"> | 14 | <input type="text" value="{{ Setting::get('app-name') }}" name="setting-app-name" id="setting-app-name"> |
| 15 | </div> | 15 | </div> |
| 16 | <div class="form-group"> | 16 | <div class="form-group"> |
| 17 | + <label for="setting-app-public">Allow public viewing?</label> | ||
| 18 | + <label><input type="radio" name="setting-app-public" @if(Setting::get('app-public') == 'true') checked @endif value="true"> Yes</label> | ||
| 19 | + <label><input type="radio" name="setting-app-public" @if(Setting::get('app-public') == 'false') checked @endif value="false"> No</label> | ||
| 20 | + </div> | ||
| 21 | + <div class="form-group"> | ||
| 17 | <button type="submit" class="button pos">Update Settings</button> | 22 | <button type="submit" class="button pos">Update Settings</button> |
| 18 | </div> | 23 | </div> |
| 19 | </form> | 24 | </form> | ... | ... |
-
Please register or sign in to post a comment