mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-31 04:55:50 +08:00
Added activity history to to all entities. Fixes #12
This commit is contained in:
57
app/Services/ActivityService.php
Normal file
57
app/Services/ActivityService.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php namespace Oxbow\Services;
|
||||
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Oxbow\Activity;
|
||||
use Oxbow\Entity;
|
||||
|
||||
class ActivityService
|
||||
{
|
||||
protected $activity;
|
||||
protected $user;
|
||||
|
||||
/**
|
||||
* ActivityService constructor.
|
||||
* @param $activity
|
||||
*/
|
||||
public function __construct(Activity $activity)
|
||||
{
|
||||
$this->activity = $activity;
|
||||
$this->user = Auth::user();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add activity data to database.
|
||||
* @para Entity $entity
|
||||
* @param $activityKey
|
||||
* @param int $bookId
|
||||
*/
|
||||
public function add(Entity $entity, $activityKey, $bookId = 0, $extra = false)
|
||||
{
|
||||
$this->activity->user_id = $this->user->id;
|
||||
$this->activity->book_id = $bookId;
|
||||
$this->activity->key = strtolower($activityKey);
|
||||
if($extra !== false) {
|
||||
$this->activity->extra = $extra;
|
||||
}
|
||||
$entity->activity()->save($this->activity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a activity history with a message & without binding to a entitiy.
|
||||
* @param $activityKey
|
||||
* @param int $bookId
|
||||
* @param bool|false $extra
|
||||
*/
|
||||
public function addMessage($activityKey, $bookId = 0, $extra = false)
|
||||
{
|
||||
$this->activity->user_id = $this->user->id;
|
||||
$this->activity->book_id = $bookId;
|
||||
$this->activity->key = strtolower($activityKey);
|
||||
if($extra !== false) {
|
||||
$this->activity->extra = $extra;
|
||||
}
|
||||
$this->activity->save();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user