wip
This commit is contained in:
1 parent
28ed78c864
commit
59f2eeec11
8 files changed
+342
-132
No files matched your search
@@ -4,6 +4,7 @@ namespace App\Console\Commands;
|
|||||||
|
|
||||||
use App\Actions\PlayerPerSeason;
|
use App\Actions\PlayerPerSeason;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Grapper;
|
use App\Console\Commands\Grapper\Sofascore\Grapper;
|
||||||
|
use App\Console\Commands\Grapper\Sofascore\GrapperTest;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Helper\SetStorage;
|
use App\Console\Commands\Grapper\Sofascore\Helper\SetStorage;
|
||||||
use App\Console\Commands\Grapper\Sofascore\MakeExcel;
|
use App\Console\Commands\Grapper\Sofascore\MakeExcel;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Rose;
|
use App\Console\Commands\Grapper\Sofascore\Rose;
|
||||||
@@ -16,14 +17,18 @@ use Illuminate\Console\Command;
|
|||||||
class Grap extends Command
|
class Grap extends Command
|
||||||
{
|
{
|
||||||
public static $options = [];
|
public static $options = [];
|
||||||
|
|
||||||
public static string $storage;
|
public static string $storage;
|
||||||
|
|
||||||
public static string $zipfile;
|
public static string $zipfile;
|
||||||
|
|
||||||
public static string $folder;
|
public static string $folder;
|
||||||
|
|
||||||
public static string $excel;
|
public static string $excel;
|
||||||
|
|
||||||
public static string $useragent = '4';
|
public static string $useragent = '4';
|
||||||
|
|
||||||
protected $signature = 'grp {id=0} {day=0} {--folder=} {--d} {--r} {--f}';
|
protected $signature = 'grp {id=0} {day=0} {--folder=} {--d} {--r} {--f} {--R} {--S}';
|
||||||
|
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
@@ -33,25 +38,28 @@ class Grap extends Command
|
|||||||
self::$options['base_url'] = 'https://www.sofascore.com/';
|
self::$options['base_url'] = 'https://www.sofascore.com/';
|
||||||
|
|
||||||
if (! self::$options['id']) {
|
if (! self::$options['id']) {
|
||||||
$txt = 'PARAMETERS' . PHP_EOL;
|
$txt = 'PARAMETERS'.PHP_EOL;
|
||||||
$txt .= '--d debug' . PHP_EOL;
|
$txt .= '--d debug'.PHP_EOL;
|
||||||
$txt .= '--r restart range' . PHP_EOL;
|
$txt .= '--r restart range'.PHP_EOL;
|
||||||
$txt .= '--f force' . PHP_EOL;
|
$txt .= '--f force'.PHP_EOL;
|
||||||
$txt .= '--folder' . PHP_EOL;
|
$txt .= '--R read file'.PHP_EOL;
|
||||||
$txt .= '-----------------------------------------------------------' . PHP_EOL;
|
$txt .= '--S save to file'.PHP_EOL;
|
||||||
$txt .= 'FUNCTION' . PHP_EOL;
|
$txt .= '--folder'.PHP_EOL;
|
||||||
$txt .= ' 1 grapper DAILY & subDays ( default 3)' . PHP_EOL;
|
$txt .= '-----------------------------------------------------------'.PHP_EOL;
|
||||||
$txt .= ' 2 grapper DATE' . PHP_EOL;
|
$txt .= 'FUNCTION'.PHP_EOL;
|
||||||
$txt .= ' 3 grapper RANGE' . PHP_EOL;
|
$txt .= ' 1 grapper DAILY & subDays ( default 3)'.PHP_EOL;
|
||||||
$txt .= ' 4 grapper ROSE' . PHP_EOL;
|
$txt .= ' 2 grapper DATE'.PHP_EOL;
|
||||||
$txt .= ' 5 import to excel from folder' . PHP_EOL;
|
$txt .= ' 3 grapper RANGE'.PHP_EOL;
|
||||||
$txt .= ' 6 playeer/season' . PHP_EOL;
|
$txt .= ' 4 grapper ROSE'.PHP_EOL;
|
||||||
$txt .= ' 7 settings to local' . PHP_EOL;
|
$txt .= ' 5 import to excel from folder'.PHP_EOL;
|
||||||
$txt .= ' 11 move SQL' . PHP_EOL;
|
$txt .= ' 6 playeer/season'.PHP_EOL;
|
||||||
|
$txt .= ' 7 settings to local'.PHP_EOL;
|
||||||
|
$txt .= ' 11 move SQL'.PHP_EOL;
|
||||||
|
$txt .= ' 12 testing url for grapping'.PHP_EOL;
|
||||||
Notice::note($txt, 'b', 1);
|
Notice::note($txt, 'b', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Notice::note('Task Id ' . self::$options['id'], 'gb');
|
Notice::note('Task Id '.self::$options['id'], 'gb');
|
||||||
|
|
||||||
switch (self::$options['id']) {
|
switch (self::$options['id']) {
|
||||||
|
|
||||||
@@ -111,6 +119,10 @@ class Grap extends Command
|
|||||||
SqlMover::run();
|
SqlMover::run();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case '12':
|
||||||
|
GrapperTest::load();
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Notice::note('function not implemented yet', 'br', 1);
|
Notice::note('function not implemented yet', 'br', 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Grapper\Sofascore;
|
||||||
|
|
||||||
|
use App\Console\Commands\Grap;
|
||||||
|
use App\Console\Commands\Grapper\Sofascore\Helper\CurlLivescore;
|
||||||
|
use App\Utilities\Notice;
|
||||||
|
use DOMDocument;
|
||||||
|
use DOMXPath;
|
||||||
|
|
||||||
|
class GrapperTest
|
||||||
|
{
|
||||||
|
public static $testfiles = '/Testfiles/';
|
||||||
|
|
||||||
|
public static function load()
|
||||||
|
{
|
||||||
|
$read = Grap::$options['R'] ?? 0;
|
||||||
|
$save = Grap::$options['S'] ?? 0;
|
||||||
|
|
||||||
|
$testfile = 'livescore.txt';
|
||||||
|
|
||||||
|
$path = __DIR__.self::$testfiles.$testfile;
|
||||||
|
|
||||||
|
Notice::note('Grapper testing '.$testfile, 'b');
|
||||||
|
|
||||||
|
$url = 'https://www.livescore.in/horse-racing/canada/woodbine-2020/';
|
||||||
|
|
||||||
|
if ($read) {
|
||||||
|
Notice::note('data read localy', 'p');
|
||||||
|
|
||||||
|
$data = file_get_contents($path);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$data = CurlLivescore::load($url);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($save) {
|
||||||
|
|
||||||
|
file_put_contents($path, $data);
|
||||||
|
|
||||||
|
Notice::note('file saved localy', 'g');
|
||||||
|
}
|
||||||
|
|
||||||
|
$dom = new DOMDocument;
|
||||||
|
|
||||||
|
// Prevent warnings caused by HTML5 tags that native DOMDocument doesn't fully understand
|
||||||
|
libxml_use_internal_errors(true);
|
||||||
|
|
||||||
|
// Use mb_convert_encoding to ensure DOMDocument treats the input as UTF-8
|
||||||
|
$dom->loadHTML(mb_convert_encoding($data, 'HTML-ENTITIES', 'UTF-8'));
|
||||||
|
libxml_clear_errors();
|
||||||
|
|
||||||
|
// 3. Use XPath to query specific HTML elements
|
||||||
|
$xpath = new DOMXPath($dom);
|
||||||
|
|
||||||
|
// Example: Target match rows or team names (Update classes based on actual DOM structure)
|
||||||
|
// Modern livescore sites often use classes like '.event__match' or '.event__participant'
|
||||||
|
$teams = $xpath->query("//div[contains(@class, 'event__participant')]");
|
||||||
|
|
||||||
|
foreach ($teams as $team) {
|
||||||
|
echo trim($team->nodeValue).PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
Notice::note($data, 'p', 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Grapper\Sofascore\Helper;
|
||||||
|
|
||||||
|
use App\Console\Commands\Grap;
|
||||||
|
use App\Utilities\Notice;
|
||||||
|
|
||||||
|
// use ForceUTF8\Encoding;
|
||||||
|
|
||||||
|
class CurlLivescore
|
||||||
|
{
|
||||||
|
public static function load(string $url)
|
||||||
|
{
|
||||||
|
$debug = Grap::$options['d'] ?? 0;
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note($url, 'b');
|
||||||
|
}
|
||||||
|
|
||||||
|
$useragents = [];
|
||||||
|
$useragents[1] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15';
|
||||||
|
$useragents[2] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15';
|
||||||
|
$useragents[3] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36';
|
||||||
|
$useragents[4] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Safari/605.1.15';
|
||||||
|
$useragents[5] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0';
|
||||||
|
$useragents[6] = 'Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36';
|
||||||
|
|
||||||
|
$headers = [
|
||||||
|
'GET /horse-racing/canada/woodbine-2020/ HTTP/1.1',
|
||||||
|
'Host: www.livescore.in',
|
||||||
|
'User-Agent: '.$useragents[Grap::$useragent],
|
||||||
|
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
||||||
|
'Accept-Language: de,en-US;q=0.9,en;q=0.8',
|
||||||
|
'Accept-Encoding: gzip, deflate, br, zstd',
|
||||||
|
'Referer: https://www.livescore.in/horse-racing/canada/woodbine/archive/',
|
||||||
|
'Upgrade-Insecure-Requests: 1',
|
||||||
|
'Sec-Fetch-Dest: document',
|
||||||
|
'Sec-Fetch-Mode: navigate',
|
||||||
|
'Sec-Fetch-Site: same-origin',
|
||||||
|
'Sec-Fetch-User: ?1',
|
||||||
|
'Connection: keep-alive',
|
||||||
|
];
|
||||||
|
|
||||||
|
$ch = curl_init();
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $url);
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||||
|
curl_setopt($ch, CURLOPT_ENCODING, '');
|
||||||
|
|
||||||
|
$data = curl_exec($ch);
|
||||||
|
|
||||||
|
// $data = Encoding::toUTF8($data);
|
||||||
|
|
||||||
|
// $data = gzdecode($data);
|
||||||
|
|
||||||
|
// $data = json_decode($data, true);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Whitespace-only changes.
@@ -15,6 +15,7 @@ use Filament\Forms\Components\DatePicker;
|
|||||||
use Filament\Forms\Components\Radio;
|
use Filament\Forms\Components\Radio;
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
use Filament\Forms\Components\Slider;
|
use Filament\Forms\Components\Slider;
|
||||||
|
use Filament\Forms\Components\ToggleButtons;
|
||||||
use Filament\Pages\Dashboard as BaseDashboard;
|
use Filament\Pages\Dashboard as BaseDashboard;
|
||||||
use Filament\Pages\Dashboard\Concerns\HasFiltersForm;
|
use Filament\Pages\Dashboard\Concerns\HasFiltersForm;
|
||||||
use Filament\Schemas\Components\Grid;
|
use Filament\Schemas\Components\Grid;
|
||||||
@@ -23,7 +24,6 @@ use Filament\Schemas\Components\Utilities\Set;
|
|||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
use Filament\Support\RawJs;
|
use Filament\Support\RawJs;
|
||||||
use Illuminate\Contracts\Support\Htmlable;
|
use Illuminate\Contracts\Support\Htmlable;
|
||||||
use Illuminate\Contracts\View\View;
|
|
||||||
use Illuminate\Support\HtmlString;
|
use Illuminate\Support\HtmlString;
|
||||||
|
|
||||||
class Statistic extends BaseDashboard
|
class Statistic extends BaseDashboard
|
||||||
@@ -57,6 +57,25 @@ class Statistic extends BaseDashboard
|
|||||||
{
|
{
|
||||||
return $schema
|
return $schema
|
||||||
->components([
|
->components([
|
||||||
|
// ToggleButtons::make('status')
|
||||||
|
// ->columnSpanFull()
|
||||||
|
// ->hiddenLabel()
|
||||||
|
// ->inline()
|
||||||
|
// ->default(1)
|
||||||
|
// ->options([
|
||||||
|
// '1' => 'Soccer',
|
||||||
|
// '3' => 'Basketball',
|
||||||
|
// '2' => 'Ice Hockey',
|
||||||
|
// '5' => 'Tennis',
|
||||||
|
// '27' => 'Horse Racing',
|
||||||
|
// ])
|
||||||
|
// ->icons([
|
||||||
|
// '1' => 'icon-soccerball',
|
||||||
|
// '3' => 'icon-basketball',
|
||||||
|
// '2' => 'icon-icehockey',
|
||||||
|
// '5' => 'icon-tennisball',
|
||||||
|
// '27' => 'icon-horseracing',
|
||||||
|
// ]),
|
||||||
Grid::make([
|
Grid::make([
|
||||||
'default' => 1,
|
'default' => 1,
|
||||||
'sm' => 3,
|
'sm' => 3,
|
||||||
@@ -67,10 +86,10 @@ class Statistic extends BaseDashboard
|
|||||||
Select::make('league_id')
|
Select::make('league_id')
|
||||||
->live()
|
->live()
|
||||||
->searchable()
|
->searchable()
|
||||||
->prefixIconColor(fn(Get $get): string => $get('league_id') ? 'success' : 'danger')
|
->prefixIconColor(fn (Get $get): string => $get('league_id') ? 'success' : 'danger')
|
||||||
->prefixIcon('phosphor-trophy-fill')
|
->prefixIcon('phosphor-trophy-fill')
|
||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->options(fn() => LoadStatisticFixturesLeaguesOptions::load(1))
|
->options(fn () => LoadStatisticFixturesLeaguesOptions::load(1))
|
||||||
->placeholder('League')
|
->placeholder('League')
|
||||||
->afterStateUpdated(function (callable $set, $state) {
|
->afterStateUpdated(function (callable $set, $state) {
|
||||||
$set('match_id', null);
|
$set('match_id', null);
|
||||||
@@ -81,7 +100,7 @@ class Statistic extends BaseDashboard
|
|||||||
Select::make('match_id')
|
Select::make('match_id')
|
||||||
->live()
|
->live()
|
||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->prefixIconColor(fn(Get $get): string => $get('match_id') ? 'success' : 'danger')
|
->prefixIconColor(fn (Get $get): string => $get('match_id') ? 'success' : 'danger')
|
||||||
->prefixIcon('phosphor-calendar-check-fill')
|
->prefixIcon('phosphor-calendar-check-fill')
|
||||||
->options(function (Get $get) {
|
->options(function (Get $get) {
|
||||||
return LoadStatisticFixturesMatchOptions::load($get('league_id'));
|
return LoadStatisticFixturesMatchOptions::load($get('league_id'));
|
||||||
@@ -105,12 +124,11 @@ class Statistic extends BaseDashboard
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
->prefixIcon('phosphor-users-three-fill')
|
->prefixIcon('phosphor-users-three-fill')
|
||||||
->hidden(fn(Get $get) => $get('similar_past_matches') != 'none')
|
->hidden(fn (Get $get) => $get('similar_past_matches') != 'none')
|
||||||
->options(function (Get $get) {
|
->options(function (Get $get) {
|
||||||
if ($get('match_id')) {
|
if ($get('match_id')) {
|
||||||
$res = StatisticFixtures::where('id', $get('match_id'))->first();
|
$res = StatisticFixtures::where('id', $get('match_id'))->first();
|
||||||
|
|
||||||
|
|
||||||
$arr = [];
|
$arr = [];
|
||||||
if ($res) {
|
if ($res) {
|
||||||
$arr[$res->home_id] = SofaScoreRosa::query()->where('ss_team_id', $res->home_id)->value('ss_team_name');
|
$arr[$res->home_id] = SofaScoreRosa::query()->where('ss_team_id', $res->home_id)->value('ss_team_name');
|
||||||
@@ -134,9 +152,9 @@ class Statistic extends BaseDashboard
|
|||||||
Action::make('iconInfo')
|
Action::make('iconInfo')
|
||||||
->color('success')
|
->color('success')
|
||||||
->icon('phosphor-question-fill')
|
->icon('phosphor-question-fill')
|
||||||
->tooltip(fn() => 'Team Position')
|
->tooltip(fn () => 'Team Position')
|
||||||
)
|
)
|
||||||
->hidden(fn(Get $get) => $get('similar_past_matches') != 'none')
|
->hidden(fn (Get $get) => $get('similar_past_matches') != 'none')
|
||||||
->default('all')
|
->default('all')
|
||||||
->selectablePlaceholder(false)
|
->selectablePlaceholder(false)
|
||||||
->options([
|
->options([
|
||||||
@@ -189,13 +207,13 @@ class Statistic extends BaseDashboard
|
|||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->prefix('SPM')
|
->prefix('SPM')
|
||||||
->placeholder('Similar Past Matches')
|
->placeholder('Similar Past Matches')
|
||||||
->suffix(fn(Get $get): string|HtmlString => $get('similar_past_matches') != 'none' ? new HtmlString('<div class="text-center w-24 font-bold rounded p-1 bg-blue-600 dark:bg-blue-700 text-white dark:text-gray-300">± ' . $get('accuracy') . '</div>') : '')
|
->suffix(fn (Get $get): string|HtmlString => $get('similar_past_matches') != 'none' ? new HtmlString('<div class="text-center w-24 font-bold rounded p-1 bg-blue-600 dark:bg-blue-700 text-white dark:text-gray-300">± '.$get('accuracy').'</div>') : '')
|
||||||
->prefixAction(
|
->prefixAction(
|
||||||
Action::make('iconInfo')
|
Action::make('iconInfo')
|
||||||
->icon('phosphor-question-fill')
|
->icon('phosphor-question-fill')
|
||||||
// ->color(fn(Get $get): string => $get('similar_past_matches') != 'none' ? 'success' : 'primary')
|
// ->color(fn(Get $get): string => $get('similar_past_matches') != 'none' ? 'success' : 'primary')
|
||||||
->color('success')
|
->color('success')
|
||||||
->tooltip(fn() => $this->tooltip_similar_past_matches())
|
->tooltip(fn () => $this->tooltip_similar_past_matches())
|
||||||
)
|
)
|
||||||
->default('none')
|
->default('none')
|
||||||
->selectablePlaceholder(false)
|
->selectablePlaceholder(false)
|
||||||
@@ -212,7 +230,7 @@ class Statistic extends BaseDashboard
|
|||||||
Slider::make('accuracy')
|
Slider::make('accuracy')
|
||||||
->live()
|
->live()
|
||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->hidden(fn(Get $get) => $get('similar_past_matches') == 'none')
|
->hidden(fn (Get $get) => $get('similar_past_matches') == 'none')
|
||||||
->fillTrack()
|
->fillTrack()
|
||||||
->minValue(0)
|
->minValue(0)
|
||||||
->maxValue(0.25)
|
->maxValue(0.25)
|
||||||
@@ -228,17 +246,17 @@ class Statistic extends BaseDashboard
|
|||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->allowHtml()
|
->allowHtml()
|
||||||
->placeholder('Player')
|
->placeholder('Player')
|
||||||
->hidden(fn(Get $get) => $get('similar_past_matches') != 'none')
|
->hidden(fn (Get $get) => $get('similar_past_matches') != 'none')
|
||||||
->prefixIconColor(fn(Get $get): string => $get('similar_past_matches') == 'none' ? 'success' : '')
|
->prefixIconColor(fn (Get $get): string => $get('similar_past_matches') == 'none' ? 'success' : '')
|
||||||
->prefixIcon('icon-player')
|
->prefixIcon('icon-player')
|
||||||
->preload()
|
->preload()
|
||||||
->searchable()
|
->searchable()
|
||||||
->extraAttributes(fn() => ['id' => 'player_selector'])
|
->extraAttributes(fn () => ['id' => 'player_selector'])
|
||||||
->suffixAction(
|
->suffixAction(
|
||||||
Action::make('iconInfo')
|
Action::make('iconInfo')
|
||||||
->icon('phosphor-question-fill')
|
->icon('phosphor-question-fill')
|
||||||
->color('success')
|
->color('success')
|
||||||
->tooltip(fn() => $this->tooltip_player_info())
|
->tooltip(fn () => $this->tooltip_player_info())
|
||||||
)
|
)
|
||||||
->options(function (Get $get) {
|
->options(function (Get $get) {
|
||||||
return LoadPlayer::load($get);
|
return LoadPlayer::load($get);
|
||||||
@@ -249,7 +267,7 @@ class Statistic extends BaseDashboard
|
|||||||
->placeholder('Time on field')
|
->placeholder('Time on field')
|
||||||
->prefixIcon('phosphor-watch-fill')
|
->prefixIcon('phosphor-watch-fill')
|
||||||
->default('all')
|
->default('all')
|
||||||
->hidden(fn(Get $get) => ! $get('ss_player_id'))
|
->hidden(fn (Get $get) => ! $get('ss_player_id'))
|
||||||
->prefixIconColor('success')
|
->prefixIconColor('success')
|
||||||
->selectablePlaceholder(false)
|
->selectablePlaceholder(false)
|
||||||
->options([
|
->options([
|
||||||
@@ -289,7 +307,7 @@ class Statistic extends BaseDashboard
|
|||||||
->placeholder('All Seasons')
|
->placeholder('All Seasons')
|
||||||
->prefixIconColor('success')
|
->prefixIconColor('success')
|
||||||
// ->prefixIconColor(fn(Get $get): string => $get('season') ? 'success' : 'primary')
|
// ->prefixIconColor(fn(Get $get): string => $get('season') ? 'success' : 'primary')
|
||||||
->hidden(fn(Get $get) => $get('season_or_date') == 'date')
|
->hidden(fn (Get $get) => $get('season_or_date') == 'date')
|
||||||
->prefixIcon('phosphor-calendar-star-fill')
|
->prefixIcon('phosphor-calendar-star-fill')
|
||||||
->preload()
|
->preload()
|
||||||
->options(function (Get $get) {
|
->options(function (Get $get) {
|
||||||
@@ -298,30 +316,30 @@ class Statistic extends BaseDashboard
|
|||||||
DatePicker::make('start_date')
|
DatePicker::make('start_date')
|
||||||
->live()
|
->live()
|
||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->hidden(fn(Get $get) => $get('season_or_date') == 'season')
|
->hidden(fn (Get $get) => $get('season_or_date') == 'season')
|
||||||
->native(false)
|
->native(false)
|
||||||
->prefixIconColor(fn(Get $get): string => $get('start_date') ? 'success' : 'primary')
|
->prefixIconColor(fn (Get $get): string => $get('start_date') ? 'success' : 'primary')
|
||||||
->prefixIcon('phosphor-calendar-fill')
|
->prefixIcon('phosphor-calendar-fill')
|
||||||
->prefix('Start')
|
->prefix('Start')
|
||||||
->suffixAction(
|
->suffixAction(
|
||||||
Action::make('clear_start')
|
Action::make('clear_start')
|
||||||
->icon('phosphor-x')
|
->icon('phosphor-x')
|
||||||
->color('gray')
|
->color('gray')
|
||||||
->action(fn(Set $set) => $set('start_date', null))
|
->action(fn (Set $set) => $set('start_date', null))
|
||||||
),
|
),
|
||||||
DatePicker::make('end_date')
|
DatePicker::make('end_date')
|
||||||
->live()
|
->live()
|
||||||
->hiddenLabel()
|
->hiddenLabel()
|
||||||
->hidden(fn(Get $get) => $get('season_or_date') == 'season')
|
->hidden(fn (Get $get) => $get('season_or_date') == 'season')
|
||||||
->native(false)
|
->native(false)
|
||||||
->prefixIconColor(fn(Get $get): string => $get('end_date') ? 'success' : 'primary')
|
->prefixIconColor(fn (Get $get): string => $get('end_date') ? 'success' : 'primary')
|
||||||
->prefixIcon('phosphor-calendar-fill')
|
->prefixIcon('phosphor-calendar-fill')
|
||||||
->prefix('End')
|
->prefix('End')
|
||||||
->suffixAction(
|
->suffixAction(
|
||||||
Action::make('clear_end')
|
Action::make('clear_end')
|
||||||
->icon('phosphor-x')
|
->icon('phosphor-x')
|
||||||
->color('gray')
|
->color('gray')
|
||||||
->action(fn(Set $set) => $set('end_date', null))
|
->action(fn (Set $set) => $set('end_date', null))
|
||||||
),
|
),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"laravel/tinker": "*",
|
"laravel/tinker": "*",
|
||||||
"mongodb/laravel-mongodb": "^5.1",
|
"mongodb/laravel-mongodb": "^5.1",
|
||||||
"mongodb/mongodb": "^2.2",
|
"mongodb/mongodb": "^2.2",
|
||||||
|
"neitanod/forceutf8": "^2.0",
|
||||||
"outhebox/blade-flags": "*",
|
"outhebox/blade-flags": "*",
|
||||||
"phpoffice/phpspreadsheet": "^5.9",
|
"phpoffice/phpspreadsheet": "^5.9",
|
||||||
"spatie/simple-excel": "^3.9",
|
"spatie/simple-excel": "^3.9",
|
||||||
|
|||||||
Generated
+144
-92
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "b00c887f246ff78cec67da8281097834",
|
"content-hash": "8d70480aebb8cfe694d402279beba062",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "agencetwogether/hookshelper",
|
"name": "agencetwogether/hookshelper",
|
||||||
@@ -2946,16 +2946,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v12.65.0",
|
"version": "v12.67.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "99a8fb3153f962a323377d6742be08da86bcccb8"
|
"reference": "fe2cdaba052cbb9f350761ccefc7ac221cbdf0b5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/99a8fb3153f962a323377d6742be08da86bcccb8",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/fe2cdaba052cbb9f350761ccefc7ac221cbdf0b5",
|
||||||
"reference": "99a8fb3153f962a323377d6742be08da86bcccb8",
|
"reference": "fe2cdaba052cbb9f350761ccefc7ac221cbdf0b5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -3164,20 +3164,20 @@
|
|||||||
"issues": "https://github.com/laravel/framework/issues",
|
"issues": "https://github.com/laravel/framework/issues",
|
||||||
"source": "https://github.com/laravel/framework"
|
"source": "https://github.com/laravel/framework"
|
||||||
},
|
},
|
||||||
"time": "2026-08-05T15:33:16+00:00"
|
"time": "2026-08-18T13:37:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/prompts",
|
"name": "laravel/prompts",
|
||||||
"version": "v0.3.22",
|
"version": "v0.3.23",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/prompts.git",
|
"url": "https://github.com/laravel/prompts.git",
|
||||||
"reference": "02b89b39e8972a998db4d5d4ad4719239dd4aee4"
|
"reference": "b7b4c35e5bc47450f6b6238c6cc9c47ba19b2221"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/prompts/zipball/02b89b39e8972a998db4d5d4ad4719239dd4aee4",
|
"url": "https://api.github.com/repos/laravel/prompts/zipball/b7b4c35e5bc47450f6b6238c6cc9c47ba19b2221",
|
||||||
"reference": "02b89b39e8972a998db4d5d4ad4719239dd4aee4",
|
"reference": "b7b4c35e5bc47450f6b6238c6cc9c47ba19b2221",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -3221,9 +3221,9 @@
|
|||||||
"description": "Add beautiful and user-friendly forms to your command-line applications.",
|
"description": "Add beautiful and user-friendly forms to your command-line applications.",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/laravel/prompts/issues",
|
"issues": "https://github.com/laravel/prompts/issues",
|
||||||
"source": "https://github.com/laravel/prompts/tree/v0.3.22"
|
"source": "https://github.com/laravel/prompts/tree/v0.3.23"
|
||||||
},
|
},
|
||||||
"time": "2026-08-04T14:50:50+00:00"
|
"time": "2026-08-11T18:58:24+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/serializable-closure",
|
"name": "laravel/serializable-closure",
|
||||||
@@ -3357,16 +3357,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/commonmark",
|
"name": "league/commonmark",
|
||||||
"version": "2.9.2",
|
"version": "2.10.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/thephpleague/commonmark.git",
|
"url": "https://github.com/thephpleague/commonmark.git",
|
||||||
"reference": "72e9a87efcf41a8e83be3ed0866b69d77565cb12"
|
"reference": "d2d1aa8b35e072966c89bc0c66cf926e56767dc4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/72e9a87efcf41a8e83be3ed0866b69d77565cb12",
|
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d2d1aa8b35e072966c89bc0c66cf926e56767dc4",
|
||||||
"reference": "72e9a87efcf41a8e83be3ed0866b69d77565cb12",
|
"reference": "d2d1aa8b35e072966c89bc0c66cf926e56767dc4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -3403,7 +3403,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "2.10-dev"
|
"dev-main": "2.11-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3460,7 +3460,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-08-11T00:58:45+00:00"
|
"time": "2026-08-11T16:06:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/config",
|
"name": "league/config",
|
||||||
@@ -4091,16 +4091,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "livewire/livewire",
|
"name": "livewire/livewire",
|
||||||
"version": "v4.4.0",
|
"version": "v4.4.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/livewire/livewire.git",
|
"url": "https://github.com/livewire/livewire.git",
|
||||||
"reference": "514b29d5a23594d4e4846494f580268b20c2f11e"
|
"reference": "0c925c55b4a5c134f2fb147efa4b9f53a837d866"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/livewire/livewire/zipball/514b29d5a23594d4e4846494f580268b20c2f11e",
|
"url": "https://api.github.com/repos/livewire/livewire/zipball/0c925c55b4a5c134f2fb147efa4b9f53a837d866",
|
||||||
"reference": "514b29d5a23594d4e4846494f580268b20c2f11e",
|
"reference": "0c925c55b4a5c134f2fb147efa4b9f53a837d866",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4155,7 +4155,7 @@
|
|||||||
"description": "A front-end framework for Laravel.",
|
"description": "A front-end framework for Laravel.",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/livewire/livewire/issues",
|
"issues": "https://github.com/livewire/livewire/issues",
|
||||||
"source": "https://github.com/livewire/livewire/tree/v4.4.0"
|
"source": "https://github.com/livewire/livewire/tree/v4.4.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4163,7 +4163,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-08-10T15:24:22+00:00"
|
"time": "2026-08-18T11:39:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "maennchen/zipstream-php",
|
"name": "maennchen/zipstream-php",
|
||||||
@@ -4352,24 +4352,24 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "masterminds/html5",
|
"name": "masterminds/html5",
|
||||||
"version": "2.10.1",
|
"version": "2.11.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Masterminds/html5-php.git",
|
"url": "https://github.com/Masterminds/html5-php.git",
|
||||||
"reference": "fd5018f6815fff903946d0564977b44ce8010e29"
|
"reference": "a1e7a2f88ee13635d86fc61cfbdf2306a76ddfc7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fd5018f6815fff903946d0564977b44ce8010e29",
|
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a1e7a2f88ee13635d86fc61cfbdf2306a76ddfc7",
|
||||||
"reference": "fd5018f6815fff903946d0564977b44ce8010e29",
|
"reference": "a1e7a2f88ee13635d86fc61cfbdf2306a76ddfc7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-dom": "*",
|
"ext-dom": "*",
|
||||||
"php": ">=5.3.0"
|
"php": ">=7.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9 || ^10"
|
"phpunit/phpunit": "^6 || ^7 || ^8 || ^9 || ^10"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@@ -4413,9 +4413,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/Masterminds/html5-php/issues",
|
"issues": "https://github.com/Masterminds/html5-php/issues",
|
||||||
"source": "https://github.com/Masterminds/html5-php/tree/2.10.1"
|
"source": "https://github.com/Masterminds/html5-php/tree/2.11.0"
|
||||||
},
|
},
|
||||||
"time": "2026-06-23T18:43:15+00:00"
|
"time": "2026-08-18T06:18:41+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "maxmind-db/reader",
|
"name": "maxmind-db/reader",
|
||||||
@@ -4705,24 +4705,24 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mongodb/mongodb",
|
"name": "mongodb/mongodb",
|
||||||
"version": "2.2.0",
|
"version": "2.3.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mongodb/mongo-php-library.git",
|
"url": "https://github.com/mongodb/mongo-php-library",
|
||||||
"reference": "bbb13f969e37e047fd822527543df55fdc1c9298"
|
"reference": "12e56461166d915e3dd8e4969ad0940ed5207d88"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/bbb13f969e37e047fd822527543df55fdc1c9298",
|
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/12e56461166d915e3dd8e4969ad0940ed5207d88",
|
||||||
"reference": "bbb13f969e37e047fd822527543df55fdc1c9298",
|
"reference": "12e56461166d915e3dd8e4969ad0940ed5207d88",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-runtime-api": "^2.0",
|
"composer-runtime-api": "^2.0",
|
||||||
"ext-mongodb": "^2.2",
|
"ext-mongodb": "^2.3",
|
||||||
"php": "^8.1",
|
"php": "^8.1",
|
||||||
"psr/log": "^1.1.4|^2|^3",
|
"psr/log": "^1.1.4|^2|^3",
|
||||||
"symfony/polyfill-php85": "^1.32"
|
"symfony/polyfill-php85": "^1.33"
|
||||||
},
|
},
|
||||||
"replace": {
|
"replace": {
|
||||||
"mongodb/builder": "*"
|
"mongodb/builder": "*"
|
||||||
@@ -4774,11 +4774,7 @@
|
|||||||
"mongodb",
|
"mongodb",
|
||||||
"persistence"
|
"persistence"
|
||||||
],
|
],
|
||||||
"support": {
|
"time": "2026-04-28T12:50:06+00:00"
|
||||||
"issues": "https://github.com/mongodb/mongo-php-library/issues",
|
|
||||||
"source": "https://github.com/mongodb/mongo-php-library/tree/2.2.0"
|
|
||||||
},
|
|
||||||
"time": "2026-02-11T11:39:56+00:00"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "monolog/monolog",
|
"name": "monolog/monolog",
|
||||||
@@ -4883,6 +4879,47 @@
|
|||||||
],
|
],
|
||||||
"time": "2026-01-02T08:56:05+00:00"
|
"time": "2026-01-02T08:56:05+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "neitanod/forceutf8",
|
||||||
|
"version": "v2.0.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/neitanod/forceutf8.git",
|
||||||
|
"reference": "c1fbe70bfb5ad41b8ec5785056b0e308b40d4831"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/neitanod/forceutf8/zipball/c1fbe70bfb5ad41b8ec5785056b0e308b40d4831",
|
||||||
|
"reference": "c1fbe70bfb5ad41b8ec5785056b0e308b40d4831",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"ForceUTF8\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Sebastián Grignoli",
|
||||||
|
"email": "grignoli@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Class Encoding featuring popular Encoding::toUTF8() function --formerly known as forceUTF8()-- that fixes mixed encoded strings.",
|
||||||
|
"homepage": "https://github.com/neitanod/forceutf8",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/neitanod/forceutf8/issues",
|
||||||
|
"source": "https://github.com/neitanod/forceutf8/tree/master"
|
||||||
|
},
|
||||||
|
"time": "2019-12-10T14:09:14+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nesbot/carbon",
|
"name": "nesbot/carbon",
|
||||||
"version": "3.13.2",
|
"version": "3.13.2",
|
||||||
@@ -5064,16 +5101,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nette/schema",
|
"name": "nette/schema",
|
||||||
"version": "v1.3.5",
|
"version": "v1.3.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nette/schema.git",
|
"url": "https://github.com/nette/schema.git",
|
||||||
"reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002"
|
"reference": "c54350438cd6914616f790a49cb424605f421562"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002",
|
"url": "https://api.github.com/repos/nette/schema/zipball/c54350438cd6914616f790a49cb424605f421562",
|
||||||
"reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002",
|
"reference": "c54350438cd6914616f790a49cb424605f421562",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -5125,9 +5162,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/nette/schema/issues",
|
"issues": "https://github.com/nette/schema/issues",
|
||||||
"source": "https://github.com/nette/schema/tree/v1.3.5"
|
"source": "https://github.com/nette/schema/tree/v1.3.6"
|
||||||
},
|
},
|
||||||
"time": "2026-02-23T03:47:12+00:00"
|
"time": "2026-08-16T21:58:41+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nette/utils",
|
"name": "nette/utils",
|
||||||
@@ -5781,16 +5818,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pragmarx/google2fa",
|
"name": "pragmarx/google2fa",
|
||||||
"version": "v9.0.0",
|
"version": "v9.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/antonioribeiro/google2fa.git",
|
"url": "https://github.com/antonioribeiro/google2fa.git",
|
||||||
"reference": "e6bc62dd6ae83acc475f57912e27466019a1f2cf"
|
"reference": "f00bc788c555adfb6765c437ff3538e59cd88af1"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/e6bc62dd6ae83acc475f57912e27466019a1f2cf",
|
"url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/f00bc788c555adfb6765c437ff3538e59cd88af1",
|
||||||
"reference": "e6bc62dd6ae83acc475f57912e27466019a1f2cf",
|
"reference": "f00bc788c555adfb6765c437ff3538e59cd88af1",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -5798,8 +5835,11 @@
|
|||||||
"php": "^7.1|^8.0"
|
"php": "^7.1|^8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpstan/phpstan": "^1.9",
|
"phpstan/phpstan": "^1.0|^2.0",
|
||||||
"phpunit/phpunit": "^7.5.15|^8.5|^9.0"
|
"phpstan/phpstan-phpunit": "^1.0|^2.0",
|
||||||
|
"phpunit/phpunit": "~9|~10|~11|~12|~13",
|
||||||
|
"psalm/plugin-phpunit": "^0.19|^0.20",
|
||||||
|
"vimeo/psalm": "^5.26|^6.13"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -5822,14 +5862,23 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"2fa",
|
"2fa",
|
||||||
"Authentication",
|
"Authentication",
|
||||||
|
"MFA",
|
||||||
"Two Factor Authentication",
|
"Two Factor Authentication",
|
||||||
"google2fa"
|
"google-authenticator",
|
||||||
|
"google2fa",
|
||||||
|
"hotp",
|
||||||
|
"otp",
|
||||||
|
"rfc4226",
|
||||||
|
"rfc6238",
|
||||||
|
"totp"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
|
"docs": "https://github.com/antonioribeiro/google2fa#readme",
|
||||||
"issues": "https://github.com/antonioribeiro/google2fa/issues",
|
"issues": "https://github.com/antonioribeiro/google2fa/issues",
|
||||||
"source": "https://github.com/antonioribeiro/google2fa/tree/v9.0.0"
|
"security": "https://github.com/antonioribeiro/google2fa/security/policy",
|
||||||
|
"source": "https://github.com/antonioribeiro/google2fa"
|
||||||
},
|
},
|
||||||
"time": "2025-09-19T22:51:08+00:00"
|
"time": "2026-08-15T13:22:01+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pragmarx/google2fa-qrcode",
|
"name": "pragmarx/google2fa-qrcode",
|
||||||
@@ -10171,16 +10220,16 @@
|
|||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
{
|
{
|
||||||
"name": "barryvdh/laravel-debugbar",
|
"name": "barryvdh/laravel-debugbar",
|
||||||
"version": "v4.4.1",
|
"version": "v4.4.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/fruitcake/laravel-debugbar.git",
|
"url": "https://github.com/fruitcake/laravel-debugbar.git",
|
||||||
"reference": "389157fb616e5c5d19d16a88fd9bfcf3e3248e9b"
|
"reference": "18d1c1c64cc5d7794a2c52a2165fe6121e28ed44"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/389157fb616e5c5d19d16a88fd9bfcf3e3248e9b",
|
"url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/18d1c1c64cc5d7794a2c52a2165fe6121e28ed44",
|
||||||
"reference": "389157fb616e5c5d19d16a88fd9bfcf3e3248e9b",
|
"reference": "18d1c1c64cc5d7794a2c52a2165fe6121e28ed44",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -10255,7 +10304,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/fruitcake/laravel-debugbar/issues",
|
"issues": "https://github.com/fruitcake/laravel-debugbar/issues",
|
||||||
"source": "https://github.com/fruitcake/laravel-debugbar/tree/v4.4.1"
|
"source": "https://github.com/fruitcake/laravel-debugbar/tree/v4.4.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -10267,7 +10316,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-08-03T06:23:16+00:00"
|
"time": "2026-08-20T12:02:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "brianium/paratest",
|
"name": "brianium/paratest",
|
||||||
@@ -10647,19 +10696,21 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "hamcrest/hamcrest-php",
|
"name": "hamcrest/hamcrest-php",
|
||||||
"version": "v2.1.1",
|
"version": "v3.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hamcrest/hamcrest-php.git",
|
"url": "https://github.com/hamcrest/hamcrest-php.git",
|
||||||
"reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487"
|
"reference": "b61cd040da1a4925bc90a51c074f5297e7c0fa52"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
|
"url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b61cd040da1a4925bc90a51c074f5297e7c0fa52",
|
||||||
"reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
|
"reference": "b61cd040da1a4925bc90a51c074f5297e7c0fa52",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
"ext-ctype": "*",
|
||||||
|
"ext-dom": "*",
|
||||||
"php": "^7.4|^8.0"
|
"php": "^7.4|^8.0"
|
||||||
},
|
},
|
||||||
"replace": {
|
"replace": {
|
||||||
@@ -10668,13 +10719,15 @@
|
|||||||
"kodova/hamcrest-php": "*"
|
"kodova/hamcrest-php": "*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"phpstan/phpstan": "^2.1",
|
||||||
|
"phpstan/phpstan-phpunit": "^2.0",
|
||||||
"phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0",
|
"phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0",
|
||||||
"phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0"
|
"phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.1-dev"
|
"dev-master": "3.0-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -10692,9 +10745,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/hamcrest/hamcrest-php/issues",
|
"issues": "https://github.com/hamcrest/hamcrest-php/issues",
|
||||||
"source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1"
|
"source": "https://github.com/hamcrest/hamcrest-php/tree/v3.0.0"
|
||||||
},
|
},
|
||||||
"time": "2025-04-30T06:54:44+00:00"
|
"time": "2026-03-17T11:56:53+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jean85/pretty-package-versions",
|
"name": "jean85/pretty-package-versions",
|
||||||
@@ -10908,16 +10961,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/sail",
|
"name": "laravel/sail",
|
||||||
"version": "v1.65.0",
|
"version": "v1.67.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/sail.git",
|
"url": "https://github.com/laravel/sail.git",
|
||||||
"reference": "d4b92139858d2a189a6302ca133e494f58afe20b"
|
"reference": "639e03ac12cf23def171770bcab05758045b2642"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/sail/zipball/d4b92139858d2a189a6302ca133e494f58afe20b",
|
"url": "https://api.github.com/repos/laravel/sail/zipball/639e03ac12cf23def171770bcab05758045b2642",
|
||||||
"reference": "d4b92139858d2a189a6302ca133e494f58afe20b",
|
"reference": "639e03ac12cf23def171770bcab05758045b2642",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -10967,33 +11020,32 @@
|
|||||||
"issues": "https://github.com/laravel/sail/issues",
|
"issues": "https://github.com/laravel/sail/issues",
|
||||||
"source": "https://github.com/laravel/sail"
|
"source": "https://github.com/laravel/sail"
|
||||||
},
|
},
|
||||||
"time": "2026-08-03T18:00:17+00:00"
|
"time": "2026-08-12T13:55:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mockery/mockery",
|
"name": "mockery/mockery",
|
||||||
"version": "1.6.12",
|
"version": "1.6.15",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mockery/mockery.git",
|
"url": "https://github.com/mockery/mockery.git",
|
||||||
"reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
|
"reference": "967a801bd188989a5669bd280f252d51c0fdc9ee"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
|
"url": "https://api.github.com/repos/mockery/mockery/zipball/967a801bd188989a5669bd280f252d51c0fdc9ee",
|
||||||
"reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
|
"reference": "967a801bd188989a5669bd280f252d51c0fdc9ee",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"hamcrest/hamcrest-php": "^2.0.1",
|
"hamcrest/hamcrest-php": "^2.0 || ^3.0",
|
||||||
"lib-pcre": ">=7.0",
|
|
||||||
"php": ">=7.3"
|
"php": ">=7.3"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"phpunit/phpunit": "<8.0"
|
"phpunit/phpunit": "<8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^8.5 || ^9.6.17",
|
"phpunit/phpunit": "^9.6.36",
|
||||||
"symplify/easy-coding-standard": "^12.1.14"
|
"symplify/easy-coding-standard": "^13.2.17"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -11050,7 +11102,7 @@
|
|||||||
"security": "https://github.com/mockery/mockery/security/advisories",
|
"security": "https://github.com/mockery/mockery/security/advisories",
|
||||||
"source": "https://github.com/mockery/mockery"
|
"source": "https://github.com/mockery/mockery"
|
||||||
},
|
},
|
||||||
"time": "2024-05-16T03:13:13+00:00"
|
"time": "2026-08-19T19:37:52+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "myclabs/deep-copy",
|
"name": "myclabs/deep-copy",
|
||||||
@@ -12622,16 +12674,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "rector/rector",
|
"name": "rector/rector",
|
||||||
"version": "2.6.1",
|
"version": "2.6.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/rectorphp/rector.git",
|
"url": "https://github.com/rectorphp/rector.git",
|
||||||
"reference": "b8e68f058bca43e01a2e1caa51ef022d6551ed95"
|
"reference": "7e46709996a4b3dc59e1d6ecbb6a38ace335bd58"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/b8e68f058bca43e01a2e1caa51ef022d6551ed95",
|
"url": "https://api.github.com/repos/rectorphp/rector/zipball/7e46709996a4b3dc59e1d6ecbb6a38ace335bd58",
|
||||||
"reference": "b8e68f058bca43e01a2e1caa51ef022d6551ed95",
|
"reference": "7e46709996a4b3dc59e1d6ecbb6a38ace335bd58",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -12670,7 +12722,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/rectorphp/rector/issues",
|
"issues": "https://github.com/rectorphp/rector/issues",
|
||||||
"source": "https://github.com/rectorphp/rector/tree/2.6.1"
|
"source": "https://github.com/rectorphp/rector/tree/2.6.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -12678,7 +12730,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-08-03T17:30:34+00:00"
|
"time": "2026-08-18T22:01:18+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/cli-parser",
|
"name": "sebastian/cli-parser",
|
||||||
|
|||||||
Reference in new issue
Block a user