dmyers/laravel-activity
Activity Package for Laravel 4
Activity is a activity/news feed system for Laravel 4 applications.
Installation via Composer
Add this to you composer.json file, in the require object:
"dmyers/laravel-activity": "dev-master"
After that, run composer install to install Activity.
Add the service provider to app/config/app.php, within the providers array.
'providers' => array(
// ...
'Dmyers\Activity\ActivityServiceProvider',
)
Add a class alias to app/config/app.php, within the aliases array.
'aliases' => array(
// ...
'Activity' => 'Dmyers\Activity\Activity',
)
Publish the package's model, migration, and view.
php artisan model:publish dmyers/laravel-activity
php artisan migration:publish dmyers/laravel-activity
php artisan view:publish dmyers/laravel-activity
Finally, add the trait to the models you want to track activity on.
use ActivityTrait;
protected $activity_item_field = 'id';
protected $activity_doer_field = 'user_id';
protected $activity_events = array('created', 'updated', 'deleted');
protected $activity_feed_type = 'user';
Usage
First get an instance of an item type (model):
$object = Model::find(1);
Fetch all the activity:
$object->activity(array(
'id' => $activity_id, // optional
'doer_id' => $doer_id, // optional
'victim_id' => $victim_id, // optional
'item_id' => $item_id, // optional
'item_type' => $item_type, // optional
'feed_type' => $feed_type, // optional
));
Track an activity event:
$object->addActivity($item_type, $doer_id, $victim_id, $action);
Update an activity event:
$object->updateActivity($item_type, $doer_id, $victim_id, $action);
Delete an activity event:
$object->deleteActivity($item_type, $doer_id, $victim_id, $action);
Display an activity feed:
$object->renderActivityFeed($type, $doer_id, $victim_id);
Push a feed into another activity feed:
$object->pushActivityFeed($type, $doer_id, $victim_id);
Related Packages
Build newsfeeds and activity feeds on Laravel using getstream.io
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...