Files
faveo/vendor/barryvdh/laravel-debugbar/src/DataCollector/GateCollector.php
Manish Verma 1ac0f42a58 Laravel 5.6 updates
Travis config update

Removed HHVM script as Laravel no longer support HHVM after releasing 5.3
2018-08-07 10:17:09 +05:30

47 lines
1.3 KiB
PHP

<?php
namespace Barryvdh\Debugbar\DataCollector;
use Barryvdh\Debugbar\DataFormatter\SimpleFormatter;
use DebugBar\DataCollector\MessagesCollector;
use Illuminate\Contracts\Auth\Access\Gate;
use Illuminate\Contracts\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable;
use Symfony\Component\VarDumper\Cloner\VarCloner;
/**
* Collector for Laravel's Auth provider
*/
class GateCollector extends MessagesCollector
{
/**
* @param Gate $gate
*/
public function __construct(Gate $gate)
{
parent::__construct('gate');
$this->setDataFormatter(new SimpleFormatter());
$gate->after([$this, 'addCheck']);
}
public function addCheck(Authorizable $user = null, $ability, $result, $arguments = [])
{
$userKey = 'user';
$userId = null;
if ($user) {
$userKey = snake_case(class_basename($user));
$userId = $user instanceof Authenticatable ? $user->getAuthIdentifier() : $user->id;
}
$label = $result ? 'success' : 'error';
$this->addMessage([
'ability' => $ability,
'result' => $result,
$userKey => $userId,
'arguments' => $this->getDataFormatter()->formatVar($arguments),
], $label, false);
}
}