All Projects → Jeroen-G → GuestPass

Jeroen-G / GuestPass

Licence: other
Flickr-like Guest Pass system for Laravel

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to GuestPass

wedding
A simple rails app for distributing wedding information and managing the guest list.
Stars: ✭ 32 (+52.38%)
Mutual labels:  guest
hyperdome
the safest place to reach out
Stars: ✭ 26 (+23.81%)
Mutual labels:  guest
debian-vm-install
Debian unattended VM installation with virt-install and pressed.cfg
Stars: ✭ 34 (+61.9%)
Mutual labels:  guest
guest-password-printer
Guest network password printer, using Raspberry Pi Zero, a thermalprinter and this code.
Stars: ✭ 26 (+23.81%)
Mutual labels:  guest
Desktop-Applications-JavaFX
JavaFX Open Source Projects
Stars: ✭ 69 (+228.57%)
Mutual labels:  guest

GuestPass for Laravel

Latest Version on Packagist Build Status Quality Score

Installation

Via Composer

$ composer require jeroen-g/guestpass

If you run Laravel 5.5, the service provider and facade are autodiscovered. If not then add them manually:

JeroenG\GuestPass\GuestPassServiceProvider::class,
// ...
'GuestPass' => JeroenG\GuestPass\GuestPassFacade::class,

Usage

To use Guest Passes, you will need two models: one that is the owner granting guest access (typically a user) and another that is the object to which access is being granted. In the examples below, a photo is used for this.

Creating new Guest Passes

Requires the owner and object models.

GuestPass::create($user, $photo);

Returns true if successfull, false otherwise.

Retrieving Guest Pass data

A Guest Pass contains the following data: owner_model, owner_id; object_model, object_id; key (unique); view (nullable).

Getting all keys of the owner

Requires the owner model.

GuestPass::getKeysOf($user);

Returns a collection of all Guest Pass keys and their corresponding data is attached as well.

Finding a Guest Pass for corresponding owner and object

Requires the owner and object model.

GuestPass::findGuestPass($user, $photo);

Returns an Eloquent model (or throws an exception).

Get one specific Guest Pass by its key

Requires the key (string).

GuestPass::getGuestPass($key);

Returns an Eloquent model (or throws an exception).

Checking ownership

Requires the owner and Guest Pass models.

GuestPass::isOwner($user, $guestpass);

Returns true or false.

Access controller

The package ships with a controller that checks for the /gp/{owner id}/{key} route and when valid it returns the view (404 otherwise). Each view is passed the object and the Guest Pass models. The views will be sought in the resources/views/guests/ directory.

Custom views

When creating a Guest Pass it is possible to pass a custom view as the third parameter

GuestPass::create($user, $photo, 'album');

In this case, the access controller will not use photo.blade.php (which would be the default) but album.blade.php but the directory remains the same and it is not necessary to add the file extension.

Changelog

Please see changelog.md for what has changed recently.

Contributing

Please see contributing.md for details.

Credits

License

The EU Public License. Please see license.md for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].