Download the PHP package daydevelops/vote without Composer
On this page you can find all versions of the php package daydevelops/vote. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download daydevelops/vote
More information about daydevelops/vote
Files in daydevelops/vote
Package vote
Short Description A package built for laravel applications which allows items to be voted on. Items can be upvoted or downvoted which counts towards a total score.
License MIT
Homepage https://github.com/daydevelops/vote
Informations about the package vote
Laravel 7 Vote Package
This package gives your laravel project the ability to create and manage an upvote/downvote system for user created content. This project was inspired by Reddit karma.
Main Features in this Package
This package will provide you with 2 table migrations which will create a votes table (dd_votes) and a voter table (dd_voters).
You will also be given access to two traits:
Votable -> Adds upvoting and downvoting functionality to a votable object such as a blog post, comment, photos, or anything else with a user_id representing an owner.
CanVote -> To be applied to your User model. Adds additional functionality to your user which lets them manage their ability to vote and provides a votable score (calculated from votes others have casted on their votable objects).
You can also access the two models Vote and Voter.
A config file vote.php will be published to your config directory.
Installation
Via Composer
Usage
Apply the Votable Trait
Suppose we have a blog and users can create comments. If we want to allow users to upvote and downvote comments, we simply add the Votable trait.
Apply the CanVote Trait
The CanVote trait should be applied to your User model.
Available Methods/Properties on the Votable Object
Authenticated User Casts a Vote
Authenticated User Casts an Upvote
Authenticated User Casts a Downvote
Authenticated User Removes a Vote
Has the Authenticated User Voted on this Object?
Has the Authenticated User Upvoted this Object?
Has the Authenticated User Downvoted this Object?
Get a Collection of all the Votes on this Object
Get the Total Score of all Votes Casted on this Object
Available Methods/Properties on the CanVote (User) Object
Does this User have a Voter Record?
Get the Voter Object for this User
Make a Voter Record for this user
Get the Users Score Calculated from Votes Casted by other Users
Available Methods/Properties on the Voter Model
where $voter = $user->voter;
:
Change the Weight of the Voters FUTURE Votes
Can the Voter Vote on an Object?
Is the Voter Banned from Voting?
Ban or Unban the Voter
Events
Daydevelops\Vote\Events\ItemUpVoted -> Fired when a votable object is upvoted
Daydevelops\Vote\Events\ItemDownVoted -> Fired when a votable object is udownvoted
Daydevelops\Vote\Events\VoterWeightChanged -> Fired when a voters vote weight is updated
Tests
For further clarification on any of the features of this package, take a look at the tests or reach out to the maintainer of the package.
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
License
MIT. Please see the license file for more information.