Bolt\Logger\Manager::getActivity PHP Method

getActivity() public method

Get a specific activity log.
public getActivity ( string $log, integer $page = 1, integer $amount = 10, array $options = [] ) : array
$log string The log to query. Either 'change' or 'system'
$page integer
$amount integer Number of results to return
$options array
return array
    public function getActivity($log, $page = 1, $amount = 10, $options = [])
    {
        if ($log == 'change') {
            $repo = $this->changeRepository;
        } elseif ($log == 'system') {
            $repo = $this->systemRepository;
        } else {
            throw new \UnexpectedValueException("Invalid log type requested: {$log}");
        }
        try {
            $rows = $repo->getActivity($page, $amount, $options);
            $rowcount = $repo->getActivityCount($options);
        } catch (TableNotFoundException $e) {
            return null;
        }
        // Set up the pager
        /** @var \Bolt\Pager\PagerManager $manager */
        $manager = $this->app['pager'];
        $manager->createPager('activity')->setCount($rowcount)->setTotalpages(ceil($rowcount / $amount))->setCurrent($page)->setShowingFrom(($page - 1) * $amount + 1)->setShowingTo(($page - 1) * $amount + count($rows));
        return $rows;
    }

Usage Example

Example #1
0
 public function testGetActivityLevel()
 {
     $app = $this->getApp();
     $mocker = new DoctrineMockBuilder();
     $db = $mocker->getConnectionMock();
     $queries = [];
     $db->expects($this->any())->method('executeQuery')->will($this->returnCallback(function ($query, $params) use(&$queries, $mocker) {
         $queries[] = $query;
         return $mocker->getStatementMock();
     }));
     $app['db'] = $db;
     $app['request'] = Request::createFromGlobals();
     $log = new Manager($app);
     $log->getActivity('change', 10, 3, 'test');
 }