Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Filament\Tables\Columns\Summarizers; use Exception; use Filament\Tables\..
Decoded Output download
<?php
namespace Filament\Tables\Columns\Summarizers;
use Exception;
use Filament\Tables\Columns\IconColumn;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Str;
class Count extends Summarizer
{
protected bool $hasIcons = false;
protected ?string $selectAlias = null;
protected function setUp(): void
{
parent::setUp();
$this->numeric();
}
/**
* @return int | float | array<string, array<string, int>> | null
*/
public function summarize(Builder $query, string $attribute): int | float | array | null
{
if (! $this->hasIcons) {
return $query->count();
}
$column = $this->getColumn();
if (! ($column instanceof IconColumn)) {
throw new Exception("The [{$column->getName()}] column must be an IconColumn to show an icon count summary.");
}
$state = [];
foreach ($query->clone()->distinct()->pluck($attribute) as $value) {
$column->record($this->getQuery()->getModel()->setAttribute($attribute, $value));
$columnState = $column->getState();
$color = json_encode($column->getColor($columnState));
$icon = $column->getIcon($columnState);
$state[$color] ??= [];
$state[$color][$icon] ??= 0;
$state[$color][$icon] += $query->clone()->where($attribute, $value)->count();
}
return $state;
}
/**
* @return array<string, string>
*/
public function getSelectStatements(string $column): array
{
if ($this->hasIcons) {
return [];
}
return [
$this->getSelectAlias() => "count({$column})",
];
}
public function getSelectedState(): int | float | null
{
if (! array_key_exists($this->selectAlias, $this->selectedState)) {
return null;
}
return $this->selectedState[$this->getSelectAlias()];
}
public function selectAlias(?string $alias): static
{
$this->selectAlias = $alias;
return $this;
}
public function getSelectAlias(): string
{
return $this->selectAlias ??= Str::random();
}
public function icons(bool $condition = true): static
{
$this->hasIcons = $condition;
$this->view('filament-tables::columns.summaries.icon-count');
return $this;
}
public function getDefaultLabel(): ?string
{
return $this->hasIcons ? null : __('filament-tables::table.summary.summarizers.count.label');
}
public function hasIcons(): bool
{
return $this->hasIcons;
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Filament\Tables\Columns\Summarizers;
use Exception;
use Filament\Tables\Columns\IconColumn;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Str;
class Count extends Summarizer
{
protected bool $hasIcons = false;
protected ?string $selectAlias = null;
protected function setUp(): void
{
parent::setUp();
$this->numeric();
}
/**
* @return int | float | array<string, array<string, int>> | null
*/
public function summarize(Builder $query, string $attribute): int | float | array | null
{
if (! $this->hasIcons) {
return $query->count();
}
$column = $this->getColumn();
if (! ($column instanceof IconColumn)) {
throw new Exception("The [{$column->getName()}] column must be an IconColumn to show an icon count summary.");
}
$state = [];
foreach ($query->clone()->distinct()->pluck($attribute) as $value) {
$column->record($this->getQuery()->getModel()->setAttribute($attribute, $value));
$columnState = $column->getState();
$color = json_encode($column->getColor($columnState));
$icon = $column->getIcon($columnState);
$state[$color] ??= [];
$state[$color][$icon] ??= 0;
$state[$color][$icon] += $query->clone()->where($attribute, $value)->count();
}
return $state;
}
/**
* @return array<string, string>
*/
public function getSelectStatements(string $column): array
{
if ($this->hasIcons) {
return [];
}
return [
$this->getSelectAlias() => "count({$column})",
];
}
public function getSelectedState(): int | float | null
{
if (! array_key_exists($this->selectAlias, $this->selectedState)) {
return null;
}
return $this->selectedState[$this->getSelectAlias()];
}
public function selectAlias(?string $alias): static
{
$this->selectAlias = $alias;
return $this;
}
public function getSelectAlias(): string
{
return $this->selectAlias ??= Str::random();
}
public function icons(bool $condition = true): static
{
$this->hasIcons = $condition;
$this->view('filament-tables::columns.summaries.icon-count');
return $this;
}
public function getDefaultLabel(): ?string
{
return $this->hasIcons ? null : __('filament-tables::table.summary.summarizers.count.label');
}
public function hasIcons(): bool
{
return $this->hasIcons;
}
}
Function Calls
None |
Stats
MD5 | f6c9bbc5ab2a5a5263dd228d17a71fc1 |
Eval Count | 0 |
Decode Time | 107 ms |